DEV Community

HeadSpin
HeadSpin

Posted on • Originally published at headspin.io on

Fixing mobile app performance issues

abandoned-app-abstract

“There’s an app for that.”

Since Apple trademarked those five little words nearly a decade ago, mobile apps have only become more ubiquitous. The average person spends over 4 hours a day on their phone — and much of this time is devoted to mobile apps.

Not surprisingly, apps have become a huge business. In 2018, total revenue from mobile apps exceeded $92.1 billion. With that much money on the table, competition is fierce; Google Play offers more than 2.4 million apps, and Apple’s App Store contains just under 2 million.

In this context, fixing mobile app performance issues has never been more important. User adoption can be fickle and brief, and mobile app performance issues can cause someone to abandon your app entirely. And once a user taps uninstall, they’re unlikely to ever return.

So while metrics like total downloads or conversion rate are important, they certainly aren’t the only things that matter. If your app lags, crashes, or performs badly, you’re standing on the deck of a sinking ship. Consider other vital performance metrics if you want to position yourself for long term success.

End-to-End Latency

“Speed Kills” is a common refrain among parents and police officers. But for mobile app developers, it’s only partially correct — it’s the LACK of speed that kills.

According to Google, mobile applications live and die based on startup and load times. If your app is slow, users will delete it. Most developers know this, so many companies focus on well-developed APIs to boost app speed.

However, API latency measurements don’t paint the full picture. Developers should also track end-to-end response time for applications that power APIs. A good rule of thumb is to shoot for a one-second response time. Using standardized APIs can reduce risk of increased latency. And devs should run updates early and often to leverage potential improvements.

User Sessions

User sessions measure the duration of time that a person spends using an app — from the moment they open it until they hit close — essential info for the life of any app. Session length can help companies aim for longer sessions. The more time a user spends using your app, the more revenue you’ll generate. User sessions can help developers find client-server issues. If a user’s location is too far away from a server or if they have a poor network connection, session length will suffer.

And the interval between sessions (how often an app is used) can help validate experiments to improve user retention. Try new things to encourage users to come back to your app. Develop a compelling offer or discount, send out an update about new features, or similar. Then look to user session data to tell you what’s working.

Crash Handling

Few things drive users away faster than crashes, so understanding how often your app crashes is essential to improve its performance. Way back in 2013, a study found that only 16 percent of users would try a failing app for a second time — and user expectations have become less forgiving. But not all crashes are equal — and root cause depends on a host of variables. To fix a crash, developers need to know what the user was doing when the app crashed, device/OS combination, how many users were affected, etc.

In order to safeguard yourself against crashes (and user attrition), it’s best to test your app during development exhaustively. Run real life tests on as many networks as possible wherever your app is available. Automate your testing, and set up alerts so you can respond to performance issues quickly. Prioritize crashes, and respond to the most critical ones first. And by all means, continue to test your app post-launch, especially when you add or update features.

Top comments (0)