PERFORMANCE INSIGHT

HeadSpin Proposes Speed Optimizations as Ideal Multilingualism for Duolingo

Icon-Methodology-orange

Overview and Methodology For Our Analysis

Industry:

Language

Device/Network/Location:

iPhone XS / Orange / Paris

Products Used:

HeadSpin Connected Intelligence Platform

Recommendations:                                                          

  • 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.
Icon-UserReviews-orange_1

User Reviews

Duolingo is doing very well overall in terms of user ratings on the App Store.

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.

Icon-Insight-orange

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. 

HeadSpin Performance Session (link)

EXECUTIVE SUMMARY OF TOP PERFORMANCE AREAS

Analysed KPIs

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?

We have analyzed the overall performance during the below key journeys in order to identify any bottlenecks or performance issues.

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).

We have encountered the below issues that contributed to the increased “Start Learning” time.

Domain Sharding

   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.

Icon-Insight-red

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.

We have encountered the below issues that contributed to the increased “Start Learning” time.

Slow Server

   Slow Server Impact Time      879 ms  

The application waited longer than 500 ms to receive the first byte in HTTP responses from these hosts.

Icon-Insight-red

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

   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.

Icon-Insight-red

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

   Duplicate Messages     104 ms  

 

The app received identical copies of the below resources.

 

Download CountSize Each (bytes)Total Download Time (ms) Impact Time (ms) Impact
/Total (%)
 StatusContent Type URL
211535617248.3200 application/jsonLink
2198520810450200image/pngLink
Icon-Insight-red
HEADSPIN RECOMMENDATION: It’s rare for an app to really need to download the same resource multiple times. Consider caching your HTTP requests so that duplicates never reach the server.
Icon-HowTo-orange

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
Overarching Areas of Opportunities

  • 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
Expert Holistic Consultation and Strategy 

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 

... insight from HeadSpin helps us prioritize issues so we could deliver a better user experience.

Maria Zhang, CTO, Tinder