SlideShare a Scribd company logo
Even Faster Web Sitesstevesouders.com/docs/atmedia-20100611.pptxDisclaimer: This content does not necessarily reflect the opinions of my employer.flickr.com/photos/ddfic/722634166/
flickr.com/photos/bekahstargazing/318930460/
the importance of        frontend performance9%91%17%83%iGoogle, primed cacheiGoogle, empty cachehttp://www.flickr.com/photos/minami/2458184654/
Make fewer HTTP requestsUse a CDNAdd an Expires headerGzip componentsPut stylesheets at the topPut scripts at the bottomAvoid CSS expressionsMake JS and CSS externalReduce DNS lookupsMinify JSAvoid redirectsRemove duplicate scriptsConfigure ETagsMake AJAX cacheable14 Rules
Even Faster Web SitesSplitting the initial payloadLoading scripts without blockingCoupling asynchronous scriptsPositioning inline scriptsSharding dominant domainsFlushing the document earlyUsing iframes sparinglySimplifying CSS SelectorsUnderstanding Ajax performance..........Doug CrockfordCreating responsive web apps............Ben Galbraith, Dion AlmaerWriting efficient JavaScript.............Nicholas ZakasScaling with Comet.....................Dylan SchiemannGoing beyond gzipping...............Tony GentilcoreOptimizing images...................Stoyan Stefanov, Nicole Sullivanflickr.com/photos/motionblur/3049984012/
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
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
@media - Even Faster Web Sites
Bothcombine scriptscombine stylesheetsadd an Expires headergzip responsesput stylesheets at the topput scripts at the bottomavoid CSS expressionsmake JS and CSS externalreduce DNS lookupsminify JS and CSSavoid redirectsremove duplicate scriptsmake Ajax cacheablereduce cookie sizeuse cookie-free domainsdon't scale imagesYSlowuse CSS spritesuse a CDNconfigure ETagsuse GET for Ajax requestsreduce # of DOM elementsno 404savoid image filtersoptimize faviconPage Speeddefer loading JSremove unused CSSuse efficient CSS selectorsoptimize imagesoptimize order of CSS & JSshard domainsleverage proxy caching
@media - Even Faster Web Sites
@media - Even Faster Web Sites
@media - Even Faster Web Sites
@media - Even Faster Web Sites
WebPerformanceOptimizationWPOdrives trafficimproves UXincreases revenuereduces costsflickr.com/photos/pedromourapinheiro/3123885534/
What makes sites feel slow?http://www.flickr.com/photos/kevincollins/234678305/
(lack of)Progressive Rendering[next page being loaded]http://www.flickr.com/photos/kevincollins/234678305/
Search
Sports
News
Shopping
@media - Even Faster Web Sites
@media - Even Faster Web Sites
@media - Even Faster Web Sites
@media - Even Faster Web Sites
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, FF 3.5, Chr3, Saf 4Why focus on JavaScript?
29% avg229 K avginitial payload and execution
split the initial payloadsplit your JavaScript between what's needed to render the page and everything elsedefer "everything else"split manually (Page Speed), automatically (Microsoft Doloto)load scripts without blockinghttp://www.flickr.com/photos/devcentre/108032900/
Loading Scripts Without BlockingXHR EvalXHR InjectionScript in IframeScript DOM ElementScript Deferdocument.write Script Tag
XHR EvalvarxhrObj = getXHRObject();xhrObj.onreadystatechange =   function() {     if ( xhrObj.readyState != 4 ) return;eval(xhrObj.responseText);  };xhrObj.open('GET', 'A.js', true);xhrObj.send('');script & page must be same domainmassage script?
Script DOM Elementvar se = document.createElement('script');se.src = 'http://anydomain.com/A.js';document.getElementsByTagName('head')[0].appendChild(se); script & page domains can differno need to massage JavaScriptmay not preserve execution order
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
@media - Even Faster Web Sites
window.setTimeout(function(){var a=document.createElement("script"); a.src="/extern_js/f/CgJlbhz8US8_w.js"; (document.getElementById("xjsd")||document.body).appendChild(a);},0);Google Search
Bootloader.setResourceMap({"CDYbm": {"name":"js\/32kskxvl4c8w0848.pkg.js",  "type":"js",  "src":"http:\/\/...\/1fakc64i.js"},...});var c=a ? document.body : document.getElementsByTagName('head')[0];var d=document.createElement('script');d.type='text/javascript';d.src=f;c.appendChild(d);Facebook
YUI.presentation.lazyScriptList = 	["http://l.yimg.com/a/combo?arc/yui/substitute_0.1.9.js&arc/yui/oop_0.1.10.js&[...58 more!...]"];d = w.document; h = d.getElementsByTagName("head")[0];n = d.createElement("script"),n.src = url;h.appendChild(n);Yahoo! FP
<script src="http://bits.wikimedia.org/skins-1.5/common/wikibits.js?281c" type="text/javascript"></script><script src="http://bits.wikimedia.org/skins-1.5/common/jquery.min.js?281c" type="text/javascript"></script><script src="http://bits.wikimedia.org/skins-1.5/common/ajax.js?281c" type="text/javascript"></script><script src="http://bits.wikimedia.org/skins-1.5/common/mwsuggest.js?281c" type="text/javascript"></script><script src="http://bits.wikimedia.org/w/extensions/UsabilityInitiative/js/plugins.combined.min.js?281c" type="text/javascript"></script><script src="http://bits.wikimedia.org/w/extensions/UsabilityInitiative/Vector/Vector.combined.min.js?281c" type="text/javascript"></script><script src="http://upload.wikimedia.org/centralnotice/wikipedia/en/centralnotice.js?281c" type="text/javascript"></script><script src="/w/index.php?title=-&amp;action=raw&amp;gen=js&amp;useskin=vector&amp;281c" type="text/javascript"></script></head>Wikipedia
<script src="/js/jquery-1.4.2.js"></script></body></html>subsequent page:<script src="/js/jquery-1.4.2.js"></script><script src="/js/toChecklist.js"></script><script src="/js/tocs.js"></script></body></html>Craigslist
<script src="http://include.ebaystatic.com/v4js/en_US/e673/SYS-RA_vjo_e67311309442_1_en_US.js"></script><script src="http://include.ebaystatic.com/v4js/en_US/e673/GH-RA_ReskinEbay_e67311309442_1_en_US.js"></script><script src="http://include.ebaystatic.com/v4js/en_US/e673/SYS-RA_vjo_e67311252543_opta_en_US.js"><script src="http://include.ebaystatic.com/v4js/en_US/e673/CCHP_HomepageV4_SLDR_e67311252543_6_en_US.js"></script>eBay
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js" type="text/javascript"></script><script src="http://a3.twimg.com/a/1276018586/javascripts/twitter.js?1276019402" type="text/javascript"></script><script src="http://a1.twimg.com/a/1276018586/javascripts/lib/jquery.tipsy.min.js?1276019402" type="text/javascript"></script><script src='http://maps.google.com/maps/api/js?sensor=false' type="text/javascript"></script><script src="http://a1.twimg.com/a/1276018586/javascripts/lib/gears_init.js?1276019402" type="text/javascript"></script><script src="http://a3.twimg.com/a/1276018586/javascripts/geov1.js?1276019402" type="text/javascript"></script><script src="http://a1.twimg.com/a/1276018586/javascripts/api.js?1276019402" type="text/javascript"></script><script src="http://a2.twimg.com/a/1276018586/javascripts/lib/mustache.js?1276019402" type="text/javascript"></script><script src="http://a3.twimg.com/a/1276018586/javascripts/dismissable.js?1276019402" type="text/javascript"></script><script src="http://a1.twimg.com/a/1276018586/javascripts/api.js?1276019402" type="text/javascript"></script><script src="http://a0.twimg.com/a/1276018586/javascripts/controls.js?1276019402" type="text/javascript"></script><script src="http://a1.twimg.com/a/1276018586/javascripts/hover_cards.js?1276019402" type="text/javascript"></script></body></html>Twitter
var a=_d.createElement("script");a.type="text/javascript";a.src=b;_d.getElementsByTagName("head")[0].appendChild(a);Bingonload
@media - Even Faster Web Sites
Ray MorganZappos.comMakindeAdeagboFacebookJenn LukasHappy Coghttp://www.flickr.com/photos/waltzaround/4041024134/

