@tunetheweb@gilberto_cocchi@hdjirdeh From what I remember in our previous LoAF iterations Facebook, Sentry and Google Analytics were at the top of INP culprits in terms of 3rd party scripts. Specifically in Facebook's case it's just about adding yield in the right place, but only they can do that.
If you're attending @WebdevconNL, be sure not to miss @jebbacca's great talks on Mar 15:
1. "Unleashing Web #Performance: Mastering JavaScript Optimization and Real-World Responsiveness".
2. "Browser Fundamentals: From Macro To Micro".
💪 Good luck @jebbacca!
@nomsternom@tunetheweb@mmocny The amount of code you need for `dialog` cannot compete with the one liner
`const res = confirm(''Confirmation message")`.
If this one liner worked asynchronously, like:
`const res = await confirm(''Confirmation message")`
then much more people would be using it I assume.
Never, you hear me, never use `window.prompt` if you want to have good INP (or good UX for that matter). It blocks the main thread. Same goes for `alert` and `confirm`.
I wonder what the valid use cases are for using these, does anyone have an idea? #webperf
@nomsternom@tunetheweb@mmocny Fair point. And the fact that the document is prevented from painting until the modal closes is still an issue, but not related to INP. I understand the logic. I wish though we still had these APIs natively, but without blocking the main thread, with async support.
@mmocny@nomsternom@tunetheweb I see what you mean, you can't penalize for something that has no alternative. On the other hand, for replaceable use cases, having a bad CWV score may be a better incentive rather than just discouraging it in the docs. Btw, the closest thing to discouraging I found was this:
@nomsternom@tunetheweb@mmocny You are right, it's not an input delay, however, it prevents paint. Wouldn't this fall under Interaction To Next Paint category?
@nomsternom@tunetheweb@mmocny But it's not just about the numbers, it also blocks the rendering. Isn't it a bad thing? Look at the transition on the button🤮. In any case I'd love to hear about the valid use cases.
Interestingly, as per spec, `prompt` and `confirm` demand the user agent to pause the execution, while for `alert` it is optional. I assume it's mostly historical, but does anyone have a good explanation for this?
https://t.co/RNCCBGqg2L
Landed some big improvements for INP last month, sites built on @Wix are now in much better shape for the upcoming replacement of FID.
Starting to get the hang of this new metric, more to come..
🌎 71.8% (↑ 13.7%) had good INP globally
🇺🇸 90.8% (↑ 6.3%) had good INP in the US
Hi #Angular folks! Happy to share that we, at @angular-builders, have just released a new ESBuild builder that allows extending ESBuild config with plugins. Credit goes to @overthesanity, who did most of the work, and to everyone who contributed to the effort. Link 👇.