Extending Boomerang

  Philip Tellis / philip@bluesmoon.info



           HTML5 Dev Conf / 2013-04-02




HTML5 Dev Conf / 2013-04-02   Extending Boomerang   1
• Philip Tellis
• @bluesmoon
• philip@bluesmoon.info
• performance / security
• javascript




       HTML5 Dev Conf / 2013-04-02   Extending Boomerang   2
I really like to study performance on the web




   HTML5 Dev Conf / 2013-04-02   Extending Boomerang   3
0
                       History



HTML5 Dev Conf / 2013-04-02   Extending Boomerang   4
Jean-Antoine Nollet – 1746




          HTML5 Dev Conf / 2013-04-02   Extending Boomerang   5
260 years later. . .




HTML5 Dev Conf / 2013-04-02   Extending Boomerang   6
Measure real user to get the real picture




           HTML5 Dev Conf / 2013-04-02   Extending Boomerang   7
Real Users




     • Get delighted
     • Get frustrated
     • Have credit cards
     • ... that they are attached to
     • Form an impression from experience




             HTML5 Dev Conf / 2013-04-02   Extending Boomerang   8
Real Users




     • Get delighted
     • Get frustrated
     • Have credit cards
     • ... that they are attached to
     • Form an impression from experience




             HTML5 Dev Conf / 2013-04-02   Extending Boomerang   8
Real Users




     • Get delighted
     • Get frustrated
     • Have credit cards
     • ... that they are attached to
     • Form an impression from experience




             HTML5 Dev Conf / 2013-04-02   Extending Boomerang   8
Real Users




     • Get delighted
     • Get frustrated
     • Have credit cards
     • ... that they are attached to
     • Form an impression from experience




             HTML5 Dev Conf / 2013-04-02   Extending Boomerang   8
Real Users




     • Get delighted
     • Get frustrated
     • Have credit cards
     • ... that they are attached to
     • Form an impression from experience




             HTML5 Dev Conf / 2013-04-02   Extending Boomerang   8
1
                  boomerang



HTML5 Dev Conf / 2013-04-02   Extending Boomerang   9
Real User Measurement
                 –
  github.com/lognormal/boomerang




HTML5 Dev Conf / 2013-04-02   Extending Boomerang   10
What can we measure?




HTML5 Dev Conf / 2013-04-02   Extending Boomerang   11
Anything that the user does!




HTML5 Dev Conf / 2013-04-02   Extending Boomerang   12
NavTiming – W3C Candidate Recommendation




         HTML5 Dev Conf / 2013-04-02   Extending Boomerang   13
Browser Support for NavTiming – April 2013




          HTML5 Dev Conf / 2013-04-02   Extending Boomerang   14
Real Users don’t always use ideal browsers




  HTML5 Dev Conf / 2013-04-02   Extending Boomerang   15
So there’s a lot of magic to support the other 33.2%




       HTML5 Dev Conf / 2013-04-02   Extending Boomerang   16
boomerang




    • BSD licensed
    • Measure load time, bandwidth, latency
    • DNS lookup time, NavTiming, Connection Type
    • Page Parameters
    • And anything else you can write a plugin for




            HTML5 Dev Conf / 2013-04-02   Extending Boomerang   17
And it beacons all of this back to a predefined URL




      HTML5 Dev Conf / 2013-04-02   Extending Boomerang   18
boomerang is only a beaconing system, functionality
              is added with plugins




      HTML5 Dev Conf / 2013-04-02   Extending Boomerang   19
2
          Let’s get hacking



HTML5 Dev Conf / 2013-04-02   Extending Boomerang   20
Get the code from github




      https://github.com/bluesmoon/boomerang-sample-plugin

     • branches are steps
     • commit logs are explanations




           HTML5 Dev Conf / 2013-04-02   Extending Boomerang   21
3
                     Fun stuff



HTML5 Dev Conf / 2013-04-02   Extending Boomerang   22
Spot the datacenter




           HTML5 Dev Conf / 2013-04-02   Extending Boomerang   23
It’s actually in Nederland




           HTML5 Dev Conf / 2013-04-02   Extending Boomerang   24
How does bandwidth change around the world?




          HTML5 Dev Conf / 2013-04-02   Extending Boomerang   25
What does a website’s performance distribution look
                      like?




      HTML5 Dev Conf / 2013-04-02   Extending Boomerang   26
That’s my Blog (please visit)




           HTML5 Dev Conf / 2013-04-02   Extending Boomerang   27
