SlideShare une entreprise Scribd logo
1  sur  91
Faster Websites
by Optimizing on the Client
Dipl.-Inf. (FH) Marco Emrich Sept. 2013
Slow Websites
http://www.flickr.com/photos/pyxopotamus/2758466665/sizes/o/in/photostream/
http://www.flickr.com/photos/reid_rosenberg/5616618789/sizes/l/
http://www.flickr.com/photos/decaf/31866493/sizes/l/
Jakob Nielsen
http://en.wikipedia.org/wiki/File:Jakob_Nielsen_1.jpg
http://www.nngroup.com/articles/website-response-times/
„Even a few seconds' delay is enough to
create an unpleasant user experience“
http://visual.ly/your-brain-slow-website
http://www.nngroup.com/articles/website-response-times/
http://visual.ly/your-brain-slow-website
Studies
„67% of consumers cite slow
websites as the main cause of
basket abandonment“
http://econsultancy.com/de/blog/11274-67-of-consumers-cite-slow-websites-as-the-main-cause-of-basket-abandonment
http://www.aberdeen.com/Aberdeen-Library/5136/RA-performance-web-application.aspx
https://thestrangeloop.com/
http://conversionxl.com/11-low-hanging-fruits-for-increasing-website-speed-and-conversions/#.
„57% of online shoppers will wait
3 seconds or less before
abandoning the site“
http://connect.phocuswright.com/2010/06/phocuswrightakamai-study-on-travel-site-performance/
http://theultralinx.com/2012/11/people-react-slow-websites-infographic.html
„Google engineers found that
users begin to get frustrated with
a site after waiting just 400
milliseconds – literally the blink of
an eye – for web pages to load.“
http://www.nytimes.com/2012/03/01/technology/impatient-web-users-flee-slow-loading-sites.html?_r=1
Google: „today we're including a
new signal in our search ranking
algorithms: site speed“
http://googlewebmastercentral.blogspot.de/2010/04/using-site-speed-in-web-search-ranking.html
April 2010
The Mobile Challenge
http://www.flickr.com/photos/cizake/4164756091/sizes/o/in/photostream/
Developers
http://www.flickr.com/photos/el_jardineiro/2086608055/
http://www.flickr.com/photos/philipbitnar/3194364095/sizes/o/in/photostream/
http://www.flickr.com/photos/takens/6163883707/sizes/o/in/photostream/
http://en.wikipedia.org/wiki/File:KnuthAtOpenContentAlliance.jpg
„premature
optimization is
the root of all
evil“
http://en.wikipedia.org/wiki/File:KnuthAtOpenContentAlliance.jpg
„premature
optimization is
the root of all
evil“
1974
http://nextberlin.eu/person/steve-souders/
Steve Souders
2007
The Golden Performance Rule
„80-90% of the end-user
response time is spent on the
frontend.“
http://www.stevesouders.com/blog/2012/02/10/the-performance-golden-rule/
http://www.stevesouders.com/blog/2012/02/10/the-performance-golden-rule/
http://www.stevesouders.com/blog/2012/02/10/the-performance-golden-rule/
2012
Backend
Frontend
Sustain more
Concurrent Users
Better Experience
Optimization at ...
Too much
Concurrent Users
?
Too much
Concurrent Users
1. Buy better hardware
Too much
Concurrent Users
1. Buy better hardware
2. Optimize Backend
Bad
Loading/Response
Time
1. Buy better hardware
2. Optimize Backend
?
Too much
Concurrent Users
WPO
Web Performance Optimization
Some Basics
Don't overengineerhttp://www.amazon.de/Wenger-Schweizer-Offiziersmesser-Messer-Schatulle/dp/B000R0JDSI
http://bit.ly/1dugfP0
start
with
a
spec1 sec on empty cache
Paris / DSL / Chrome
http://www.flickr.com/photos/cizake/4164756091/sizes/o/in/photostream/
Remove bottlenecks
Just one change at a time
Measure
WHAT
Analyze
WHY
Optimize
Repeat
Measure
from the
Outside
Don't
trust lab
results
http://www.flickr.com/photos/janodecesare/9069301176/sizes/k/
Measure
http://www.flickr.com/photos/ltdemartinet/2970944908/sizes/o/in/photostream/
Get
RUM
Measure
http://www.flickr.com/photos/ltdemartinet/2970944908/sizes/o/in/photostream/
Real
User
Metrics
Example
Google Analytics
Example
New Relic
Example
WEBPAGETEST
Analyze from the Inside
Analyze
Browser Developer Tools: Waterfall Diagram
Chrome Developer Tools, Firebug, Dragonfly...
In-Browser Analytics
https://developers.google.com/speed/pagespeed/
http://yslow.org/
YSLOW Page Speed
Insights
http://gtmetrix.com/
http://gtmetrix.com/
Latency (RTT)
Optimize:
Throughput vs. Latency
Throughput
Latency (RTT)
Throughput vs. Latency
Client ServerRound Trip Time
Throughput vs. Latency
Latency
reduce requests
Throughput
reduce file-size
more parallel requests
Throughput vs. Latency
Latency
reduce requests
Browser Caching
YSlow Statistic
Optimization Techniques
& Tools
http://yslow.org/ https://developers.google.com/speed/
http://developer.yahoo.com/performance/rules.html
Technique 1:
Less is More
Snippet Plague
Facebook, Twitter, Google+, Google Analytics,
Flickr, Youtube
Cure
Don't use them
Cure
Don't overuse them
- think about it -
JavaScript-Explosion
Zepto & JS-Microframeworks
http://microjs.com/
https://github.com/madrobby/zepto
Thomas
Fuchs
Technique 2:
Far Future Expire Date
http://developer.yahoo.com/performance/rules.html#expires
File.mtime(path).to_i.to_s
Cachbusting per Creation
TimeStamp Param
<img alt="Header" height="304"
src="/images/header.jpg?1337557561"
width="996" />
http://www.sevenforge.com/2008/12/18/cache-busting-asset-id/
Cache Manifests
<html manifest="example.appcache">
  ...
