PERFORMANCE INSIGHT

HeadSpin Proposes Speed Optimizations as Ideal Flashcards for Memrise

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 static.memrise.com
  • Optimize connection reuse
  • Review http errors
  • HeadSpin analyzed the latest version of the Memrise 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

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

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

Memrise ratings is currently 4.8/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  1.5 sec  
   Start Learning   11 sec

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

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 static.memrise.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      1.5 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).

During our analysis we haven’t found any issues that are affecting the overall TTI for Memrise.

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      2.1 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 Memrise can shave off approx 2.1sec of the overall TTI.

Connection Reuse

   Connection Reuse Impact Time     2.9 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 2.9sec.

Duplicate Messages

   Duplicate Messages     482 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
3268172448266.6200 application/jsonLink
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.

Domain Sharding

   Domain Sharding Impact Time     1.1 sec

 

Memrise used multiple subdomains to serve resources in parallel.

Memrise 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 Memrise app can benefit from reducing the TTI by 1.1sec.

Slow TLS

   Slow TLS     949 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     60 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 Memrise can reduce the overall “Start Learning” time by 60ms.
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