SlideShare a Scribd company logo
1 of 56
Speed is Essential for a
Great Web Experience

@andydavies




Digicure
Oct 2012
                           http://www.flickr.com/photos/ahockley/3576838608
Performance isn’t always a priority




                           http://www.flickr.com/photos/randomidea/247994072
“Has it loaded yet?”


                       http://www.flickr.com/photos/kindofindie/4099768084
Our perception of response time

  Instant

       Seamless                                                   Yawn!




100ms 1s                                                         10s




                  Response Time in Man-computer Conversational Transactions
                                                     Robert B. Miller, 1968
Our perception of response time

  Instant

       Seamless                                                           Yawn!




100ms 1s                                                                 10s

            3s - Recommended         6.5s - Alexa 2000
                 Load Time               Fall 2012


                          Response Time in Man-computer Conversational Transactions
                                                             Robert B. Miller, 1968
“50% more concentration when using
       badly performing web sites”
                                                    Foviance
                  http://www.flickr.com/photos/yourdon/3366991042
Effect of delay on abandonment rate...




      Abandonment rate over 200+ sites / 177+ million page views over 2 weeks - http://www.measureworks.nl / Gomez
Bing did some experiments




     +1s
                            $/
                             - 2.8%
                                      +
Wallmart made some improvements




     -1s                      +2%
Shopzilla cut page load time by 5 seconds!



  +12%          +25%                                -50%

   $$$

                       http://velocityconf.com/velocity2009/public/schedule/detail/7709
Measuring page load time...


                              http://www.flickr.com/photos/wwarby/7109538317
Synthetic Monitoring

                    4



                    3
Response Time (s)




                    2



                    1



                    0
                        1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 16 27 28 29 30
                                                        September 2012
But these aren’t our visitors…


                            http://www.flickr.com/photos/br1dotcom/4297736794
These are our visitors


                         http://www.flickr.com/photos/yourdon/2681687374
Measure Real Users’ Experience

                         27%
Visitors (%)




                               13%



                    8%               8%
               6%                              6%

                                                               3%   3%
                                                          2%
                                                                         1%

               1    2    3     4     5         6          7    8    9    10
                                          Load Time (s)
Measure Real Users’ Experience

                         27%

                                                                              24%
Visitors (%)




                               13%



                    8%               8%
               6%                              6%

                                                               3%   3%
                                                          2%
                                                                         1%

               1    2    3     4     5         6          7    8    9    10   > 10
                                          Load Time (s)
Measuring Real Users - Google Analytics




Relies on Navigation Timing API, can add extra timing calls to page
Looking Deeper


                 http://www.flickr.com/photos/ohhector/3149051855
webpagetest.org
Waterfall for bbc.co.uk/news
mobitest.akamai.com
Bigger, Faster Servers?


                          http://www.flickr.com/photos/getbutterfly/6317955134
80% plus of page load time is on front-end

                                                                 Backend
 news.bbc.co.uk
                                                                 Frontend
      ebay.co.uk

debenhams.co.uk

   direct.gov.uk

   amazon.co.uk

  mumsnet.com

  guardian.co.uk

                   0   1.25          2.5                3.75                5

                              Measured on residential ADSL line using Chrome 19
Fix slow server responses first




    4 seconds!
Bandwidth (often) isn’t the bottleneck



2.0

1.5

1.0

0.5


  0s                   5s                                      10s

                 news.bbc.co.uk tested via webpagetest.org throttled at 1.5Mbps
                                    (bursts over 1.5Mbps are artefact of testing)
“More Bandwidth Doesn’t Matter (much)”
                                                                                    Mike Belshe




                 3.11s
Page Load Time




                         1.95s
                                 1.63s
                                         1.50s    1.44s    1.41s    1.39s   1.38s     1.37s   1.36s




                  1       2       3       4         5       6        7       8          9         10
                                                 Bandwidth (Mbps)
Impact of Latency


                     4



                     3
Page Load Time (s)




                     2



                     1




                         0   20   40   60   80    100    120    140     160   180   200   220   240
                                                 Round Trip Time (ms)