CACHE MANIFEST
# 2010­06­18:v2
CACHE:
/favicon.ico
index.html
stylesheet.css
images/logo.png
scripts/main.js
NETWORK:
login.php
/myapi
http://api.twitter.com
FALLBACK:
/main.py /static.html
images/large/ images/offline.jpg
*.html /offline.html
http://www.html5rocks.com/en/tutorials/appcache/beginner/
http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html
http://caniuse.com/offline-apps
Cache Manifests
<html manifest="example.appcache">
  ...
CACHE MANIFEST
# 2010­06­18:v2
CACHE:
/favicon.ico
index.html
stylesheet.css
images/logo.png
scripts/main.js
NETWORK:
login.php
/myapi
http://api.twitter.com
FALLBACK:
/main.py /static.html
images/large/ images/offline.jpg
*.html /offline.html
http://www.html5rocks.com/en/tutorials/appcache/beginner/
http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html
http://caniuse.com/offline-apps
All modern
browsers
&
Cache Manifests
<html manifest="example.appcache">
  ...
CACHE MANIFEST
# 2010­06­18:v2
CACHE:
/favicon.ico
index.html
stylesheet.css
images/logo.png
scripts/main.js
NETWORK:
login.php
/myapi
http://api.twitter.com
FALLBACK:
/main.py /static.html
images/large/ images/offline.jpg
*.html /offline.html
http://www.html5rocks.com/en/tutorials/appcache/beginner/
http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html
http://caniuse.com/offline-apps
All modern
browsers
&
Technique(s) 3:
CSS & JS
Merge, Minimize, Place, GZIP
JsMin, Google Closure Compiler, UglifyJS, YUI Compressor...
automatically in Rails
Technique 4:
Async JavaScript-Loading
http://calendar.perfplanet.com/2011/the-art-and-craft-of-the-async-snippet/
https://gist.github.com/1025811
http://mathiasbynens.be/notes/async-analytics-snippet
https://developers.google.com/speed/docs/best-practices/rtt#PreferAsyncResources
<script>(function(d) {
  var js = d.createElement('script');
  js.src = "http://example.org/my.js";
  (d.head || d.getElementsByTagName('head')
[0]).appendChild(js);
}(document));</script>
for your scripts
Stoyan
Stefanov
http://calendar.perfplanet.com/2011/the-art-and-craft-of-the-async-snippet/
Script Dom Element Technique
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook­jssdk'));</script>
external scripts
Stoyan
Stefanov
http://calendar.perfplanet.com/2011/the-art-and-craft-of-the-async-snippet/
<script>
 // Add a script element as a child of the body
 function downloadJSAtOnload() {
   var element = document.createElement("script");
   element.src = "deferredfunctions.js";
   document.body.appendChild(element);
 }
 // Check for browser support of event handling capability
 if (window.addEventListener)
   window.addEventListener("load", downloadJSAtOnload, false);
 else if (window.attachEvent)
   Window.attachEvent("onload", downloadJSAtOnload);
 else window.onload = downloadJSAtOnload;
