A version of this tutorial originally appeared in the free Primer app.
Fancy features. A unique interface. Compelling content. These are great selling points for a mobile app. But app performance—or app functionality—is just as important, if not more so.
While it may not be what convinces people to download your app, performance can be a huge reason why they continue to engage with it—or simply uninstall it.
An app that performs well gives all types of users a great experience, across devices and networks of differing capabilities. As a designer and developer, you can maximize and delight your audience by testing and optimizing your app for performance in diverse conditions.
Here are three tips for engaging more app users.
1. Think globally
You may be building your app for a specific audience and technology, but keep in mind that it will be globally visible and users in a variety of markets can download it. Reviews from those audiences, including reviews about app functionality and performance, can affect your ranking and reputation—which in turn can affect your app’s download and user engagement metrics.
So, remember that it takes time for the newest technology advancements to make their way around the world. Make sure that users with older devices or on slower or unreliable networks can still take full advantage of your app.
Should you reduce the functionality of your app to meet performance goals? Absolutely not. The most successful apps are carefully designed to provide unique, rich, and essential features to all users.
2. Be prepared to make trade-offs
What’s the biggest sign of app performance success? Interestingly enough, it’s when nobody notices how well the app is performing.
It’s like driving on a well-paved road. When the road is smooth, you barely realize it’s there. However, once the road becomes bumpy and full of potholes, you start to notice it. And, at that point, it doesn’t matter how great your car is, or how good the road has been so far—you won’t be enjoying the ride.
Similarly, app performance is all about the stuff we take for granted until it goes wrong. People will notice—and they won’t be happy—if the app won’t load, runs slowly, doesn’t deliver the information they need, or drains their device’s battery too fast.
To help “smooth the road” in your app, you need to design it carefully, and you may need to consider trade-offs. For example, is an app that takes up space with offline features preferable over one that takes up less space and relies on connectivity? Is a cool interface worth it, if the app runs slower on devices with less memory? Or can you have it both ways by creating a “lite” version of your app for lower-end devices or slower networks?
3. Test in the real world
While working with your development team to develop great features, make sure you make the time to test your app under realistic conditions.
First install the app on the lowest-end devices your target audience might have. Then use your app as a user would, and keep detailed notes on even the smallest delay or stutter. Be sure to keep the app open for a while, because many apps get slower over time.
Now get out of the office. Go to a few public spaces to test the app on a variety of networks. Ask other people to try out your app and give you feedback on performance and usability. You could even set up a mini-usability lab in a public space, and offer testers a reward for their review, like a cup of coffee or a t-shirt.
Services such as Firebase Test Lab can help you to conduct deeper testing and generate thorough reports. And after you’ve released the app, you can continually test your app and look for opportunities to further fine-tune its performance.
By thinking globally, making trade-offs, and testing in the real world, you can improve your app performance and make it more enticing for a wider range of users. And, of course, the more people you can get to interact with your app, the more successful it will be.
Training Developer and Word Artist at Google
Aleks Haecky is a Developer Advocate, Android Training Developer, and Word Artist at Google. Recent projects include Understanding Compression, Android Performance, and Advanced Android ILT. His current focus is on developing Udacity courses and Android Development in Kotlin. He created “Make It Work: Optimize Your App Performance” for the Primer app.