SlideShare a Scribd company logo
1 of 31
Download to read offline
Front end performance

on Shopify.com
BRYSON GILB E RT • @br yg
2
Stuff we’ll talk about
What you need to know about shopify.com
Where we are focusing our perf efforts
How we measure our progress
What’s new and exciting
3
4
5
About Shopify.com
Why is performance important to us?

Our audience is global

Fundamental aspect of a good user experience
How’s it made?

Ruby on Rails

No database
6
Marketing Assets
Ruby gem
Re-usable modules
Documentation & Styleguide
Fast and easy improvements across properties
7
Perf Basics
Server-side caching
Concatenate, minify, GZIP
CDN
8
IMAGES
9
10
375px viewport 1000px viewport
11
12
13
14
File Size Improvements
Total (All Images)
Before After
200 MB
240 MB
Most Improved PNG
Before After
107 KB
400 KB
15
Images – Required Reading
• Dave Newton, “Efficient Image Resizing with ImageMagick”

http://www.smashingmagazine.com/2015/06/efficient-image-resizing-
with-imagemagick/
• Sara Soueidan, “Styling SVG <use> Content with CSS”

http://tympanus.net/codrops/2015/07/16/styling-svg-use-content-css/
16
FONTS
UGH...
17
18
Fonts
• Basic approach to loading fonts – @font-face in CSS, no inlining, self-hosted
• Five weights – most pages only use three or four
• WOFF and WOFF2 only – no TTF, EOT, SVG
• Everything is terrible – No, really
• Bram Stein, “Web Fonts Performance”

https://speakerdeck.com/bramstein/web-fonts-performance
19
JAVAS CRI PT
20
Javascript
Concatenated, minified, GZIP
Third party stuff

Social, analytics, etc.
A/B testing
21
Javascript – what next?
Profile and optimize our first-party scripts
A/B test server-side whenever possible
Third-party scripts: 🔥🔥🔥
22
MEASU REME NT
23
24
25
26
Measurement
Automatic and manual testing
Snapshots and RUM (Real User Monitoring)
Keeps you honest
Performance budgets
27
Perf Budgets – Required Reading
• Tim Kadlec

http://timkadlec.com/2013/01/setting-a-performance-budget/

http://timkadlec.com/2014/11/performance-budget-metrics/
• Katie Kovalcin, “Designing with a performance budget”

http://cognition.happycog.com/article/designing-with-a-performance-budget
• Lara Hogan, Designing for Performance

http://designingforperformance.com/
• SpeedCurve

https://speedcurve.com/
• New Relic

http://newrelic.com/
28
WHAT’S NE XT?
29
Things we’re excited about
HTTP/2

Biggest potential change for web perf since… ever?

We’re halfway there with HTTPS + modules


Resource Hints

dns-prefetch and preconnect implemented and testing


Better ways to load fonts

The status quo is The Worst™
30
How we’re going to keep improving
Built-in performance wherever possible

Automatic image optimization

Re-usable modules

Server-side speed

CDN
Culture of performance

Sharing knowledge and experiences

Documentation

FED Talks

Design process
Testing & budgets
Challenge past assumptions
Thanks.
BRYSON GILB E RT • @br yg

More Related Content

What's hot

Custom blog plugins by ben edwards
Custom blog plugins by ben edwardsCustom blog plugins by ben edwards
Custom blog plugins by ben edwards
Philip Taylor
 

What's hot (20)

Lighthouse custom audits - London Web Performance 2019
Lighthouse custom audits -  London Web Performance 2019Lighthouse custom audits -  London Web Performance 2019
Lighthouse custom audits - London Web Performance 2019
 
Web performance tools @ WebPerf.camp 2016
Web performance tools @ WebPerf.camp 2016Web performance tools @ WebPerf.camp 2016
Web performance tools @ WebPerf.camp 2016
 
Scrum refresh
Scrum refreshScrum refresh
Scrum refresh
 
[Da Nang Scrum Breakfast] Dealing with Technical Debt
[Da Nang Scrum Breakfast] Dealing with Technical Debt[Da Nang Scrum Breakfast] Dealing with Technical Debt
[Da Nang Scrum Breakfast] Dealing with Technical Debt
 
April 9, 2015 Meetup: A deep dive into site maps and wireframes
April 9, 2015 Meetup: A deep dive into site maps and wireframesApril 9, 2015 Meetup: A deep dive into site maps and wireframes
April 9, 2015 Meetup: A deep dive into site maps and wireframes
 
Don't lose revenue. Go viral with no downtime.
Don't lose revenue. Go viral with no downtime.Don't lose revenue. Go viral with no downtime.
Don't lose revenue. Go viral with no downtime.
 
MOB PROGRAMMING
MOB PROGRAMMINGMOB PROGRAMMING
MOB PROGRAMMING
 
Wordcamp 2017-toronto-sam lalonde
Wordcamp 2017-toronto-sam lalondeWordcamp 2017-toronto-sam lalonde
Wordcamp 2017-toronto-sam lalonde
 