</script>
Async & Deferred
https://developers.google.com/speed/docs/best-practices/payload#DeferLoadingJS
<script async src="http://example.org/my.js"></script>
Async in HTML5
https://developer.mozilla.org/en/docs/Web/HTML/Element/script
<script async src="http://example.org/my.js"></script>
Async in HTML5
https://developer.mozilla.org/en/docs/Web/HTML/Element/script
2228
Technique 5:
Parallelize Requests
„There is a common misbelief that
a single combined script performs
best. Wrong“
http://headjs.com/
Parallel downloads are often faster
1000 kB
500 kB
500kb250 kB
250 kB
Parallel downloads are often faster
No CDNs, like
http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js
http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.0.min.js
Parallel downloads are often faster
No CDNs, like
http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js
http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.0.min.js
iPhone3 caches 15kB, iPhone4/5: 25kB
http://www.flickr.com/photos/miniyo73/8313902424/sizes/o/in/photostream/
http://www.yuiblog.com/blog/2008/02/06/iphone-cacheability/
head.js("/path/to/jquery.js", 
"/google/analytics.js", "/js/site.js", 
function() {
 
   // all done
 
});
Headjs.com
RequireJS + Almond
Optimize package-size
Lazy Loading by AMD
define(['jquery'] , function ($) {
return function () {};
});
https://github.com/jrburke/almond
http://requirejs.org/
Technique 6:
CSS Sprites
https://github.com/jakesgordon/sprite-factory
https://github.com/flyerhzm/css_sprite
http://www.hagenburger.net/BLOG/Lemonade-CSS-Sprites-for-Sass-Compass.html
http://compass-style.org/help/tutorials/spriting/
http://csssprites.com/
http://csssprites.org/
http://documentcloud.github.com/jammit/
http://spriteme.org/
Video Demo
Webpagetest.org
http://www.webpagetest.org/video/compare.php?tests=130604_9V_174P,130604_SH_1746
marcoemrich77@googlemail.com
https://github.com/marcoemrich/
@marcoemrich
http://www.flickr.com/photos/garyturner/4042962940/sizes/o/in/photostream/
wpc13.cnf.io
Technique 7:
Preloading
(Post-Onload Download)
http://books.google.de/books?id=jRVlgNDOr60C&pg=PA59&lpg=PA59&dq="Post-Onload+Download"
feed the cache
Async & Deferred
with future expire headers
(new Image()).src = '/path/to/image.png'
Google Analytics
Visitor Flow
Google Analytics
Visitor Flow
Future: Cache Manifests
<html manifest="example.appcache">
  ...
http://docs.webplatform.org/wiki/tutorials/speed_best_practices
„browsers can optimize that heavily,
perhaps even precaching them ahead
of your use.“
Paul Irish
http://www.flickr.com/photos/kins-garage/4025080233/sizes/z/in/photostream/Cover Bild:

Contenu connexe

Tendances

Responsive images are here. Now what?
Responsive images are here. Now what?Responsive images are here. Now what?
Responsive images are here. Now what?Jason Grigsby
 
Google I/O 2012 - Protecting your user experience while integrating 3rd party...
Google I/O 2012 - Protecting your user experience while integrating 3rd party...Google I/O 2012 - Protecting your user experience while integrating 3rd party...
Google I/O 2012 - Protecting your user experience while integrating 3rd party...Patrick Meenan
 