Minimum round trips to download a file

                                                             (TCP Segments)
285kB


214kB


143kB


 71kB

 Size
        1   2    3    4   5   6     7      8      9     10      11

        Round Trips               TCP and the Lower Bound of Web Performance
                                                                  John Rauser
Going Faster…




                http://www.flickr.com/photos/mikebaird/2464769129/
Put your pages on a diet
                           http://www.flickr.com/photos/europedistrict/4537909259
Cut down number of HTTP requests
Move the content closer


                          http://www.flickr.com/photos/jamesjordan/2198988999
Organise content so it’s easy to load




                            http://www.flickr.com/photos/jemsweb/4363548805
What’s the web made of?

                                                         Images
                                                         Scripts
                                                         Stylesheets
                                                         HTML
                                                         Flash
                                                         Other




                   Composition of ‘average’ web page via httparchive.org
Images are 64% of an ‘average’ web page




                        http://www.flickr.com/photos/zaprittsky/4520788183/
Bitmapped Images




    JPEG                            PNG                           GIF


       Optimise, Optimise, Optimise!
           (jpegmini, pngmini, Smush.it, ImageOptim, Gifsicle etc.)
New Devices, New Challenges...




                2 x Resolution = 4 x Pixels!

                           http://www.flickr.com/photos/roopaw/6985954465
Some Alternatives




     CSS                SVG                Fonts


   Watch SVG sizes not always smaller than bitmap!
Don’t block the browser...




                             http://www.flickr.com/photos/barteko/6128499314
news.bbcimg.co.uk
                         static.bbc.co.uk




Browsers can download resources in parallel
But Sometimes... The Waterfall of Doom!




                  2 seconds! (nearly)
The Script Tag



        <script src=″…″></script>
The Script Tag



         <script src=″…″></script>



    Until the script has executed, the rendering of
            all elements below is blocked!
“Virgin Media Broadband ISP Users
Affected by Website Routing Woes”
                                                            ISP Review, May 26, 2012




Customer jcmm33 said:
“Same issue here as well, been like this all day. Sites like
autotrader.co.uk don’t appear to be accessible, others like
the telegraph.co.uk are waiting on other components to
download (content from sites like cg-global.maxymiser.com,
pixel.quantserve.com).”



     http://www.ispreview.co.uk/index.php/2012/05/uk-virgin-media-broadband-isp-users-affected-by-website-routing-woes.html
Impact on The Telegraph…




                           http://bit.ly/Ncy7Rd
Impact on The Telegraph…




                           http://bit.ly/Ncy7Rd
Impact on The Telegraph…




Same issue affected many other sites   http://bit.ly/Ncy7Rd
Load Third Party scripts asynchronously


 <script type="text/javascript">
   function() {
     var js = document.createElement('script');
     js.async = true;
     js.src = 'myscript.js';
     var e = document.getElementsByTagName('script')[0];
     e.parentNode.insertBefore(js, first);
   })();
 </script>




 async attribute may be option but not supported by IE & Opera
The Challenge of Mobile

                          http://www.flickr.com/photos/cubicgarden/3281555681
Argh... My brain hurts!

                          http://www.flickr.com/photos/corneveaux/3248566797
Don’t have to do it all by hand

            http://www.flickr.com/photos/simeon_barkas/2557059247
Performance isn’t just for Christmas

                     Measure




          Optimise             Analyse
Measure Impact on Business Goals




                           http://www.flickr.com/photos/safari_vacation/5961260280
http://www.flickr.com/photos/jurvetson/6212582593
@andydavies
         andy@asteno.com
http://www.slideshare.net/andydavies




                       http://www.flickr.com/photos/auntiep/5024494612
Credits


All photographs copyright original owners on flickr.com

Following pictograms courtesy of The Noun Project

More Related Content

Viewers also liked

Digicure Web Performance Seminar
Digicure Web Performance SeminarDigicure Web Performance Seminar
Digicure Web Performance SeminarDigicure ApS
 
Javiera Escobar PORTAFOLIO
Javiera Escobar PORTAFOLIOJaviera Escobar PORTAFOLIO
Javiera Escobar PORTAFOLIOjopoland
 
