SlideShare a Scribd company logo
1 of 44
Download to read offline
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

More Related Content

Similar to Extending Boomerang Real User Measurement

Optimizing developer onboarding
Optimizing developer onboardingOptimizing developer onboarding
Optimizing developer onboarding🌯 Brian Douglas
 
Selenium 4 ukraine keynote slides
Selenium 4 ukraine keynote   slidesSelenium 4 ukraine keynote   slides
Selenium 4 ukraine keynote slidesMarcus Merrell
 
Hybrid Training Models that Work
Hybrid Training Models that Work Hybrid Training Models that Work
Hybrid Training Models that Work Cynthia Clay
 
Hybrid Training Models that Work
Hybrid Training Models that Work Hybrid Training Models that Work
Hybrid Training Models that Work Cynthia Clay
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...CollabNet
 
SharePoint 2013 Video, Audio and Images and Digital Asset Management with Joe...
SharePoint 2013 Video, Audio and Images and Digital Asset Management with Joe...SharePoint 2013 Video, Audio and Images and Digital Asset Management with Joe...
SharePoint 2013 Video, Audio and Images and Digital Asset Management with Joe...Joel Oleson
 
Big bluebutton moodle integration 2013b
Big bluebutton moodle integration 2013bBig bluebutton moodle integration 2013b
Big bluebutton moodle integration 2013bbigbluebutton
 
Microservices to FastData in the Enterprise with Spring: John Davies at Sprin...
Microservices to FastData in the Enterprise with Spring: John Davies at Sprin...Microservices to FastData in the Enterprise with Spring: John Davies at Sprin...
Microservices to FastData in the Enterprise with Spring: John Davies at Sprin...C24 Technologies
 
Six Simple Steps to Service Level Objectives (SLOs)
Six Simple Steps to Service Level Objectives (SLOs)Six Simple Steps to Service Level Objectives (SLOs)
Six Simple Steps to Service Level Objectives (SLOs)VMware Tanzu
 
Releaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy processReleaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy processChristopher Cundill
 
WI Azure User Group Meeting
WI Azure User Group MeetingWI Azure User Group Meeting
WI Azure User Group MeetingClark Sell
 
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for YouWebinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for YouWeaveworks
 
Why you should care about Go (Golang)
Why you should care about Go (Golang)Why you should care about Go (Golang)
Why you should care about Go (Golang)Aaron Schlesinger
 
HTML5 - The Good, the Bad, the Ugly
HTML5 - The Good, the Bad, the UglyHTML5 - The Good, the Bad, the Ugly
HTML5 - The Good, the Bad, the UglyMario Heiderich
 
html5 css3 the future of web technology
html5 css3 the future of web technologyhtml5 css3 the future of web technology
html5 css3 the future of web technologyhazzaz
 
Git Branching – the battle of the ages
Git Branching – the battle of the agesGit Branching – the battle of the ages
Git Branching – the battle of the agesJasmin Fluri
 
Build your next application in weeks and not months with Groovy and Grails
Build your next application in weeks and not months with Groovy and GrailsBuild your next application in weeks and not months with Groovy and Grails
Build your next application in weeks and not months with Groovy and GrailsPeople10 Technosoft Private Limited
 
From Commit to Cloud w/ GitLab and PDF
From Commit to Cloud w/ GitLab and PDFFrom Commit to Cloud w/ GitLab and PDF
From Commit to Cloud w/ GitLab and PDFVMware Tanzu
 

Similar to Extending Boomerang Real User Measurement (20)

Optimizing developer onboarding
Optimizing developer onboardingOptimizing developer onboarding
Optimizing developer onboarding
 
Selenium 4 ukraine keynote slides
Selenium 4 ukraine keynote   slidesSelenium 4 ukraine keynote   slides
Selenium 4 ukraine keynote slides
 
Hybrid Training Models that Work
Hybrid Training Models that Work Hybrid Training Models that Work
Hybrid Training Models that Work
 
Hybrid Training Models that Work
Hybrid Training Models that Work Hybrid Training Models that Work
Hybrid Training Models that Work
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...
 
SharePoint 2013 Video, Audio and Images and Digital Asset Management with Joe...
SharePoint 2013 Video, Audio and Images and Digital Asset Management with Joe...SharePoint 2013 Video, Audio and Images and Digital Asset Management with Joe...
SharePoint 2013 Video, Audio and Images and Digital Asset Management with Joe...
 
Big bluebutton moodle integration 2013b
Big bluebutton moodle integration 2013bBig bluebutton moodle integration 2013b
Big bluebutton moodle integration 2013b
 
