Web Performance ⚡ FOSDEM 2020

An afternoon of awesome web performance talks

The Wikimedia Foundation Performance team proudly hosted the first-ever Web Performance devroom at FOSDEM.

All talks were live-streamed on February 1st 2020 from Brussels, Belgium by FOSDEM, and published, under a Creative Commons license.

Nic Jansma - Check Yourself Before You Wreck Yourself

Auditing and Improving the Performance of Boomerang

Boomerang is an open-source Real User Monitoring (RUM) JavaScript library used by thousands of websites to measure their visitor's experiences. The developers behind Boomerang take pride in building a reliable and performant third-party library that everyone can use without being concerned about its measurements affecting their site. We recently performed and shared an audit of Boomerang's performance, to help communicate its "cost of doing business", and in doing so we found several areas of code that we wanted to improve. We'll discuss how we performed the audit, some of the improvements we've made, how we're testing and validating our changes, and the real-time telemetry we capture for our library to ensure we're having as little of an impact as possible on the sites we're included on.

Nic is a software developer at Akamai building high-performance websites, apps and open-source tools.

Dario Rossi - Metrics and models for Web performance evaluation

How to measure SpeedIndex from raw encrypted packets, and why it matters

The World Wide Web is still among the most prominent Internet applications. While the Web landscape has been in perpetual movement since the very beginning, these last few years have witnessed some noteworthy proposals such as SPDY, HTTP/2 and QUIC, which profoundly reshape the application-layer protocols family. To measure the impact of such changes, going beyond the classic W3C notion of page load time, a number of Web performance metrics has been proposed (such as SpeedIndex, Above-The-Fold and variants). At the same time, there is still a limited amount of understanding on how these metrics correlate with the user perception (e.g., such as user ratings, user-perceived page load time, etc.). In this talk, we discuss the state of the art in metrics and models for Web performance evaluation, and their correlation with user experience through several real-world studies.

Dario Rossi is a Chief Expert on Network AI at Huawei Technologies, co. Ltd.

Sia Karamalegos - Hint, Hint, Font Loading Matters!

Fonts are lovely but can slow down our loads. How can we make them faster?

We all love fonts. From Google Fonts to Typekit, Hoefler&Co and more, they give character and tone to our websites. The down side of fonts is that they can really slow down our loads. In this talk we'll learn about common pitfalls like critical requests depth and how to use resource hints to play tricks with latency to load web applications faster. We'll walk through a network profile to understand what's going on in the browser and how to make it faster.

Sia Karamalegos is a performance engineer, developer, international conference speaker, and writer.

Robin Marx - The ultimate guide to HTTP resource prioritization

How to make sure your data arrives at the browser in the optimal order

Come learn about how browsers try to guess in what order web page resources should be loaded and how servers use that information to often (accidentally) make your web page slower instead. We look at what resource prioritization is, how it's often implemented terribly in modern HTTP/2 stacks and how we're trying to fix it in QUIC and HTTP/3. We use clear visualizations and images to help explain the nuances in this complex topic and also muse a bit on whether prioritization actually has that large an impact on web performance.

Robin Marx is a web performance researcher at Hasselt University, Belgium.

Nicolás Peña Moreno - Shipping a performance API on Chromium

Experiences from shipping the Element Timing API

Adding new web performance APIs to the web is a complex process. In this talk, I'll go over the steps we went through to ship the Element Timing API in Chromium, which enables measuring rendering timing of image and text content. You'll learn about the process to ship an API exposing performance information to web developers. There were many steps involved in the process: engaging with developers and other browser vendors, brainstorming, privacy and security reviews, Origin Trials, posting an Intent, and addressing questions and ideas after the API has shipped.

Nicolás is a software engineer of the Google Chrome team who works on web performance APIs.

Stefan Burnicki & Nils Kuhn - The journey of building OpenSpeedMonitor

Learnings from unexpectedly finding ourselves developing a FLOSS project

Keeping track caring about web performance is hard with constantly changing standards, improving browsers, frameworks and devices. It gets even harder when you develop a tool meeting these changing requirements. Eight years ago, as an IT service provider, we were faced with the task of permanently monitoring the performance of one of the largest e-commerce platforms. After the initial use of WebPagetest, we quickly needed to develop our own features. What started as minor extensions became a separate project over time. In this talk, we would like to take you on the journey we have taken developing OpenSpeedMonitor. You will hear about some unexpected challenges, what we learned the hard way and why we would have failed years ago, if we didn't decide to develop FLOSS.

Stefan is a full-stack developer who came into contact with open source software as a child, which strongly influenced his career choice.

See also