SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
FINDING A BETTER MEASUREMENT YARDSTICK 
RIP ONLOAD
Buddy Brewer 
@bbrewer 
Philip Tellis 
@bluesmoon
ONLOAD BENEFITS 
THE GOOD
• Supported by all browsers 
• Light weight instrumentation 
• Supported by all monitoring tools 
• Able to compare across sites
ONLOAD DRAWBACKS 
THE BAD
• Easy for developers to abuse 
• Won't work for single page applications 
• Often misses perceived performance
ONLOAD WEIRDNESS 
THE UGLY
• Inconsistent across web sites 
• Users could successfully navigate forward before 
onload
ALTERNATIVES
BROWSER 
STANDARD 
EVENTS
• Load event 
• Front-End time 
• DOMContentLoaded 
• DOMComplete
CUSTOM 
EVENTS
var observer = new MutationObserver(function(mutations) 
{ 
mutations.forEach(function(mutation) 
{ 
[].slice.call(mutation.addedNodes).forEach(function(node) 
{ 
if (node.nodeName === "IMG") 
{ 
if (node.offsetHeight && node.offsetWidth) 
console.log("Image loaded before mutation"); 
else 
node.onload = node.onerror = function(event) { 
console.log("Image " + event.type + "ed"); 
}; 
} 
}); 
}); 
}); 
observer.observe(document, 
{ childList: true, subtree: true }); 
MutationObserver Pattern: https://developer.mozilla.org/en/docs/Web/API/MutationObserver
// create and dispatch the onUsable event 
var event = new CustomEvent(“Usable", 
{“detail":{"foo":true}}); 
element.dispatchEvent(event); 
Chrome, Firefox, Opera, Safari, Mobile Safari 
CustomEvent Pattern: https://developer.mozilla.org/en/docs/Web/API/CustomEvent
(function () 
{ 
function CustomEvent ( event, params ) { 
params = params || 
{ bubbles: false, cancelable: false, detail: undefined }; 
var evt = document.createEvent( 'CustomEvent' ); 
evt.initCustomEvent( event, 
params.bubbles, 
params.cancelable, 
params.detail 
); 
return evt; 
}; 
CustomEvent.prototype = window.Event.prototype; 
window.CustomEvent = CustomEvent; 
})(); 
IE 9 & 10 
CustomEvent Pattern: https://developer.mozilla.org/en/docs/Web/API/CustomEvent
if (document.createEventObject) 
{ 
createCustomEvent = function (e_name, params) 
{ 
var evt = document.createEventObject(); 
evt.type = evt.propertyName = e_name; 
evt.detail = params.detail; 
return evt; 
}; 
} 
Android 2.x 
CustomEvent Pattern: https://developer.mozilla.org/en/docs/Web/API/CustomEvent
WE COULD USE USERTIMING 
• window.performance.mark(“Usable”); 
• Good for setting a time point 
• Does not actually fire an Event, so you have to poll
POLL!
SINGLE PAGE APPS 
• Easy to create a proxy around XMLHttpRequest 
• Does not capture sub-resources required for the 
“single page” 
• Not all XHRs are created equal, so we have an exclude 
list 
• But you can capture HTTP response status
WE COULD USE MRML 
• <BRAINSCAN> tag is useful here 
• Limited Browser support (none) 
• http://ifaq.wap.org/computers/mrml.html
BEHAVIORAL EVENTS
• Time to scroll 
• Time to click 
• Time to convert
EVALUATION 
CRITERIA
1. Identify a key user behavior 
2. Track this behavior with the timing data 
3. Find the timer that the behavior is most sensitive to
BOUNCE RATE
CONVERSION RATE
SESSION LENGTH
TRACKING TIMER IMPACT 
70% 
53% 
35% 
18% 
0% 
DOMContentLoaded Front-End DOMComplete Load 
2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 
Seconds 
Bounce Rate
2 sec 8 sec Slope 
DOMContentLoaded 44.79% 61.72% 2.82% / sec 
Front-End 44.24% 49.60% 0.89% / sec 
DOMComplete 40.84% 57.01% 2.70% / sec 
Load 39.41% 55.53% 2.69% / sec
2 sec 8 sec Slope 
DOMContentLoaded 44.79% 61.72% 2.82% / sec 
Front-End 44.24% 49.60% 0.89% / sec 
DOMComplete 40.84% 57.01% 2.70% / sec 
Load 39.41% 55.53% 2.69% / sec
2 sec 8 sec Slope 
DOMContentLoaded 44.79% 61.72% 2.82% / sec 
Front-End 44.24% 49.60% 0.89% / sec 
DOMComplete 40.84% 57.01% 2.70% / sec 
Load 39.41% 55.53% 2.69% / sec
I S T H I S T H E 
ANSWER?
UNITED STATES VS AUSTRALIA 
60% 
45% 
30% 
15% 
0% 
2 3 4 5 6 7 8 9 10 11 12 
US AU
SUMMARY 
• There is probably no single answer 
• Depends on your users and what you want them to do 
• There may even be multiple answers for one web site 
• Perhaps the best we can hope for is to find a 
consistent methodology for determining what “done” 
means
WE’LL PROVIDE THE RUM, AND SOME GO PROS 
SOASTA WRAP PARTY
ATTRIBUTIONS 
https://www.flickr.com/photos/jcubic/14091200977 (Tombstone) 
https://www.flickr.com/photos/wasteofspace/5961093609 (He-Man) 
https://www.flickr.com/photos/usagent/3111087806 (Skeletor) 
https://www.flickr.com/photos/stoic1/2693944218 (Tung Lashor) 
https://www.flickr.com/photos/marfis75/8031936764 (Two Exits) 
https://www.flickr.com/photos/exfordy/222888541 (Customized Citroën) 
https://www.flickr.com/photos/bluesmoon/10271376176/ (Pat and Steve)

Contenu connexe

Tendances

Put kajakken på hylden - og få sexede windows services
Put kajakken på hylden - og få sexede windows servicesPut kajakken på hylden - og få sexede windows services
Put kajakken på hylden - og få sexede windows servicesChristian Dalager
 
Instant and offline apps with Service Worker
Instant and offline apps with Service WorkerInstant and offline apps with Service Worker
Instant and offline apps with Service WorkerChang W. Doh
 
[1C1]Service Workers
[1C1]Service Workers[1C1]Service Workers
[1C1]Service WorkersNAVER D2
 
Docker in Action
Docker in ActionDocker in Action
Docker in ActionAlper Kanat
 
Measuring Real User Performance in the Browser
Measuring Real User Performance in the BrowserMeasuring Real User Performance in the Browser
Measuring Real User Performance in the BrowserNicholas Jansma
 
ServiceWorker: New game changer is coming!
ServiceWorker: New game changer is coming!ServiceWorker: New game changer is coming!
ServiceWorker: New game changer is coming!Chang W. Doh
 
React.js in real world apps.
React.js in real world apps. React.js in real world apps.
React.js in real world apps. Emanuele DelBono
 
Reliably Measuring Responsiveness
Reliably Measuring ResponsivenessReliably Measuring Responsiveness
Reliably Measuring ResponsivenessNicholas Jansma
 
Event In JavaScript
Event In JavaScriptEvent In JavaScript
Event In JavaScriptShahDhruv21
 
Real World Lessons in Progressive Web Application & Service Worker Caching
Real World Lessons in Progressive Web Application & Service Worker CachingReal World Lessons in Progressive Web Application & Service Worker Caching
Real World Lessons in Progressive Web Application & Service Worker CachingChris Love
 
Javascript dom event
Javascript dom eventJavascript dom event
Javascript dom eventBunlong Van
 
React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409Minko3D
 
Taming Clojure applications with Components
Taming Clojure applications with ComponentsTaming Clojure applications with Components
Taming Clojure applications with ComponentsDavid Dossot
 

Tendances (20)

Service workers
Service workersService workers
Service workers
 
Put kajakken på hylden - og få sexede windows services
Put kajakken på hylden - og få sexede windows servicesPut kajakken på hylden - og få sexede windows services
Put kajakken på hylden - og få sexede windows services
 
Instant and offline apps with Service Worker
Instant and offline apps with Service WorkerInstant and offline apps with Service Worker
Instant and offline apps with Service Worker
 
Node js
Node jsNode js
Node js
 
[1C1]Service Workers
[1C1]Service Workers[1C1]Service Workers
[1C1]Service Workers
 
A Gentle Introduction to Event Loops
A Gentle Introduction to Event LoopsA Gentle Introduction to Event Loops
A Gentle Introduction to Event Loops
 
Docker in Action
Docker in ActionDocker in Action
Docker in Action
 
Measuring Real User Performance in the Browser
Measuring Real User Performance in the BrowserMeasuring Real User Performance in the Browser
Measuring Real User Performance in the Browser
 
ServiceWorker: New game changer is coming!
ServiceWorker: New game changer is coming!ServiceWorker: New game changer is coming!
ServiceWorker: New game changer is coming!
 
React.js in real world apps.
React.js in real world apps. React.js in real world apps.
React.js in real world apps.
 
React, Flux and a little bit of Redux
React, Flux and a little bit of ReduxReact, Flux and a little bit of Redux
React, Flux and a little bit of Redux
 
Secure my ng-app
Secure my ng-appSecure my ng-app
Secure my ng-app
 
Reliably Measuring Responsiveness
Reliably Measuring ResponsivenessReliably Measuring Responsiveness
Reliably Measuring Responsiveness
 
Event In JavaScript
Event In JavaScriptEvent In JavaScript
Event In JavaScript
 
Real World Lessons in Progressive Web Application & Service Worker Caching
Real World Lessons in Progressive Web Application & Service Worker CachingReal World Lessons in Progressive Web Application & Service Worker Caching
Real World Lessons in Progressive Web Application & Service Worker Caching
 
Javascript dom event
Javascript dom eventJavascript dom event
Javascript dom event
 
React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409
 
Taming Clojure applications with Components
Taming Clojure applications with ComponentsTaming Clojure applications with Components
Taming Clojure applications with Components
 
Dancing with websocket
Dancing with websocketDancing with websocket
Dancing with websocket
 
Vagrant
VagrantVagrant
Vagrant
 

Similaire à 2014 11-18 rip onload

Javaland 2014 / GWT architectures and lessons learned
Javaland 2014 / GWT architectures and lessons learnedJavaland 2014 / GWT architectures and lessons learned
Javaland 2014 / GWT architectures and lessons learnedpgt technology scouting GmbH
 
A complete guide to Node.js
A complete guide to Node.jsA complete guide to Node.js
A complete guide to Node.jsPrabin Silwal
 
Intro To webOS
Intro To webOSIntro To webOS
Intro To webOSfpatton
 
Mobile is slow - Over the Air 2013
Mobile is slow - Over the Air 2013Mobile is slow - Over the Air 2013
Mobile is slow - Over the Air 2013Jon Arne Sæterås
 
Building performance into the new yahoo homepage presentation
Building performance into the new yahoo  homepage presentationBuilding performance into the new yahoo  homepage presentation
Building performance into the new yahoo homepage presentationmasudakram
 
Performance on the Yahoo! Homepage
Performance on the Yahoo! HomepagePerformance on the Yahoo! Homepage
Performance on the Yahoo! HomepageNicholas Zakas
 
Server Side JavaScript - You ain't seen nothing yet
Server Side JavaScript - You ain't seen nothing yetServer Side JavaScript - You ain't seen nothing yet
Server Side JavaScript - You ain't seen nothing yetTom Croucher
 
Top100summit 谷歌-scott-improve your automated web application testing
Top100summit  谷歌-scott-improve your automated web application testingTop100summit  谷歌-scott-improve your automated web application testing
Top100summit 谷歌-scott-improve your automated web application testingdrewz lin
 
Fast Cordova applications
Fast Cordova applicationsFast Cordova applications
Fast Cordova applicationsIvano Malavolta
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on MobileAdam Lu
 
JavaScript Performance Patterns
JavaScript Performance PatternsJavaScript Performance Patterns
JavaScript Performance PatternsStoyan Stefanov
 
Jon Arne Sæterås - Give Responsive Design a mobile performance boost
Jon Arne Sæterås - Give Responsive Design a mobile performance boost Jon Arne Sæterås - Give Responsive Design a mobile performance boost
Jon Arne Sæterås - Give Responsive Design a mobile performance boost DevConFu
 
Getting Reactive with CycleJS and XStream
Getting Reactive with CycleJS and XStream Getting Reactive with CycleJS and XStream
Getting Reactive with CycleJS and XStream TechExeter
 
ReactJS.NET - Fast and Scalable Single Page Applications
ReactJS.NET - Fast and Scalable Single Page ApplicationsReactJS.NET - Fast and Scalable Single Page Applications
ReactJS.NET - Fast and Scalable Single Page ApplicationsRick Beerendonk
 
jQuery 1.3 and jQuery UI
jQuery 1.3 and jQuery UIjQuery 1.3 and jQuery UI
jQuery 1.3 and jQuery UIjeresig
 
Asynchronous programming patterns in Perl
Asynchronous programming patterns in PerlAsynchronous programming patterns in Perl
Asynchronous programming patterns in Perldeepfountainconsulting
 

Similaire à 2014 11-18 rip onload (20)

Javaland 2014 / GWT architectures and lessons learned
Javaland 2014 / GWT architectures and lessons learnedJavaland 2014 / GWT architectures and lessons learned
Javaland 2014 / GWT architectures and lessons learned
 
A complete guide to Node.js
A complete guide to Node.jsA complete guide to Node.js
A complete guide to Node.js
 
Intro To webOS
Intro To webOSIntro To webOS
Intro To webOS
 
Mobile is slow - Over the Air 2013
Mobile is slow - Over the Air 2013Mobile is slow - Over the Air 2013
Mobile is slow - Over the Air 2013
 
Into The Box 2018 Ortus Keynote
Into The Box 2018 Ortus KeynoteInto The Box 2018 Ortus Keynote
Into The Box 2018 Ortus Keynote
 
Building performance into the new yahoo homepage presentation
Building performance into the new yahoo  homepage presentationBuilding performance into the new yahoo  homepage presentation
Building performance into the new yahoo homepage presentation
 
Performance on the Yahoo! Homepage
Performance on the Yahoo! HomepagePerformance on the Yahoo! Homepage
Performance on the Yahoo! Homepage
 
Server Side JavaScript - You ain't seen nothing yet
Server Side JavaScript - You ain't seen nothing yetServer Side JavaScript - You ain't seen nothing yet
Server Side JavaScript - You ain't seen nothing yet
 
Top100summit 谷歌-scott-improve your automated web application testing
Top100summit  谷歌-scott-improve your automated web application testingTop100summit  谷歌-scott-improve your automated web application testing
Top100summit 谷歌-scott-improve your automated web application testing
 
Fast Cordova applications
Fast Cordova applicationsFast Cordova applications
Fast Cordova applications
 
Html5
Html5Html5
Html5
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on Mobile
 
JavaScript Performance Patterns
JavaScript Performance PatternsJavaScript Performance Patterns
JavaScript Performance Patterns
 
Jon Arne Sæterås - Give Responsive Design a mobile performance boost
Jon Arne Sæterås - Give Responsive Design a mobile performance boost Jon Arne Sæterås - Give Responsive Design a mobile performance boost
Jon Arne Sæterås - Give Responsive Design a mobile performance boost
 
Getting Reactive with CycleJS and XStream
Getting Reactive with CycleJS and XStream Getting Reactive with CycleJS and XStream
Getting Reactive with CycleJS and XStream
 
ReactJS.NET - Fast and Scalable Single Page Applications
ReactJS.NET - Fast and Scalable Single Page ApplicationsReactJS.NET - Fast and Scalable Single Page Applications
ReactJS.NET - Fast and Scalable Single Page Applications
 
jQuery 1.3 and jQuery UI
jQuery 1.3 and jQuery UIjQuery 1.3 and jQuery UI
jQuery 1.3 and jQuery UI
 
Node azure
Node azureNode azure
Node azure
 
Asynchronous programming patterns in Perl
Asynchronous programming patterns in PerlAsynchronous programming patterns in Perl
Asynchronous programming patterns in Perl
 
GWT Architectures and Lessons Learned (WJAX 2013)
GWT Architectures and Lessons Learned (WJAX 2013)GWT Architectures and Lessons Learned (WJAX 2013)
GWT Architectures and Lessons Learned (WJAX 2013)
 

Plus de Buddy Brewer

Taking the Guesswork Out of Performance Budgets
Taking the Guesswork Out of Performance BudgetsTaking the Guesswork Out of Performance Budgets
Taking the Guesswork Out of Performance BudgetsBuddy Brewer
 
2015 02-19 eTail West Chairmans Remarks
2015 02-19 eTail West Chairmans Remarks2015 02-19 eTail West Chairmans Remarks
2015 02-19 eTail West Chairmans RemarksBuddy Brewer
 
2014 06-25 velocity sc natives are getting restless
2014 06-25 velocity sc natives are getting restless2014 06-25 velocity sc natives are getting restless
2014 06-25 velocity sc natives are getting restlessBuddy Brewer
 
2014 06-23 velocity sc beyond page metrics
2014 06-23 velocity sc beyond page metrics2014 06-23 velocity sc beyond page metrics
2014 06-23 velocity sc beyond page metricsBuddy Brewer
 
The 3.5s Dash for Attention and Other Stuff We Found in RUM
The 3.5s Dash for Attention and Other Stuff We Found in RUMThe 3.5s Dash for Attention and Other Stuff We Found in RUM
The 3.5s Dash for Attention and Other Stuff We Found in RUMBuddy Brewer
 
Tying web performance data to human behavior
Tying web performance data to human behaviorTying web performance data to human behavior
Tying web performance data to human behaviorBuddy Brewer
 
RUM for Breakfast - distilling insights from the noise
RUM for Breakfast - distilling insights from the noiseRUM for Breakfast - distilling insights from the noise
RUM for Breakfast - distilling insights from the noiseBuddy Brewer
 
High Speed Web Sites At Scale
High Speed Web Sites At ScaleHigh Speed Web Sites At Scale
High Speed Web Sites At ScaleBuddy Brewer
 

Plus de Buddy Brewer (8)

Taking the Guesswork Out of Performance Budgets
Taking the Guesswork Out of Performance BudgetsTaking the Guesswork Out of Performance Budgets
Taking the Guesswork Out of Performance Budgets
 
2015 02-19 eTail West Chairmans Remarks
2015 02-19 eTail West Chairmans Remarks2015 02-19 eTail West Chairmans Remarks
2015 02-19 eTail West Chairmans Remarks
 
2014 06-25 velocity sc natives are getting restless
2014 06-25 velocity sc natives are getting restless2014 06-25 velocity sc natives are getting restless
2014 06-25 velocity sc natives are getting restless
 
2014 06-23 velocity sc beyond page metrics
2014 06-23 velocity sc beyond page metrics2014 06-23 velocity sc beyond page metrics
2014 06-23 velocity sc beyond page metrics
 
The 3.5s Dash for Attention and Other Stuff We Found in RUM
The 3.5s Dash for Attention and Other Stuff We Found in RUMThe 3.5s Dash for Attention and Other Stuff We Found in RUM
The 3.5s Dash for Attention and Other Stuff We Found in RUM
 
Tying web performance data to human behavior
Tying web performance data to human behaviorTying web performance data to human behavior
Tying web performance data to human behavior
 
RUM for Breakfast - distilling insights from the noise
RUM for Breakfast - distilling insights from the noiseRUM for Breakfast - distilling insights from the noise
RUM for Breakfast - distilling insights from the noise
 
High Speed Web Sites At Scale
High Speed Web Sites At ScaleHigh Speed Web Sites At Scale
High Speed Web Sites At Scale
 

Dernier

VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...singhpriety023
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...Escorts Call Girls
 
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft DatingDubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Datingkojalkojal131
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...Neha Pandey
 
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...SUHANI PANDEY
 
Real Escorts in Al Nahda +971524965298 Dubai Escorts Service
Real Escorts in Al Nahda +971524965298 Dubai Escorts ServiceReal Escorts in Al Nahda +971524965298 Dubai Escorts Service
Real Escorts in Al Nahda +971524965298 Dubai Escorts ServiceEscorts Call Girls
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445ruhi
 
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...roncy bisnoi
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...tanu pandey
 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...SUHANI PANDEY
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge GraphsEleniIlkou
 
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceDelhi Call girls
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.soniya singh
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...SUHANI PANDEY
 
Al Barsha Night Partner +0567686026 Call Girls Dubai
Al Barsha Night Partner +0567686026 Call Girls  DubaiAl Barsha Night Partner +0567686026 Call Girls  Dubai
Al Barsha Night Partner +0567686026 Call Girls DubaiEscorts Call Girls
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Servicegwenoracqe6
 

Dernier (20)

VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
 
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft DatingDubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
 
Real Escorts in Al Nahda +971524965298 Dubai Escorts Service
Real Escorts in Al Nahda +971524965298 Dubai Escorts ServiceReal Escorts in Al Nahda +971524965298 Dubai Escorts Service
Real Escorts in Al Nahda +971524965298 Dubai Escorts Service
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
 
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
 
Al Barsha Night Partner +0567686026 Call Girls Dubai
Al Barsha Night Partner +0567686026 Call Girls  DubaiAl Barsha Night Partner +0567686026 Call Girls  Dubai
Al Barsha Night Partner +0567686026 Call Girls Dubai
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 

2014 11-18 rip onload

  • 1. FINDING A BETTER MEASUREMENT YARDSTICK RIP ONLOAD
  • 2. Buddy Brewer @bbrewer Philip Tellis @bluesmoon
  • 4. • Supported by all browsers • Light weight instrumentation • Supported by all monitoring tools • Able to compare across sites
  • 6. • Easy for developers to abuse • Won't work for single page applications • Often misses perceived performance
  • 8. • Inconsistent across web sites • Users could successfully navigate forward before onload
  • 11. • Load event • Front-End time • DOMContentLoaded • DOMComplete
  • 13. var observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { [].slice.call(mutation.addedNodes).forEach(function(node) { if (node.nodeName === "IMG") { if (node.offsetHeight && node.offsetWidth) console.log("Image loaded before mutation"); else node.onload = node.onerror = function(event) { console.log("Image " + event.type + "ed"); }; } }); }); }); observer.observe(document, { childList: true, subtree: true }); MutationObserver Pattern: https://developer.mozilla.org/en/docs/Web/API/MutationObserver
  • 14. // create and dispatch the onUsable event var event = new CustomEvent(“Usable", {“detail":{"foo":true}}); element.dispatchEvent(event); Chrome, Firefox, Opera, Safari, Mobile Safari CustomEvent Pattern: https://developer.mozilla.org/en/docs/Web/API/CustomEvent
  • 15. (function () { function CustomEvent ( event, params ) { params = params || { bubbles: false, cancelable: false, detail: undefined }; var evt = document.createEvent( 'CustomEvent' ); evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail ); return evt; }; CustomEvent.prototype = window.Event.prototype; window.CustomEvent = CustomEvent; })(); IE 9 & 10 CustomEvent Pattern: https://developer.mozilla.org/en/docs/Web/API/CustomEvent
  • 16. if (document.createEventObject) { createCustomEvent = function (e_name, params) { var evt = document.createEventObject(); evt.type = evt.propertyName = e_name; evt.detail = params.detail; return evt; }; } Android 2.x CustomEvent Pattern: https://developer.mozilla.org/en/docs/Web/API/CustomEvent
  • 17. WE COULD USE USERTIMING • window.performance.mark(“Usable”); • Good for setting a time point • Does not actually fire an Event, so you have to poll
  • 18. POLL!
  • 19. SINGLE PAGE APPS • Easy to create a proxy around XMLHttpRequest • Does not capture sub-resources required for the “single page” • Not all XHRs are created equal, so we have an exclude list • But you can capture HTTP response status
  • 20. WE COULD USE MRML • <BRAINSCAN> tag is useful here • Limited Browser support (none) • http://ifaq.wap.org/computers/mrml.html
  • 22. • Time to scroll • Time to click • Time to convert
  • 24. 1. Identify a key user behavior 2. Track this behavior with the timing data 3. Find the timer that the behavior is most sensitive to
  • 28. TRACKING TIMER IMPACT 70% 53% 35% 18% 0% DOMContentLoaded Front-End DOMComplete Load 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 Seconds Bounce Rate
  • 29. 2 sec 8 sec Slope DOMContentLoaded 44.79% 61.72% 2.82% / sec Front-End 44.24% 49.60% 0.89% / sec DOMComplete 40.84% 57.01% 2.70% / sec Load 39.41% 55.53% 2.69% / sec
  • 30. 2 sec 8 sec Slope DOMContentLoaded 44.79% 61.72% 2.82% / sec Front-End 44.24% 49.60% 0.89% / sec DOMComplete 40.84% 57.01% 2.70% / sec Load 39.41% 55.53% 2.69% / sec
  • 31. 2 sec 8 sec Slope DOMContentLoaded 44.79% 61.72% 2.82% / sec Front-End 44.24% 49.60% 0.89% / sec DOMComplete 40.84% 57.01% 2.70% / sec Load 39.41% 55.53% 2.69% / sec
  • 32. I S T H I S T H E ANSWER?
  • 33. UNITED STATES VS AUSTRALIA 60% 45% 30% 15% 0% 2 3 4 5 6 7 8 9 10 11 12 US AU
  • 34. SUMMARY • There is probably no single answer • Depends on your users and what you want them to do • There may even be multiple answers for one web site • Perhaps the best we can hope for is to find a consistent methodology for determining what “done” means
  • 35. WE’LL PROVIDE THE RUM, AND SOME GO PROS SOASTA WRAP PARTY
  • 36. ATTRIBUTIONS https://www.flickr.com/photos/jcubic/14091200977 (Tombstone) https://www.flickr.com/photos/wasteofspace/5961093609 (He-Man) https://www.flickr.com/photos/usagent/3111087806 (Skeletor) https://www.flickr.com/photos/stoic1/2693944218 (Tung Lashor) https://www.flickr.com/photos/marfis75/8031936764 (Two Exits) https://www.flickr.com/photos/exfordy/222888541 (Customized Citroën) https://www.flickr.com/photos/bluesmoon/10271376176/ (Pat and Steve)