Chrome Dev Rel helping make the web go faster!. All opinions my own. I’m primarily on 🦋 these days.

Cork, Ireland
Joined July 2015
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
6
26
3
118
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…
2
5
35
2,972
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.
2
3
333
When a tab is hidden (& visibilitychange happens) you should take that as the last opportunity to reliably fire events (save state, fire analytics...) rather than assume unload will fire late (it often doesn't). APIs like fetchLater also help here. Hit me up with any questions?
1
211
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…
2
7
17
3,193
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.
1
15
92
11,773
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.
3
31
1
200
30,576
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
2
2
803
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…
4
584
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
I have no idea why, but it is consistently over 20ms for me. Makes me wonder if I actually understand what INP really is.
3
8
1,024
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
2
1
371
Oops this one should really say 12.001ms to 19.999ms and not 8.1ms to 31.9ms. Sorry for the confusion! We round to the nearest multiple of 8ms (so 8, 16, 24, 32...etc) so <=12 is rounded to 8, >=20 is rounded to 24 and numbers in between are rounded to 16.
265
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
1
1
257
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 🏁
1
291