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

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 2019Aymen Loukil
 
Web performance tools @ WebPerf.camp 2016
Web performance tools @ WebPerf.camp 2016Web performance tools @ WebPerf.camp 2016
Web performance tools @ WebPerf.camp 2016SergeyChernyshev
 
[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 DebtScrum Breakfast Vietnam
 
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 wireframesMickey Mellen
 
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.WP Engine
 
Wordcamp 2017-toronto-sam lalonde
Wordcamp 2017-toronto-sam lalondeWordcamp 2017-toronto-sam lalonde
Wordcamp 2017-toronto-sam lalondewcto2017
 
WordPress Site Speed & Performance - WPMIA Meetup
WordPress Site Speed & Performance - WPMIA MeetupWordPress Site Speed & Performance - WPMIA Meetup
WordPress Site Speed & Performance - WPMIA MeetupJean Felisme
 
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...Tammy Everts
 
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...National Retail Federation
 
Fundamentals of Premum Plugin Development
Fundamentals of Premum Plugin DevelopmentFundamentals of Premum Plugin Development
Fundamentals of Premum Plugin DevelopmentRegan Khadgi
 
SEO Tune Up: Technical and Performance
SEO Tune Up: Technical and PerformanceSEO Tune Up: Technical and Performance
SEO Tune Up: Technical and PerformanceCarolyn Shelby
 
Maintaining Retainers as a WordPress Developer
Maintaining Retainers as a WordPress DeveloperMaintaining Retainers as a WordPress Developer
Maintaining Retainers as a WordPress DeveloperDevinVinson
 
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 ViewWP Engine
 
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 SuccessSiteGround.com
 
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...Big Sea
 
Custom blog plugins by ben edwards
Custom blog plugins by ben edwardsCustom blog plugins by ben edwards
Custom blog plugins by ben edwardsPhilip Taylor
 
Fit For the Future
Fit For the FutureFit For the Future
Fit For the FutureWP Engine
 

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

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 TaylorDan Taylor
 
Optimizing React at Postmates
Optimizing React at PostmatesOptimizing React at Postmates
Optimizing React at PostmatesTrey Huffine
 
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 ExperienceCakra Danu Sedayu
 
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]Chieh Kai Yang
 
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 ApplicationsJohn McCaffrey
 
The Business Case for Speed
The Business Case for SpeedThe Business Case for Speed
The Business Case for SpeedSiriusWay
 
Maximizing site speed with mercy corps
Maximizing site speed with mercy corpsMaximizing site speed with mercy corps
Maximizing site speed with mercy corpsJohn Brandenburg
 
Phils Session cards @ Measurecamp
Phils Session cards @ MeasurecampPhils Session cards @ Measurecamp
Phils Session cards @ MeasurecampPhil Pearce
 
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 2018Bastian Grimm
 
Web analyticspres -am-long
Web analyticspres -am-longWeb analyticspres -am-long
Web analyticspres -am-longAnna 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 apiSergeyChernyshev
 
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 BootstrapKeir Bowden
 
Inside Out: A Web Performance Philosophy
Inside Out: A Web Performance PhilosophyInside Out: A Web Performance Philosophy
Inside Out: A Web Performance PhilosophyWillie Jackson
 
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 ...AppDynamics
 
Demystifying Web Vitals
Demystifying Web VitalsDemystifying Web Vitals
Demystifying Web VitalsSamar Panda
 
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 2016yalisassoon
 
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 EdgeOptimizely
 

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

SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

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