Grammar book sp2 h
Grammar book sp2 hGrammar book sp2 h
Grammar book sp2 hMikey Caloca
 
God performance = God priotering
God performance = God prioteringGod performance = God priotering
God performance = God prioteringDigicure ApS
 
Expansion Strategy for an Energy Company
Expansion Strategy for an Energy CompanyExpansion Strategy for an Energy Company
Expansion Strategy for an Energy CompanyDavid Kolapudi
 

Viewers also liked (8)

Digicure Web Performance Seminar
Digicure Web Performance SeminarDigicure Web Performance Seminar
Digicure Web Performance Seminar
 
Grammar book
Grammar bookGrammar book
Grammar book
 
Javiera Escobar PORTAFOLIO
Javiera Escobar PORTAFOLIOJaviera Escobar PORTAFOLIO
Javiera Escobar PORTAFOLIO
 
Grammar book sp2 h
Grammar book sp2 hGrammar book sp2 h
Grammar book sp2 h
 
Days
DaysDays
Days
 
Lazarevac4а
Lazarevac4аLazarevac4а
Lazarevac4а
 
God performance = God priotering
God performance = God prioteringGod performance = God priotering
God performance = God priotering
 
Expansion Strategy for an Energy Company
Expansion Strategy for an Energy CompanyExpansion Strategy for an Energy Company
Expansion Strategy for an Energy Company
 

Similar to Speed is Essential for a Great Web Experience

Web Performance - A Whistlestop Tour
Web Performance - A Whistlestop TourWeb Performance - A Whistlestop Tour
Web Performance - A Whistlestop TourAndy Davies
 
Speed is Essential for a Great Web Experience
Speed is Essential for a Great Web ExperienceSpeed is Essential for a Great Web Experience
Speed is Essential for a Great Web ExperienceAndy Davies
 
Speed is Essential for a Great Web Experience
Speed is Essential for a Great Web ExperienceSpeed is Essential for a Great Web Experience
Speed is Essential for a Great Web ExperienceAndy Davies
 
Speed is Essential for a Great Web Experience (Digicure - Copenhagen)
Speed is Essential for a Great Web Experience (Digicure - Copenhagen)Speed is Essential for a Great Web Experience (Digicure - Copenhagen)
Speed is Essential for a Great Web Experience (Digicure - Copenhagen)Andy Davies
 
Traffic Analyzer for GPRS UMTS Networks (TAN)
Traffic Analyzer for GPRS UMTS Networks (TAN)Traffic Analyzer for GPRS UMTS Networks (TAN)
Traffic Analyzer for GPRS UMTS Networks (TAN)Muhannad Aulama
 
Speed matters - measuring front-end web performance
Speed matters - measuring front-end web performanceSpeed matters - measuring front-end web performance
Speed matters - measuring front-end web performanceMark Zeman
 
Why Performance Matters
Why Performance MattersWhy Performance Matters
Why Performance MattersBen Daniel
 
Web Performance 101
Web Performance 101Web Performance 101
Web Performance 101Uri Lavi
 
Faster Frontends
Faster FrontendsFaster Frontends
Faster FrontendsAndy Davies
 
Democratization of IT - october 18 - 20m
Democratization of IT - october 18 - 20mDemocratization of IT - october 18 - 20m
Democratization of IT - october 18 - 20mAlistair Croll
 
The web is too slow
The web is too slow The web is too slow
The web is too slow Andy Davies
 
High Performance Web Design
High Performance Web DesignHigh Performance Web Design
High Performance Web DesignKoji Ishimoto
 
MeasureWorks - 7 web performance concerns for marketeers
MeasureWorks - 7 web performance concerns for marketeersMeasureWorks - 7 web performance concerns for marketeers
MeasureWorks - 7 web performance concerns for marketeersMeasureWorks
 
Web Performance 101 - Gil Givati
Web Performance 101 - Gil GivatiWeb Performance 101 - Gil Givati
Web Performance 101 - Gil GivatiMika Josting
 
