Bugs are an inevitable part of software engineering. Mobile app development has plenty, and that’s why you get update notifications for your downloaded apps so often. Building software is a very iterative process, and while there are many ways to mitigate the risk of bugs, they are nearly impossible to eradicate completely.
Testing for bugs always should be a priority, but in the late stages of LunchBunch development, we were in such a hurry to release the app publicly that we almost decided not to give it to beta testers first! If you’re thinking about creating your own app, let me be the first to tell you that you need to have beta testers use your app and provide feedback before your public launch. There weren’t any critical bugs (things that affected many users or made the app unusable), but there were a lot of little things that we discovered in the feedback–things like notifications not showing when the app was open, layout issues, and missing features. There are a lot of things that are easy to miss when you’re so intimately familiar with the app, and this is why it is super important to get people outside of your team to use the app and find bugs for you.
So besides little things that were easy to fix, we did have one bug that stood out: there was one beta tester who couldn’t send invitations to her buddies. We were a little concerned, but we were primarily just confused because it seemed to be working for everyone except for her. “What is different about this user? What makes her unique from all of the other beta testers?” we wondered. I had no idea what the problem could be, but I thought a good place to start looking was her phone–which OS (Android/iOS) and which version it was running, check if she was logged in to multiple devices, and other stuff like that. Nothing raised any flags, so I thought I’d check her name next–maybe there was an apostrophe in it or some other special character that might mess with the software. (As a side note, because of the way information is stored in software, apostrophes sometimes create issues. But my last name is O’Dowd, so I always take care of apostrophe-related issues; I was going to be pretty disappointed if that was the problem!) Unfortunately (but fortunately for my pride), this too turned up nothing.
I went back through our logs to see what information was coming into the server to check for errors. That’s when I noticed it…the beta tester’s username was capitalized in some places but all lowercase in other places! Because the username was stored lowercase in one place and capitalized in another, the app and the LunchBunch server weren’t communicating correctly; when the phone tried to send the invitation, the server got confused because it couldn’t find the username in its database! Once we confirmed that this was, in fact, the issue preventing the tester from sending invitations, we sent out a fix that would prevent the same thing from happening again.
This is a great example to reinforce the importance of testing–and specifically, the importance of having external users test the app. We (The Bunch) never put a capital letter in any of our test usernames, and we probably wouldn’t have thought to try that either. Developers don’t know how users are going to use the software, but beta testing makes it easy to catch these artifacts before the app goes public.
Have a funny experience with a bug you’ve seen in an app? Let us know in the comments below!
Ryan from The Bunch