SlideShare a Scribd company logo
Frontend Performance
Björn Jacob
CTO TRITUM
Board dreistrom.land
geocouch.de
Wir machen
Unsichtbares
sichtbar.
Wir kreieren
mehrsprachige
Inhalte.
Wir betreiben
digitaleProjekte.
Zusammen sindwir dreistrom.land
Kunden
Frontend performance on the web | Presentation @ecommercecamp 2019
So, you are a
„designer“?
7
“Zalando saw a 0.7% increase
in revenue when they shaved
100ms off their load time.”
Zalando, 2018
8
“Carousell reduced page load
time by 65% and saw a 63%
increase in organic traffic [...]”
Carousell, 2018
9
17.6 million kilowatt hours/ d
2 billion People
5 pages/ d
1.500.000 GB data
Tim Kadlec, 2019
10
Pillars of
performance.
Pillars of performance
• Server Side Rendering
• Asset delivery
• Client bandwidth
• Client CPU cycles
12
Server side rendering
• Write fast code
• Cache what can‘t be made fast
• Consider stuff older than 5 sec static
• Performance is design
• OP-TI-MIZE
13
Asset delivery
• Deliver fast
• Deliver regionally
• Deliver optimized
• Really mean that!
• OP-TI-MIZE… please
14
15
“53% of visits to mobile sites are
abandoned after 3 seconds.”
Google DoubleClick, 2018
Client bandwiths
• 3G is broadband
• Company culture: One day of 2G per month
• Ship less HTML
• Ship less CSS
• Ship WAY less JS
• OP-TI-MIZE... pretty please
16
17
• Test on slow devices
• Kill on-scroll
• Transition via CSS
• Offload defered JS onto threads
• Aim for 60 fps
Some Flowers™: 15fps  60fps +25% conversion
Client CPU cycles
18
Silky smooth scrolling.
Terminology.
Terminology
FCP: First Contentful Paint
FMP: First Meaningful Paint
TTI: Time to Interactive
PB: Performance Budget
Bloat: CSS/ JS not used in current document 21
Quick wins.
1 | Set goals
• First Meaningful Paint < 1 sec
• Time to Interactive < 5 sec (on slow 3G)
• Time to interactive < 2 sec (repeated visits)
23
• Max Budget: 14kb
• Include in <head>
• Consider click through
• Bloat Budget: 15%
• Stay < 170kb textfile-size (compressed)
2 | Critical CSS
24
• Trim
• Defer
• Lazy-load
• Use lightweight alternatives
• Minimize 3rd party scripts
3 | Load lightly
25
• Load core scripts normally
• Use <script type=„module“> for modern browsers
4 | Legacy loading
26
• Load blocking JS before blocking CSS
• Split up critical CSS per media query
• Measure
• Experiment
• Repeat
5 | JS & CSS grouping
27
• dns-lookup
• Preconnect
• Prefetch
• preload (carefully)
• See https://w3c.github.io/resource-hints/
6 | Resource hints
28
• Seriously consider system fonts
• Remove bloat subsets
• Remove bloat charsets
• Make use of font-display
(swap/ optional)
7 | Webfonts
29
30
“Changing the way fonts were
loaded […] resulted in the speed
index dropping by 50% for 4G
mobiles.“
gov.uk, 2018
• Lazy loading
• Use webP
• Optimize image size per viewport
• dreistrom.land‘s Image Rendering Service for lossless
compression and convertion to modern images formats
8 | Optimize images
31
• Set HTTP Cache headers properly
• Set HTTP security headers properly
9 | Headers
32
• Use Brotli
• Use Zopfli
• Use at least gzip
10 | Compression
33
• Serve via HTTP/2
• Monitor mixed-content warnings
• Verify HPACK compression is available
• Enable OCSP stapling
• ^^ speeds up TLS handshakes
11 | HTTPS/2
34
• Use service worker cache for
• … webfonts
• … CSS
• … JS
• … re-used images
12 | Service workers
35
Tools.
Tools for your CI/ CD infrastructure
• https://www.sitespeed.io/
• https://github.com/GoogleChrome/lighthouse/blob/HEAD/docs/r
eadme.md#using-programmatically
• https://developers.google.com/web/tools/lighthouse/#cli
37
Still think
you‘re
„designing“?
Ressources
• https://wpostats.com/
• https://timkadlec.com/
• https://www.smashingmagazine.com/2019/01/front-end-performance-
checklist-2019-pdf-pages/
• https://technology.blog.gov.uk/2018/10/04/making-gov-uk-pages-load-
faster-and-use-less-data/
• https://docs.google.com/spreadsheets/d/1lBQ0T1VBlBrpkv5Q1vQJkU8h
nya_5tRczf9c5TfIgnQ/edit#gid=0
• http://youmightnotneedjquery.com/
40
?
!

