The mobile and mobile testing industry has evolved very quickly in this era and is only going to move even faster due to Rapid Application Development. We live in a world now that despite what mobility hardware we carry around with us (phones, tablets, watches), we will always fall our attention back to apps. Face it, we can’t function without our phones anymore.
“… modern cell phones, which are now such a pervasive and insistent part of daily life that the proverbial visitor from Mars might conclude they were an important feature of human anatomy.” — Chief Justice John Roberts
So it's no surprise that the material on our devices is a key element to entertain, feed us news, socialize, keep a lifestyle, and complement our everyday living. If the apps we have loaded do not work, slow to load, or returns a horrible user experience, we are quick to remove them before you finish saying “Mayweather-beats-Pacquiao”. Businesses understand this and have relied heavily on app analytics and feedback to determine the direction of their business. That’s why it's absolutely critical to get the quality correct the first time.
Consider the User
In my experience, there are 10 must do’s if you want to put out an app of high quality in front of the user. Note that my attributes in this post are specifically targeting consumer applications, although many of these attributes will apply to an enterprise as well.
1. Elegance. The app must look good, period. You may have a million bells and whistles, has features that will make you coffee and clean your kitchen, but if it looks like its been half-baked in design, people will delete and grab the next good looking app. There are tons of copycat apps that do the same thing, but those that keep them will be drawn to the art and beauty of the app. In addition to graphics and background images, make sure you keep up with the ever-changing screen resolutions of devices. an app designed for a 4" screen should be elegant for a 4" screen, not a 7" screen. And vice versa for large screens. Pay that extra attention to pixels because those could be the determining factor on the beauty of your apps to the next one in the stores.
2. Usability. Think about the users. And not just the users in your personal circle, the users of the world. No one thinks alike, and everyone has their habits, so you must consider all of the above before deciding how to design your app. Left vs right handed. The red font on Orange background? Localization. big hands versus small. large font types. placement of most used buttons. cultural habits. gender differences and ways of approach. Know who your audience will be, and be sure to design accordingly to how they would think or perform daily actions.
3. Stability. Apps crash all the time for no apparent reason. in the desktop world, we seem a bit more forgiving when that happens because we can just restart it while multitasking on something else. But when our app crashes on our devices, we scream through the roof. Given it's at front and center of your attention, our attention span gets violated, and our patience runs out. Test your app for crashes and use metrics to determine how often it happens. Does it crash on startup? Crash when memory leaks? Hang in the middle of typing a text message? While memory and CPU power is getting cheaper, more applications are trying to unload more processing power on the hardware. (ie. Hardware Acceleration for graphics). Don’t skip on crash and stability testing. Read online reviews and forums for pain points. Having an unstable app will surely chase your users away quickly.
Consider the Connections
4. Privacy. Be proactive in telling your users what you will be doing with their data. If you delete the app, does it also clear your user profile and credit card info on the server side? Should the app be tracking my GPS location even though I’ve closed the app? Privacy isn’t a scary thing, as long as you are upfront with your users what information will be tracked and stored, and the option to opt in or out.
5. Security. Be paranoid about data breaches. Conduct your tests with the fear that anyone can unlock your 4-digit pin device (see Pin Robot), and get into your apps. As for hackers, they can exploit your data if your app has open ports for it. Implement reset password fields, idle timeouts, and lock down folders that don’t need to be written to. encrypt passwords for special characters and different languages. Use session management wisely. Don’t rely on the Operating system for security, because even the OS’s have holes in their code. Make sure your test strategy has test cases that cover exploitable scenarios.
Consider the Numbers
6. Pricing. Overpricing your app could draw away users. The key is to price correctly. Whether you are using freemium vs in-app payments, know what your competitors are doing and model after what’s worked or not. Most users will want free or pay 0.99 cents an app. For more complex feature apps, $2.99 to $4.99 is a common range. For free apps, promote other services (ie. Netflix), for your payment revenue. Target regions for where your apps will go. Not all regions will require the demand or pay for what your app is worth. The key to pricing your app is finding a balance between functionality and what the users will find reasonable.
7. Interoperability. If your app is meant to work across different platforms and devices, make sure you implement your test plans so functionality works. Having a fluid experience using notifications, cloud sync, shared accounts, and session management is expected to just work. Be sure to test across tablets, phones, and desktops. OS’s upgrade all the time, and so does your app, so backward compatibility and regression testing are critical. Don’t forget about other compatible hardware like watches, beacons, NFC payment chips, and cross compatibility, (android to iPhone, etc..) as many defects will only be discovered when an incompatibility is found only during field testing. And lastly, consider the network infrastructure, and also data that lives in the cloud.
8. Performance. If your app doesn't perform as expected, you will lose the user. If your app starts up more than 5 seconds, we will delete your app forever. 85% of users will not return to your app after removing it from their system. It’s absolutely critical to be adding performance measurements when starting up or maintaining app usage over time. Tests for network latency, pre-caching, and content loading are all relevant to satisfying the human eye.
Consider the End Result
9. Content. Without good, relevant content, you have an app headed for a short shelf life. Apps need to be updated, modern, and keep the user engaged with other apps. You don’t have to build new innovation all the time, but you do need to keep users attention. Statistics show that the average mobile users spend 2 hours 57 minutes a day on their phones, and checks their phones 40 times a day. If you are not one of those apps in front of the users, it will be easy to go into the irrelevancy bucket and never be seen again. Keep your games updated, content fresh, and if it's a productivity app, make sure it has a great user experience and remains parity of other apps.
10. Satisfaction. At the end of the day, if a user is happy with your product, they will come back, buy more add-ons, and download other apps with your branding on them. Hopefully, a user will tell their friends to do the same (“Hey Joe, download DestroyTheOgres and join my clan!”) And in a best case scenario, everyone will leave feedback and rate your app and rave about how much they enjoy the app....and that’s the key to all this. Something magical about seeing 1 or 5 stars, will make or break a company sometimes. Spend time reading user reviews. Find out where the pain points are and underlying bugs that haven’t been found. Scour the support forums and social media for constructive feedback. Because if it isn't 5 stars, you better notice it before your corporate executives do. Otherwise, it will be short lived.
In summary, be mindful of the top 10 must do’s when you are qualifying your apps, and you’ll be way ahead of the neighbor. Apps are copycats and a dime a dozen, so the best identifier will be the quality of your application. Don't take shortcuts during development, and always place quality as a critical piece of your release plan. Lastly, there are many mobile testing tools that will help you with performance metrics, crash and usage analytics, automation, and feedback. Invest time in these tools to get the biggest bang for your buck. Good luck!
Note: Credit for my thoughts were derived from Jason Arbon’s book: App Quality: Secrets for Agile App Teams.