SlideShare a Scribd company logo
Web Performance Optimizationstevesouders.com/docs/webstock-20110217.pptxDisclaimer: This content does not necessarily reflect the opinions of my employer.flickr.com/photos/ddfic/722634166/
flickr.com/photos/bekahstargazing/318930460/
2004
 carsonified.com/blog/business/fred-wilsons-10-golden-principles-of-successful-web-apps/#1. Speed:        “First and foremost, we believe that speed is more than a feature. Speed is the most important feature.”
en.oreilly.com/velocity2009/public/schedule/detail/8523
en.oreilly.com/velocity2009/public/schedule/detail/8523
Yahoo!	0.4 sec slower	traffic  5-9%slideshare.net/stoyan/dont-make-me-wait-or-building-highperformance-web-applicationsslideshare.net/stoyan/yslow-20-presentation
blog.mozilla.com/metrics/category/website-optimization/…shaved 2.2 seconds off the average page load time and increased download conversions by 15.4%!
en.oreilly.com/velocity2009/public/schedule/detail/7709blog.mozilla.com/metrics/category/website-optimization/…shaved 2.2 seconds off the average page load time and increased download conversions by 15.4%!
en.oreilly.com/velocity2008/public/schedule/detail/3632
slideshare.net/EdmundsLabs/how-edmunds-got-in-the-fast-lane-80-reduction-in-page-load-time-in-3-simple-steps-6593377
Site speed in search rankScreen shot of blog post…we've decided to take site speed into account in our search rankings.googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html
WebPerformanceOptimizationWPOdrives trafficimproves UXincreases revenuereduces costsflickr.com/photos/pedromourapinheiro/3123885534/
What makes sites feel slow?flickr.com/photos/kevincollins/234678305/
(lack of)Progressive Rendering[next page being loaded]flickr.com/photos/kevincollins/234678305/
GoogleYahooBingAskdoes this matter?
Website performance optimisation
Progressive Enhancementdeliver HTMLdefer JSavoid DOMdecorate later
Progressive EnhancementProgressive Rendering
<script src="A.js"> blocks parallel downloads and rendering9 secs: IE 6-7, FF 3.0, Chr 1, Op 9-10, Saf 37 secs: IE 8-9, FF 3.6, Chr6, Saf 4Why focus on JavaScript?
Loading Scripts Without BlockingXHR EvalXHR InjectionScript in IframeScript DOM ElementScript Deferdocument.write Script Tag
Script DOM Elementvar se = document.createElement('script');se.src = 'http://anydomain.com/A.js';document.getElementsByTagName('head')[0].appendChild(se); script & page domains can differmay not preserve execution order
MeeboIframed JSvar iframe = document.createElement('iframe');document.body.appendChild(iframe);var doc = iframe.contentWindow.document;doc.open().write('<body onload="insertJS()">');doc.close();loads asynchronouslydelays parent’s load event: FF, Chr, Safgreat for 3rd party scriptsbetter for sandboxing & securityavoids iframe src roundtrip
GMail Mobile<script type="text/javascript">/*var ... */</script>get script DOM element's textremove commentseval() when invokedinline or iframeawesome for prefetching JS that might (not) be needed
ControlJSa JavaScript module for making scripts load fastercontrol.js loads asyncvarcjsscript = document.createElement('script');cjsscript.src = "control.js";varcjssib = document.getElementsByTagName('script')[0];cjssib.parentNode.insertBefore(cjsscript, cjssib);
ControlJSa JavaScript module for making scripts load fasterjust change HTMLinline & external scripts<script type="text/cjs" data-cjssrc="main.js"></script><script type="text/cjs">var name = getName();</script>
ControlJSa JavaScript module for making scripts load fasterasync downloadsdelays execution1st pass:if (IE || Opera) { new Image(); }else { document.createElement(‘object’); }2nd pass:external: document.createElement(‘script’);inline: window.execScript(sCode) or window.eval.call(window, sCode)
ControlJSa JavaScript module for making scripts load fasterdownloads without executing<script type="text/cjs" data-cjssrc="main.js” data-cjsexec=false><script>later (if needed):CJS.execScript(src);
ControlJSa JavaScript module for making scripts load fasterhandles (some) document.writeoverride document.write for each script
set SPAN innerHTML if there’s a write
parse out SCRIPT tags & add SCRIPT elembetter solutions:Aptimize – http://www.aptimize.com/
GhostWriter – http://digital-fulcrum.com/solutions /ghostwriter-complete-control/ControlJSa JavaScript module for making scripts load fastercontrol.js loads asyncjust change HTMLinline & external scriptsasync downloadsdelays executiondownloads w/ no executionhandles (some) document.write
ControlJSa JavaScript module for making scripts load fasterhttp://stevesouders.com/controljs/http://code.google.com/p/controljs/http://groups.google.com/group/controljs
slideshare.net/CMSummit/ms-internet-trends060710final
slideshare.net/CMSummit/ms-internet-trends060710final
slideshare.net/CMSummit/ms-internet-trends060710final
Website performance optimisation
Website performance optimisation
Website performance optimisation
Website performance optimisation
Website performance optimisation
to intrto intrTwitter iPhone appopen timeline
Twitter iPhone appexecute search
Twitter iPhone appopen timeline
just releasedthis morning1am

