UXFest - RUM Distillation 101

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

description

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

Transcript of UXFest - RUM Distillation 101

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