SlideShare a Scribd company logo
Hello!
I am Hashem, Frontend engineer
@sixt.
I am Javascript lover and web
performance engineer.
You can find me @HashemKhalifa
Improving the development
experience and the performance for
Sixt website
You can't optimize what you can't measure.
Page load cannot be measured by single metric.
Visual Metrics Interactive Metrics
• First Paint
• First Contentful Paint
• First Meaningful Paint
• Visually Complete
• Speed index
• Time to Interactive
• First CPU Idle
Visual Metrics
Performance presentation
First Paint
The First Paint after navigation:
• Includes basically any paint
• Includes background paint
• Considerations: it can fire when body {
background : #fff } is painted.
First Contentful Paint
First Paint of Content
includes:
• text
• Images
• Canvas
• SVG
First Meaningful Paint
The Primary content is visible
Marks the paint that follows most
significant change to layout
Visually Complete
Visually, the page is done loading
Speed Index
How quickly does the page approach visually complete.
Interactive Metrics
Time To Interactive
The metric Time to interactive (TTI) marks the
point at which your application is both visually
rendered and capable of reliably responding to
user input
Requires:
Network to be fairly quiet
Performance presentation
First CPU Idle Time AKA First Interactive
The first point at which page could respond quickly just after FMP.
Requires:
Most, but maybe not all, UI elements on the screen are interactive.
Map Metrics with User’s Questions.
Top Priority Metrics
1. Time To Interactive
2. Speed Index
3. First Contentful Paint
Measuring tools
Why this matters
Experiences that ship down this
much JavaScript take more than
15+ seconds to load and get
interactive on mobile devices.
Case study
Performance before / Mobile - Desktop
What was the ROOT Causes
• Bundle size
• Dev bundles was shipped to production
• Dependency Duplication
• Typo3 [ monolithic CMS] managing 40 to 50% for the performance.
- Short term solution.
- Long term solution.
Journey
• Three Iterations
• Reduce the bundle size 50%
• Eliminate bundle overlaps.
• Moment localization.
• React dom development.
First Iteration
Bundle size from 1.74MB to 870kb
Bundle overlaps [ Before ]
We had 228 bundles that has overlaps
Bundle overlaps [ After ]
From 228 to 175 overlaps. And 23 files less
Performance after first iteration / Mobile - Desktop
• From 28 to 49 Mobile
• From 27 to 44 Desktop
Iteration 1 Results 75%
How?
Second Iteration AKA short term without typo3
- Rebuild the home page using vanilla JS/static html.
- Lazy loading. [IntersectionObserver]
- Preload font/styles.
- Reduce the number of requests from 259 to 71
After Second Iteration (mobile – desktop)
• From 49 to 6. Mobile
• From 44 to 81 Desktop
Iteration 1 Results 75%
Iteration 2 Results 6%
Third iteration AKA long term solution
- Headless CMS
- Gatsby for static content.
- Precaching resources with service worker.
Performance presentation
Why Gatsby?
After the third iteration (Mobile – Desktop)
Our home page with static content
Our home page with HCMS and Gatsby
Iteration 1 Results 75%
Iteration 2 Results 5%
Iteration 3 Results 50%
Comparing the bounce rate on home of July (orange) vs. August (blue). It dropped by 20% after
moving the Homepage out ofT3 end of July. Interestingly: impact is same on Mobile and
Desktop.
Conclusion
• Time to interact for Mobile was 15 and now its 5.7 seconds
• Time to interact for Desktop was 17.5 seconds and now is 1.1 seconds
• Reduced bundle size 50%
• https://developers.google.com/web/fundamentals/performance/criti
cal-rendering-path/measure-crp
• https://webpack.js.org/configuration/optimization/
• https://medium.com/@addyosmani/the-cost-of-javascript-in-2018-
7d8950fbb5d4
Resources
Thank you

More Related Content

PDF
PDF
React Introduction
PDF
The Thick Front-End
PPTX
Serverless testing-serverless-sydney-20181018
PPTX
ACM Patterns and Oracle BPM Suite Best Practises
PDF
Increasing performance with Elixir Tasks
PDF
Best practises vop
PDF
Developing webapp using Polymer : is it ready for production? or not?
React Introduction
The Thick Front-End
Serverless testing-serverless-sydney-20181018
ACM Patterns and Oracle BPM Suite Best Practises
Increasing performance with Elixir Tasks
Best practises vop
Developing webapp using Polymer : is it ready for production? or not?

What's hot (20)

PDF
A Peek in to Elm Architecture
KEY
Scaling small apps
PPTX
Shop.org 2017 Tech talk website speed for ecommerce why it matters and how to...
PDF
Puppet – Make stateful apps easier than stateless
PDF
[DevDay 2017] Serverless Architecture - Speaker: Trung Huynh - Software Engin...
PPTX
A Lap around ASP.NET 5 - CONDG
PPTX
SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...
PDF
Scaling the guardian
PDF
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
PDF
I Can Haz Services ??
PPTX
Code workshop
PPT
RedTree OpenCMS 8
PPT
Performance with Selenium2
PPTX
Introduction to-react
PDF
Front-end tower of Babylon
PDF
React + Mobile
PPTX
Introduction To Serverless Architecture
PDF
Improving user experience with real user measurements
PPTX
Featfures of asp.net
PPTX
SharePoint Saturday Utah 2018 - SharePoint Framework, Angular and Azure Funct...
A Peek in to Elm Architecture
Scaling small apps
Shop.org 2017 Tech talk website speed for ecommerce why it matters and how to...
Puppet – Make stateful apps easier than stateless
[DevDay 2017] Serverless Architecture - Speaker: Trung Huynh - Software Engin...
A Lap around ASP.NET 5 - CONDG
SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...
Scaling the guardian
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
I Can Haz Services ??
Code workshop
RedTree OpenCMS 8
Performance with Selenium2
Introduction to-react
Front-end tower of Babylon
React + Mobile
Introduction To Serverless Architecture
Improving user experience with real user measurements
Featfures of asp.net
SharePoint Saturday Utah 2018 - SharePoint Framework, Angular and Azure Funct...
Ad

Similar to Performance presentation (20)

PPTX
Transforming the web into a real application platform
PDF
Rise and Fall of the Frontend Developer
PDF
Lighthouse
PPTX
Untangling spring week11
PDF
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
PDF
Isomorphic React Applications: Performance And Scalability
PPTX
Rapid Application Development with MEAN Stack
PPTX
Advanced Web Technology.pptx
PDF
l1-reactnativeintroduction-160816150540.pdf
PDF
How to Build Single Page HTML5 Apps that Scale
PDF
React Tech Salon
PDF
JohnBraccialeResume2015
PPTX
The Delight and Difficulties of Universal Java Script with React
PDF
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
PPTX
Progressive Web Apps and React
PPTX
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
PPTX
Untangling fall2017 week1
PDF
An Introduction to ReactNative
PDF
Performance and Scalability Art of Isomorphic React Applications
ODP
Cvcc performance tuning
Transforming the web into a real application platform
Rise and Fall of the Frontend Developer
Lighthouse
Untangling spring week11
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
Isomorphic React Applications: Performance And Scalability
Rapid Application Development with MEAN Stack
Advanced Web Technology.pptx
l1-reactnativeintroduction-160816150540.pdf
How to Build Single Page HTML5 Apps that Scale
React Tech Salon
JohnBraccialeResume2015
The Delight and Difficulties of Universal Java Script with React
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
Progressive Web Apps and React
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
Untangling fall2017 week1
An Introduction to ReactNative
Performance and Scalability Art of Isomorphic React Applications
Cvcc performance tuning
Ad

Recently uploaded (20)

PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PPTX
A Presentation on Touch Screen Technology
PDF
Encapsulation theory and applications.pdf
PDF
August Patch Tuesday
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Hybrid model detection and classification of lung cancer
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PPTX
1. Introduction to Computer Programming.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Web App vs Mobile App What Should You Build First.pdf
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Approach and Philosophy of On baking technology
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
SOPHOS-XG Firewall Administrator PPT.pptx
A Presentation on Touch Screen Technology
Encapsulation theory and applications.pdf
August Patch Tuesday
cloud_computing_Infrastucture_as_cloud_p
A comparative study of natural language inference in Swahili using monolingua...
Hybrid model detection and classification of lung cancer
Assigned Numbers - 2025 - Bluetooth® Document
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Heart disease approach using modified random forest and particle swarm optimi...
1. Introduction to Computer Programming.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
OMC Textile Division Presentation 2021.pptx
Zenith AI: Advanced Artificial Intelligence
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Encapsulation_ Review paper, used for researhc scholars
Web App vs Mobile App What Should You Build First.pdf
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Approach and Philosophy of On baking technology
Group 1 Presentation -Planning and Decision Making .pptx

Performance presentation