Web Directions South - Even Faster Web Sites
Web Directions South - Even Faster Web SitesWeb Directions South - Even Faster Web Sites
Web Directions South - Even Faster Web SitesSteve Souders
 
JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)Steve Souders
 
Corporate Evolution (Strata NY 2013)
Corporate Evolution (Strata NY 2013)Corporate Evolution (Strata NY 2013)
Corporate Evolution (Strata NY 2013)jstogdill
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)Christian Heilmann
 
How to Plan Purple Team Exercises
How to Plan Purple Team ExercisesHow to Plan Purple Team Exercises
How to Plan Purple Team ExercisesHaydn Johnson
 
PT_OWASP_AUSTIN_2017
PT_OWASP_AUSTIN_2017PT_OWASP_AUSTIN_2017
PT_OWASP_AUSTIN_2017Haydn Johnson
 
Souders WPO Web2.0Expo
Souders WPO Web2.0ExpoSouders WPO Web2.0Expo
Souders WPO Web2.0Expoguest0b3d92d
 
High Performance Web Components
High Performance Web ComponentsHigh Performance Web Components
High Performance Web ComponentsSteve Souders
 
State of the resource timing api
State of the resource timing apiState of the resource timing api
State of the resource timing apiAaron Peters
 
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScaleGDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScalePatrick Chanezon
 

Tendances (13)

Responsive images are here. Now what?
Responsive images are here. Now what?Responsive images are here. Now what?
Responsive images are here. Now what?
 
Metrics of Joy
Metrics of JoyMetrics of Joy
Metrics of Joy
 
Google I/O 2012 - Protecting your user experience while integrating 3rd party...
Google I/O 2012 - Protecting your user experience while integrating 3rd party...Google I/O 2012 - Protecting your user experience while integrating 3rd party...
Google I/O 2012 - Protecting your user experience while integrating 3rd party...
 
Web Directions South - Even Faster Web Sites
Web Directions South - Even Faster Web SitesWeb Directions South - Even Faster Web Sites
Web Directions South - Even Faster Web Sites
 
JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)
 
Corporate Evolution (Strata NY 2013)
Corporate Evolution (Strata NY 2013)Corporate Evolution (Strata NY 2013)
Corporate Evolution (Strata NY 2013)
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
 
How to Plan Purple Team Exercises
How to Plan Purple Team ExercisesHow to Plan Purple Team Exercises
How to Plan Purple Team Exercises
 
PT_OWASP_AUSTIN_2017
PT_OWASP_AUSTIN_2017PT_OWASP_AUSTIN_2017
PT_OWASP_AUSTIN_2017
 
Souders WPO Web2.0Expo
Souders WPO Web2.0ExpoSouders WPO Web2.0Expo
Souders WPO Web2.0Expo
 
High Performance Web Components
High Performance Web ComponentsHigh Performance Web Components
High Performance Web Components
 
State of the resource timing api
State of the resource timing apiState of the resource timing api
State of the resource timing api
 
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScaleGDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
 

Similaire à Faster websites

Mehr Performance für WordPress - WPFra
Mehr Performance für WordPress - WPFraMehr Performance für WordPress - WPFra
Mehr Performance für WordPress - WPFraWalter Ebert
 
Rum first london web perf meetup
Rum first   london web perf meetupRum first   london web perf meetup
Rum first london web perf meetupCliff Crocker
 
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014Amazon Web Services
 
Csdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer YahooCsdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer Yahooguestb1b95b
 
Experiments in Data Portability 2
Experiments in Data Portability 2Experiments in Data Portability 2
Experiments in Data Portability 2Glenn Jones
 
The Need For Speed
The Need For SpeedThe Need For Speed
The Need For SpeedAndy Davies
 
High Performance Web Sites
High Performance Web SitesHigh Performance Web Sites
High Performance Web SitesPáris Neto
 
High Performance Websites By Souders Steve
High Performance Websites By Souders SteveHigh Performance Websites By Souders Steve
High Performance Websites By Souders Stevew3guru
 