More Related Content

What's hot (20)

PPTX
Souders WPO Web2.0Expo
guest0b3d92d
 
PPTX
JavaScript Performance (at SFJS)
Steve Souders
 
PDF
Web Performance Optimierung - DWX13
Walter Ebert
 
PPTX
do u webview?
Steve Souders
 
PPTX
Webworks
Kang Ibnux
 
PDF
Mobile Web Speed Bumps
Nicholas Zakas
 
PDF
Øredev 2014
olataube
 
KEY
Speed is Essential for a Great Web Experience
Andy Davies
 
PDF
Five things I learned building s Saas App with Vue.js
Tim Nolet
 
KEY
Faster Frontends
Andy Davies
 
PPTX
Introduction à AngularJS
Nicolas PENNEC
 
PDF
Preconnect, prefetch, prerender...
MilanAryal
 
KEY
Web Performance - A Whistlestop Tour
Andy Davies
 
PPT
Joomla wireframing Template - Joomladay Netherlands 2014 #jd14nl
Philip Locke
 
PPTX
That's crazy! how to build single page web apps
Chris Love
 
PDF
8 Most Common Joomla! Hacks and How to Avoid Them
Daniel Kanchev
 
KEY
Sniffing the Mobile Context
Andy Davies
 
PDF
Progressive Enhancement
Zach Leatherman
 
PPT
Unobtrusive javascript
Lee Jordan
 
PDF
The Case for HTTP/2 - Internetdagarna 2015 - Stockholm
Andy Davies
 
Souders WPO Web2.0Expo
guest0b3d92d
 
JavaScript Performance (at SFJS)
Steve Souders
 
Web Performance Optimierung - DWX13
Walter Ebert
 
do u webview?
Steve Souders
 
Webworks
Kang Ibnux
 
Mobile Web Speed Bumps
Nicholas Zakas
 
Øredev 2014
olataube
 
Speed is Essential for a Great Web Experience
Andy Davies
 
Five things I learned building s Saas App with Vue.js
Tim Nolet
 
Faster Frontends
Andy Davies
 
Introduction à AngularJS
Nicolas PENNEC
 
Preconnect, prefetch, prerender...
MilanAryal
 
Web Performance - A Whistlestop Tour
Andy Davies
 
Joomla wireframing Template - Joomladay Netherlands 2014 #jd14nl
Philip Locke
 
That's crazy! how to build single page web apps
Chris Love
 
8 Most Common Joomla! Hacks and How to Avoid Them
Daniel Kanchev
 
Sniffing the Mobile Context
Andy Davies
 
Progressive Enhancement
Zach Leatherman
 
Unobtrusive javascript
Lee Jordan
 
The Case for HTTP/2 - Internetdagarna 2015 - Stockholm
Andy Davies
 

Similar to Website performance optimisation (20)

PPTX
Web Directions South - Even Faster Web Sites
Steve Souders
 
PDF
WPO Israel Meetup - Mobile Web Performance slides by Steve Souders
Gil Givati
 
PPTX
Fast by Default
Abhay Kumar
 
PDF
Web Performance Optimization (WPO)
Betclic Everest Group Tech Team
 
PPTX
High-Speed HTML5
Peter Lubbers
 
KEY
A rough guide to JavaScript Performance
allmarkedup
 
PPTX
Fronteers 20091105 (1)
guestbf04d7
 
PDF
Guide to WordPress Speed Optimization by WP Villa
WP Villa
 
PDF
Shifting Gears
Christian Heilmann
 
PPTX
Why your slow loading website is costing you sales and how to fix it
Robert Flournoy
 
PPTX
Why your slow loading website is costing you sales and how to fix it
strommen
 
