SlideShare a Scribd company logo
High Performance Mobilestevesouders.com/docs/sfsv-webperf-20110830.pptxDisclaimer: This content does not necessarily reflect the opinions of my employer.
CuzillionSpriteMeYSlowHammerheadflickr.com/photos/bekahstargazing/318930460/
High Performance Mobile (SF/SV Web Perf)
High Performance Mobile (SF/SV Web Perf)
1. WPO
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/
2. Why Mobile?
High Performance Mobile (SF/SV Web Perf)
slideshare.net/CMSummit/ms-internet-trends060710final
slideshare.net/CMSummit/ms-internet-trends060710final
nytimes.com/2011/04/18/technology/18mobile.html
slideshare.net/CMSummit/ms-internet-trends060710final
High Performance Mobile (SF/SV Web Perf)
High Performance Mobile (SF/SV Web Perf)
High Performance Mobile (SF/SV Web Perf)
High Performance Mobile (SF/SV Web Perf)
High Performance Mobile (SF/SV Web Perf)
High Performance Mobile (SF/SV Web Perf)
the road isn’t clearflickr.com/photos/davidandheidi/2320489837/
3. Mobile Best Practices
[just a reminder]
3. Mobile Best Practices
1. Make fewer HTTP requests2. Use a CDN3. Add an Expires header4. Gzipcomponents5. Put stylesheets at the top6. Put scripts at the bottom7. Avoid CSS expressions8. Make JS and CSS external9. Reduce DNS lookups10. Minify JS11. Avoid redirects12. Remove duplicate scripts13. Configure ETags14. Make AJAX cacheable14 Rules
1. Make fewer HTTP requests2. Use a CDN3. Add an Expires header4. Gzipcomponents5. Put stylesheets at the top6. Put scripts at the bottom7. Avoid CSS expressions8. Make JS and CSS external9. Reduce DNS lookups10. Minify JS11. Avoid redirects12. Remove duplicate scripts13. Configure ETags14. Make AJAX cacheable14 Rules
1. Make fewer HTTP requests2. Use a CDN3. Add an Expires header4. Gzipcomponents5. Put stylesheets at the top6. Put scripts at the bottom7. Avoid CSS expressions8. Make JS and CSS external9. Reduce DNS lookups10. Minify JS11. Avoid redirects12. Remove duplicate scripts13. Configure ETags14. Make AJAX cacheable14 Rules
Splitting 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 StoyanStefanov, Nicole Sullivan
Splitting 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 StoyanStefanov, Nicole Sullivan
Splitting 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 appsBen Galbraith, Dion AlmaerWriting efficient JavaScript Nicholas ZakasScaling with Comet Dylan SchiemannGoing beyond gzipping Tony GentilcoreOptimizing images StoyanStefanov, Nicole Sullivan
reduce HTTP requestsspritesdata: URIsCSS3:border-radiusbox-shadowlinear-gradienttransform: rotate, scale, skew, translateCanvas, SVGflickr.com/photos/mrd00dman/2358726807/
responsive imagesresize images based on screen sizeexample: Sencha.ioSrcUA classification: DeviceAtlasdomain sharding: src[1-4].sencha.ioalso: http://adaptive-images.com/http://github.com/filamentgroup/Responsive-Images<imgsrc=‘http://src.sencha.io/http://mydomain.com/logo.gif’>flickr.com/photos/johnkay/3539939004/
script async & deferparsing doesn’t wait for script:async– executed when available
defer – executed when parsing finishedwhen is it downloaded?missing:defer download AND execution
async/defer download, execute on demandflickr.com/photos/gevertulley/4771808965/
GMail Mobile<script type="text/javascript">/*var ... */</script>get script DOM element's textremove commentseval() when invokedawesome for prefetching JS that might (not) be neededhttp://goo.gl/l5ZLQ
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 fasterdownload without executing<script type="text/cjs"        data-cjssrc="main.js”        data-cjsexec=false><script>Later if/when needed:CJS.execScript(src);
app cacheflickr.com/photos/india-nepal-iran/203982474/
yuiblog.com/blog/2007/01/04/performance-research-part-2/
blaze.io/mobile/understanding-mobile-cache-sizes/
app cacheoffline apps, longer cache<!doctype html><html manifest=“myapp.appcache”>myapp.appcache:CACHE MANIFEST# Revision: 1.28CACHE:/images/logo.gifNETWORK:/login.htmlFALLBACK:/index.html /offline.htmlContent-Type: text/cache-manifestflickr.com/photos/india-nepal-iran/203982474/
app cache gotchashtml docs w/ manifest are cached404 => nothing is cachedsize: 5MB+must rev manifest to update resourcesupdate is served on 2nd reload (?!?!)flickr.com/photos/97657657@N00/1918688483/
app cachereload12push app logo.gif = user loads appapp cache is empty fetch manifestfetch logo.gifapp cache =user sees345push app logo.gif =rev manifest user loads appapp cache = user seesfetch manifestfetch logo.gifapp cache =user loads app againapp cache = user seesfetch manifest (304)
load twice workaroundwindow.applicationCache.addEventListener('updateready', function(e) {   if ( window.applicationCache.status== window.applicationCache.UPDATEREADY) {    if ( confirm(“Load new content?”) ) {      ...http://www.webdirections.org/blog/get-offline/http://www.html5rocks.com/en/tutorials/appcache/beginner/flickr.com/photos/presley_m/5152304885/
localStoragewindow.localStorage: setItem()getItem()removeItem()clear()also sessionStorageall popular browsers, 5MB maxhttp://dev.w3.org/html5/webstorage/http://diveintohtml5.org/storage.htmlflickr.com/photos/bryanpearson/564703455/
localStorage as cache1st doc: write JS & CSS blocks to localStorageJUX.UXBaseControls.252CB7BF: (function(){...JUX.FrameworkCore.A39F6425: (function(){...set cookie with entries & versionRMSM=JUX.UXBaseControls.252CB7BF~ JUX.FrameworkCore.A39F6425~later docs: read JS & CSS from localStoragescript.text = localStorage.getItem(JUX.UXBaseControls.252CB7BF)http://stevesouders.com/blog/2011/03/28/storager-case-study-bing-google/flickr.com/photos/nelsoncruz/431244400/
there’s moreaudio & video tagsWebSocketsonTouchEnd instead of onClickHistory  <a ping requestAnimationFrame– not timers native JSON parse/stringifyflickr.com/photos/dualphoto/2609096047/
Thanks to…Max FirtmanTony GentilcoreJosh FraserKyle ScholzStoyanStefanovLindsey SimonAnnie SullivanTim KadlecPaul IrishBrad Neubergflickr.com/photos/robertvega/3944132320/
4. Mobile Tools
High Performance Mobile (SF/SV Web Perf)
High Performance Mobile (SF/SV Web Perf)
High Performance Mobile (SF/SV Web Perf)
http://pmuellr.github.com/weinre/
speed matters - WPOmobile winners will be fastmobile performance – reduce reqs, resize images, async JS, app cache, localStoragemobile tools – pcapperf, Jdrop, Blaze.io, Weinretakeawaysflickr.com/photos/myklroventine/4062102754/
High Performance Mobile (SF/SV Web Perf)
High Performance Mobile (SF/SV Web Perf)
High Performance Mobile (SF/SV Web Perf)
Top 100: bytes downloadeddesktopmobile
Top 100: size & requestsdesktopmobile

More Related Content

PPTX
High Performance HTML5 (SF HTML5 UG)
PDF
Prebrowsing - Velocity NY 2013
PPTX
Design+Performance Velocity 2015
PPTX
Design+Performance
PPTX
Souders WPO Web2.0Expo
PPTX
@media - Even Faster Web Sites
PPTX
How fast are we going now?
PPT
Web 2.0 Expo: Even Faster Web Sites
High Performance HTML5 (SF HTML5 UG)
Prebrowsing - Velocity NY 2013
Design+Performance Velocity 2015
Design+Performance
Souders WPO Web2.0Expo
@media - Even Faster Web Sites
How fast are we going now?
Web 2.0 Expo: Even Faster Web Sites

What's hot (20)

PPTX
do u webview?
PPTX
High Performance Web Components
PDF
Preconnect, prefetch, prerender...
PDF
State of the resource timing api
PPTX
Website performance optimisation
PDF
Web Performance Optimierung - DWX13
PDF
[jqconatx] Adaptive Images for Responsive Web Design
PDF
Mobile Web Speed Bumps
PDF
Progressive Enhancement 2.0 (Conference Agnostic)
PDF
High Performance JavaScript (Amazon DevCon 2011)
PDF
Frontend SPOF
PDF
Stefan Judis "Did we(b development) lose the right direction?"
PDF
The Future Of Web Frameworks
KEY
Taking your Web App for a walk
PDF
Real World Web Standards
PPT
Web20expo 20080425
PDF
[wvbcn] Adaptive Images in Responsive Web Design
PPTX
Building a PWA - For Everyone Who Is Scared To
KEY
Speed is Essential for a Great Web Experience
KEY
HTML5: Markup Evolved
do u webview?
High Performance Web Components
Preconnect, prefetch, prerender...
State of the resource timing api
Website performance optimisation
Web Performance Optimierung - DWX13
[jqconatx] Adaptive Images for Responsive Web Design
Mobile Web Speed Bumps
Progressive Enhancement 2.0 (Conference Agnostic)
High Performance JavaScript (Amazon DevCon 2011)
Frontend SPOF
Stefan Judis "Did we(b development) lose the right direction?"
The Future Of Web Frameworks
Taking your Web App for a walk
Real World Web Standards
Web20expo 20080425
[wvbcn] Adaptive Images in Responsive Web Design
Building a PWA - For Everyone Who Is Scared To
Speed is Essential for a Great Web Experience
HTML5: Markup Evolved
Ad

Similar to High Performance Mobile (SF/SV Web Perf) (20)

PPTX
JavaScript Perfomance
PPTX
JavaScript Performance (at SFJS)
PPTX
Web Directions South - Even Faster Web Sites
PDF
WPO Israel Meetup - Mobile Web Performance slides by Steve Souders
PPT
Oscon 20080724
PDF
Build Better Responsive websites. Hrvoje Jurišić
PDF
Developing High Performance Web Apps
PDF
Velocity WPO 20101207 steve souders
PDF
Velocity wpo-20101207 stevesouders
PDF
Building performance into the new yahoo homepage presentation
PPT
Testable client side_mvc_apps_in_javascript
PDF
The Server Side of Responsive Web Design
PDF
Performance on the Yahoo! Homepage
PPT
Csdn Drdobbs Tenni Theurer Yahoo
PDF
Web app and more
PDF
Web Apps and more
KEY
Faster Frontends
KEY
Developing High Performance Web Apps - CodeMash 2011
PPT
Widget Summit 2008
PPTX
Mobile Apps with PhoneGap and jQuery Mobile
JavaScript Perfomance
JavaScript Performance (at SFJS)
Web Directions South - Even Faster Web Sites
WPO Israel Meetup - Mobile Web Performance slides by Steve Souders
Oscon 20080724
Build Better Responsive websites. Hrvoje Jurišić
Developing High Performance Web Apps
Velocity WPO 20101207 steve souders
Velocity wpo-20101207 stevesouders
Building performance into the new yahoo homepage presentation
Testable client side_mvc_apps_in_javascript
The Server Side of Responsive Web Design
Performance on the Yahoo! Homepage
Csdn Drdobbs Tenni Theurer Yahoo
Web app and more
Web Apps and more
Faster Frontends
Developing High Performance Web Apps - CodeMash 2011
Widget Summit 2008
Mobile Apps with PhoneGap and jQuery Mobile
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)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Mushroom cultivation and it's methods.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
1. Introduction to Computer Programming.pptx
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Machine learning based COVID-19 study performance prediction
PPT
Teaching material agriculture food technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Unlocking AI with Model Context Protocol (MCP)
Mushroom cultivation and it's methods.pdf
Encapsulation_ Review paper, used for researhc scholars
Univ-Connecticut-ChatGPT-Presentaion.pdf
Empathic Computing: Creating Shared Understanding
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Group 1 Presentation -Planning and Decision Making .pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Network Security Unit 5.pdf for BCA BBA.
SOPHOS-XG Firewall Administrator PPT.pptx
NewMind AI Weekly Chronicles - August'25-Week II
Digital-Transformation-Roadmap-for-Companies.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
1. Introduction to Computer Programming.pptx
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Machine learning based COVID-19 study performance prediction
Teaching material agriculture food technology

High Performance Mobile (SF/SV Web Perf)

Editor's Notes

  • #8: 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
  • #12: “if we’re able to achieve a similar performance boost across ourothertoplanding pages, we’ll drive in excess of 60 million yearly Firefox downloads.”
  • #13: This was a ~5 second speed up.
  • #16: Time measurements from real users.
  • #22: http://www.nytimes.com/2011/04/18/technology/18mobile.html
  • #42: Generallyasync &amp; defer scripts start downloading immediately. I wish they’d wait, esp. defer scripts, so they don’t hog connections from the limited pool.
  • #43: 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