More Related Content

PPT
Web 2.0 Expo: Even Faster Web Sites
PPTX
Design+Performance
PPTX
Web Directions South - Even Faster Web Sites
PPTX
High Performance Mobile (SF/SV Web Perf)
PPTX
High Performance HTML5 (SF HTML5 UG)
PPTX
High Performance Web Components
PPTX
Design+Performance Velocity 2015
PDF
Prebrowsing - Velocity NY 2013
Web 2.0 Expo: Even Faster Web Sites
Design+Performance
Web Directions South - Even Faster Web Sites
High Performance Mobile (SF/SV Web Perf)
High Performance HTML5 (SF HTML5 UG)
High Performance Web Components
Design+Performance Velocity 2015
Prebrowsing - Velocity NY 2013

What's hot (20)

PPTX
Souders WPO Web2.0Expo
PPTX
JavaScript Performance (at SFJS)
PPTX
How fast are we going now?
PPTX
do u webview?
PDF
State of the resource timing api
PPTX
Website performance optimisation
PDF
High Performance JavaScript (Amazon DevCon 2011)
PDF
Mobile Web Speed Bumps
PDF
Preconnect, prefetch, prerender...
PDF
Web Performance Optimierung - DWX13
PDF
Progressive Enhancement 2.0 (Conference Agnostic)
PPT
Oscon 20080724
PPT
Web20expo 20080425
PDF
Frontend SPOF
PDF
WordPress common SEO issues by Olesia Korobka
PDF
[jqconatx] Adaptive Images for Responsive Web Design
PPTX
High Performance Websites
PDF
What does the browser pre-loader do?
PDF
High Performance JavaScript (YUIConf 2010)
PPTX
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
Souders WPO Web2.0Expo
JavaScript Performance (at SFJS)
How fast are we going now?
do u webview?
State of the resource timing api
Website performance optimisation
High Performance JavaScript (Amazon DevCon 2011)
Mobile Web Speed Bumps
Preconnect, prefetch, prerender...
Web Performance Optimierung - DWX13
Progressive Enhancement 2.0 (Conference Agnostic)
Oscon 20080724
Web20expo 20080425
Frontend SPOF
WordPress common SEO issues by Olesia Korobka
[jqconatx] Adaptive Images for Responsive Web Design
High Performance Websites
What does the browser pre-loader do?
High Performance JavaScript (YUIConf 2010)
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
Ad

