Just a few weeks ago I was lucky enough to attend the PerfMatters conference, up in San Francisco, CA. It was a site speed enthusiast’s dream.
Not only we were around a bunch of other web performance nerds for two straight days, but we were graced with talks by speed experts from Google, Netflix, Etsy, Akamai, and more. Plus I got to meet my two idols Steve Souders and Paul Irish 🙂
Here’s a quick summary of what I got out of it, which is in no means exhaustive.
Not all presenters had links to their slides available, but here were some of my favorites:
- Past, Present and Future of Resource Loading – Yoav Weiss from Akamai. Explains why web is so slow, and common fixes and new technologies.
- Raiders of the Fast Start: Frontend Performance Archaeology – Katie Sylor-Miller from Etsy. Walks you through some of the issues Etsy had with their performance, and how they tackled them.
- Perceived Performance: The only kind that really matters – Eli Fitch from Mapbox. Here’s some elegant tricks to make the user feel like your website is faster, even if it isn’t (taking advantage of user psychology to make them think your site is faster than it really is)
- Third-party content: The weak link in the chain – Simon Hearne from Akamai. Anyone who has 3rd party content on their site? Yes, that’s everyone – look through this.
- Web Perf Metrics & Measurement in 2018 – Paul Irish from Google. With so many metrics, what should we focus on? This man knows his stuff.
A few interesting points that I learned
- All performance teams have their own metric that they focus on optimizing. For Pinterest they call it PWT, pinner wait time – and it’s different for each page. Etsy chose DomContentLoaded. Paul Irish suggested 3 to focus on: Time to Interactive, Speed Index, and First Contentful Paint
- The mathematical summary of each metric we look at is important. A mean average is going to include outliers. Many teams choose the median (aka percentile 50, or P50). Other teams looked at P90 or P95 (the value that at least 90% of your users experienced)
- It’s crucial to segment your perf results over the type of users. For example: show speed improvement effect by user connection speed, browser, user activity type (new user vs power user). Each of those slices is going to tell you a different story, or unhide something previously unknown.
- Unshared your domains – that was an old HTTP/1.1 best practice. Now with better protocols it’s more efficient to have as much as you can coming from one domain/connection.
- Compression: Brotli offer slightly better compression than gzip, but it takes 3x as long on the server – so make sure your server can handle it, or use static compression (becoming more widely accepted).
- To make users happy, shoot for 30% speed improvements – anything under 20% isn’t perceptible
- We all know third party tracking scripts are annoying, but how can we tell exactly how much they slow down our site since they are usually loaded asynchrounously? Here’s a tip: use the Block feature of WebPageTest to block them from loading. Then you can give your marketing team evidence of the true effect of tracking pixels on your page speed.
- Don’t argue synthetic vs RUM speed tracking – in reality we need both. Synthetic gives you a consistent environment to isolate performance changes in your code base. RUM is effective in validating your improvements across your users, and is the only way to measure the effect on your bottom-line revenue/sales/conversions.
This was the first PerfMatters conference, and I’m really hoping it’s not the last. It was well organized, fun, and extremely insightful. Thanks so much to all the speakers, organizers, and attendees.
If you get the chance to go next year, do it!