WordPress Site Speed & Performance - WPMIA Meetup
WordPress Site Speed & Performance - WPMIA MeetupWordPress Site Speed & Performance - WPMIA Meetup
WordPress Site Speed & Performance - WPMIA Meetup
 
The Small Things That Add Up: How to Find What Design Factors Influence Conve...
The Small Things That Add Up: How to Find What Design Factors Influence Conve...The Small Things That Add Up: How to Find What Design Factors Influence Conve...
The Small Things That Add Up: How to Find What Design Factors Influence Conve...
 
Shop.org 2017 Tech talk website speed for ecommerce why it matters and how to...
Shop.org 2017 Tech talk website speed for ecommerce why it matters and how to...Shop.org 2017 Tech talk website speed for ecommerce why it matters and how to...
Shop.org 2017 Tech talk website speed for ecommerce why it matters and how to...
 
Fundamentals of Premum Plugin Development
Fundamentals of Premum Plugin DevelopmentFundamentals of Premum Plugin Development
Fundamentals of Premum Plugin Development
 
SEO Tune Up: Technical and Performance
SEO Tune Up: Technical and PerformanceSEO Tune Up: Technical and Performance
SEO Tune Up: Technical and Performance
 
Maintaining Retainers as a WordPress Developer
Maintaining Retainers as a WordPress DeveloperMaintaining Retainers as a WordPress Developer
Maintaining Retainers as a WordPress Developer
 
Improve Your Site With A Real-time Core Web Vitals View
Improve Your Site With A Real-time Core Web Vitals ViewImprove Your Site With A Real-time Core Web Vitals View
Improve Your Site With A Real-time Core Web Vitals View
 
SiteGround Affiliate Area: The Toolbox for your Affiliate Success
SiteGround Affiliate Area: The Toolbox for your Affiliate SuccessSiteGround Affiliate Area: The Toolbox for your Affiliate Success
SiteGround Affiliate Area: The Toolbox for your Affiliate Success
 
It's the Little Things: Creating a Delightful WordPress Experience for Your C...
It's the Little Things: Creating a Delightful WordPress Experience for Your C...It's the Little Things: Creating a Delightful WordPress Experience for Your C...
It's the Little Things: Creating a Delightful WordPress Experience for Your C...
 
Custom blog plugins by ben edwards
Custom blog plugins by ben edwardsCustom blog plugins by ben edwards
Custom blog plugins by ben edwards
 
Fit For the Future
Fit For the FutureFit For the Future
Fit For the Future
 
Success case
Success caseSuccess case
Success case
 

Similar to Front end performance on Shopify.com

Inside Out: A Web Performance Philosophy
Inside Out: A Web Performance PhilosophyInside Out: A Web Performance Philosophy
Inside Out: A Web Performance Philosophy
Willie Jackson
 

Similar to Front end performance on Shopify.com (20)

Testing for performance
Testing for performanceTesting for performance
Testing for performance
 
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan TaylorOptimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
 
Optimizing React at Postmates
Optimizing React at PostmatesOptimizing React at Postmates
Optimizing React at Postmates
 
Core Web Vitals - The Modern Web Experience
Core Web Vitals - The Modern Web ExperienceCore Web Vitals - The Modern Web Experience
Core Web Vitals - The Modern Web Experience
 
Web.dev extended : What's new in Web [GDG Taichung]
Web.dev extended : What's new in Web [GDG Taichung]Web.dev extended : What's new in Web [GDG Taichung]
Web.dev extended : What's new in Web [GDG Taichung]
 
improving the performance of Rails web Applications
improving the performance of Rails web Applicationsimproving the performance of Rails web Applications
improving the performance of Rails web Applications
 
The Business Case for Speed
The Business Case for SpeedThe Business Case for Speed
The Business Case for Speed
 
Maximizing site speed with mercy corps
Maximizing site speed with mercy corpsMaximizing site speed with mercy corps
Maximizing site speed with mercy corps
 
Assessing Your Own Site Configuration
Assessing Your Own Site ConfigurationAssessing Your Own Site Configuration
Assessing Your Own Site Configuration
 
Phils Session cards @ Measurecamp
Phils Session cards @ MeasurecampPhils Session cards @ Measurecamp
Phils Session cards @ Measurecamp
 
The need for Speed: Advanced #webperf - SEOday 2018
The need for Speed: Advanced #webperf - SEOday 2018The need for Speed: Advanced #webperf - SEOday 2018
The need for Speed: Advanced #webperf - SEOday 2018
 
Web Performance Optimization (WPO)
Web Performance Optimization (WPO)Web Performance Optimization (WPO)
Web Performance Optimization (WPO)
 
Web analyticspres -am-long
Web analyticspres -am-longWeb analyticspres -am-long
Web analyticspres -am-long
 