Similar to @media - Even Faster Web Sites (20)

PPTX
10 things you can do to speed up your web app today stir trek edition
PPTX
Design Camp Boston - Designing Faster Websites
PPTX
Performance Tuning Web Apps - The Need For Speed
PDF
Web Performance Optimization (WPO)
PPTX
SpeedGeeks
PPTX
In Search of Speed
PDF
The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
PPTX
10 Things You Can Do to Speed Up Your Web App Today
PPTX
Fronteers 20091105 (1)
PPT
Frontend performance
PPT
High Performance Web Pages - 20 new best practices
PPT
Oracle UCM: Web Site Performance Tuning
PDF
Go Faster, Webmaster
PDF
Go Faster, Webmasters
PPTX
Website Performance
PPT
Csdn Drdobbs Tenni Theurer Yahoo
PPTX
Why your slow loading website is costing you sales and how to fix it
PPTX
Why your slow loading website is costing you sales and how to fix it
KEY
Faster Frontends
PPTX
Web performance optimization for modern web applications
10 things you can do to speed up your web app today stir trek edition
Design Camp Boston - Designing Faster Websites
Performance Tuning Web Apps - The Need For Speed
Web Performance Optimization (WPO)
SpeedGeeks
In Search of Speed
The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
10 Things You Can Do to Speed Up Your Web App Today
Fronteers 20091105 (1)
Frontend performance
High Performance Web Pages - 20 new best practices
Oracle UCM: Web Site Performance Tuning
Go Faster, Webmaster
Go Faster, Webmasters
Website Performance
Csdn Drdobbs Tenni Theurer Yahoo
Why your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix it
Faster Frontends
Web performance optimization for modern web applications
Ad

More from Steve Souders (14)

