PERFORMANCE INSIGHT

HeadSpin Proposes Speed Optimizations as the Largest Slice for Domino’s Pizza

Icon-Methodology-orange

Overview and Methodology For Our Analysis

Industry:

Pizza Delivery

Device/Network/Location:

iPhone 7 Plus / AT&T / Palo Alto

Products Used:

HeadSpin Connected Intelligence Platform

Nimbledroid

Recommendations:                                                         

  • Launch time impacted by multiple TCP+TLS connections
  • Multiple asset errors
  • High battery drain
  • Optimize GSON
  • HeadSpin analyzed the latest version of the Domino’s iOS app on a real iPhone 7 Plus in Palo Alto, on the AT&T 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

Domino’s is doing very well overall in terms of user ratings on the App Store. 

HeadSpin looked at Domino’s Pizza’s reviews in the App Store and found some users struggling with functional issues and technical errors.

Domino’s Pizza’s ratings is currently 4.8/5 on the App Store.

Server Side 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)

Launch Time

The launch time was 21 seconds for the app. 

About 7-8 seconds are spent in downloading all the below items

The IP of the server is 23.205.66.144 that resolves to Akamai USA.
Each new asset download created a new TCP/TLS connection:

Below are the overall stats for this server

  • 60 new connections are opened, 80% of the time is spent in creating TCP+TLS connections (Orange + Purple).
  • 10% of the time is spent in waiting for the server to respond (Green)
  • 10% of the time is spent downloading the assets ( Blue) – the most critical time. 
Icon-Insight-red

HEADSPIN RECOMMENDATION:

  1. Download all assets at once on one connection
  2. Limit the number of connections and use one connection to download multiple assets
  3. Use progressive loading and don’t block the app on it

HTTP Errors

We noticed plenty of Asset not found errors as shared below:

When you click on ‘View Table’ you can see the details of the errors
Icon-Insight-red
HEADSPIN RECOMMENDATION:
  • Status Message 404 – check where there is a JSON or file somewhere that still references older removed assets.
  • Error 404 – App is using Firebase. But Firebase is misconfigured in the app resulting in malformed http request.

Order/Checkout Process

Each TCP+TLS is ~ 500-600ms

If you see the Https Request/Response headers:

Keep-Alive timeout=5, max=100
Connection Keep-Alive

Keep-Alive is enabled, MAX of 100 requests per connection and timeout of 5 seconds, which makes no sense. Is the server supposed to expect 100+ requests in 5 seconds? That’s a mismatch of two parameters.

Icon-Insight-red

HEADSPIN RECOMMENDATION: The Server should increase the timeout to 20 seconds or so to prevent reopening new connections.

Battery Usage

In the 5 minute session, the energy drain percentage was 1.04%.
Icon-Insight-red
HEADSPIN RECOMMENDATION: The energy drain can be reduced if the connections are reused, for example below is another example where connections can be reused.

Client Side Profiling & Recommendations

Client-side session on Nimbledroid (link)

Icon-Insight-red
HEADSPIN RECOMMENDATION: All the red lines (towards the bottom of almost every column) is GSON. Optimizing GSON will boost launch time by 20% – 25%.
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