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

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 

Recently uploaded (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
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?
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 

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