Creating an Effective Mobile API
Creating an Effective Mobile API Creating an Effective Mobile API
Creating an Effective Mobile API Nick DeNardis
 
RubyConf 2012: Custom Reverse Proxies
RubyConf 2012: Custom Reverse ProxiesRubyConf 2012: Custom Reverse Proxies
RubyConf 2012: Custom Reverse Proxiesnickblah
 
eCommerce performance, what is it costing you and what can you do about it?
eCommerce performance, what is it costing you and what can you do about it?eCommerce performance, what is it costing you and what can you do about it?
eCommerce performance, what is it costing you and what can you do about it?Peter Holditch
 
eCommerce Performance: What is it costing you, and what can you do about it? ...
eCommerce Performance: What is it costing you, and what can you do about it? ...eCommerce Performance: What is it costing you, and what can you do about it? ...
eCommerce Performance: What is it costing you, and what can you do about it? ...Internet World
 

Similar to Speed is Essential for a Great Web Experience (20)

Web Performance - A Whistlestop Tour
Web Performance - A Whistlestop TourWeb Performance - A Whistlestop Tour
Web Performance - A Whistlestop Tour
 
Speed is Essential for a Great Web Experience
Speed is Essential for a Great Web ExperienceSpeed is Essential for a Great Web Experience
Speed is Essential for a Great Web Experience
 
Speed is Essential for a Great Web Experience
Speed is Essential for a Great Web ExperienceSpeed is Essential for a Great Web Experience
Speed is Essential for a Great Web Experience
 
Speed is Essential for a Great Web Experience (Digicure - Copenhagen)
Speed is Essential for a Great Web Experience (Digicure - Copenhagen)Speed is Essential for a Great Web Experience (Digicure - Copenhagen)
Speed is Essential for a Great Web Experience (Digicure - Copenhagen)
 
Traffic Analyzer for GPRS UMTS Networks (TAN)
Traffic Analyzer for GPRS UMTS Networks (TAN)Traffic Analyzer for GPRS UMTS Networks (TAN)
Traffic Analyzer for GPRS UMTS Networks (TAN)
 
Speed matters - measuring front-end web performance
Speed matters - measuring front-end web performanceSpeed matters - measuring front-end web performance
Speed matters - measuring front-end web performance
 
Why Performance Matters
Why Performance MattersWhy Performance Matters
Why Performance Matters
 
Web Performance 101
Web Performance 101Web Performance 101
Web Performance 101
 
Faster Frontends
Faster FrontendsFaster Frontends
Faster Frontends
 
Democratization of IT - october 18 - 20m
Democratization of IT - october 18 - 20mDemocratization of IT - october 18 - 20m
Democratization of IT - october 18 - 20m
 
The web is too slow
The web is too slow The web is too slow
The web is too slow
 
High Performance Web Design
High Performance Web DesignHigh Performance Web Design
High Performance Web Design
 
MeasureWorks - 7 web performance concerns for marketeers
MeasureWorks - 7 web performance concerns for marketeersMeasureWorks - 7 web performance concerns for marketeers
MeasureWorks - 7 web performance concerns for marketeers
 
Web Performance 101 - Gil Givati
Web Performance 101 - Gil GivatiWeb Performance 101 - Gil Givati
Web Performance 101 - Gil Givati
 
Creating an Effective Mobile API
Creating an Effective Mobile API Creating an Effective Mobile API
Creating an Effective Mobile API
 
RubyConf 2012: Custom Reverse Proxies
RubyConf 2012: Custom Reverse ProxiesRubyConf 2012: Custom Reverse Proxies
RubyConf 2012: Custom Reverse Proxies
 
Speed Matters!
Speed Matters!Speed Matters!
Speed Matters!
 
eCommerce performance, what is it costing you and what can you do about it?
eCommerce performance, what is it costing you and what can you do about it?eCommerce performance, what is it costing you and what can you do about it?
eCommerce performance, what is it costing you and what can you do about it?
 
eCommerce Performance: What is it costing you, and what can you do about it? ...
eCommerce Performance: What is it costing you, and what can you do about it? ...eCommerce Performance: What is it costing you, and what can you do about it? ...
eCommerce Performance: What is it costing you, and what can you do about it? ...
 
