HeadSpin Proposes Speed Optimizations as Ideal Multilingualism for Duolingo
Overview and Methodology For Our Analysis
iPhone XS / Orange / Paris
HeadSpin Connected Intelligence Platform
- Review slow server for calls to ios-api2.duolingo.com
- Optimize connection reuse
- Remove duplicate messages
- HeadSpin analyzed the latest version of the Duolingo iOS app on a real iPhone XS in Paris, on the Orange network.
- NO SDK, code change or instrumentation was needed to run the remote performance sessions.
- HeadSpin’s AI engine sifted through network traffic, client-side metrics, and videos of the test execution to find areas of poor user experience and performance bottlenecks.
- Recommendations were provided for every issue that was surfaced.
HeadSpin looked at Duolingo reviews in the App Store and found some users struggling with functional issues and technical errors.
Duolingo ratings is currently 4.7/5 on the App Store.
Insights and Recommendations
HeadSpin’s proprietary AI technology analyzes and prioritizes the core issues impacting critical user journeys. Using computer vision techniques to quantify blank screens, time to interact, loading time, loading or buffering animations, and content quality, our AI models can automatically diagnose server-side issues whether they arise from infrastructure deployment issues, poor performance, or API errors. For a custom analysis of your app, request a Performance Insight report from HeadSpin.
|Launch Time||3.85 sec|
|Start Learning||11 sec|
The sample performance analysis focusing on a typical critical user journey for Duolingo. Following are the top performance areas that can be optimized for Duolingo.
Slow Server The server response time for one or more api calls took more than 500ms which is considered to be slow. In particular calls made to ios-api2.duolingo.com had longer response times and this is where most of the performance improvements should take place.
Domain Sharding Although domain sharding is widely used in the web can have negative effects on mobile apps. The application served resources in parallel from different subdomains
Connection Reuse On a number of occasions the app didn’t reuse already opened TCP connections which adds additional overheads.
Duplicate Message The app received identical copies of some resources , although this had minor effects on our tests but it is something to consider in case there are other instances of the issue throughout the application.
The app can benefit from further detailed analysis into the different performance affecting issues which Headspin can assist with. One example is how does the app perform at different times of the day in particular during peak times? How does the app perform on different devices with different specs, or in different cities?
A) First Launch
|Time to first interaction||3.85 sec|
The time it takes for your users to start interacting with the app is of great importance and should be minimized as much as possible. We have used the below screen as our control screen to measure the the Time to First Interaction (TTI).
|Domain Sharding Impact Time||720 ms|
Duolingo used multiple subdomains to serve resources in parallel.
Domain sharding is a technique popular for the web, but can cause performance issues on mobile devices which have different connection pool limits. Each additional connection on a subdomain requires a DNS lookup and new TCP/TLS handshakes for each connection, causing significant overhead.
HEADSPIN RECOMMENDATION: Request all resources from a single domain to reduce performance impact from connection re-use issues, DNS lookup time, and packet loss by doing so Walmart app can benefit from reducing the TTI by 720ms.
B) Start learning
|Time taken to Start Learning||11 sec|
We have analysed how long your users have to wait until they start their learning journey as this is quite important and can affect your conversion and retention metrics greatly.
We have excluded the time for any user input steps and only included loading times resulting from api calls and network performance.
|Slow Server Impact Time||879 ms|
The application waited longer than 500 ms to receive the first byte in HTTP responses from these hosts.
HEADSPIN RECOMMENDATION: The slower than optimal response time could be due to a number of reasons, long server side operations, serving resources from the incorrect edge of a CDN.
We recommend that you investigate the above host and try to reduce the overall time to be within the optimal 500ms response time by doing so Walmart can shave off approx 5.38sec of the overall TTI.
|Connection Reuse Impact Time||403 ms|
TCP connections come with their own overheads, everytime a connection is opened those overheads add to the time of the task being executed.
The app created multiple connections in close succession to the below host.
HEADSPIN RECOMMENDATION: Check the keep-alive settings on the host server. If keep-alive connections aren’t enabled, or if the keep-alive timeout is set too low, client connections will be terminated prematurely, resulting in unnecessary TCP/TLS handshakes.
Reusing already established connections can reduce the overall time to “Start Learning” by 403ms.
|Duplicate Messages||104 ms|
How to Work With HeadSpin
HeadSpin Powers Flawless Mobile App Performance
HeadSpin’s state-of-the-art Digital Experience Intelligence Platform™ will empower your engineering teams to:
- Execute automation tests on real carrier-enabled devices worldwide
- Discover performance bottlenecks
- Collect and visualize your performance data
- Seamlessly integrate with your CI/CD workflow
- Monitor every critical user flow of your mobile experience
- Pinpoint issues that cause performance regressions and impact user experience earlier in your development cycle
- Launch new features confidently by monitoring and analyzing root causes of performance issues throughout the development life cycle
- Drive new user installs and user engagement with optimized performance
- Forge user trust and safety, accelerating consumer services for critical user paths across your apps and website
- Benchmark KPIs for mobile performance to understand how your user experience for your mobile app and website compares to your peers in the same industry
- Support localized testing across 32,000+ devices and 160+ countries around the world, on real devices under real-world conditions
HeadSpin has the product and solutions expertise to help you perfect the digital experience for your customers! Our team hails from digital pioneers, such as Google and Facebook, and has already delivered enhanced mobile-centric experiences for a diverse set of Fortune 1000 clients. HeadSpin’s strategic insights can help you:
- Drive new user acquisition, user engagement, and feature adoption
- Deploy app security measures on iOS and Android
- Build consistent performance standards and experiences across all your mobile apps and websites