Microservices to FastData in the Enterprise with Spring: John Davies at Sprin...
Microservices to FastData in the Enterprise with Spring: John Davies at Sprin...Microservices to FastData in the Enterprise with Spring: John Davies at Sprin...
Microservices to FastData in the Enterprise with Spring: John Davies at Sprin...
 
Six Simple Steps to Service Level Objectives (SLOs)
Six Simple Steps to Service Level Objectives (SLOs)Six Simple Steps to Service Level Objectives (SLOs)
Six Simple Steps to Service Level Objectives (SLOs)
 
Releaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy processReleaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy process
 
WI Azure User Group Meeting
WI Azure User Group MeetingWI Azure User Group Meeting
WI Azure User Group Meeting
 
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for YouWebinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
 
Announcing Saleslogix 8.1
Announcing Saleslogix 8.1Announcing Saleslogix 8.1
Announcing Saleslogix 8.1
 
Video Versioning
Video VersioningVideo Versioning
Video Versioning
 
Why you should care about Go (Golang)
Why you should care about Go (Golang)Why you should care about Go (Golang)
Why you should care about Go (Golang)
 
HTML5 - The Good, the Bad, the Ugly
HTML5 - The Good, the Bad, the UglyHTML5 - The Good, the Bad, the Ugly
HTML5 - The Good, the Bad, the Ugly
 
html5 css3 the future of web technology
html5 css3 the future of web technologyhtml5 css3 the future of web technology
html5 css3 the future of web technology
 
Git Branching – the battle of the ages
Git Branching – the battle of the agesGit Branching – the battle of the ages
Git Branching – the battle of the ages
 
Build your next application in weeks and not months with Groovy and Grails
Build your next application in weeks and not months with Groovy and GrailsBuild your next application in weeks and not months with Groovy and Grails
Build your next application in weeks and not months with Groovy and Grails
 
From Commit to Cloud w/ GitLab and PDF
From Commit to Cloud w/ GitLab and PDFFrom Commit to Cloud w/ GitLab and PDF
From Commit to Cloud w/ GitLab and PDF
 

More from Philip Tellis

Improving D3 Performance with CANVAS and other Hacks
Improving D3 Performance with CANVAS and other HacksImproving D3 Performance with CANVAS and other Hacks
Improving D3 Performance with CANVAS and other HacksPhilip Tellis
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonPhilip Tellis
 
Frontend Performance: De débutant à Expert à Fou Furieux
Frontend Performance: De débutant à Expert à Fou FurieuxFrontend Performance: De débutant à Expert à Fou Furieux
Frontend Performance: De débutant à Expert à Fou FurieuxPhilip Tellis
 
Frontend Performance: Expert to Crazy Person
Frontend Performance: Expert to Crazy PersonFrontend Performance: Expert to Crazy Person
Frontend Performance: Expert to Crazy PersonPhilip Tellis
 
Beyond Page Level Metrics
Beyond Page Level MetricsBeyond Page Level Metrics
Beyond Page Level MetricsPhilip Tellis
 
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...Philip Tellis
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonPhilip Tellis
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonPhilip Tellis
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonPhilip Tellis
 
RUM Distillation 101 -- Part I
RUM Distillation 101 -- Part IRUM Distillation 101 -- Part I
RUM Distillation 101 -- Part IPhilip Tellis
 
Improving 3rd Party Script Performance With IFrames
Improving 3rd Party Script Performance With IFramesImproving 3rd Party Script Performance With IFrames
Improving 3rd Party Script Performance With IFramesPhilip Tellis
 
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"Philip Tellis
 
The Statistics of Web Performance Analysis
The Statistics of Web Performance AnalysisThe Statistics of Web Performance Analysis
The Statistics of Web Performance AnalysisPhilip Tellis
 
Abusing JavaScript to Measure Web Performance
Abusing JavaScript to Measure Web PerformanceAbusing JavaScript to Measure Web Performance
Abusing JavaScript to Measure Web PerformancePhilip Tellis
 
Analysing network characteristics with JavaScript
Analysing network characteristics with JavaScriptAnalysing network characteristics with JavaScript
Analysing network characteristics with JavaScriptPhilip Tellis
 
A Node.JS bag of goodies for analyzing Web Traffic
A Node.JS bag of goodies for analyzing Web TrafficA Node.JS bag of goodies for analyzing Web Traffic
A Node.JS bag of goodies for analyzing Web TrafficPhilip Tellis
 
Messing with JavaScript and the DOM to measure network characteristics
Messing with JavaScript and the DOM to measure network characteristicsMessing with JavaScript and the DOM to measure network characteristics
Messing with JavaScript and the DOM to measure network characteristicsPhilip Tellis
 