More Related Content

PDF
Optimising the RSPB website (2011)
PPTX
Speedup Magento Website
PPTX
Announcing StencilJS
PDF
Charla ro 2
PDF
Pump up the JAM with Gatsby (2019)
PPTX
Better content presentation
PPTX
Better Content Presentation
Optimising the RSPB website (2011)
Speedup Magento Website
Announcing StencilJS
Charla ro 2
Pump up the JAM with Gatsby (2019)
Better content presentation
Better Content Presentation

What's hot (20)

PDF
Static is just a cache
PDF
East bay full stack developers meetup August 2019
PDF
The Next Generation Software Stack: Meteor
PDF
Geo-Trending Example
PDF
STON Media Delivery Server
PDF
MongoDB for Oracle Experts - OUGF Harmony 2014
PDF
AI&BigData Lab. Николай Алексеенко "KDB+ - устрашающее совершенство"
PDF
Иван Глушков (Echo)
PDF
Pankov Artem.Improving drupal performance www.hr portal.ru.DrupalCamp Kyiv 2011
PDF
Cortana Analytics Workshop: Deep Neural Networks
PDF
What cloud changes the developer
PDF
How we build Videome
PDF
Ruby on Rails Workshop
PDF
CSS Frameworks for Rapid Site Designs
PDF
Handling scale on AWS
PDF
extended slow parts, HTML5 meets WPO
PDF
Tis the Season to Scale
PDF
Redis : Database, cache, pub/sub and more at Jelly button games
PDF
High Performance SSRS
PPTX
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Static is just a cache
East bay full stack developers meetup August 2019
The Next Generation Software Stack: Meteor
Geo-Trending Example
STON Media Delivery Server
MongoDB for Oracle Experts - OUGF Harmony 2014
AI&BigData Lab. Николай Алексеенко "KDB+ - устрашающее совершенство"
Иван Глушков (Echo)
Pankov Artem.Improving drupal performance www.hr portal.ru.DrupalCamp Kyiv 2011
Cortana Analytics Workshop: Deep Neural Networks
What cloud changes the developer
How we build Videome
Ruby on Rails Workshop
CSS Frameworks for Rapid Site Designs
Handling scale on AWS
extended slow parts, HTML5 meets WPO
Tis the Season to Scale
Redis : Database, cache, pub/sub and more at Jelly button games
High Performance SSRS
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Ad

Similar to Frontend performance on the web | Presentation @ecommercecamp 2019 (20)

