SlideShare uma empresa Scribd logo
1 de 15
Front-end Performance 101
Showing you the basics tools to ensure your website has great performance,
by Sean O’Mahoney (@Sean12697)
About Me
 Sean O’Mahoney
 (Web Wizard) 🧙♂️
 Director of INEVITABLE (AI Tech Start-up, CTO-as-a-Service)
 Computer Science Graduate (1st Class Honours at MMU)
 Dissertation Project “Building a Personalised JPEG Compressor”
 Freelance Photographer (I’ve worked with images a bit)
 Frequent Mentor at coding groups
 Buyer of many Domain names
@WeAreINEVITABLE
Idols (Web Performance Experts)
@WeAreINEVITABLE
Content
 Why bother?
 Demystify Terms
 Google Dev’ Tools
 Google Lighthouse (Auditing)
 Diagnostic Fixes (Audit Example)
 Web Fonts
 Caching
 The Critical Path / FMP (First Meaningful Paint)
 Image Optimization
 Links/Resources
 Questions
@WeAreINEVITABLE
Why bother?
 A 1 second delay decreases customer satisfaction by 16%
 74% of smartphone users leave a website if it does not load within 5 seconds
 2 seconds delay in Bing led to a 4.3% loss in revenue
 AliExpress reduced load times for their pages by 3% and saw a 10.5% increase in orders
 The Trainline reduced latency by 0.3s and saw an extra £8M/year increase in revenue
 Amazon did a test which showed they would lose $1.6B/year if their speed slowed by 1 second
 https://wpostats.com/
@WeAreINEVITABLE
Demystify Terms
 The Critical Path/Requests: Websites run on one thread (for the most part), only allowing scripts
and loading to happen sequentially, this is what the critical path refers to.
 TTFB (Time To First Byte): How long does it take before a resource starts loading
@WeAreINEVITABLE
Google Dev’ Tools
Google Lighthouse (Audit)
@WeAreINEVITABLE
Web-fonts (font-display)
https://css-tricks.com/almanac/properties/f/font-display/
@WeAreINEVITABLE
Caching
https://developer.mozilla.org/en-
US/docs/Web/HTTP/Headers/Cache-Control
https://devcenter.heroku.com/articles/increasing-
application-performance-with-http-cache-headers
Examples:
http://http-caching-demo.herokuapp.com/
http://http-caching-
demo.herokuapp.com/?cache=true
The Critical Path / FMP (First Meaningful Paint)
 Gzip (File compression, provided by the backend/server)
 Async scripts (download parallel to HTML and when loaded, execute)
 Defer scripts (download parallel to HTML, but only execute when everything else is loaded)
@WeAreINEVITABLE
Image Optimization
 Format (JPEG, PNG, SVG… Webp?)
 Appropriate Sizing - https://www.xnview.com/en/xnconvert/
 Compress - https://compressjpeg.com/
 https://sean12697.github.io/dissertation-web-product-demo/
 Progressive JPEGs - https://coding.tools/progressive-jpeg/
 Base64 Placeholder Images - https://www.base64-image.de/
 LAZY LOADING - https://caniuse.com/#search=lazy%20loading, https://picsum.photos/400/267
 Useful Github Bot - https://github.com/marketplace/imgbot
@WeAreINEVITABLE
Links Used In Slides
 Web Performance Optimization Case Studies: https://wpostats.com/
 Web Fonts “Font Display” Property: https://css-tricks.com/almanac/properties/f/font-display/
 Cache Control: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control
 Use Cache Control to Improve Performance: https://devcenter.heroku.com/articles/increasing-application-
performance-with-http-cache-headers
 Bulk Image Converter: https://www.xnview.com/en/xnconvert/
 Compress JPEG Images: https://compressjpeg.com/
 Build a Personalised JPEG Compressor: https://sean12697.github.io/dissertation-web-product-demo/
 Create Progressive JPEGs: https://coding.tools/progressive-jpeg/
 Generate Base64 Placeholder Images: https://www.base64-image.de/
 What Browsers Can Use x Feature: https://caniuse.com/#search=lazy%20loading
 Generate a random placeholder image: https://picsum.photos/
 Useful Github Bot for Optimizing Images using PR’s: https://github.com/marketplace/imgbot
@WeAreINEVITABLE
Any Questions?
@WeAreINEVITABLE

Mais conteúdo relacionado

Mais procurados