Log-normal distribution




           HTML5 Dev Conf / 2013-04-02   Extending Boomerang   28
Bimodal distribution




           HTML5 Dev Conf / 2013-04-02   Extending Boomerang   29
Did you know that IE7 seems to be faster than IE8?




      HTML5 Dev Conf / 2013-04-02   Extending Boomerang   30
But that’s mostly IE9 users browsing in IE7
           compatibility mode.




  HTML5 Dev Conf / 2013-04-02   Extending Boomerang   31
Did you know that users bounce if a page is too
                   fast?




    HTML5 Dev Conf / 2013-04-02   Extending Boomerang   32
But that’s mostly because error pages are the fastest.




       HTML5 Dev Conf / 2013-04-02   Extending Boomerang   33
Did you know that user patience wrt performance is
               a cultural thing?




      HTML5 Dev Conf / 2013-04-02   Extending Boomerang   34
It’s tied both to where a user is from, and also the
                  type of service.




     HTML5 Dev Conf / 2013-04-02   Extending Boomerang   35
User Engagement: LD50




         HTML5 Dev Conf / 2013-04-02   Extending Boomerang   36
Summary




      Measure → Hypothesize → Test → Fix
                ← Repeat ←




          HTML5 Dev Conf / 2013-04-02   Extending Boomerang   37
Thank You!
                        Questions?




HTML5 Dev Conf / 2013-04-02   Extending Boomerang   38
Sources




     • Jean-Antoine Nollet from Wikimedia Commons
       http://commons.wikimedia.org/wiki/File%3AJean-Antoine_Nollet.jpg

     • Steve Souders by weboo on flickr
       http://www.flickr.com/photos/weboo/2539831515/




               HTML5 Dev Conf / 2013-04-02        Extending Boomerang     39
• Philip Tellis
• @bluesmoon
• philip@bluesmoon.info
• www.SOASTA.com
• boomerang
• LogNormal Blog




       HTML5 Dev Conf / 2013-04-02   Extending Boomerang   40