Capturing speed of user experience using user timing api
Capturing speed of user experience using user timing apiCapturing speed of user experience using user timing api
Capturing speed of user experience using user timing api
 
Dreamforce 14 : Responsive Design with Visualforce and Twitter Bootstrap
Dreamforce 14 : Responsive Design with Visualforce and Twitter BootstrapDreamforce 14 : Responsive Design with Visualforce and Twitter Bootstrap
Dreamforce 14 : Responsive Design with Visualforce and Twitter Bootstrap
 
Inside Out: A Web Performance Philosophy
Inside Out: A Web Performance PhilosophyInside Out: A Web Performance Philosophy
Inside Out: A Web Performance Philosophy
 
Performance Budgets: Using APM Performance Data to Drive Decisions on Design ...
Performance Budgets: Using APM Performance Data to Drive Decisions on Design ...Performance Budgets: Using APM Performance Data to Drive Decisions on Design ...
Performance Budgets: Using APM Performance Data to Drive Decisions on Design ...
 
Demystifying Web Vitals
Demystifying Web VitalsDemystifying Web Vitals
Demystifying Web Vitals
 
Analytics at Carbonite: presentation to Snowplow Meetup Boston April 2016
Analytics at Carbonite: presentation to Snowplow Meetup Boston April 2016Analytics at Carbonite: presentation to Snowplow Meetup Boston April 2016
Analytics at Carbonite: presentation to Snowplow Meetup Boston April 2016
 
Ahead of the Curve: How 23andMe Improved UX with Performance Edge
Ahead of the Curve: How 23andMe Improved UX with Performance EdgeAhead of the Curve: How 23andMe Improved UX with Performance Edge
Ahead of the Curve: How 23andMe Improved UX with Performance Edge
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

Front end performance on Shopify.com

  • 1. Front end performance
 on Shopify.com BRYSON GILB E RT • @br yg
  • 2. 2 Stuff we’ll talk about What you need to know about shopify.com Where we are focusing our perf efforts How we measure our progress What’s new and exciting
  • 3. 3
  • 4. 4
  • 5. 5 About Shopify.com Why is performance important to us?
 Our audience is global
 Fundamental aspect of a good user experience How’s it made?
 Ruby on Rails
 No database
  • 6. 6 Marketing Assets Ruby gem Re-usable modules Documentation & Styleguide Fast and easy improvements across properties
  • 9. 9
  • 11. 11
  • 12. 12
  • 13. 13
  • 14. 14 File Size Improvements Total (All Images) Before After 200 MB 240 MB Most Improved PNG Before After 107 KB 400 KB
  • 15. 15 Images – Required Reading • Dave Newton, “Efficient Image Resizing with ImageMagick”
 http://www.smashingmagazine.com/2015/06/efficient-image-resizing- with-imagemagick/ • Sara Soueidan, “Styling SVG <use> Content with CSS”
 http://tympanus.net/codrops/2015/07/16/styling-svg-use-content-css/
  • 17. 17
  • 18. 18 Fonts • Basic approach to loading fonts – @font-face in CSS, no inlining, self-hosted • Five weights – most pages only use three or four • WOFF and WOFF2 only – no TTF, EOT, SVG • Everything is terrible – No, really • Bram Stein, “Web Fonts Performance”
 https://speakerdeck.com/bramstein/web-fonts-performance
  • 20. 20 Javascript Concatenated, minified, GZIP Third party stuff
 Social, analytics, etc. A/B testing
  • 21. 21 Javascript – what next? Profile and optimize our first-party scripts A/B test server-side whenever possible Third-party scripts: 🔥🔥🔥
  • 23. 23
  • 24. 24
  • 25. 25
  • 26. 26 Measurement Automatic and manual testing Snapshots and RUM (Real User Monitoring) Keeps you honest Performance budgets
  • 27. 27 Perf Budgets – Required Reading • Tim Kadlec
 http://timkadlec.com/2013/01/setting-a-performance-budget/
 http://timkadlec.com/2014/11/performance-budget-metrics/ • Katie Kovalcin, “Designing with a performance budget”
 http://cognition.happycog.com/article/designing-with-a-performance-budget • Lara Hogan, Designing for Performance
 http://designingforperformance.com/ • SpeedCurve
 https://speedcurve.com/ • New Relic
 http://newrelic.com/
  • 29. 29 Things we’re excited about HTTP/2
 Biggest potential change for web perf since… ever?
 We’re halfway there with HTTPS + modules 
 Resource Hints
 dns-prefetch and preconnect implemented and testing 
 Better ways to load fonts
 The status quo is The Worst™
  • 30. 30 How we’re going to keep improving Built-in performance wherever possible
 Automatic image optimization
 Re-usable modules
 Server-side speed
 CDN Culture of performance
 Sharing knowledge and experiences
 Documentation
 FED Talks
 Design process Testing & budgets Challenge past assumptions
  • 31. Thanks. BRYSON GILB E RT • @br yg