Imagine that your user is sitting on her couch after a long day at work and trying to order dinner through your mobile app. She receives an error twice, and in frustration switches to another food delivery app.
Or imagine your users in China are trying to load an app, but instead of seeing the content, some see a blank page and others see an error message that something has gone wrong. The more robust of your users try and try again. As this occurs with consistency, even your most patient users join the others who have stopped using your app altogether.
These scenarios have a couple things in common. First, they indicate how user experience can suffer due to your app’s performance. Second, they are not imaginary at all. Cloud services effectively power your app and they often fail in ways that are very visible to your users but less visible to your IT team.
Apteligent’s Network Insights enables you to monitor your app’s performance from the viewpoint of your user and the device in his or her hands.
What is Network Insights?
The Network Insights page tracks four main metrics to help you evaluate the performance of a service: latency, error rate, request volume, and data in/out. These metrics can be used to specifically understand why your customers may be failing to order dinner using your app. They can also more broadly inform your internationalization efforts by monitoring how your networks differ by carrier around the world.
5 Ways to Optimize your App’s Performance Using Network Insights
1. Answer Key Questions About Your App’s Performance
Is the Latency less than 1.0 second?
Latency measures how long it takes for a request to complete and can often represent how long a user is stuck waiting for a screen to load in your app. If the average latency is greater than 1.0 second, then critical flows in your app such as “login” are likely frustrating your users and driving churn.
Is the Error Rate less than 1%?
If API calls are consistently failing in the SDKs your app relies on, users may be struggling to use your app. For example, if your authentication provider is failing, your users may not be able to login and access your app. If an advertising SDK is failing at a rate above 1%, it may mean you’re losing money because ads are not being displayed.
Is the number of requests killing battery life?
Every network call that your app makes can drain the battery of a mobile device. How many times have you uninstalled an app because it was killing your battery life? Many companies add multiple analytics SDKs to their app thinking that “more data is better” without thinking of the consequences. Is the new analytics SDK sending a network request every second because you’re tracking every screen tap in your app? Is your ad provider requesting a new ad every 5 seconds? These questions can be crucial for ensuring that your app is not responsible for draining a user’s battery.
How much data does your app use?
In today’s mobile world where data is measured and charged by the byte, the amount of data that your app uses can be the difference in how frequently your app is used, if at all. Measure how much data is used in your app and how it changes with each release. When you add an additional SDK, measure how much additional data your app is sending and remove SDKs which could cause your app to use too much data.
2. Profile 3rd Party SDKs
From analytics and mobile ads to payment services, there are hundreds of different SDKs you can integrate into your mobile app. While it may be tempting to throw in an SDK and assume it works, it’s important to profile each SDK and monitor how it’s affecting your mobile app.You might be surprised to find a particular third-party SDK that is slowing down your app or causing crashes in areas of low connectivity.
3. Optimize Your App by Geolocation
Different areas of the world will impact your app’s performance in different ways. A user in San Francisco may have a great experience using your app, but users in China or even certain areas in North America could be struggling to use your app because of high latency or network errors.To see how your app is performing in different areas of the world, use the Geolocation tab to drill down into your app’s performance.
Our customers have used this feature to solve different problems within their app. Several customers have found that when they launched their app in China, the firewall slowed their app and caused network errors that effectively broke their app. When launching your app in a new country, make sure you are monitoring the latency and error rate of important endpoints to ensure customers are having a good experience.
Another customer found that while their Verizon users had no connectivity problems on their courier app, AT&T users had coverage gaps that prevented their app from functioning reliably. Once they switched their carriers from AT&T to Verizon, they saw a huge increase in orders in their app.
4. Monitor Endpoints in Critical Workflows
While the entirety of user experience in your app is important, there are likely critical user flows in your app, such as login, search, or steps the purchase process. Ensuring that these flows work (they align with user intent) is crucial to a great user experience. The services relied upon in these key user flows need to be monitored to make sure they are running smoothly. Network Insights gives you the visibility into the services running in the background. Coupled with the Apteligent Userflows feature, you can monitor the endpoints that are crucial to a smooth user experience where it really impacts your app. The Breadcrumbs trails in Userflows also show Network Events so you can see how your app is impacted for critical workflows. If you’re seeing a large number of failures in a Userflow, check the Breadcrumb trails for any network calls taking over two seconds that may be causing user frustration.
For more information on Userflows, please view this article here.
5. Measure Your Latency Against Industry Benchmarks
Understanding how your app compares to the rest of the industry is useful to gain an understanding your app aligns with best practices across the industry. Is my app doing better or worse than my competition? Users will choose the app that provides a smoother experience. If you find that your competitor’s app is much faster and your user retention has dropped, Network Insights coupled with our Industry Benchmarks might just give you a clue to answer the question why.
For the Industry Benchmarks, please see our data site here.
Implementing Network Insights
The only thing you need to do to implement Network Insights is initialize the Apteligent SDK in your app, and all of the data will be collected automatically. When Apteligent is initialized, the performance of HTTP traffic generated by java.net.HttpURLConnection or org.apache.http.impl.client.DefaultHttpClient on Android or NSURLConnection and NSURLSession on iOS are monitored to retrieve the metrics that are then displayed under Network Insights.
For a full list of the APIs used to monitor network request performance and more information on how to configure Network Insights, please see our documentation:
For any additional questions or concerns, feel free to contact us at firstname.lastname@example.org, and we’ll be happy to answer!