Speed Up Wordpress, Wordpress Horsepower
Speed Up Wordpress, Wordpress HorsepowerSpeed Up Wordpress, Wordpress Horsepower
Speed Up Wordpress, Wordpress HorsepowerRoss Johnson
 
Web performance optimization (WPO)
Web performance optimization (WPO)Web performance optimization (WPO)
Web performance optimization (WPO)Mariusz Kaczmarek
 
Its Time To Stop Stalling: Mobile App and Video Performance
Its Time To Stop Stalling: Mobile App and Video PerformanceIts Time To Stop Stalling: Mobile App and Video Performance
Its Time To Stop Stalling: Mobile App and Video PerformanceDoug Sillars
 
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital MarketersSearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital MarketersDistilled
 
Return Of The Browser Wars Ajax World West2007
Return Of The Browser Wars Ajax World West2007Return Of The Browser Wars Ajax World West2007
Return Of The Browser Wars Ajax World West2007John Eckman
 
Creating an Effective Mobile API
Creating an Effective Mobile API Creating an Effective Mobile API
Creating an Effective Mobile API Nick DeNardis
 
Parisjs fastvideoandimages
Parisjs fastvideoandimagesParisjs fastvideoandimages
Parisjs fastvideoandimagesDoug Sillars
 
10 Things Webdesigners tend to do Wrong in SEO - SMX 2014
10 Things Webdesigners tend to do Wrong in SEO  - SMX 201410 Things Webdesigners tend to do Wrong in SEO  - SMX 2014
10 Things Webdesigners tend to do Wrong in SEO - SMX 2014Timon Hartung
 
High Speed Web Sites At Scale
High Speed Web Sites At ScaleHigh Speed Web Sites At Scale
High Speed Web Sites At ScaleBuddy Brewer
 
Introduction to Responsive Web Design
Introduction to Responsive Web DesignIntroduction to Responsive Web Design
Introduction to Responsive Web DesignMelanie Burger
 
SEO 101 - Google Page Speed Insights Explained
SEO 101 - Google Page Speed Insights Explained SEO 101 - Google Page Speed Insights Explained
SEO 101 - Google Page Speed Insights Explained Steve Weber
 

Similaire à Faster websites (20)

Mehr Performance für WordPress - WPFra
Mehr Performance für WordPress - WPFraMehr Performance für WordPress - WPFra
Mehr Performance für WordPress - WPFra
 
Rum first london web perf meetup
Rum first   london web perf meetupRum first   london web perf meetup
Rum first london web perf meetup
 
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
 
Csdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer YahooCsdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer Yahoo
 
Experiments in Data Portability 2
Experiments in Data Portability 2Experiments in Data Portability 2
Experiments in Data Portability 2
 
The Need For Speed
The Need For SpeedThe Need For Speed
The Need For Speed
 
Plop
PlopPlop
Plop
 
High Performance Web Sites
High Performance Web SitesHigh Performance Web Sites
High Performance Web Sites
 
High Performance Websites By Souders Steve
High Performance Websites By Souders SteveHigh Performance Websites By Souders Steve
High Performance Websites By Souders Steve
 
Speed Up Wordpress, Wordpress Horsepower
Speed Up Wordpress, Wordpress HorsepowerSpeed Up Wordpress, Wordpress Horsepower
Speed Up Wordpress, Wordpress Horsepower
 
Web performance optimization (WPO)
Web performance optimization (WPO)Web performance optimization (WPO)
Web performance optimization (WPO)
 
Its Time To Stop Stalling: Mobile App and Video Performance
Its Time To Stop Stalling: Mobile App and Video PerformanceIts Time To Stop Stalling: Mobile App and Video Performance
Its Time To Stop Stalling: Mobile App and Video Performance
 
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital MarketersSearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
 
Return Of The Browser Wars Ajax World West2007
Return Of The Browser Wars Ajax World West2007Return Of The Browser Wars Ajax World West2007
Return Of The Browser Wars Ajax World West2007
 
Creating an Effective Mobile API
Creating an Effective Mobile API Creating an Effective Mobile API
Creating an Effective Mobile API
 
Parisjs fastvideoandimages
Parisjs fastvideoandimagesParisjs fastvideoandimages
Parisjs fastvideoandimages
 
