PERFORMANCE INSIGHT

HeadSpin Proposes Speed Optimizations as Ideal Translation for Babbel

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 calls made to api.babbel.com
  • Reuse connections
  • Investigate http errors
  • Check keep-alive settings on the host server
  • HeadSpin analyzed the latest version of the Babbel 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

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

HeadSpin looked at Babbel reviews in the App Store and found some users struggling with functional issues and technical errors.

Babbel ratings is currently 4.6/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   2 sec  
   Start Learning   11 sec  

The sample performance analysis focusing on a typical critical user journey for Babbel. Following are the top performance areas that can be optimized for Babbel.

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 api.babbel.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.

HTTP Errors Some HTTP requests returned errors one of which was due to a call to HelpShift which should be further investigated 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      2 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 contribute to the increased TTI.

Connection Reuse

   Connection Reuse Impact Time     475 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 same hosts.

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 TTI by 475ms.

Slow TLS

 Slow TLS     987 ms  
Your application waited longer than 300 ms to complete TLS handshakes with these hosts.
TLS handshakes add latency to requests due to additional round trips between the device and server. Consider moving your servers closer to users or using a CDN to cut down on round trip time.
Icon-Insight-red
HEADSPIN RECOMMENDATION: Consider enabling keep-alive to reuse established connections. Examine the costs of additional overhead incurred by any domain sharding optimizations. Consider caching strategies to reduce or eliminate handshake round trips.

HTTP Errors

  HTTP errors Impact Time     908 ms  
The below requests returned errors as listed below
Icon-Insight-red

HEADSPIN RECOMMENDATION: We recommend that you investigate the above requests in detail to better understand the cause of the errors by doing so Babbel can reduce the overall TTI time by 908ms.

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      4.9 sec   

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 Babbel can shave off approx 4.9sec of the overall “Start Learning” time.

Domain Sharding

   Domain Sharding Impact Time     159 ms  

Babbel used multiple subdomains to serve resources in parallel.

Babbel 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 Babbel app can benefit from reducing the “Start Learning” time by 159ms.

Connection Reuse

   Connection Reuse Impact Time     1.5 sec  

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 1.5sec.

Duplicate Messages

   Duplicate Messages     1.9 sec  

 

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
76211498130687.2422 application/jsonLink
3139279958773.5200application/json; charset=utf-8Link

 

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 thousands of devices and 70+ 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