5 Negative App Experiences Missed by Crash Reporters
In the past couple of years it’s become standard for mobile app developers to use crash reporters in their production apps. Developers recognize that not all crashes will be caught in their QA environment and therefore have moved towards tracking production apps.
Still, there are a number of negative user experiences not caught by crash reporters, which are increasing bad reviews and churn in mobile apps. Below is a list of 5 of these negative experiences.
1. Long Spinners
Using spinners, or load indicators, is a popular design pattern used in mobile apps. As much as mobile developers would prefer to not have users wait, limited handset and network capabilities require developers to gracefully handle associated delays by indicating that the app is “working on it”.
Nonetheless the more the app is “working on it” the more it is at risk of losing users, sometimes forever. By tracking spinner times developers can get a lay of the land, and see how long various parts of their apps take; then figure out if the issues are due to limited network capacity, limited network availability, limited CPU cycles, disk access lag, large payloads, etc. Developers can use these insights to optimize the experience in new versions of their apps.
2. Out-of-Memory Terminations
Memory is usually in limited supply on handsets. The OS can terminate apps that use too much memory. When this occurs it feels like a crash to users but is not caught by crash reporters; no stack trace is made available.
Tracking out-of-memory terminations can help developers understand the frequency of such events and look at reducing their app’s memory footprint, or in some cases discover a memory leak.
3. Low Frame Rate
Popular apps are great at helping users accomplish a task, while fading into the background. The user doesn’t think about the app, but instead focuses on the task.
Jitter and app freezes, caused by low frame rate, can change this equation, and have users focus on the app (i.e. it choking). This can prompt users to leave the app. By monitoring for low frame rates developers can hone parts of their app causing these negative experiences.
4. Network Lag
Network lag is often the culprit behind long spinners, though not the only culprit as mentioned above. Network lag can also cause low frame rates, when blocking the main thread with a network call (sometimes done by novice developers). It can also affect the user experience in more subtle ways, for example reducing the freshness of the content, in content heavy apps.
Understanding network lag per API helps mobile developers decide if to increase caching, improve server performance, or replace their API provider.
5. Network Errors
Network errors can cause a myriad of sub-optimal user experiences. For example out-of-range errors could lead to frustratingly long spinners. File not found errors (or 404 errors) when improperly handled could show up as broken images.
By tracking the frequency and type of network errors that occur in production, developers can employ client and server strategies that reduce user frustration.
Summary
Monitoring production apps for crashes is necessary but not sufficient when tracking negative app experiences. There are a number of other negative experiences users can have in apps that need to be monitored. By tracking this information developers can reduce bad app reviews and increase user retention.