PPT
Widget Summit 2008
Volkan Unsal
 
PPT
Csdn Drdobbs Tenni Theurer Yahoo
guestb1b95b
 
PPTX
Web performance optimization for modern web applications
Chris Love
 
PPTX
How to make your website blazing fast
Josh Fraser
 
PPTX
10 Things You Can Do to Speed Up Your Web App Today
Chris Love
 
ODP
A Holistic View of Website Performance
Rene Churchill
 
PPTX
Performance Tuning Web Apps - The Need For Speed
Vijay Rayapati
 
PPTX
Building high performance web apps.
Arshak Movsisyan
 
PDF
Core Web Vitals Fixer
Ted Politidis
 
Web Directions South - Even Faster Web Sites
Steve Souders
 
WPO Israel Meetup - Mobile Web Performance slides by Steve Souders
Gil Givati
 
Fast by Default
Abhay Kumar
 
Web Performance Optimization (WPO)
Betclic Everest Group Tech Team
 
High-Speed HTML5
Peter Lubbers
 
A rough guide to JavaScript Performance
allmarkedup
 
Fronteers 20091105 (1)
guestbf04d7
 
Guide to WordPress Speed Optimization by WP Villa
WP Villa
 
Shifting Gears
Christian Heilmann
 
Why your slow loading website is costing you sales and how to fix it
Robert Flournoy
 
Why your slow loading website is costing you sales and how to fix it
strommen
 
Widget Summit 2008
Volkan Unsal
 
Csdn Drdobbs Tenni Theurer Yahoo
guestb1b95b
 
Web performance optimization for modern web applications
Chris Love
 
How to make your website blazing fast
Josh Fraser
 
10 Things You Can Do to Speed Up Your Web App Today
Chris Love
 
A Holistic View of Website Performance
Rene Churchill
 
Performance Tuning Web Apps - The Need For Speed
Vijay Rayapati
 
Building high performance web apps.
Arshak Movsisyan
 
Core Web Vitals Fixer
Ted Politidis
 
Ad

More from Webstock (7)

KEY
A geek sifts through the bullshit
Webstock
 
PDF
Curtailing Crustaceans with Geeky Enthusiasm - Rob Coup
Webstock
 
PDF
Open Data Everywhere - Get Inspired - Glen Barnes
Webstock
 
PPT
My ID, Your Intrepretations - Annabel Youens
Webstock
 
PDF
Webstock10 opening
Webstock
 
PPT
Webstock 09 opening
Webstock
 
PPT
Your Business Plan
Webstock
 
A geek sifts through the bullshit
Webstock
 
Curtailing Crustaceans with Geeky Enthusiasm - Rob Coup
Webstock
 
Open Data Everywhere - Get Inspired - Glen Barnes
Webstock
 
My ID, Your Intrepretations - Annabel Youens
Webstock
 
Webstock10 opening
Webstock
 
Webstock 09 opening
Webstock
 
Your Business Plan
Webstock
 
Ad

Recently uploaded (20)

PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
July Patch Tuesday
Ivanti
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
Q2 Leading a Tableau User Group - Onboarding
lward7
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
July Patch Tuesday
Ivanti
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Q2 Leading a Tableau User Group - Onboarding
lward7
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 

Website performance optimisation

Editor's Notes

  • #5: Fred Wilson is Managing Partner of two venture capital firms, Flatiron Partners (Yoyodyne, Geocities) and Union Square Ventures (Twitter, delicious,Etsy, Feedburner).SpeedInstant utilitySoftware is mediaLess is moreMake it programmableMake it personalRESTfulDiscoverabilityCleanPlayful
  • #9: “if we’re able to achieve a similar performance boost across ourothertoplanding pages, we’ll drive in excess of 60 million yearly Firefox downloads.”
  • #10: This was a ~5 second speed up.
  • #13: Time measurements from real users.
  • #22: All of these allow for parallel downloads, but none of them allow for parallel JS execution – that&apos;s not possible (currently, WebKit is doing some stuff on that).
  • #24: GMail Mobile: http://googlecode.blogspot.com/2009/09/gmail-for-mobile-html5-series-reducing.htmlSproutCore: http://blog.sproutcore.com/post/225219087/faster-loading-through-eval
  • #25: GMail Mobile: http://googlecode.blogspot.com/2009/09/gmail-for-mobile-html5-series-reducing.htmlSproutCore: http://blog.sproutcore.com/post/225219087/faster-loading-through-eval