Today, there is an abundance of mobile applications to help people in many areas of their lives. Each mobile application competes for the end user’s attention, and as mobile developers, we know the competition is fierce out there. Your mobile application may suffer from high rates of mobile application abandonment.
With such an abundance of mobile applications, how can mobile developers hope to retain end users long enough? The first step is understanding how your mobile application is currently performing on a whole.
There are five main performance indicators for mobile applications that you need to monitor on a consistent basis to ensure the success of your application:
- Poor load times
- High data consumption
- High battery life consumption
- Poor user experience design
The success of a mobile application rests on providing value and meeting the end user’s expectations. (Whether you are aiming for a longer time spent in application, or upgrading to a paid plan for example.) Looking at each of the above areas in detail can help you identify key areas to improve:
When things go wrong in code it can quickly go from bad to worse. Having your mobile application quit unexpectedly due to a crash is a quick way to lose end users. A study conducted by Dimensional Research found that 53% of end users uninstalled or removed a mobile application with severe issues like crashes, freezes or errors.
The best way to fight against this is through defensive programming. Pay attention to areas that are most likely to cause errors and throw exceptions.
Anytime your application relies on accessing external resources (like images) is a risk you take if not handled properly. Best practice dictates using ‘try-catch’ blocks to handle exceptions but don’t underestimate the power of simply validating data by using an ‘if(not null)’ statement before performing operations.
These tips can help you live up to the programming idiom of a graceful exit. If your application does encounter a critical issue and can’t recover, it pays to be transparent and notify the end user of the reason for the quick exit when possible. By using Raygun Crash Reporting, you can monitor the crashes and errors of your mobile application and be notified when they occur. It also allows you to export the list of affected users of each crash/error, so you can proactively communicate with affected end users.
As mobile applications increase in complexity we tend to rely on third party libraries to handle things that may seem too much to manage (perhaps like third party advertising). However, much like icebergs it’s what you can’t see underneath that you must be careful about. Testing third party libraries with a range of valid and nonvalid data is essential to see if they too will fail gracefully.
Waiting times are becoming shorter as technology improves, but that only means we expect all things to keep up with the same pace. When mobile applications fail to keep up with what we now expect as reasonable load times they quickly become abandoned. (Research conducted by Raygun found that the average load time for a web page is nine seconds, with most end users leaving at around 3 seconds.)
So what’s the hold up? Well, mobile applications rely on many different media sources to keep the end user engaged from images to video content. All of these rely on other infrastructures – like cellular networks – to coordinate and serve content at an application speed. Mobile applications must be smarter on how much they rely on these services to get their content on-screen.
Compression is a reliable way to reduce loading times without the visible loss of quality. It can be applied to a range of media from images to audio files. This also helps to reduce the memory footprint of your application. If your memory footprint becomes too large your mobile application can find itself having to make another sudden but hopefully graceful exit.
Data consumption is an important area because it can have a direct monetary impact on end users. Mobile phone data plans limit the total data end users can consume and penalize them for exceeding it. Being greedy with already limited supplies of data is another reason users abandon your mobile application. Statistics show 20% of end users will stop using an application due to the amount of mobile data it consumed.
Profiling your mobile application during testing is important to understand the amount of data coming in and out of your application. There are many profiling tools you can use but I find the best ones are the ones built into the IDE you are using. For me, that’s Xcode’s Instruments or Visual Studio’s Performance Profiler.
Pay close attention to analytics libraries you may have integrated. While they do provide valuable information about end users, they may be consuming more data than you think.
Mobile advertising is an important revenue stream but integrating too many individual providers can cause unintended problems. Advertising libraries like to cache content to reduce load times but having multiple providers download video adverts at the same time may not be the best solution when trying to be data conservative.
Mobile phones come with a variety of great features but each one takes a toll on the phone’s battery life. The screen, cellular and wi-fi radios and other transmitters like Bluetooth are the main areas that put the largest toll on the batteries life.
How your application chooses to use these resources will determine the effect your application will have on the batteries life. Heavy use of network calls to download or upload content means constantly talking with cellular and wi-fi networks. Take a look at where you can batch network calls together or reduce them.
Poor (User Experience) Design
UX design has an important role in making digital products successful. Good UX design helps create clear pathways to achieving goals, presenting relevant and timely information to the end user. Poor UX design, however, can leave the end user confused and frustrated to the point where they abandon your mobile application altogether.
Scan your mobile application for UI elements that may be considered slow to respond like scrollable content and collect feedback from as many different people as possible.
Developers are expected to wear more and more hats as technology industry grows. In this article, we created a checklist to help developers streamline the process of developing with UX in mind.
Dimensional Research. Failing to Meet Mobile App User Expectations. February 2015
Where Is Your Mobile Application Underperforming?
Testing takes time so knowing where to start to ensure the success of your application is essential. Hopefully, this article gives you some ideas on where your mobile application may be underperforming and how to turn it around.
There are many reasons why users choose to abandon a mobile application. With some foresight you can minimize your losses and retain users longer with some simple fixes.