SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
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.pptxRemote DBA Services
 
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
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
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
 
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
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
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​Bhuvaneswari Subramani
 
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
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
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...Orbitshub
 
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
 
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
 

Kürzlich hochgeladen (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
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
 
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...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
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, ...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
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...
 
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
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
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​
 
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
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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...
 
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
 
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
 

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