The Psychology of Speed Simon Hearne Web Performance Solutions Engineer @ Akamai simonhearne.com/presentations/psych-speed/
Slide 2
We’ve all seen the studies… Walmart sees 1% increase in revenue for every 100ms improvement
wpostats.com/tags/conversion/
Slide 3
We’ve all seen the studies… Walmart sees 1% increase in revenue for every 100ms improvement Staples saw a 10% increase in conversion rate when reducing homepage load time by one second
wpostats.com/tags/conversion/
Slide 4
We’ve all seen the studies… Walmart sees 1% increase in revenue for every 100ms improvement Staples saw a 10% increase in conversion rate when reducing homepage load time by one second AliExpress saw 10.5% increase in conversions when reducing load time by 36% wpostats.com/tags/conversion/
Slide 5
We’ve all seen the studies… The BBC loses an additional 10% of users for every additional second it takes to load
wpostats.com/tags/engagement/
Slide 6
We’ve all seen the studies… The BBC loses an additional 10% of users for every additional second it takes to load Pinterest improved load time by 40% and saw 15% increase in SEO traf c and 15% increase in conversions
wpostats.com/tags/engagement/
Slide 7
We’ve all seen the studies… The BBC loses an additional 10% of users for every additional second it takes to load Pinterest improved load time by 40% and saw 15% increase in SEO traf c and 15% increase in conversions The Financial times increased user engagement by 30% when they released the new, performance focused FT.com wpostats.com/tags/engagement/
Slide 8
What do we mean by speed?
Slide 9
What do we mean by speed? Simon Hearne @simonhearne
I’m writing a new performance talk and I need your help! What’s your go-to performance measure? 13 11:34 PM - Mar 28, 2019 32% Load Time 19% DOM Ready / complete 33% First paint 16% Other / Lazy
Slide 10
Navigation Timing API
Slide 11
What actually matters?
Slide 12
What actually matters? Is it working?
Slide 13
What actually matters? Is it working? Is it useful?
Slide 14
What actually matters? Is it working? Is it useful? Is it interactive?
Slide 15
Is it working?
Slide 16
0:00 / 0:03
Slide 17
Is it working? Time to First Byte First Paint
Slide 18
Is it useful?
Slide 19
0:00 / 0:04
Slide 20
Is it useful? DOM Content Loaded DOM Complete First Contentful Paint Time to Visually Ready* *mPulse only
Slide 21
Is it interactive?
0:00 / 0:03
Slide 22
Is it interactive? Time to Interactive First Input Delay Time to First Interaction Rage Clicks* *mPulse only
Slide 23
POLL 1 What do you measure?
Slide 24
User Timing API window.addEventListener( ‘scroll’, ()=>{ performance.mark(‘first-scroll’); }, {once: true, capture: false, passive: true} ); *probably don’t use this in production User Timing API
94.23%
global browser support caniuse.com
Slide 25
Timer Summary
Slide 26
Timer Summary Time to First Byte (TTFB)
⇨
The speed of the delivery stack
Slide 27
Timer Summary Time to First Byte (TTFB) DOM Content Loaded (DCL)
⇨ ⇨
The speed of the delivery stack The speed of critical dependencies
Slide 28
Timer Summary Time to First Byte (TTFB) DOM Content Loaded (DCL) DOM Ready
⇨ ⇨ ⇨
The speed of the delivery stack The speed of critical dependencies How fast the page is parsed
Slide 29
Timer Summary Time to First Byte (TTFB) DOM Content Loaded (DCL) DOM Ready First Paint (FP)
⇨ ⇨ ⇨ ⇨
The speed of the delivery stack The speed of critical dependencies How fast the page is parsed The rst time something is rendered
Slide 30
Timer Summary Time to First Byte (TTFB) DOM Content Loaded (DCL) DOM Ready First Paint (FP) First Contentful Paint (FCP)
⇨ ⇨ ⇨ ⇨ ⇨
The speed of the delivery stack The speed of critical dependencies How fast the page is parsed The rst time something is rendered When the user might rst see content
Slide 31
Timer Summary Time to First Byte (TTFB) DOM Content Loaded (DCL) DOM Ready First Paint (FP) First Contentful Paint (FCP) Time To Visually Ready (TTVR)
⇨ ⇨ ⇨ ⇨ ⇨ ⇨
The speed of the delivery stack The speed of critical dependencies How fast the page is parsed The rst time something is rendered When the user might rst see content When key content is rendered
Slide 32
Timer Summary Time to First Byte (TTFB) DOM Content Loaded (DCL) DOM Ready First Paint (FP) First Contentful Paint (FCP) Time To Visually Ready (TTVR) Page Load Time (PLT)
⇨ ⇨ ⇨ ⇨ ⇨ ⇨ ⇨
The speed of the delivery stack The speed of critical dependencies How fast the page is parsed The rst time something is rendered When the user might rst see content When key content is rendered When the page is complete
Slide 33
Timer Summary Time to First Byte (TTFB) DOM Content Loaded (DCL) DOM Ready First Paint (FP) First Contentful Paint (FCP) Time To Visually Ready (TTVR) Page Load Time (PLT) Time To Interactive
⇨ ⇨ ⇨ ⇨ ⇨ ⇨ ⇨ ⇨
The speed of the delivery stack The speed of critical dependencies How fast the page is parsed The rst time something is rendered When the user might rst see content When key content is rendered When the page is complete When the app is rst responsive to input
Slide 34
Timer Summary Time to First Byte (TTFB) DOM Content Loaded (DCL) DOM Ready First Paint (FP) First Contentful Paint (FCP) Time To Visually Ready (TTVR) Page Load Time (PLT) Time To Interactive Time to First Interaction (TTFI)
⇨ ⇨ ⇨ ⇨ ⇨ ⇨ ⇨ ⇨ ⇨
The speed of the delivery stack The speed of critical dependencies How fast the page is parsed The rst time something is rendered When the user might rst see content When key content is rendered When the page is complete When the app is rst responsive to input When a user rst tries to interact
Slide 35
Timer Summary Time to First Byte (TTFB) DOM Content Loaded (DCL) DOM Ready First Paint (FP) First Contentful Paint (FCP) Time To Visually Ready (TTVR) Page Load Time (PLT) Time To Interactive Time to First Interaction (TTFI) First Input Delay (FID)
⇨ ⇨ ⇨ ⇨ ⇨ ⇨ ⇨ ⇨ ⇨ ⇨
The speed of the delivery stack The speed of critical dependencies How fast the page is parsed The rst time something is rendered When the user might rst see content When key content is rendered When the page is complete When the app is rst responsive to input When a user rst tries to interact How long it takes to respond to input
Slide 36
Timer Summary Time to First Byte (TTFB) DOM Content Loaded (DCL) DOM Ready First Paint (FP) First Contentful Paint (FCP) Time To Visually Ready (TTVR) Page Load Time (PLT) Time To Interactive Time to First Interaction (TTFI) First Input Delay (FID)
⇨ ⇨ ⇨ ⇨ ⇨ ⇨ ⇨ ⇨ ⇨ ⇨
The speed of the delivery stack The speed of critical dependencies How fast the page is parsed The rst time something is rendered When the user might rst see content When key content is rendered When the page is complete When the app is rst responsive to input When a user rst tries to interact How long it takes to respond to input developer.akamai.com/mpulse/whats-in-a-beacon/
Slide 37
My requirements (for multi-app analysis)
Slide 38
My requirements (for multi-app analysis)
Available in most browsers
Slide 39
My requirements (for multi-app analysis)
Available in most browsers 2. Representative of user experience
Slide 40
< psychology >
Slide 41
Objective vs Subjective time Users don’t measure your speed with a stopwatch
Slide 42
How long does ten minutes feel?
Slide 43
How long does ten minutes feel?
Slide 44
Does an hour feel longer to some people?
Slide 45
Our perception of time is subjective… …but our measures are objective
Slide 46
What about web performance?
Slide 47
What about web performance? User perception is ~15% slower than objective measures (more waiting room than romantic evening)
Slide 48
What about web performance? User perception is ~15% slower than objective measures (more waiting room than romantic evening)
Find the metric closest to user perception* *this depends entirely on your app!
Slide 49
First Law of Service satisfaction = perception - expectation The Psychology of Waiting Lines by David Maister
Slide 50
Speed?
Slide 51
How can we measure speed?
Slide 52
How can we measure speed? Synthetic Tests
Slide 53
How can we measure speed? Synthetic Tests Application Monitoring
Slide 54
How can we measure speed? Synthetic Tests Application Monitoring Analytics
Slide 55
How can we measure speed? Synthetic Tests Application Monitoring Analytics Real User Monitoring
Slide 56
POLL 2 How do you measure speed? Synthetic Tests Application Monitoring Analytics Real User Monitoring
Slide 57
< psychology >
Slide 58
Just Noticeable Difference
Slide 59
Faster, slower or the same?
reset | all
Slide 60
Faster, slower or the same? The 20% Rule: “Designing and Engineering Time” by Steven C. Seow, Ph.D.
reset | all
Slide 61
So what?
Slide 62
So what? Get 20% faster for existing customers to notice
Slide 63
So what? Get 20% faster for existing customers to notice Be 20% faster than your peers & competitors
Slide 64
Engagement?
Slide 65
What do you do when you feel engaged?
Slide 66
What do you do when you feel engaged? Hang around
Slide 67
What do you do when you feel engaged? Hang around Click on things
Slide 68
What do you do when you feel engaged? Hang around Click on things Complete an action
Slide 69
How can we measure engagement?
Slide 70
How can we measure engagement? Simon Hearne @simonhearne
How do you measure “user engagement” on your site? #SEOChat #ecomchat 1 10:09 AM - Mar 15, 2019 33% Session Length (pages) 22% Session Duration (mins) 22% Bounce Rate 23% Other? (pls comment)
Slide 71
POLL 3 How do you measure engagement? Session Length Bounce Rate Exit Rate Time on page
Goals for maximum engagement Timer First Input Delay (FID) Time to First Byte (TTFB) First Contentful Paint (FCP) DOM Ready Time To Visually Ready (TTVR) Page Load Time (PLT) Time To Interactive
Goal Speed 200ms 500ms 1,000ms 2,500ms 2,500ms 3,000ms 4,000ms Based on aggregate data - what are yours?
Slide 76
Measuring against your goals What percentage of user experiences achieve the goal? perfScore = beacons faster than goal / total beacon count
Slide 77
Enable latest features Timer TTFB Page Load Time DOM Ready Time to Visually Ready First Contentful Paint Time to Interactive First Input Delay
Rate 100% 99% 96% 88% 47% 38% 21%
~1Bn mPulse pageview beacons - early March 2019
Slide 78
< psychology >
Slide 79
Human Computer Interaction principles
Slide 80
Akscyn’s Law “
Hypertext systems should take about 1/4 second to move from one place to another. If the delay is longer, people may be distracted; if the delay is much longer, people will stop using the system “KMS: KMS A Distributed Hypermedia Systems for Managing Knowledge in Organizations”. Robert Akscyn, Donald McCracken & Elise Yoder. 1988.
Slide 81
We’ve known this since 1969!
“Response Time in Man-Computer Conversational Interactions” by Robert B Miller. 1969.
Slide 82
So what?
Slide 83
So what? The fundamentals don’t change
Slide 84
So what? The fundamentals don’t change Simple & fast is better than complex and slow
Slide 85
So what? The fundamentals don’t change Simple & fast is better than complex and slow Give users something every ~1 second
Slide 86
Conclusions
✍
Slide 87
Conclusions
✍
Measuring speed is dif cult
Use metrics which correlate with engagement Track the 75th - 95th percentile (with RUM) Calculate scores against goal speeds
Slide 88
Conclusions
✍
Measuring speed is dif cult
Use metrics which correlate with engagement Track the 75th - 95th percentile (with RUM) Calculate scores against goal speeds
Deliver something to the user quickly Server-side rendering Inline critical dependencies Optimise your CDN con gurations
Slide 89
Conclusions
✍
Measuring speed is dif cult
Use metrics which correlate with engagement Track the 75th - 95th percentile (with RUM) Calculate scores against goal speeds
Deliver something to the user quickly Server-side rendering Inline critical dependencies Optimise your CDN con gurations
JavaScript is (usually) the bottleneck Analyse FID and TTI Manage event listeners Track third-party scripts
Slide 90
< hacking psychology >
Slide 91
Hacking human perception
Slide 92
There are no guarantees on performance
Slide 93
There are no guarantees on performance but you can buy some time