This is part five in a seven part series on how to use Apteligent to implement a collection of best practices from industry leaders called: “7 Best Practices for Optimizing Mobile Apps.”
Don’t Make Your Users Wait
Users hate to wait. Slow app load times can hurt user retention and adoption of your app. 50% of consumers consider app load time a major source of frustration and 25% would leave a brand for unacceptable load times*. Making users wait during important interactions such as “login” or “search” can frustrate users and hurt engagement and conversions. Many of these interactions can be sped up by monitoring and optimizing the network calls during these key flows.
Three Steps to Speeding Up Key Flows
1. Measure Your Top Three Interactions
The first step to speeding up your app is to measure how long these interactions are taking to complete. Use Apteligent’s Userflows feature to automatically monitor how long it takes for a user to complete an interaction, detect any failures that occur, and identify the events that occurred during a failure. Focus on the three interactions that are the most critical for your app.
Once you have these interactions monitored, use the “Userflows Summary” page to measure a baseline value for the timing of those interactions. Apteligent’s “foreground time” measures the user-perceived time spent in the app during the interaction, automatically pausing the timer when the user backgrounds the app during the interaction. In other words, foreground time gives companies data into the real user experience.
Figure 1: Use the Userflows Summary Page to Measure Key Interaction Times
2. Compare interaction time with user expectation
To measure customer experience, it’s important that each interaction matches what the user expects. There are two types of interactions in an app: an immediate interaction where a user expects a less than 0.1 second response time, and a working interaction that should have a response time of less than 1.0 second.
Common “immediate” interactions such as clicking the “add to cart” button need to feel responsive to a user or else the app will feel sluggish and clunky. Furthermore, the user needs to feel rewarded with instant feedback for these types of interactions. For “working” interactions such as “login,” where the user expects a small delay, there is more leeway in user wait time. However, a user will lose their train of thought if they are waiting for over one second. In order to retain a user’s attention, make sure these interactions are as responsive as possible.
3. Minimize wait time caused by network calls
Often interactions are not responsive because they are dependent on a slow network call. If there is an important interaction that has a high foreground time in Apteligent, drill into the breadcrumb trail for that interaction.
Figure 2: Use the Userflows Breadcrumbs to Optimize Key Flows
Apteligent provides a granular view into each slow or failed user interaction down to individual user sessions. When looking at these breadcrumb trails, the source of slowness is often network calls that are made during these interactions. In Figure 2, we can see an API call to get a list of store inventory took over three seconds to complete. In this case, the company can now either cache some of that data or return a smaller list of search results in order to speed up this interaction.
Summing it all up
To sum up, every app has a set of critical user interactions that are opportunities to delight users. Identify the top three flows in your app that are highly correlated to business metrics. Measure the user-perceived time for each flow and make sure they match user expectation. Immediate interactions should be less than 0.1 seconds in order for the app to feel responsive and working interactions should take less than 1.0 seconds. Once an interaction has been identified as being too slow, use Apteligent’s breadcrumb trails to optimize these interactions. Often the low hanging fruit is a slow network call that can be optimized to create more responsive interactions.