Velocity 2013: Extreme Image Optimization
Velocity 2013: Extreme Image OptimizationVelocity 2013: Extreme Image Optimization
Velocity 2013: Extreme Image OptimizationAkamai Technologies
 
Ryan king wp-plugin-presentation
Ryan king wp-plugin-presentationRyan king wp-plugin-presentation
Ryan king wp-plugin-presentationRyan King
 
5 Things You Shouldn't Do With A WordPress Plugin
5 Things You Shouldn't Do With A WordPress Plugin5 Things You Shouldn't Do With A WordPress Plugin
5 Things You Shouldn't Do With A WordPress PluginKelly Phillips
 
Extension developer secrets - How to make money with Joomla
Extension developer secrets - How to make money with JoomlaExtension developer secrets - How to make money with Joomla
Extension developer secrets - How to make money with JoomlaTim Plummer
 
Hacking Web Performance @ ForwardJS 2017
Hacking Web Performance @ ForwardJS 2017Hacking Web Performance @ ForwardJS 2017
Hacking Web Performance @ ForwardJS 2017Maximiliano Firtman
 
Joomla SEO June 2015 - Sydney Joomla User Group
Joomla SEO June 2015 - Sydney Joomla User GroupJoomla SEO June 2015 - Sydney Joomla User Group
Joomla SEO June 2015 - Sydney Joomla User GroupTim Plummer
 
Moving from Wordpress to Joomla
Moving from Wordpress to JoomlaMoving from Wordpress to Joomla
Moving from Wordpress to JoomlaPete Rossetti
 
Make JavaScript Faster
Make JavaScript FasterMake JavaScript Faster
Make JavaScript FasterSteve Souders
 
Performance.now() fast but not furious
Performance.now()   fast but not furiousPerformance.now()   fast but not furious
Performance.now() fast but not furiousAnna Migas
 
Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)
Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)
Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)Adam Dunford
 
API Design Principles for Accelerated Development
API Design Principles for Accelerated DevelopmentAPI Design Principles for Accelerated Development
API Design Principles for Accelerated DevelopmentJonathan LeBlanc
 
Week 12 - Search Engine Optimization
Week 12 -  Search Engine OptimizationWeek 12 -  Search Engine Optimization
Week 12 - Search Engine Optimizationhenri_makembe
 
Accessibility With WordPress: Accessing Higher Ground 2014
Accessibility With WordPress: Accessing Higher Ground 2014Accessibility With WordPress: Accessing Higher Ground 2014
Accessibility With WordPress: Accessing Higher Ground 2014Joseph Dolson
 
Week 5 - Introduction to plug-ins and widgets
Week 5 - Introduction to plug-ins and widgetsWeek 5 - Introduction to plug-ins and widgets
Week 5 - Introduction to plug-ins and widgetshenri_makembe
 
WordPress Basics
WordPress BasicsWordPress Basics
WordPress BasicsDoug Fisher
 
Meet.js Summit 2019 - PWA in practice
Meet.js Summit 2019 - PWA in practiceMeet.js Summit 2019 - PWA in practice
Meet.js Summit 2019 - PWA in practiceŁukasz Romanowicz
 
HTML5 - A Brief Introduction
HTML5 - A Brief IntroductionHTML5 - A Brief Introduction
HTML5 - A Brief IntroductionTripad M
 

Mais procurados (20)

Velocity 2013: Extreme Image Optimization
Velocity 2013: Extreme Image OptimizationVelocity 2013: Extreme Image Optimization
Velocity 2013: Extreme Image Optimization
 
Ryan king wp-plugin-presentation
Ryan king wp-plugin-presentationRyan king wp-plugin-presentation
Ryan king wp-plugin-presentation
 
5 Things You Shouldn't Do With A WordPress Plugin
5 Things You Shouldn't Do With A WordPress Plugin5 Things You Shouldn't Do With A WordPress Plugin
5 Things You Shouldn't Do With A WordPress Plugin
 
Extension developer secrets - How to make money with Joomla
Extension developer secrets - How to make money with JoomlaExtension developer secrets - How to make money with Joomla
Extension developer secrets - How to make money with Joomla
 
Introduction to polymer project
Introduction to polymer projectIntroduction to polymer project
Introduction to polymer project
 
Html5 for Security Folks
Html5 for Security FolksHtml5 for Security Folks
Html5 for Security Folks
 
