46
RUM Distillation 101 UX Fest 2013 Jonathan Klein @jonathanklein Tuesday, October 1, 13

UXFest - RUM Distillation 101

Embed Size (px)

DESCRIPTION

This presentation covers some techniques for improving performance, as well as some business metrics around performance that Etsy has gathered recently.

Citation preview

Page 1: UXFest - RUM Distillation 101

RUM Distillation 101UX Fest 2013Jonathan Klein@jonathanklein

Tuesday, October 1, 13

Page 2: UXFest - RUM Distillation 101

Some Etsy Stats•Handmade marketplace• 1.5 billion page views/month•Almost $1B in sales last year

Tuesday, October 1, 13

Page 3: UXFest - RUM Distillation 101

Tuesday, October 1, 13

Page 4: UXFest - RUM Distillation 101

What We Focus On

Tuesday, October 1, 13

Page 5: UXFest - RUM Distillation 101

Metrics We Care About

Tuesday, October 1, 13

Page 6: UXFest - RUM Distillation 101

Metrics We Care About•Backend Load Time

Tuesday, October 1, 13

Page 7: UXFest - RUM Distillation 101

Metrics We Care About•Backend Load Time• SEO, capacity, impacts first paint

Tuesday, October 1, 13

Page 8: UXFest - RUM Distillation 101

Metrics We Care About•Backend Load Time• SEO, capacity, impacts first paint•Time to first paint

Tuesday, October 1, 13

Page 9: UXFest - RUM Distillation 101

Metrics We Care About•Backend Load Time• SEO, capacity, impacts first paint•Time to first paint•Rendering Performance

Tuesday, October 1, 13

Page 10: UXFest - RUM Distillation 101

Metrics We Care About•Backend Load Time• SEO, capacity, impacts first paint•Time to first paint•Rendering Performance

Tuesday, October 1, 13

Page 11: UXFest - RUM Distillation 101

Time to First Paint

Tuesday, October 1, 13

Page 12: UXFest - RUM Distillation 101

Tuesday, October 1, 13

Page 13: UXFest - RUM Distillation 101

Blocked By

Tuesday, October 1, 13

Page 14: UXFest - RUM Distillation 101

Blocked By•Base HTML Page

Tuesday, October 1, 13

Page 15: UXFest - RUM Distillation 101

Blocked By•Base HTML Page•CSS

Tuesday, October 1, 13

Page 16: UXFest - RUM Distillation 101

Blocked By•Base HTML Page•CSS• JavaScript

Tuesday, October 1, 13

Page 17: UXFest - RUM Distillation 101

Solutions

Tuesday, October 1, 13

Page 18: UXFest - RUM Distillation 101

Solutions• Small CSS (can inline)

Tuesday, October 1, 13

Page 19: UXFest - RUM Distillation 101

Solutions• Small CSS (can inline)•Defer JavaScript

Tuesday, October 1, 13

Page 20: UXFest - RUM Distillation 101

Solutions• Small CSS (can inline)•Defer JavaScript• Fast backend

Tuesday, October 1, 13

Page 21: UXFest - RUM Distillation 101

Solutions• Small CSS (can inline)•Defer JavaScript• Fast backend•CDN

Tuesday, October 1, 13

Page 22: UXFest - RUM Distillation 101

Rendering Performance

Tuesday, October 1, 13

Page 23: UXFest - RUM Distillation 101

60 FPS

Tuesday, October 1, 13

Page 24: UXFest - RUM Distillation 101

16.6 ms

Tuesday, October 1, 13

Page 25: UXFest - RUM Distillation 101

Tuesday, October 1, 13

Page 26: UXFest - RUM Distillation 101

Jank

Tuesday, October 1, 13

Page 27: UXFest - RUM Distillation 101

http://jankfree.org/jank-busters-io-2013/template.html#15

Tuesday, October 1, 13

Page 28: UXFest - RUM Distillation 101

Why Do We Care?

Tuesday, October 1, 13

Page 29: UXFest - RUM Distillation 101

Facebook artificially slowed down frame rate on iOS and Android to 30 FPS, and “engagement collapsed”

- Shane O'Sullivan, Edge London 2013

Tuesday, October 1, 13

Page 30: UXFest - RUM Distillation 101

Etsy tested pre-fetching JS on our search results page, which caused jank as the JS finished downloading. All

business metrics we monitored got much worse.- Me, right now

Tuesday, October 1, 13

Page 31: UXFest - RUM Distillation 101

Solutions

Tuesday, October 1, 13

Page 32: UXFest - RUM Distillation 101

Tuesday, October 1, 13

Page 33: UXFest - RUM Distillation 101

jankfree.org

Tuesday, October 1, 13

Page 34: UXFest - RUM Distillation 101

Etsy Studies

Tuesday, October 1, 13

Page 35: UXFest - RUM Distillation 101

Improved Performance

Tuesday, October 1, 13

Page 36: UXFest - RUM Distillation 101

Improved Performance•Went from 4 sharded domains to two

Tuesday, October 1, 13

Page 37: UXFest - RUM Distillation 101

Improved Performance•Went from 4 sharded domains to two• 500ms load time improvement on mobile

Tuesday, October 1, 13

Page 38: UXFest - RUM Distillation 101

Improved Performance•Went from 4 sharded domains to two• 500ms load time improvement on mobile• 30-50ms on desktop

Tuesday, October 1, 13

Page 39: UXFest - RUM Distillation 101

Improved Performance•Went from 4 sharded domains to two• 500ms load time improvement on mobile• 30-50ms on desktop•0.27% increase in page views per visit

Tuesday, October 1, 13

Page 40: UXFest - RUM Distillation 101

Increased Page Weight

Tuesday, October 1, 13

Page 41: UXFest - RUM Distillation 101

Increased Page Weight•Added ~160k more bytes on mobile

Tuesday, October 1, 13

Page 42: UXFest - RUM Distillation 101

Increased Page Weight•Added ~160k more bytes on mobile• 12% increase in bounce rate

Tuesday, October 1, 13

Page 43: UXFest - RUM Distillation 101

Tradeoffs

Tuesday, October 1, 13

Page 44: UXFest - RUM Distillation 101

Test Everything

Tuesday, October 1, 13

Page 45: UXFest - RUM Distillation 101

Listen to the Customer

Tuesday, October 1, 13

Page 46: UXFest - RUM Distillation 101

Faster is Better

Tuesday, October 1, 13