PPT
performance.ppt
PDF
Web Performance Optimization (WPO)
PDF
PAC 2019 virtual Mark Tomlinson
PDF
Web Components at Scale, HTML5DevConf 2014-10-21
PPTX
Web Performance Optimization
PPTX
AquaQ Analytics Kx Event - Data Direct Networks Presentation
PDF
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
PDF
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...
PDF
Mobile web performance dwx13
PPTX
MongoDB World 2018: Breaking the Mold - Redesigning Dell's E-Commerce Platform
PDF
#Webperf Choreography
PDF
20 tips for website performance
PPTX
10 things you can do to speed up your web app today stir trek edition
PPTX
Webinar: The OpEx Business Plan for NoSQL
PPTX
MongoDB Days UK: Building an Enterprise Data Fabric at Royal Bank of Scotland...
PPTX
How_To_Soup_Up_Your_Farm
PPTX
Riding The N Train: How we dismantled Groupon's Ruby on Rails Monolith
PDF
How and Why ($) to improve web performance.pdf
PPTX
JCNC2013 Case Aktia Joakim Sandström
PDF
Managing Geospatial Open Data Serverlessly [AWS Community Day CH 2025]
performance.ppt
Web Performance Optimization (WPO)
PAC 2019 virtual Mark Tomlinson
Web Components at Scale, HTML5DevConf 2014-10-21
Web Performance Optimization
AquaQ Analytics Kx Event - Data Direct Networks Presentation
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...
Mobile web performance dwx13
MongoDB World 2018: Breaking the Mold - Redesigning Dell's E-Commerce Platform
#Webperf Choreography
20 tips for website performance
10 things you can do to speed up your web app today stir trek edition
Webinar: The OpEx Business Plan for NoSQL
MongoDB Days UK: Building an Enterprise Data Fabric at Royal Bank of Scotland...
How_To_Soup_Up_Your_Farm
Riding The N Train: How we dismantled Groupon's Ruby on Rails Monolith
How and Why ($) to improve web performance.pdf
JCNC2013 Case Aktia Joakim Sandström
Managing Geospatial Open Data Serverlessly [AWS Community Day CH 2025]
Ad

Recently uploaded (20)

PPTX
E -tech empowerment technologies PowerPoint
PPTX
international classification of diseases ICD-10 review PPT.pptx
PDF
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
PPTX
INTERNET------BASICS-------UPDATED PPT PRESENTATION
PPTX
Module 1 - Cyber Law and Ethics 101.pptx
PDF
WebRTC in SignalWire - troubleshooting media negotiation
PPTX
presentation_pfe-universite-molay-seltan.pptx
PPTX
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION
PDF
An introduction to the IFRS (ISSB) Stndards.pdf
PPTX
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
PPTX
Internet___Basics___Styled_ presentation
PPTX
522797556-Unit-2-Temperature-measurement-1-1.pptx
PPTX
CHE NAA, , b,mn,mblblblbljb jb jlb ,j , ,C PPT.pptx
PPTX
Introuction about ICD -10 and ICD-11 PPT.pptx
PPTX
PptxGenJS_Demo_Chart_20250317130215833.pptx
PPTX
introduction about ICD -10 & ICD-11 ppt.pptx
PDF
Decoding a Decade: 10 Years of Applied CTI Discipline
PDF
The New Creative Director: How AI Tools for Social Media Content Creation Are...
PPTX
artificial intelligence overview of it and more
PDF
SASE Traffic Flow - ZTNA Connector-1.pdf
E -tech empowerment technologies PowerPoint
international classification of diseases ICD-10 review PPT.pptx
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
INTERNET------BASICS-------UPDATED PPT PRESENTATION
Module 1 - Cyber Law and Ethics 101.pptx
WebRTC in SignalWire - troubleshooting media negotiation
presentation_pfe-universite-molay-seltan.pptx
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION
An introduction to the IFRS (ISSB) Stndards.pdf
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
Internet___Basics___Styled_ presentation
522797556-Unit-2-Temperature-measurement-1-1.pptx
CHE NAA, , b,mn,mblblblbljb jb jlb ,j , ,C PPT.pptx
Introuction about ICD -10 and ICD-11 PPT.pptx
PptxGenJS_Demo_Chart_20250317130215833.pptx
introduction about ICD -10 & ICD-11 ppt.pptx
Decoding a Decade: 10 Years of Applied CTI Discipline
The New Creative Director: How AI Tools for Social Media Content Creation Are...
artificial intelligence overview of it and more
SASE Traffic Flow - ZTNA Connector-1.pdf