Cork ux Meetup
Cork ux MeetupCork ux Meetup
Cork ux Meetup
 

Recently uploaded

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 

Recently uploaded (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 

Speed is Essential for a Great Web Experience

  • 1. Speed is Essential for a Great Web Experience @andydavies Digicure Oct 2012 http://www.flickr.com/photos/ahockley/3576838608
  • 2. Performance isn’t always a priority http://www.flickr.com/photos/randomidea/247994072
  • 3. “Has it loaded yet?” http://www.flickr.com/photos/kindofindie/4099768084
  • 4. Our perception of response time Instant Seamless Yawn! 100ms 1s 10s Response Time in Man-computer Conversational Transactions Robert B. Miller, 1968
  • 5. Our perception of response time Instant Seamless Yawn! 100ms 1s 10s 3s - Recommended 6.5s - Alexa 2000 Load Time Fall 2012 Response Time in Man-computer Conversational Transactions Robert B. Miller, 1968
  • 6. “50% more concentration when using badly performing web sites” Foviance http://www.flickr.com/photos/yourdon/3366991042
  • 7. Effect of delay on abandonment rate... Abandonment rate over 200+ sites / 177+ million page views over 2 weeks - http://www.measureworks.nl / Gomez
  • 8. Bing did some experiments +1s $/ - 2.8% +
  • 9. Wallmart made some improvements -1s +2%
  • 10. Shopzilla cut page load time by 5 seconds! +12% +25% -50% $$$ http://velocityconf.com/velocity2009/public/schedule/detail/7709
  • 11. Measuring page load time... http://www.flickr.com/photos/wwarby/7109538317
  • 12. Synthetic Monitoring 4 3 Response Time (s) 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 16 27 28 29 30 September 2012
  • 13. But these aren’t our visitors… http://www.flickr.com/photos/br1dotcom/4297736794
  • 14. These are our visitors http://www.flickr.com/photos/yourdon/2681687374
  • 15. Measure Real Users’ Experience 27% Visitors (%) 13% 8% 8% 6% 6% 3% 3% 2% 1% 1 2 3 4 5 6 7 8 9 10 Load Time (s)
  • 16. Measure Real Users’ Experience 27% 24% Visitors (%) 13% 8% 8% 6% 6% 3% 3% 2% 1% 1 2 3 4 5 6 7 8 9 10 > 10 Load Time (s)
  • 17. Measuring Real Users - Google Analytics Relies on Navigation Timing API, can add extra timing calls to page
  • 18. Looking Deeper http://www.flickr.com/photos/ohhector/3149051855
  • 22. Bigger, Faster Servers? http://www.flickr.com/photos/getbutterfly/6317955134
  • 23. 80% plus of page load time is on front-end Backend news.bbc.co.uk Frontend ebay.co.uk debenhams.co.uk direct.gov.uk amazon.co.uk mumsnet.com guardian.co.uk 0 1.25 2.5 3.75 5 Measured on residential ADSL line using Chrome 19
  • 24. Fix slow server responses first 4 seconds!
  • 25. Bandwidth (often) isn’t the bottleneck 2.0 1.5 1.0 0.5 0s 5s 10s news.bbc.co.uk tested via webpagetest.org throttled at 1.5Mbps (bursts over 1.5Mbps are artefact of testing)
  • 26. “More Bandwidth Doesn’t Matter (much)” Mike Belshe 3.11s Page Load Time 1.95s 1.63s 1.50s 1.44s 1.41s 1.39s 1.38s 1.37s 1.36s 1 2 3 4 5 6 7 8 9 10 Bandwidth (Mbps)
  • 27. Impact of Latency 4 3 Page Load Time (s) 2 1 0 20 40 60 80 100 120 140 160 180 200 220 240 Round Trip Time (ms)
  • 28. Minimum round trips to download a file (TCP Segments) 285kB 214kB 143kB 71kB Size 1 2 3 4 5 6 7 8 9 10 11 Round Trips TCP and the Lower Bound of Web Performance John Rauser
  • 29. Going Faster… http://www.flickr.com/photos/mikebaird/2464769129/
  • 30. Put your pages on a diet http://www.flickr.com/photos/europedistrict/4537909259
  • 31. Cut down number of HTTP requests
  • 32. Move the content closer http://www.flickr.com/photos/jamesjordan/2198988999
  • 33. Organise content so it’s easy to load http://www.flickr.com/photos/jemsweb/4363548805
  • 34. What’s the web made of? Images Scripts Stylesheets HTML Flash Other Composition of ‘average’ web page via httparchive.org
  • 35. Images are 64% of an ‘average’ web page http://www.flickr.com/photos/zaprittsky/4520788183/
  • 36. Bitmapped Images JPEG PNG GIF Optimise, Optimise, Optimise! (jpegmini, pngmini, Smush.it, ImageOptim, Gifsicle etc.)
  • 37. New Devices, New Challenges... 2 x Resolution = 4 x Pixels! http://www.flickr.com/photos/roopaw/6985954465
  • 38. Some Alternatives CSS SVG Fonts Watch SVG sizes not always smaller than bitmap!
  • 39. Don’t block the browser... http://www.flickr.com/photos/barteko/6128499314
  • 40. news.bbcimg.co.uk static.bbc.co.uk Browsers can download resources in parallel
  • 41. But Sometimes... The Waterfall of Doom! 2 seconds! (nearly)
  • 42. The Script Tag <script src=″…″></script>
  • 43. The Script Tag <script src=″…″></script> Until the script has executed, the rendering of all elements below is blocked!
  • 44. “Virgin Media Broadband ISP Users Affected by Website Routing Woes” ISP Review, May 26, 2012 Customer jcmm33 said: “Same issue here as well, been like this all day. Sites like autotrader.co.uk don’t appear to be accessible, others like the telegraph.co.uk are waiting on other components to download (content from sites like cg-global.maxymiser.com, pixel.quantserve.com).” http://www.ispreview.co.uk/index.php/2012/05/uk-virgin-media-broadband-isp-users-affected-by-website-routing-woes.html
  • 45. Impact on The Telegraph… http://bit.ly/Ncy7Rd
  • 46. Impact on The Telegraph… http://bit.ly/Ncy7Rd
  • 47. Impact on The Telegraph… Same issue affected many other sites http://bit.ly/Ncy7Rd
  • 48. Load Third Party scripts asynchronously <script type="text/javascript"> function() { var js = document.createElement('script'); js.async = true; js.src = 'myscript.js'; var e = document.getElementsByTagName('script')[0]; e.parentNode.insertBefore(js, first); })(); </script> async attribute may be option but not supported by IE & Opera
  • 49. The Challenge of Mobile http://www.flickr.com/photos/cubicgarden/3281555681
  • 50. Argh... My brain hurts! http://www.flickr.com/photos/corneveaux/3248566797
  • 51. Don’t have to do it all by hand http://www.flickr.com/photos/simeon_barkas/2557059247
  • 52. Performance isn’t just for Christmas Measure Optimise Analyse
  • 53. Measure Impact on Business Goals http://www.flickr.com/photos/safari_vacation/5961260280
  • 55. @andydavies andy@asteno.com http://www.slideshare.net/andydavies http://www.flickr.com/photos/auntiep/5024494612
  • 56. Credits All photographs copyright original owners on flickr.com Following pictograms courtesy of The Noun Project