More from Philip Tellis (20)

Improving D3 Performance with CANVAS and other Hacks
Improving D3 Performance with CANVAS and other HacksImproving D3 Performance with CANVAS and other Hacks
Improving D3 Performance with CANVAS and other Hacks
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy Person
 
Frontend Performance: De débutant à Expert à Fou Furieux
Frontend Performance: De débutant à Expert à Fou FurieuxFrontend Performance: De débutant à Expert à Fou Furieux
Frontend Performance: De débutant à Expert à Fou Furieux
 
Frontend Performance: Expert to Crazy Person
Frontend Performance: Expert to Crazy PersonFrontend Performance: Expert to Crazy Person
Frontend Performance: Expert to Crazy Person
 
Beyond Page Level Metrics
Beyond Page Level MetricsBeyond Page Level Metrics
Beyond Page Level Metrics
 
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy Person
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy Person
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy Person
 
mmm... beacons
mmm... beaconsmmm... beacons
mmm... beacons
 
RUM Distillation 101 -- Part I
RUM Distillation 101 -- Part IRUM Distillation 101 -- Part I
RUM Distillation 101 -- Part I
 
Improving 3rd Party Script Performance With IFrames
Improving 3rd Party Script Performance With IFramesImproving 3rd Party Script Performance With IFrames
Improving 3rd Party Script Performance With IFrames
 
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"
 
The Statistics of Web Performance Analysis
The Statistics of Web Performance AnalysisThe Statistics of Web Performance Analysis
The Statistics of Web Performance Analysis
 
Abusing JavaScript to Measure Web Performance
Abusing JavaScript to Measure Web PerformanceAbusing JavaScript to Measure Web Performance
Abusing JavaScript to Measure Web Performance
 
Rum for Breakfast
Rum for BreakfastRum for Breakfast
Rum for Breakfast
 
Analysing network characteristics with JavaScript
Analysing network characteristics with JavaScriptAnalysing network characteristics with JavaScript
Analysing network characteristics with JavaScript
 
A Node.JS bag of goodies for analyzing Web Traffic
A Node.JS bag of goodies for analyzing Web TrafficA Node.JS bag of goodies for analyzing Web Traffic
A Node.JS bag of goodies for analyzing Web Traffic
 
Input sanitization
Input sanitizationInput sanitization
Input sanitization
 
Messing with JavaScript and the DOM to measure network characteristics
Messing with JavaScript and the DOM to measure network characteristicsMessing with JavaScript and the DOM to measure network characteristics
Messing with JavaScript and the DOM to measure network characteristics
 

Recently uploaded

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
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
 
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
 
"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
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
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
 

Recently uploaded (20)

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
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
 
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
 
"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
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
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
 

Extending Boomerang Real User Measurement

  • 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 like to 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 user to 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 we measure? HTML5 Dev Conf / 2013-04-02 Extending Boomerang 11
  • 16. Anything that the user does! HTML5 Dev Conf / 2013-04-02 Extending Boomerang 12
  • 17. NavTiming – W3C Candidate Recommendation HTML5 Dev Conf / 2013-04-02 Extending Boomerang 13
  • 18. Browser Support for NavTiming – April 2013 HTML5 Dev Conf / 2013-04-02 Extending Boomerang 14
  • 19. Real Users don’t always use ideal browsers HTML5 Dev Conf / 2013-04-02 Extending Boomerang 15
  • 20. So there’s a lot 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 beacons all of this back to a predefined URL HTML5 Dev Conf / 2013-04-02 Extending Boomerang 18
  • 23. boomerang is only a 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 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
  • 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 in Nederland HTML5 Dev Conf / 2013-04-02 Extending Boomerang 24
  • 29. How does bandwidth change around the world? HTML5 Dev Conf / 2013-04-02 Extending Boomerang 25
  • 30. What does a website’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 know that IE7 seems to be faster than IE8? HTML5 Dev Conf / 2013-04-02 Extending Boomerang 30
  • 35. But that’s mostly IE9 users browsing in IE7 compatibility mode. HTML5 Dev Conf / 2013-04-02 Extending Boomerang 31
  • 36. Did you know that users bounce if a page is too fast? HTML5 Dev Conf / 2013-04-02 Extending Boomerang 32
  • 37. But that’s mostly because error pages are the fastest. HTML5 Dev Conf / 2013-04-02 Extending Boomerang 33
  • 38. Did you know that user patience wrt performance is a cultural thing? HTML5 Dev Conf / 2013-04-02 Extending Boomerang 34
  • 39. 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
  • 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