Hacking Web Performance @ ForwardJS 2017
Hacking Web Performance @ ForwardJS 2017Hacking Web Performance @ ForwardJS 2017
Hacking Web Performance @ ForwardJS 2017
 
Joomla SEO June 2015 - Sydney Joomla User Group
Joomla SEO June 2015 - Sydney Joomla User GroupJoomla SEO June 2015 - Sydney Joomla User Group
Joomla SEO June 2015 - Sydney Joomla User Group
 
Moving from Wordpress to Joomla
Moving from Wordpress to JoomlaMoving from Wordpress to Joomla
Moving from Wordpress to Joomla
 
Make JavaScript Faster
Make JavaScript FasterMake JavaScript Faster
Make JavaScript Faster
 
Performance.now() fast but not furious
Performance.now()   fast but not furiousPerformance.now()   fast but not furious
Performance.now() fast but not furious
 
PhoneGap
PhoneGapPhoneGap
PhoneGap
 
Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)
Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)
Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)
 
API Design Principles for Accelerated Development
API Design Principles for Accelerated DevelopmentAPI Design Principles for Accelerated Development
API Design Principles for Accelerated Development
 
Week 12 - Search Engine Optimization
Week 12 -  Search Engine OptimizationWeek 12 -  Search Engine Optimization
Week 12 - Search Engine Optimization
 
Accessibility With WordPress: Accessing Higher Ground 2014
Accessibility With WordPress: Accessing Higher Ground 2014Accessibility With WordPress: Accessing Higher Ground 2014
Accessibility With WordPress: Accessing Higher Ground 2014
 
Week 5 - Introduction to plug-ins and widgets
Week 5 - Introduction to plug-ins and widgetsWeek 5 - Introduction to plug-ins and widgets
Week 5 - Introduction to plug-ins and widgets
 
WordPress Basics
WordPress BasicsWordPress Basics
WordPress Basics
 
Meet.js Summit 2019 - PWA in practice
Meet.js Summit 2019 - PWA in practiceMeet.js Summit 2019 - PWA in practice
Meet.js Summit 2019 - PWA in practice
 
HTML5 - A Brief Introduction
HTML5 - A Brief IntroductionHTML5 - A Brief Introduction
HTML5 - A Brief Introduction
 

Semelhante a Front-end Performance 101

Using HttpWatch Plug-in with Selenium Automation in Java
Using HttpWatch Plug-in with Selenium Automation in JavaUsing HttpWatch Plug-in with Selenium Automation in Java
Using HttpWatch Plug-in with Selenium Automation in JavaSandeep Tol
 
Angular jS Introduction by Google
Angular jS Introduction by GoogleAngular jS Introduction by Google
Angular jS Introduction by GoogleASG
 
Brighton SEO - Site Speed for Content Marketers
Brighton SEO - Site Speed for Content MarketersBrighton SEO - Site Speed for Content Marketers
Brighton SEO - Site Speed for Content MarketersTom Bennet
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presentedVijayan Reddy
 
Applying a Methodical Approach to Website Performance
Applying a Methodical Approach to Website PerformanceApplying a Methodical Approach to Website Performance
Applying a Methodical Approach to Website PerformancePostSharp Technologies
 
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP MeetupWeb Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP MeetupJonathan Klein
 
iProspect - Tech SEO - Task - 17/12/2019
iProspect - Tech SEO - Task - 17/12/2019iProspect - Tech SEO - Task - 17/12/2019
iProspect - Tech SEO - Task - 17/12/2019Nick Samuel
 
Fundamentals of web_design_v2
Fundamentals of web_design_v2Fundamentals of web_design_v2
Fundamentals of web_design_v2hussain534
 
Developing For The Web
Developing For The WebDeveloping For The Web
Developing For The Webaleemb
 
Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript Onely
 
Front End Lecture 1.pptx
Front End Lecture 1.pptxFront End Lecture 1.pptx
Front End Lecture 1.pptxmalise2997
 
Scraping the web with Laravel, Dusk, Docker, and PHP
Scraping the web with Laravel, Dusk, Docker, and PHPScraping the web with Laravel, Dusk, Docker, and PHP
Scraping the web with Laravel, Dusk, Docker, and PHPPaul Redmond
 

Semelhante a Front-end Performance 101 (20)

Using HttpWatch Plug-in with Selenium Automation in Java
Using HttpWatch Plug-in with Selenium Automation in JavaUsing HttpWatch Plug-in with Selenium Automation in Java
Using HttpWatch Plug-in with Selenium Automation in Java
 