Frontend performance on the web | Presentation @ecommercecamp 2019

  • 2. Björn Jacob CTO TRITUM Board dreistrom.land geocouch.de
  • 3. Wir machen Unsichtbares sichtbar. Wir kreieren mehrsprachige Inhalte. Wir betreiben digitaleProjekte. Zusammen sindwir dreistrom.land
  • 6. So, you are a „designer“?
  • 7. 7 “Zalando saw a 0.7% increase in revenue when they shaved 100ms off their load time.” Zalando, 2018
  • 8. 8 “Carousell reduced page load time by 65% and saw a 63% increase in organic traffic [...]” Carousell, 2018
  • 9. 9 17.6 million kilowatt hours/ d 2 billion People 5 pages/ d 1.500.000 GB data Tim Kadlec, 2019
  • 10. 10
  • 12. Pillars of performance • Server Side Rendering • Asset delivery • Client bandwidth • Client CPU cycles 12
  • 13. Server side rendering • Write fast code • Cache what can‘t be made fast • Consider stuff older than 5 sec static • Performance is design • OP-TI-MIZE 13
  • 14. Asset delivery • Deliver fast • Deliver regionally • Deliver optimized • Really mean that! • OP-TI-MIZE… please 14
  • 15. 15 “53% of visits to mobile sites are abandoned after 3 seconds.” Google DoubleClick, 2018
  • 16. Client bandwiths • 3G is broadband • Company culture: One day of 2G per month • Ship less HTML • Ship less CSS • Ship WAY less JS • OP-TI-MIZE... pretty please 16
  • 17. 17
  • 18. • Test on slow devices • Kill on-scroll • Transition via CSS • Offload defered JS onto threads • Aim for 60 fps Some Flowers™: 15fps  60fps +25% conversion Client CPU cycles 18
  • 21. Terminology FCP: First Contentful Paint FMP: First Meaningful Paint TTI: Time to Interactive PB: Performance Budget Bloat: CSS/ JS not used in current document 21
  • 23. 1 | Set goals • First Meaningful Paint < 1 sec • Time to Interactive < 5 sec (on slow 3G) • Time to interactive < 2 sec (repeated visits) 23
  • 24. • Max Budget: 14kb • Include in <head> • Consider click through • Bloat Budget: 15% • Stay < 170kb textfile-size (compressed) 2 | Critical CSS 24
  • 25. • Trim • Defer • Lazy-load • Use lightweight alternatives • Minimize 3rd party scripts 3 | Load lightly 25
  • 26. • Load core scripts normally • Use <script type=„module“> for modern browsers 4 | Legacy loading 26
  • 27. • Load blocking JS before blocking CSS • Split up critical CSS per media query • Measure • Experiment • Repeat 5 | JS & CSS grouping 27
  • 28. • dns-lookup • Preconnect • Prefetch • preload (carefully) • See https://w3c.github.io/resource-hints/ 6 | Resource hints 28
  • 29. • Seriously consider system fonts • Remove bloat subsets • Remove bloat charsets • Make use of font-display (swap/ optional) 7 | Webfonts 29
  • 30. 30 “Changing the way fonts were loaded […] resulted in the speed index dropping by 50% for 4G mobiles.“ gov.uk, 2018
  • 31. • Lazy loading • Use webP • Optimize image size per viewport • dreistrom.land‘s Image Rendering Service for lossless compression and convertion to modern images formats 8 | Optimize images 31
  • 32. • Set HTTP Cache headers properly • Set HTTP security headers properly 9 | Headers 32
  • 33. • Use Brotli • Use Zopfli • Use at least gzip 10 | Compression 33
  • 34. • Serve via HTTP/2 • Monitor mixed-content warnings • Verify HPACK compression is available • Enable OCSP stapling • ^^ speeds up TLS handshakes 11 | HTTPS/2 34
  • 35. • Use service worker cache for • … webfonts • … CSS • … JS • … re-used images 12 | Service workers 35
  • 37. Tools for your CI/ CD infrastructure • https://www.sitespeed.io/ • https://github.com/GoogleChrome/lighthouse/blob/HEAD/docs/r eadme.md#using-programmatically • https://developers.google.com/web/tools/lighthouse/#cli 37
  • 39. Ressources • https://wpostats.com/ • https://timkadlec.com/ • https://www.smashingmagazine.com/2019/01/front-end-performance- checklist-2019-pdf-pages/ • https://technology.blog.gov.uk/2018/10/04/making-gov-uk-pages-load- faster-and-use-less-data/ • https://docs.google.com/spreadsheets/d/1lBQ0T1VBlBrpkv5Q1vQJkU8h nya_5tRczf9c5TfIgnQ/edit#gid=0 • http://youmightnotneedjquery.com/