Pinned Tweet
Interested in how the modern web works? Think #webperf is important? Then check out my book “HTTP/2 in Action” with @ManningBooks at manning.com/books/http2-in-a…
And if you’ve ever considered writing a book then check out the story behind the book at tunetheweb.com/blog/writing-…
#http2
The `unload` event no longer fires in Chrome by default!
With the rise of the mobile web this has become increasingly unreliable and we think that's a footgun for devs who think it works.
We've spent the last 3 years carefully removing it from Chrome:
developer.chrome.com/blog/un…
People do not open a page read it, and then close it cleanly.
The modern web is more complex with pages backgrounded, often silently killed in the background (by the OS & by users) or navigated away from before being restored by going back.
Unload did not fire for those.
Experimental soft navigation data now available in CrUX!!
If your site is an SPA then see how your own Core Web Vitals data will change at: cruxvis.withgoogle.com/
And read this blog post for more details about how Core Web Vitals change in general:
web.dev/blog/crux-experiment…
Barry Pollard retweeted
Track exactly when blocks of content load in our new origin trial → goo.gle/49nSTL9
Container Timing extends Element Timing so you can measure when entire components like widgets or sidebars are available to your users.
Barry Pollard retweeted
Alright, I wrote it. domenic.me/streams-standard/
Very tempted to write up a response to blog.cloudflare.com/a-better…... It has some good points but a lot of questionable ones and some that are just confused and wrong. But I'm not sure I want to get pulled back into that world.
Don't suppose anyone in my circle knows anyone working at X engineering? Need to discuss a potential issue preventing some users from Chrome 146 logging in. @XDevelopers @engineering
Is there anything more frustrating in the world that trying to create a child's @EA games account? Inconsistent login options (Google sometimes appears, sometimes doesn't), you need a desktop app not a mobile app, you can't login using EA ID online, but can't set an email. Sigh…
Barry Pollard retweeted
Web Performance Calendar day 23 with @tunetheweb on configuring caches to ignore non-content-affecting URL params and reclaim performance. No more of this query string = cache miss nonsense.
calendar.perfplanet.com/2025…
So @ryanflorence had a good chat with @mmocny on this yesterday, but for the rest of you out there here's some things to know.
INP measures (as much as possible) from the moment you interact (click a button, type a key...etc) until the pixels actually update.
🧵 1/12
Also performance APIs (like Event Timing which is what's used here) only measures >= 16ms but also round to nearest 8ms.
So that 16ms you see may be 8.1ms (or even 31.9ms). And you may not see <8ms interactions—though as I say given all of the above they're probably rare.
6/12
So if you're getting 16ms or even 32ms in this rounded, filtered, end to end, measure we show here, that's about the lowest you can expect on the web and is actually very good, even if it seems like it should be shorter!
Also check what else you're doing on your machine!
11/12
We set a 200ms "good" threshold for INP, but a lot of that is based on achievability (esp. on mobile)—there's no point having a target people can't reach.
web.dev/articles/defining-co…
So you really wanna look at the 100ms+ interactions—that's where your real problems are!
12/12 🏁








