U S I N G
H E AT M A P S
T O D E F I N E
P E R F O R M A N C E
M E T R I C S
S E R G E Y C H E R N Y S H E V
J U N E 2 7 , 2 0 1 6 @ N E W Y O R K
W E B P E R F O R M A N C E M E E T U P
Slide 2
Slide 2 text
W H Y D O W E M E A S U R E S P E E D ?
• Monitor for degradations (Ops)
• Analyze code for perf issues (Devs)
• Verify improvements (Devs)
• Prioritize improvements (Business)
• Budget for WPO initiatives (Business)
R E A L U S E R M E A S U R E M E N T
• Real users (a lot of them)
• A lot of data (need to store it)
• All noise you can get, requires filtering
• Metrics are distributions
• Can correlate to business KPIs
Slide 5
Slide 5 text
S Y N T H E T I C T E S T I N G &
A N A LY S I S
• From particular location
• Tester controls instrumentation
• One metric value
• Data can have lots of details for analysis
Slide 6
Slide 6 text
T O D AY ' S M E T R I C S
• DNS, SSL/TLS, TTFB
• Page Load / Document Complete / Fully Loaded
• First Paint
• AFT
• SpeedIndex
Slide 7
Slide 7 text
T I M E T O F I R S T PA I N T
• Shows when completely useless part is over
TTFP
3.5s
Slide 8
Slide 8 text
A F T ( A B O V E T H E F O L D T I M E )
• When everything is finally visible
AFT
15.3s
Slide 9
Slide 9 text
S P E E D I N D E X
• Unifies rendering progress in one number
Speed Index
8618
Slide 10
Slide 10 text
U S E R T I M I N G A P I
• Records custom JS timings on the page
• Measured by both RUM and Synthetic tools
• Can be hard to match with user's reality
• Requires JavaScript instrumentation
Slide 11
Slide 11 text
M E A S U R E U S E R E X P E R I E N C E
• Great experience for users
• "Fast" is just a component
• Correlate what you measure
to business KPIs
• Do not measure what's easy,
measure what matters
N O T T E C H N O L O G Y
Slide 12
Slide 12 text
H E AT
M A P S
D I S C O V E R A N D
D E F I N E
W H AT M AT T E R S
U S I N G
Slide 13
Slide 13 text
U S E R A C T I O N H E AT M A P S
• Eye tracking
• Click tracking
• Hard to capture
• Shows current state
• Can be automated
Slide 14
Slide 14 text
P R O D U C T F E AT U R E H E AT M A P S
• Hard to automate
• Each industry is different
• Usually multiple templates
that power many pages
• Business team already
knows the answers
Slide 15
Slide 15 text
I N T E R A C T I O N O N T H E W E B
1. Acknowledge action
2. Verify destination
3. Provide primary content
4. Allow interaction
5. Show secondary content
6. Invisible tasks
Slide 16
Slide 16 text
D E S I G N C O M P O N E N T S
• Core Branding &
Main Navigation
• Primary content
Slide 17
Slide 17 text
H E AT M A P C U T- O U T S
Core Branding & Main Navigation Primary content
Slide 18
Slide 18 text
C O R E B R A N D I N G H E AT M A P
Slide 19
Slide 19 text
C O R E B R A N D I N G H E AT M A P
Core Branding & Main Navigation
8s
8s
3.5s
15.3s
Slide 20
Slide 20 text
P R I M A RY C O N T E N T H E AT M A P
Slide 21
Slide 21 text
11s
P R I M A RY C O N T E N T H E AT M A P
11s
Primary Content
3.5s
15.3s
Slide 22
Slide 22 text
E X T E N D E D M E T R I C S
• Time To First Paint (TTFP) - 3.5s
• Core Branding & Main Navigation - 8s
• Primary content - 11s
• ...
• Above The Fold (AFT) - 15.3s
Slide 23
Slide 23 text
S E L E C T O R - B A S E D I M P L E M E N TAT I O N
• Uses CSS selectors to define active zones
• Executes "custom metric" function in WebPageTest to
get cutout coordinates
• Downloads test results and video frames using WPT API
• Manipulates video frames and feeds into
visualmetrics.py and uses 99% threshold to grab times
• Kudos to Patrick Meenan for awesome tools