High-Speed HTML5
High-Speed HTML5High-Speed HTML5
High-Speed HTML5
 
Angular jS Introduction by Google
Angular jS Introduction by GoogleAngular jS Introduction by Google
Angular jS Introduction by Google
 
Modelling Web Performance Optimization - FFSUx
Modelling  Web Performance Optimization - FFSUxModelling  Web Performance Optimization - FFSUx
Modelling Web Performance Optimization - FFSUx
 
Swf search final
Swf search finalSwf search final
Swf search final
 
Brighton SEO - Site Speed for Content Marketers
Brighton SEO - Site Speed for Content MarketersBrighton SEO - Site Speed for Content Marketers
Brighton SEO - Site Speed for Content Marketers
 
Presemtation Tier Optimizations
Presemtation Tier OptimizationsPresemtation Tier Optimizations
Presemtation Tier Optimizations
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presented
 
Modern Web Applications
Modern Web ApplicationsModern Web Applications
Modern Web Applications
 
5 critical-optimizations.v2
5 critical-optimizations.v25 critical-optimizations.v2
5 critical-optimizations.v2
 
Applying a Methodical Approach to Website Performance
Applying a Methodical Approach to Website PerformanceApplying a Methodical Approach to Website Performance
Applying a Methodical Approach to Website Performance
 
Module04
Module04Module04
Module04
 
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP MeetupWeb Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
 
After YSlow "A"
After YSlow "A"After YSlow "A"
After YSlow "A"
 
iProspect - Tech SEO - Task - 17/12/2019
iProspect - Tech SEO - Task - 17/12/2019iProspect - Tech SEO - Task - 17/12/2019
iProspect - Tech SEO - Task - 17/12/2019
 
Fundamentals of web_design_v2
Fundamentals of web_design_v2Fundamentals of web_design_v2
Fundamentals of web_design_v2
 
Developing For The Web
Developing For The WebDeveloping For The Web
Developing For The Web
 
Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript
 
Front End Lecture 1.pptx
Front End Lecture 1.pptxFront End Lecture 1.pptx
Front End Lecture 1.pptx
 
Scraping the web with Laravel, Dusk, Docker, and PHP
Scraping the web with Laravel, Dusk, Docker, and PHPScraping the web with Laravel, Dusk, Docker, and PHP
Scraping the web with Laravel, Dusk, Docker, and PHP
 

Mais de Sean O'Mahoney

Tips & Tricks From The Experts
Tips & Tricks From The ExpertsTips & Tricks From The Experts
Tips & Tricks From The ExpertsSean O'Mahoney
 
Managing Your Assessments
Managing Your AssessmentsManaging Your Assessments
Managing Your AssessmentsSean O'Mahoney
 
Making the Most of Lectures
Making the Most of LecturesMaking the Most of Lectures
Making the Most of LecturesSean O'Mahoney
 
Intro to Cryptography (Futures Friday)
Intro to Cryptography (Futures Friday)Intro to Cryptography (Futures Friday)
Intro to Cryptography (Futures Friday)Sean O'Mahoney
 
University Recommendations
University Recommendations University Recommendations
University Recommendations Sean O'Mahoney
 
Creating Your Own Static Website Generator
Creating Your Own Static Website GeneratorCreating Your Own Static Website Generator
Creating Your Own Static Website GeneratorSean O'Mahoney
 
BCS Hackathon: Check Your Numbers
BCS Hackathon: Check Your NumbersBCS Hackathon: Check Your Numbers
BCS Hackathon: Check Your NumbersSean O'Mahoney
 

Mais de Sean O'Mahoney (10)

Tips & Tricks From The Experts
Tips & Tricks From The ExpertsTips & Tricks From The Experts
Tips & Tricks From The Experts
 
Managing Your Assessments
Managing Your AssessmentsManaging Your Assessments
Managing Your Assessments
 
Making the Most of Lectures
Making the Most of LecturesMaking the Most of Lectures
Making the Most of Lectures
 
Intro to Cryptography (Futures Friday)
Intro to Cryptography (Futures Friday)Intro to Cryptography (Futures Friday)
Intro to Cryptography (Futures Friday)
 
CompiledMCR
CompiledMCRCompiledMCR
CompiledMCR
 
University Recommendations
University Recommendations University Recommendations
University Recommendations
 
