The Curious Case of the Shallow Session SPAs

https://news.ycombinator.com/rss Hits: 1
Summary

Buried at the end of this year’s installment of my semi-annual series on network and device reality is a mystery: multiple, independent data sets from the Web Performance community indicate sites built as Single-Page Applications (“SPAs”) receive, on average, only one (1) “soft navigation” for every “hard” page load. The RUM Archive and Michal Mocny’s early analysis from the Chrome Soft Navigations Origin Trial data agree: users of SPAs don’t generate long sessions on average: Taken at face value, this appears to indicate an industry-wide failure of technology selection, implying huge accretions of complexity for very little payoff. Is that what’s happening? I believe this is the most important mystery for the web performance community to get a handle on in 2026. In strange congruence, this mystery is partially modeled by the definition of web performance I haltingly offered four years ago in these very pages: The mission of web performance is to expand access to information and services. We expand access by reducing latency and variance across all interactions in a user’s session to more reliably return the system to an interactive state. We work to improve the tail of the distribution (P75+) because that is how we make systems accessible, reliable, and equitable. In that piece, I outlined the core loop for handling any input in a computer program: The system is ready to receive input. Input is received and processed. Progress indicators are displayed. Work starts; progress indicators update. Work completes; output is displayed. GOTO 1 The soft-vs-hard navigation ratio question is fundamentally about this loop and our goal to reduce latency and variance. Can we really make additional trips through the loop faster via JS? Is there even a credible opportunity to do so? When we discuss SPAs, MPAs, hybrid approaches, this question lurks in the background, with proponents of each stressing costs and variability in different stages of the loop. Session depth also reads o...

First seen: 2026-01-01 20:12

Last seen: 2026-01-01 20:12