Slide 1

Slide 1 text

Product + Performance Etsy’s Performance Team

Slide 2

Slide 2 text

We — performance.

Slide 3

Slide 3 text

Why is perf important? Etsy shop: sharpshirter

Slide 4

Slide 4 text

Perf Team #performance 2 seconds ! (what users expect) 4

Slide 5

Slide 5 text

Perf Team #performance +12% bounces ! when we added 160k of page weight on mobile web 5

Slide 6

Slide 6 text

Perf Team #performance Performance on mobile is as slow as dialup. 6

Slide 7

Slide 7 text

Cable connection 3G connection

Slide 8

Slide 8 text

Perf Team #performance 8 Delay User Reaction 0-100ms Instant 100-300ms Slight perceptible delay 300-1000ms Task focus, perceptible delay 1s+ Mental context switch 10s+ I’ll come back later…

Slide 9

Slide 9 text

Perf Team #performance more favoriting (and fewer bounces) ! when the team improved scrolling performance
 in the activity feed 9

Slide 10

Slide 10 text

Perf Team #performance better experiment results ! We lose beacons on slower networks, 
 and the poorer UX can impact engagement metrics! 10

Slide 11

Slide 11 text

Perf Team #performance Native app performance tooling is coming. 11

Slide 12

Slide 12 text

Perf Team #performance We have tools for you for the web! Front-end: WebPagetest, Chrome DevTools Back-end: CrossStitch, XHProf Back-end in experiment results Soon: Front-end in experiment results, App performance 12

Slide 13

Slide 13 text

Perf Team #performance Aim for: 800ms back-end load time 2 seconds total load time on WebPagetest (non-mobile) 4.5 seconds mobile total load time 13

Slide 14

Slide 14 text

Perf Team #performance Aim for: <1 MB total page weight SpeedIndex <1000 All images compressed No scrolling jank 14

Slide 15

Slide 15 text

When you’re iterating on existing features

Slide 16

Slide 16 text

Perf Team #performance 1. Ask the Performance Team for an analysis!
 We can provide quick/high-impact ideas
 for performance improvements. 16

Slide 17

Slide 17 text

Perf Team #performance 2. Follow our tips for audits in go/perfworkflow 17

Slide 18

Slide 18 text

Perf Team #performance 3. In your experiment: "Add Additional Metric" under "Detailed Statistics", select "Backend Load Time" for the event you want to measure. 
 We’re working on front-end time too! 18

Slide 19

Slide 19 text

Perf Team #performance 19

Slide 20

Slide 20 text

When you’re designing and developing new features

Slide 21

Slide 21 text

Perf Team #performance 1. Create a performance budget. Be clear up front what you’re aiming for, such as: • total page load time, especially on mobile • total page weight • total CSS and JS files 21 2s on cable connection 4s on 3G 1mb only one of each

Slide 22

Slide 22 text

Perf Team #performance 22 Example Metric Example Goal How we’ll measure Page weight 1Mb WebPagetest, Chrome, Dulles VA, Cable connection Page load time, mobile 4.5 seconds WebPagetest, Chrome, Dulles VA, 3G connection Page load time, 
 mobile in Australia 6.5 seconds WebPagetest, Chrome, Australia, 3G connection Frame rendering 16.6ms Chrome DevTools New CSS, JS files One of each Chrome DevTools App launch time 1 second iOS simulator, Android simulator

Slide 23

Slide 23 text

Perf Team #performance 2. Audit on your VM before running any experiment! 23

Slide 24

Slide 24 text

Perf Team #performance 3. Create a performance dashboard for your feature.
 You can measure things like total page weight, 
 back-end and front-end load time over time. Use the benchmarks you created in your performance budget. 24

Slide 25

Slide 25 text

Perf Team #performance 4. Ask the Performance Team for an analysis!
 We can provide quick/high-impact ideas
 for performance improvements. 25

Slide 26

Slide 26 text

Perf Team #performance Resources: Basics of Performance (PDF) Join our Performance Google Group “Performance Workflow” on Confluence Example Performance Budget on Google Sheets App Perf Measurement Tools on Confluence (in progress) 26

Slide 27

Slide 27 text

Some of the work that Perf is doing * You can follow along!

Slide 28

Slide 28 text

Perf Team #performance 28

Slide 29

Slide 29 text

Perf Team #performance 29

Slide 30

Slide 30 text

Perf Team #performance Where are we with apps? 1. Right now we’re figuring out what to measure. 2. Next we’ll figure out how what tools we need to use to measure each thing. 3. Then we’ll document and start teaching everybody about how to measure app performance. 30

Slide 31

Slide 31 text

Questions? Etsy shop: sharpshirter