Creating Your Own Static Website Generator
Creating Your Own Static Website GeneratorCreating Your Own Static Website Generator
Creating Your Own Static Website Generator
 
Single Page Web App
Single Page Web AppSingle Page Web App
Single Page Web App
 
BCS Hackathon: Check Your Numbers
BCS Hackathon: Check Your NumbersBCS Hackathon: Check Your Numbers
BCS Hackathon: Check Your Numbers
 
TAPIT Pitch Idea
TAPIT Pitch IdeaTAPIT Pitch Idea
TAPIT Pitch Idea
 

Último

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
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, Adobeapidays
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
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 WorkerThousandEyes
 
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.pdfsudhanshuwaghmare1
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
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 connectorsNanddeep Nachan
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
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 REVIEWERMadyBayot
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
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
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
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
 
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
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Front-end Performance 101

  • 1. Front-end Performance 101 Showing you the basics tools to ensure your website has great performance, by Sean O’Mahoney (@Sean12697)
  • 2. About Me  Sean O’Mahoney  (Web Wizard) 🧙♂️  Director of INEVITABLE (AI Tech Start-up, CTO-as-a-Service)  Computer Science Graduate (1st Class Honours at MMU)  Dissertation Project “Building a Personalised JPEG Compressor”  Freelance Photographer (I’ve worked with images a bit)  Frequent Mentor at coding groups  Buyer of many Domain names @WeAreINEVITABLE
  • 3. Idols (Web Performance Experts) @WeAreINEVITABLE
  • 4. Content  Why bother?  Demystify Terms  Google Dev’ Tools  Google Lighthouse (Auditing)  Diagnostic Fixes (Audit Example)  Web Fonts  Caching  The Critical Path / FMP (First Meaningful Paint)  Image Optimization  Links/Resources  Questions @WeAreINEVITABLE
  • 5. Why bother?  A 1 second delay decreases customer satisfaction by 16%  74% of smartphone users leave a website if it does not load within 5 seconds  2 seconds delay in Bing led to a 4.3% loss in revenue  AliExpress reduced load times for their pages by 3% and saw a 10.5% increase in orders  The Trainline reduced latency by 0.3s and saw an extra £8M/year increase in revenue  Amazon did a test which showed they would lose $1.6B/year if their speed slowed by 1 second  https://wpostats.com/ @WeAreINEVITABLE
  • 6. Demystify Terms  The Critical Path/Requests: Websites run on one thread (for the most part), only allowing scripts and loading to happen sequentially, this is what the critical path refers to.  TTFB (Time To First Byte): How long does it take before a resource starts loading @WeAreINEVITABLE
  • 12. The Critical Path / FMP (First Meaningful Paint)  Gzip (File compression, provided by the backend/server)  Async scripts (download parallel to HTML and when loaded, execute)  Defer scripts (download parallel to HTML, but only execute when everything else is loaded) @WeAreINEVITABLE
  • 13. Image Optimization  Format (JPEG, PNG, SVG… Webp?)  Appropriate Sizing - https://www.xnview.com/en/xnconvert/  Compress - https://compressjpeg.com/  https://sean12697.github.io/dissertation-web-product-demo/  Progressive JPEGs - https://coding.tools/progressive-jpeg/  Base64 Placeholder Images - https://www.base64-image.de/  LAZY LOADING - https://caniuse.com/#search=lazy%20loading, https://picsum.photos/400/267  Useful Github Bot - https://github.com/marketplace/imgbot @WeAreINEVITABLE
  • 14. Links Used In Slides  Web Performance Optimization Case Studies: https://wpostats.com/  Web Fonts “Font Display” Property: https://css-tricks.com/almanac/properties/f/font-display/  Cache Control: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control  Use Cache Control to Improve Performance: https://devcenter.heroku.com/articles/increasing-application- performance-with-http-cache-headers  Bulk Image Converter: https://www.xnview.com/en/xnconvert/  Compress JPEG Images: https://compressjpeg.com/  Build a Personalised JPEG Compressor: https://sean12697.github.io/dissertation-web-product-demo/  Create Progressive JPEGs: https://coding.tools/progressive-jpeg/  Generate Base64 Placeholder Images: https://www.base64-image.de/  What Browsers Can Use x Feature: https://caniuse.com/#search=lazy%20loading  Generate a random placeholder image: https://picsum.photos/  Useful Github Bot for Optimizing Images using PR’s: https://github.com/marketplace/imgbot @WeAreINEVITABLE