PPTX
Make JavaScript Faster
PDF
Metrics of Joy
PPTX
The Perception of Speed
PPTX
High Performance Web Components
PPTX
Cache is King
PPTX
High Performance Snippets
PPTX
Your Script Just Killed My Site
PPTX
Souders WPO Web 2.0 Expo
PPTX
JSConf US 2010
PDF
CouchDB Google
PPT
Even Faster Web Sites at jQuery Conference '09
PPTX
Browserscope Launch at TAE
PPT
Even Faster Web Sites at The Ajax Experience
PPT
SXSW: Even Faster Web Sites
Make JavaScript Faster
Metrics of Joy
The Perception of Speed
High Performance Web Components
Cache is King
High Performance Snippets
Your Script Just Killed My Site
Souders WPO Web 2.0 Expo
JSConf US 2010
CouchDB Google
Even Faster Web Sites at jQuery Conference '09
Browserscope Launch at TAE
Even Faster Web Sites at The Ajax Experience
SXSW: Even Faster Web Sites

Recently uploaded (20)

PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Cloud computing and distributed systems.
PDF
cuic standard and advanced reporting.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Empathic Computing: Creating Shared Understanding
PDF
Modernizing your data center with Dell and AMD
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Approach and Philosophy of On baking technology
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Encapsulation theory and applications.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
“AI and Expert System Decision Support & Business Intelligence Systems”
Per capita expenditure prediction using model stacking based on satellite ima...
Cloud computing and distributed systems.
cuic standard and advanced reporting.pdf
Spectral efficient network and resource selection model in 5G networks
Empathic Computing: Creating Shared Understanding
Modernizing your data center with Dell and AMD
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Approach and Philosophy of On baking technology
The Rise and Fall of 3GPP – Time for a Sabbatical?
Encapsulation theory and applications.pdf
Unlocking AI with Model Context Protocol (MCP)
The AUB Centre for AI in Media Proposal.docx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Big Data Technologies - Introduction.pptx
Electronic commerce courselecture one. Pdf
Network Security Unit 5.pdf for BCA BBA.
Mobile App Security Testing_ A Comprehensive Guide.pdf
NewMind AI Weekly Chronicles - August'25 Week I

@media - Even Faster Web Sites

Editor's Notes

  • #7: 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
  • #11: “if we’re able to achieve a similar performance boost across ourothertoplanding pages, we’ll drive in excess of 60 million yearly Firefox downloads.”
  • #12: This was a ~5 second speed up.
  • #14: Time measurements from real users.
  • #24: http://www.webpagetest.org/video/compare.php?tests=100607_SN,100607_SM,100607_SK,100607_SJ,100607_S6http://www.google.com/search?q=flowershttp://search.yahoo.com/search?p=flowershttp://www.bing.com/search?q=flowershttp://www.ask.com/web?q=flowershttp://search.aol.com/aol/search?q=flowersIE7, Dulles VA, DSL
  • #25: http://www.webpagetest.org/video/compare.php?tests=100608_e6e0257fd833ca1eb5669cd42e49570c%2C100608_7b873ad39b553f0dec08b2ec9fb14db0%2C100608_be6ad18d17fdcbd0ad4d5e5430db4815%2C100608_b8b544a8cf71bf02171a2bf473b56a03&amp;thumbSize=150&amp;ival=1000
  • #26: http://www.webpagetest.org/video/compare.php?tests=100608_1F9%2C100608_1FA%2C100608_1FB%2C100608_1FC%2C100608_1FD&amp;thumbSize=150&amp;ival=1000
  • #27: http://www.webpagetest.org/video/compare.php?tests=100608_1GG%2C100608_1GF%2C100608_1GD%2C100608_1GC%2C100608_1GB&amp;thumbSize=150&amp;ival=2000
  • #28: http://www.webpagetest.org/video/view.php?id=100607_5f1b00006d82a016a64b37502ebb0d0ebc73df00
  • #29: http://www.webpagetest.org/video/view.php?id=100608_9111958456564ddc3b2e49fbfda200112dee9fd2
  • #30: http://www.webpagetest.org/video/view.php?id=100608_ab0ebdaa528ad2c480ff16fb4e59e50a52bdd71f
  • #31: http://www.webpagetest.org/video/view.php?id=100608_ecbc76305fba361cafb31c0abd27d46617e65c24
  • #35: Data source: Steve Souders, updated April 2010
  • #37: 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).
  • #40: 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