Building a Better Web
June 19–20, 2017: Training
June 20–22, 2017: Tutorials & Conference
San Jose, CA

Reliably measuring responsiveness in the wild

Shubhie Panicker (Google), Nic Jansma (Akamai)
9:50am–10:30am Thursday, June 22, 2017
Performance Matters
Location: 210 AE
Secondary topics:  Data science and analytics, Monitoring, measurement, and metrics, Performance culture
Average rating: ****.
(4.00, 10 ratings)

Who is this presentation for?

  • Web developers

Prerequisite knowledge

  • A basic understanding of real-user measurement methods and web performance concepts

What you'll learn

  • Understand importance of responsiveness to user interactions and its implication on business and conversion metrics
  • Learn about new RUM (real-user measurement) APIs for responsiveness: web platform APIs shipping in Chrome (e.g., the Long Tasks API) and JavaScript libraries enabling measurement (e.g., Time To Interactive for page load)
  • Understand how these APIs can be leveraged to reliably measure responsiveness and correctly identify culprits causing problems
  • Learn how to instrument your own site using these APIs and how to collect, analyze, and act on the data
  • Understand the role of third-party scripts in responsiveness problems and how to hold them accountable

Description

Responsiveness to user interaction is crucial for users of web apps, and businesses need to be able to measure responsiveness so they can be confident that their users are happy. Unfortunately, users are regularly bogged down by frustrations such as a delayed "time to interactive” during page load, high or variable input latency on critical interaction events (tap, click, scroll, etc.), and janky animations or scrolling. These negative experiences turn away visitors, affecting the bottom line. Sites that include third-party content (ads, social plugins, etc.) are frequently the worst offenders.

The culprit behind all these responsiveness issues are “long tasks," which monopolize the UI thread for extended periods and block other critical tasks from executing. Developers lack the necessary APIs and tools to measure and gain insight into such problems in the wild and are essentially flying blind trying to figure out what the main offenders are. While developers are able to measure some aspects of responsiveness, it’s often not in a reliable, performant, or “good citizen” way, and it’s near impossible to correctly identify the perpetrators.

Shubhie Panicker and Nic Jansma share new web performance APIs that enable developers to reliably measure responsiveness and correctly identify first- and third-party culprits for bad experiences. Shubhie and Nic dive into real-user measurement (RUM) web performance APIs they have developed: standardized web platform APIs such as Long Tasks as well as JavaScript APIs that build atop platform APIs, such as Time To Interactive. Shubhie and Nic then compare these measurements to business metrics using real-world data and demonstrate how web developers can detect issues and reliably measure responsiveness in the wild—both at page load and postload—and thwart the culprits, showing you how to gather the data you need to hold your third-party scripts accountable.

Photo of Shubhie Panicker

Shubhie Panicker

Google

Shubhie Panicker is a staff engineer working on Blink, the Chrome Web Platform, at Google, where she focuses on web performance, such as developing standardized web performance APIs.

Photo of Nic Jansma

Nic Jansma

Akamai

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