SlideShare a Scribd company logo
1 of 44
Download to read offline
• Philip Tellis
• @bluesmoon
• philip@bluesmoon.info
• SOASTA
• boomerang




         LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   1
Measuring the Performance Experienced by
               Real Users

     Philip Tellis / philip@bluesmoon.info



               LSPE Meetup / 2013-01-17




     LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   2
Real Users




             LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   3
Real Users




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




              LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   3
Real Users




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




              LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   3
Real Users




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




              LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   3
Real Users




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




              LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   3
Real Users




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




              LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   3
What can we measure?




LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   4
Anything that the user does!




LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   5
Anything that the user does!
           (in the browser)




LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   5
But we really care about performance here. . .




     LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   6
So let’s talk about How




LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   7
Modern Browsers – no problem




           LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   8
Modern Browsers – no problem




           LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   9
Real Users don’t always use the latest browsers.




      LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   10
What about older browsers?




    1   Get a timestamp before they leave a page
    2   Save it in a cookie
    3   Compare with timestamp when the page loads




              LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   11
What about older browsers?




    1   Get a timestamp before they leave a page
    2   Save it in a cookie
    3   Compare with timestamp when the page loads
   Then there’s some magic to handle edge-cases




              LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   11
The magic. . . ...




               LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   12
But it doesn’t need to be. . .




        http://lognormal.github.com/boomerang/doc/




              LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   13
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




            LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   14
And it beacons all of this back to a predefined URL




        LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   15
So what then?




LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   16
Sparse Distribution




            LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   17
Log-normal distribution




            LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   18
Bimodal distribution




            LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   19
Distributions




     • Sparse distribution suggests that you don’t have enough
       data points
     • Log-normal distribution is typical
     • Bi-modal distribution suggests two (or more) distributions
       combined




                LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   20
Distributions are interesting, but how does it affect
                   engagement?




        LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   21
So we compared load time to bounce rate




   LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   22
And we borrowed a biological term called LD50




      LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   23
LD50




       LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   24
This helps you fix only the stuff that’s hurting you.




        LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   25
Did you know that IE7 seems to be faster than IE8?




        LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   26
But that’s mostly IE9 users browsing in IE7
           compatibility mode.




    LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   27
Did you know that users bounce if a page is too
                   fast?




      LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   28
But that’s mostly because error pages are the fastest.




         LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   29
Did you know that user patience wrt performance is
               a cultural thing?




        LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   30
It’s tied both to where a user is from, and also the
                  type of service.




       LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   31
Demo?




LSPE Meetup / 2013-01-17    Measuring the Performance Experienced by Real Users   32
Summary




   1   Measure the load time experienced by real users
   2   Correlate it with other things that user did
   3   Profit




               LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   33
Summary




   1   Measure the load time experienced by real users
   2   Correlate it with other things that user did
   3   Profit




               LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   33
Summary




   1   Measure the load time experienced by real users
   2   Correlate it with other things that user did
   3   Profit




               LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   33
Thank You!
                     Questions?




LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   34
• Philip Tellis
• @bluesmoon
• philip@bluesmoon.info
• www.SOASTA.com
• boomerang
• LogNormal Blog




         LSPE Meetup / 2013-01-17   Measuring the Performance Experienced by Real Users   35

More Related Content

More from 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
 
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
 
Boomerang: How fast do users think your site is?
Boomerang: How fast do users think your site is?Boomerang: How fast do users think your site is?
Boomerang: How fast do users think your site is?Philip Tellis
 
Boomerang at FOSS.IN/2010
Boomerang at FOSS.IN/2010Boomerang at FOSS.IN/2010
Boomerang at FOSS.IN/2010Philip Tellis
 
Measuring the web with Boomerang (YUIConf 2010)
Measuring the web with Boomerang (YUIConf 2010)Measuring the web with Boomerang (YUIConf 2010)
Measuring the web with Boomerang (YUIConf 2010)Philip Tellis
 
Boomerang at the Boston Web Performance meetup
Boomerang at the Boston Web Performance meetupBoomerang at the Boston Web Performance meetup
Boomerang at the Boston Web Performance meetupPhilip Tellis
 
Boomerang @ NY Web Perf meetup
Boomerang @ NY Web Perf meetupBoomerang @ NY Web Perf meetup
Boomerang @ NY Web Perf meetupPhilip Tellis
 
Measuring the web with boomerang
Measuring the web with boomerangMeasuring the web with boomerang
Measuring the web with boomerangPhilip Tellis
 
MySQL Business Continuity Planning
MySQL Business Continuity PlanningMySQL Business Continuity Planning
MySQL Business Continuity PlanningPhilip Tellis
 

More from Philip Tellis (20)

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
 
Extending Boomerang
Extending BoomerangExtending Boomerang
Extending Boomerang
 
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
 
Boomerang: How fast do users think your site is?
Boomerang: How fast do users think your site is?Boomerang: How fast do users think your site is?
Boomerang: How fast do users think your site is?
 