Extending Boomerang

  • 1.
    Extending Boomerang Philip Tellis / philip@bluesmoon.info HTML5 Dev Conf / 2013-04-02 HTML5 Dev Conf / 2013-04-02 Extending Boomerang 1
  • 2.
    • Philip Tellis •@bluesmoon • philip@bluesmoon.info • performance / security • javascript HTML5 Dev Conf / 2013-04-02 Extending Boomerang 2
  • 3.
    I really liketo study performance on the web HTML5 Dev Conf / 2013-04-02 Extending Boomerang 3
  • 4.
    0 History HTML5 Dev Conf / 2013-04-02 Extending Boomerang 4
  • 5.
    Jean-Antoine Nollet –1746 HTML5 Dev Conf / 2013-04-02 Extending Boomerang 5
  • 6.
    260 years later.. . HTML5 Dev Conf / 2013-04-02 Extending Boomerang 6
  • 7.
    Measure real userto get the real picture HTML5 Dev Conf / 2013-04-02 Extending Boomerang 7
  • 8.
    Real Users • Get delighted • Get frustrated • Have credit cards • ... that they are attached to • Form an impression from experience HTML5 Dev Conf / 2013-04-02 Extending Boomerang 8
  • 9.
    Real Users • Get delighted • Get frustrated • Have credit cards • ... that they are attached to • Form an impression from experience HTML5 Dev Conf / 2013-04-02 Extending Boomerang 8
  • 10.
    Real Users • Get delighted • Get frustrated • Have credit cards • ... that they are attached to • Form an impression from experience HTML5 Dev Conf / 2013-04-02 Extending Boomerang 8
  • 11.
    Real Users • Get delighted • Get frustrated • Have credit cards • ... that they are attached to • Form an impression from experience HTML5 Dev Conf / 2013-04-02 Extending Boomerang 8
  • 12.
    Real Users • Get delighted • Get frustrated • Have credit cards • ... that they are attached to • Form an impression from experience HTML5 Dev Conf / 2013-04-02 Extending Boomerang 8
  • 13.
    1 boomerang HTML5 Dev Conf / 2013-04-02 Extending Boomerang 9
  • 14.
    Real User Measurement – github.com/lognormal/boomerang HTML5 Dev Conf / 2013-04-02 Extending Boomerang 10
  • 15.
    What can wemeasure? HTML5 Dev Conf / 2013-04-02 Extending Boomerang 11
  • 16.
    Anything that theuser does! HTML5 Dev Conf / 2013-04-02 Extending Boomerang 12
  • 17.
    NavTiming – W3CCandidate Recommendation HTML5 Dev Conf / 2013-04-02 Extending Boomerang 13
  • 18.
    Browser Support forNavTiming – April 2013 HTML5 Dev Conf / 2013-04-02 Extending Boomerang 14
  • 19.
    Real Users don’talways use ideal browsers HTML5 Dev Conf / 2013-04-02 Extending Boomerang 15
  • 20.
    So there’s alot of magic to support the other 33.2% HTML5 Dev Conf / 2013-04-02 Extending Boomerang 16
  • 21.
    boomerang • BSD licensed • Measure load time, bandwidth, latency • DNS lookup time, NavTiming, Connection Type • Page Parameters • And anything else you can write a plugin for HTML5 Dev Conf / 2013-04-02 Extending Boomerang 17
  • 22.
    And it beaconsall of this back to a predefined URL HTML5 Dev Conf / 2013-04-02 Extending Boomerang 18
  • 23.
    boomerang is onlya beaconing system, functionality is added with plugins HTML5 Dev Conf / 2013-04-02 Extending Boomerang 19
  • 24.
    2 Let’s get hacking HTML5 Dev Conf / 2013-04-02 Extending Boomerang 20
  • 25.
    Get the codefrom github https://github.com/bluesmoon/boomerang-sample-plugin • branches are steps • commit logs are explanations HTML5 Dev Conf / 2013-04-02 Extending Boomerang 21
  • 26.
    3 Fun stuff HTML5 Dev Conf / 2013-04-02 Extending Boomerang 22
  • 27.
    Spot the datacenter HTML5 Dev Conf / 2013-04-02 Extending Boomerang 23
  • 28.
    It’s actually inNederland HTML5 Dev Conf / 2013-04-02 Extending Boomerang 24
  • 29.
    How does bandwidthchange around the world? HTML5 Dev Conf / 2013-04-02 Extending Boomerang 25
  • 30.
    What does awebsite’s performance distribution look like? HTML5 Dev Conf / 2013-04-02 Extending Boomerang 26
  • 31.
    That’s my Blog(please visit) HTML5 Dev Conf / 2013-04-02 Extending Boomerang 27
  • 32.
    Log-normal distribution HTML5 Dev Conf / 2013-04-02 Extending Boomerang 28
  • 33.
    Bimodal distribution HTML5 Dev Conf / 2013-04-02 Extending Boomerang 29
  • 34.
    Did you knowthat IE7 seems to be faster than IE8? HTML5 Dev Conf / 2013-04-02 Extending Boomerang 30
  • 35.
    But that’s mostlyIE9 users browsing in IE7 compatibility mode. HTML5 Dev Conf / 2013-04-02 Extending Boomerang 31
  • 36.
    Did you knowthat users bounce if a page is too fast? HTML5 Dev Conf / 2013-04-02 Extending Boomerang 32
  • 37.
    But that’s mostlybecause error pages are the fastest. HTML5 Dev Conf / 2013-04-02 Extending Boomerang 33
  • 38.
    Did you knowthat user patience wrt performance is a cultural thing? HTML5 Dev Conf / 2013-04-02 Extending Boomerang 34
  • 39.
    It’s tied bothto where a user is from, and also the type of service. HTML5 Dev Conf / 2013-04-02 Extending Boomerang 35
  • 40.
    User Engagement: LD50 HTML5 Dev Conf / 2013-04-02 Extending Boomerang 36
  • 41.
    Summary Measure → Hypothesize → Test → Fix ← Repeat ← HTML5 Dev Conf / 2013-04-02 Extending Boomerang 37
  • 42.
    Thank You! Questions? HTML5 Dev Conf / 2013-04-02 Extending Boomerang 38
  • 43.
    Sources • Jean-Antoine Nollet from Wikimedia Commons http://commons.wikimedia.org/wiki/File%3AJean-Antoine_Nollet.jpg • Steve Souders by weboo on flickr http://www.flickr.com/photos/weboo/2539831515/ HTML5 Dev Conf / 2013-04-02 Extending Boomerang 39
  • 44.
    • Philip Tellis •@bluesmoon • philip@bluesmoon.info • www.SOASTA.com • boomerang • LogNormal Blog HTML5 Dev Conf / 2013-04-02 Extending Boomerang 40