using heat maps to improve performance metrics

19
USING H E A T M A P S TO DEFINE PERFORMANCE METRICS SERGEY CHERNYSHEV ORGANIZER, NEW YORK WEB PERFORMANCE MEETUP

Upload: sergeychernyshev

Post on 13-Apr-2017

525 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: Using Heat Maps to improve performance metrics

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 O R G A N I Z E R , 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

Page 2: Using Heat Maps to improve performance metrics

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)

Page 3: Using Heat Maps to improve performance metrics

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

Page 4: Using Heat Maps to improve performance metrics

M E A S U R E U S E R E X P E R I E N C E

• Good experience for users

• "Fast" is just a component

• Do not measure what's easy - measure what matters.

N O T T E C H N O L O G Y

Page 5: Using Heat Maps to improve performance metrics

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

Page 6: Using Heat Maps to improve performance metrics

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

Page 7: Using Heat Maps to improve performance metrics

S P E E D I N D E X

• Unifies rendering progress in one number

Speed Index 8618

Page 8: Using Heat Maps to improve performance metrics

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

Page 9: Using Heat Maps to improve performance metrics

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

Page 10: Using Heat Maps to improve performance metrics

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, not the intent for new features

• Can be automated

Page 11: Using Heat Maps to improve performance metrics

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

• Good news - business team already knows the answers

Page 12: Using Heat Maps to improve performance metrics

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

Page 13: Using Heat Maps to improve performance metrics

D E S I G N C O M P O N E N T S

• Core Branding & Main Navigation

• Primary content

Page 14: Using Heat Maps to improve performance metrics

H E AT M A P C U T- O U T S

Core Branding & Main Navigation Primary content

Page 15: Using Heat Maps to improve performance metrics

C O R E B R A N D I N G H E AT M A P

Core Branding & Main Navigation

8s

Page 16: Using Heat Maps to improve performance metrics

P R I M A RY C O N T E N T H E AT M A P

11s

Primary Content

Page 17: Using Heat Maps to improve performance metrics

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

Page 18: Using Heat Maps to improve performance metrics

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

Page 19: Using Heat Maps to improve performance metrics

T H A N K Y O U !

[email protected]

@SergeyChe