Boomerang at FOSS.IN/2010
Boomerang at FOSS.IN/2010Boomerang at FOSS.IN/2010
Boomerang at FOSS.IN/2010
 
Measuring the web with Boomerang (YUIConf 2010)
Measuring the web with Boomerang (YUIConf 2010)Measuring the web with Boomerang (YUIConf 2010)
Measuring the web with Boomerang (YUIConf 2010)
 
Boomerang at the Boston Web Performance meetup
Boomerang at the Boston Web Performance meetupBoomerang at the Boston Web Performance meetup
Boomerang at the Boston Web Performance meetup
 
Boomerang @ NY Web Perf meetup
Boomerang @ NY Web Perf meetupBoomerang @ NY Web Perf meetup
Boomerang @ NY Web Perf meetup
 
Measuring the web with boomerang
Measuring the web with boomerangMeasuring the web with boomerang
Measuring the web with boomerang
 
MySQL Business Continuity Planning
MySQL Business Continuity PlanningMySQL Business Continuity Planning
MySQL Business Continuity Planning
 

Recently uploaded

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
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
 
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
 
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
 
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
 
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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
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
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
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
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
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
 

Recently uploaded (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
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!
 
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
 
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
 
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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.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
 
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
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
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
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
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
 

Measuring the Performance Experienced by Real Users

  • 1. • Philip Tellis • @bluesmoon • philip@bluesmoon.info • SOASTA • boomerang LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 1
  • 2. Measuring the Performance Experienced by Real Users Philip Tellis / philip@bluesmoon.info LSPE Meetup / 2013-01-17 LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 2
  • 3. Real Users LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 3
  • 4. Real Users • Get delighted • Get frustrated • Have credit cards • ... that they are attached to • Form an impression from experience LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 3
  • 5. Real Users • Get delighted • Get frustrated • Have credit cards • ... that they are attached to • Form an impression from experience LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 3
  • 6. Real Users • Get delighted • Get frustrated • Have credit cards • ... that they are attached to • Form an impression from experience LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 3
  • 7. Real Users • Get delighted • Get frustrated • Have credit cards • ... that they are attached to • Form an impression from experience LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 3
  • 8. Real Users • Get delighted • Get frustrated • Have credit cards • ... that they are attached to • Form an impression from experience LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 3
  • 9. What can we measure? LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 4
  • 10. Anything that the user does! LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 5
  • 11. Anything that the user does! (in the browser) LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 5
  • 12. But we really care about performance here. . . LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 6
  • 13. So let’s talk about How LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 7
  • 14. Modern Browsers – no problem LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 8
  • 15. Modern Browsers – no problem LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 9
  • 16. Real Users don’t always use the latest browsers. LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 10
  • 17. What about older browsers? 1 Get a timestamp before they leave a page 2 Save it in a cookie 3 Compare with timestamp when the page loads LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 11
  • 18. What about older browsers? 1 Get a timestamp before they leave a page 2 Save it in a cookie 3 Compare with timestamp when the page loads Then there’s some magic to handle edge-cases LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 11
  • 19. The magic. . . ... LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 12
  • 20. But it doesn’t need to be. . . http://lognormal.github.com/boomerang/doc/ LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 13
  • 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 LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 14
  • 22. And it beacons all of this back to a predefined URL LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 15
  • 23. So what then? LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 16
  • 24. Sparse Distribution LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 17
  • 25. Log-normal distribution LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 18
  • 26. Bimodal distribution LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 19
  • 27. Distributions • Sparse distribution suggests that you don’t have enough data points • Log-normal distribution is typical • Bi-modal distribution suggests two (or more) distributions combined LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 20
  • 28. Distributions are interesting, but how does it affect engagement? LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 21
  • 29. So we compared load time to bounce rate LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 22
  • 30. And we borrowed a biological term called LD50 LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 23
  • 31. LD50 LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 24
  • 32. This helps you fix only the stuff that’s hurting you. LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 25
  • 33. Did you know that IE7 seems to be faster than IE8? LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 26
  • 34. But that’s mostly IE9 users browsing in IE7 compatibility mode. LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 27
  • 35. Did you know that users bounce if a page is too fast? LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 28
  • 36. But that’s mostly because error pages are the fastest. LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 29
  • 37. Did you know that user patience wrt performance is a cultural thing? LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 30
  • 38. It’s tied both to where a user is from, and also the type of service. LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 31
  • 39. Demo? LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 32
  • 40. Summary 1 Measure the load time experienced by real users 2 Correlate it with other things that user did 3 Profit LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 33
  • 41. Summary 1 Measure the load time experienced by real users 2 Correlate it with other things that user did 3 Profit LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 33
  • 42. Summary 1 Measure the load time experienced by real users 2 Correlate it with other things that user did 3 Profit LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 33
  • 43. Thank You! Questions? LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 34
  • 44. • Philip Tellis • @bluesmoon • philip@bluesmoon.info • www.SOASTA.com • boomerang • LogNormal Blog LSPE Meetup / 2013-01-17 Measuring the Performance Experienced by Real Users 35