10 Things Webdesigners tend to do Wrong in SEO - SMX 2014
10 Things Webdesigners tend to do Wrong in SEO  - SMX 201410 Things Webdesigners tend to do Wrong in SEO  - SMX 2014
10 Things Webdesigners tend to do Wrong in SEO - SMX 2014
 
High Speed Web Sites At Scale
High Speed Web Sites At ScaleHigh Speed Web Sites At Scale
High Speed Web Sites At Scale
 
Introduction to Responsive Web Design
Introduction to Responsive Web DesignIntroduction to Responsive Web Design
Introduction to Responsive Web Design
 
SEO 101 - Google Page Speed Insights Explained
SEO 101 - Google Page Speed Insights Explained SEO 101 - Google Page Speed Insights Explained
SEO 101 - Google Page Speed Insights Explained
 

Dernier

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 

Faster websites

Notes de l'éditeur

  1. Hallo Vorstellung Und mal ganz ehrlich: Jeder hasst langsame Websites. Was tun wir dagegen? Das was die Softwareentwickler immer machen: Wir erfinden eine 3-Buchstaben-Abkürzung
  2. Es gibt auch jede Menge interessante Marktstudien zum Thema web performance. Ich hab&apos; mal ein paar Hightlights zusammengetragen.
  3. Pro Sekunde Studie von 2008, nicht besser geworden
  4. Am spannendsten fand&apos; ich diese Grafik, die die Emotionale Seite zeigt. Zuverlässigkeit? Aber durchaus vorstellbar
  5. Auch Google hat sich damit beschäftigt. Sie behaupten sogar...
  6. Schließlich haben sie vor 3 Jahren sogar Ihren Ranking-Algorithmus angepasst.
  7. Tja … und dann hat sich in den letzen Jahren noch eine Änderung ergeben. AQ: (Hände oben lassen) 1. Wer besitzt ein IPhone? 2. Irgend eines mit Android? 3. Windows Mobile Phone? 4. Anderes Smartphone? 5. Wer von Ihnen findet dass Surfen auf dem Handy immer angenehm schnell? mobile Anbindungen hinken hinterher – deswegen ist hier PerformanceOptimierung noch wichtiger Die Gute Nachricht ist: Als Trainer und Consultant komme ich sehr viel herum und hab&apos; festgestellt – Entwickler...
  8. Es gibt auch jede Menge interessante Marktstudien zum Thema web performance. Ich hab&apos; mal ein paar Hightlights zusammengetragen.
  9. Also die meisten Entwickler
  10. .. lieben Performance. Manche sind gerade zu besessen davon. Ferrari Notebook
  11. Es wird also gebastelt und geschraubt: SQL Queries optimiert DB-Schema angepasst Funktionen ge-inlined Da wird optimiert bis zum umfallen um von 500 Req/s auf 510 Req/s zu kommen
  12. Das Ergebnis ist allerdings nicht immer wünschenswert
  13. Was leider immer noch oft vergessen wird. Wer kennt dieses Zitat? Wann war das?
  14. D.h. Es hilft nicht vorab blind zu optimieren. Es kommt drauf an, an der richtigen Stelle zu optimieren
  15. Dazu hat Steve Souders was zu sagen – speziell was den Web Bereich betrifft. Er hat nämlich 2007 festgestellt, dass 80%-90% der Wartzeit beim Anzeigen einer Webseite im Frontend verbrannt wird Er nennt das die
  16. Verdeutlichung am sogenannten Wasserfalldiagramm Es zeigt... Generierung des HTML-Dokuments auf dem Server: SQL, Businesslogik... Der Ganze Rest: Laden von Bildern, JavaScript, CSS, Rendern passiert im Frontend
  17. Auf dieser Basis Untersuchung letzes Jahr wiederholt … stellt fest, haut immer noch hin
  18. Eine andere interessante Feststellung: Backend Opt. =&gt; Skalierung viele parallel Visitors Front Opt. =&gt; Single User exp. Beginnend mit dem 1. User! Viele Visitors oder Jeder Einzelne Quantität vs. Qualität Starting with First User
  19. Schauen wir und mal typische Probleme an
  20. Aber was tue ich, wenn die Ladezeit zu hoch ist? Das liegt ja nicht nur an meiner Hardware Kauf ich dann meinen Besuchern bessere Hardware? Oder eine schnelle Anbindung?
  21. Anlehnung an SEO AQ: 1. Wer hat sich schon mal mit dem Thema beschäftigt → oder Aufklärungsarbeit 2. angewandt? 3. einige Erfahrung → (Raumwechsel :) Für die anderen: Warum ist web performance wichtig? Hören wir uns an, was Usability Experte Nielsen dazu zu sagen hat
  22. Dazu erstmal ein paar Grundlagen Wie bei allen Optimerungen Nicht Blind, Spec first, Ziel, wo wollen wir hin? Wann können wir aufhören? Was ist gut genug? Sonst weiß ich nicht, wann ich aufhören muss zu optimieren Wenn wir das haben...
  23. Dazu erstmal ein paar Grundlagen Wie bei allen Optimerungen Nicht Blind, Spec first, Ziel, wo wollen wir hin? Wann können wir aufhören? Was ist gut genug? Sonst weiß ich nicht, wann ich aufhören muss zu optimieren Wenn wir das haben... Spec first Know when to stop
  24. Don&apos;t optimize just somewhere Find the bottleneck and remove it
  25. Deswegen sind entsprechende Werkzeuge ganz wichtig. Das eine ist RUM – nein nicht das Getränk. Sondern Real User Metrics. Ich möchte wissen, wie lange dauert es wirklich bis meine Anwender eine Website sehen.
  26. Deswegen sind entsprechende Werkzeuge ganz wichtig. Das eine ist RUM – nein nicht das Getränk. Sondern Real User Metrics. Ich möchte wissen, wie lange dauert es wirklich bis meine Anwender eine Website sehen.
  27. Zum einen Latenz: Round Trip Time bedeuted: Die Zeit vom Absenden des Requests bis ich das erste Byte erhalte Und zum anderen Durchsatz
  28. Zum einen Latenz: Round Trip Time bedeuted: Die Zeit vom Absenden des Requests bis ich das erste Byte erhalte Und zum anderen Durchsatz
  29. Es gibt Unmengen an Optimierungstechniken und Optimierungs-Werkzeugen. Ich hab&apos; für den Vortrag nur ein paar wenige ausgewählt
  30. Souder Klassiker Oldi von 2007 Wird leider immer noch oft ignoriert Sehr leicht anzuwenden, Tolle Ergebnisse Vorführung
  31. Sehr einfach .. zu einfach Business Kritische sind ok. Aber oft werden Snippets ohne Nachdenken gepastet. Externes JS, kostet oft viel Zeit
  32. Eigentlich übertrieben das eine Technik zu nennen. Ok – sometimes there business critical, and you really really need them
  33. Just don&apos;t overuse them – think about External code can be very expensive.
  34. In den letzten Jahren ... 1 MB JS Script ist nicht ungewöhnlich Große Website, mehrere Teams, Jede hat ihre Lieblingsbibliothek
  35. Das Problem hat auch TF erkannt Sammlung von JS-Mini Bibliotheken ins Leben gerufen Zum Anderen setzen viele Leute jQuery ein. Zepto ist ein API-Kompatibler jQuery-Ersatz
  36. Souder Klassiker Oldi von 2007 Wird leider immer noch oft ignoriert Sehr leicht anzuwenden, Tolle Ergebnisse Vorführung
  37. Ein Problem: Was ist wenn sich an den Dateien (z.b. Bildern) nun tatsächlich was ändert. Der Browser frägt sie jetzt nicht mehr an. Beeindruckende Sammlung von Buzzwords Aber ganz einfache Technik
  38. Das ist gängige Praxis, aber... ...Nicht gut genug. JavaScript kann immer noch das rendering blockieren. Besser Async, kein document.writes! Das JS muss so programmiert sein, dass es nicht während des Seitenaufbaus benötigt wird SS hat die Technik nicht erfunden, aber eine sehr gute Variante in seinem Blog beschrieben Gesehen zum ersten mal bei Google Analytics
  39. Ja
  40. Das haben wir 1997 schon gemacht