Editor's Notes

  1. Andy Davies\n\nSpecialise in making web sites faster, more reliable and helping them scale as they grow\n\nSlides complete will go on Slideshare in the next day or so\n\nIf anyone has any questions or comments feel free to send me a tweet...\n\n\n
  2. \n
  3. \n
  4. How we perceive response times\n\nStrangeloop Networks research into load times of Alexia Top 2000 ecommerce sites \n - Average page load time 11.21s\n - Best 2.2x, worst 40.2s!\n - Only 13 loaded in less that 5s\n\nOur perception of load time is off:\n- Our expectation is faster\n- Perceive load time as 15% slower than reality\n- Recount experience as 35% slower\nStoyan Stefanov - Psychology of Performance\n
  5. Retail task - find and buy a laptop on a leading e-commerce site\nInsurance task - find and buy personal travel insurance on an insurance website. \nEEG &amp; EOG, camera\n
  6. \n\nAlso people&amp;#x2019;s perception of time is faulty... (Stoyan Stefanov, Psychology of Performance)\n - Average person perceives page takes 15% longer to load that reality\n - Will recount it as 35% longer when talking to others\n\n
  7. Google - 400ms delay- searches down 0.6%\nAmazon - 100 ms delay - sales down 1%\n
  8. Walmart2% increase in conversion rate for every 1 second reduction\n
  9. ShopzillaUptime 99.51% &gt; 99.97\n\nMozillareduced load time by 2.2 secs = 60 million extra downloads / year\n\nYahootraffic went up 9% for every 400ms improvement\n\nNetflix: Reduced outbound bandwidth by 43%\n\nKerboodle: Reduced hosting costs by over &amp;#x20AC;30,000 per year\n\n
  10. How many have websites?\n\nHow many think theirs is fast?\n\nHow many measure?\n
  11. \n
  12. \n
  13. \n
  14. We are not real users...\n\n&amp;#x201C;My own developer hardware is not representative of the real world, and will be mindful of limited hardware, poor latency, and low bandwidth situations&amp;#x201D;\nA Front End Engineer&amp;#x2019;s Manifesto\n@zachleat\nhttp://f2em.com/\n\nActual page load times from a real site, note huge peak of over 10 seconds\n\nMany external factors can affect page load time:\n\n- Browser\n- How they are connected ADSL / mobile / public WiFi\n- Bandwidth\n- Latency\n- Anti-virus\n- Network kit\n- etc\n\nThese factors are beyond our control but to get a true picture of page load times we must measure them in the visitors browser.\n
  15. \n
  16. Navigation Timing API \n - Firefox 7+, IE9+, Chrome 6+, Chrome on ICS\n - NO SAFARI - OS X or iOS!!!\n\nCan script to add extra timings\n\nLow sample rate\n\nAverages!!!\n\nIncrease sample rate from 1% to 100% add:\n\n_gaq.push([&apos;_setSiteSpeedSampleRate&apos;, 100]);\n\nPage load time data collected by default since 16th Nov 2011\n\nGood description of how it works on StackOverflow\n\n
  17. \n
  18. \n
  19. \n
  20. \n
  21. Some server performance issues can be improved by throwing hardware at it e.g. faster processors, more RAM (Databases love RAM), faster disks.\n\nBut should still look at optimising the back-end as it&amp;#x2019;s an important part of the picture e.g. DB tuning, architectures, reverse proxies etc.\n\nEven without tuning the server can still improve page load times by &amp;#x201C;flushing early&amp;#x201D;\n\n
  22. Even higher on mobile\n
  23. \n
  24. Bursting over 1.5Mbps = Testing Artefact\n
  25. Mike Belshe - &amp;#x201C;More Bandwidth Doesn&amp;#x2019;t Matter (much)&amp;#x201D;\n(http://www.chromium.org/spdy/More_Bandwidth_Doesn_t_Matter_2_%282%29.pdf)\n\nBandwidth - Throughput, how much can be download in a given time\nLatency - Time between making the request and receiving the response\nTCP Slow-start - new connections take time to work up to &amp;#x2018;max&amp;#x2019; throughput\n\nConnections aren&amp;#x2019;t synchronous e.g. ADSL - faster download than upload, so requests are much slower (but fortunately generally smaller)\n\n\n
  26. Mike Belshe - &amp;#x201C;More Bandwidth Doesn&amp;#x2019;t Matter (much)&amp;#x201D;\n(http://www.chromium.org/spdy/More_Bandwidth_Doesn_t_Matter_2_%282%29.pdf)\n\nBandwidth - Throughput, how much can be download in a given time\nLatency - Time between making the request and receiving the response\nTCP Slow-start - new connections take time to work up to &amp;#x2018;max&amp;#x2019; throughput\n\nConnections aren&amp;#x2019;t synchronous e.g. ADSL - faster download than upload, so requests are much slower (but fortunately generally smaller)\n\n\n
  27. \n
  28. \n
  29. Compress (gzip / deflate) all text based content - html, js, css, xml, json (and other uncompressed components e.g. ico)\n\nMinify JS and CSS (not everyone can get gzipped content)\n\nOptimise images: correct format + tools \n- jpg: lossy\n- png: lossless (often more efficient than gif. Photoshop screws up transparency)\n- gif:animated \n\nGreat reference for image optimisation - http://www.bookofspeed.com/chapter5.html\nhttp://jpegmini.com is a new tool for crunching jpegs, uses perceptual encoding, good results\n\nUse CSS / SVG / Canvas instead of images e.g. rounded corners\n\nLean markup\n- html: avoid DIVitis, HTML5 can be more brief\n- css: @stubornella&amp;#x2019;s OOCSS (https://github.com/stubbornella/oocss/wiki/faq)\n\nStatic content from cookieless domains (but should CSS come from the same domain?)\n\nRemove superfluous headers\n
  30. Merge up\n - CSS\n - JS\n\n - CSS sprites\n - Datauri&amp;#x2019;s\n - Pictogram fonts \n - Standard characters\n\nLazy load e.g. images\n\n
  31. \n
  32. \n
  33. 64%\n
  34. Images form on average 59% of site content (exc video and audio) \n\nRetina displays complicate things - time for vectors / fonts?\n
  35. What about PNGs and transparency? - need to cover the issues\n
  36. \n
  37. Watch CSS effects on mobile\n\nCheck size - map is actually smaller as PNG 22.7KB / SVG 108KB!\n\nFont - Heydings by Heydon Works\n
  38. \n
  39. \n
  40. \n
  41. \n
  42. Also CSS and fonts - anything that can block\ncg-global.maxymiser.com\n
  43. What if they are slow? down? Or even blocked - country, corporate firewall etc.?\n\nStart render 3.7s vs 24.5s\n\nLoad8s vs 30.4s\n\nLateRooms, Autotrader plus many others... for three days (started on a Fri)!!!\n
  44. What if they are slow? down? Or even blocked - country, corporate firewall etc.?\n\nStart render 3.7s vs 24.5s\n\nLoad8s vs 30.4s\n\nLateRooms, Autotrader plus many others... for three days (started on a Fri)!!!\n
  45. Don&amp;#x2019;t blindly add third party scripts to a site\n\nMany social sites now have async versions, use the latest snippet.\n\nAddThis doesn&amp;#x2019;t - don&amp;#x2019;t use it\n\nOpenDNS blocked Google&amp;#x2019;s jQuery CDN!\n\nh5bp includes html5shiv from googlecode - it&amp;#x2019;s only 1KB, quicker to load from own site\n
  46. \n
  47. \n
  48. Some things can be automated e.g. compression, minification, merging, image compression plus more sophisticated optimisations.\n\nFrom plugins for Wordpress and web servers, appliances that sit in front of your server farm through to cloud-based optimisation services.\n\nOther are a little more difficult e.g. flush early, improving backed performance, asynchronous loading scripts etc.\n\nAutomation products / tools...\n\nFramework support\n Asset pipeline (Rails)\n Resources plugin (Grails)\n Webassets (Python)\n Assetic (PHP)\n\nCMS plugins\n - W3 Total Cache for Wordpress\n\nServer plugins\n - mod_pagespeed (Apache)\n - reduce requests (IIS)\n - Aptimize (IIS) (&amp;#xA3;)\n - Webo (&amp;#xA3;)\n\nAppliances\n - Strangeloop (&amp;#xA3;)\n - Traditional ADCs do some of this e.g. compression\n\nCloud services\n - Strangeloop (&amp;#xA3;)\n - Torbit (&amp;#xA3;)\n - Blaze.io (&amp;#xA3;)\n - Yotta (&amp;#xA3;)\n - Google&amp;#x2019;s PageSpeed service\n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n