I CANNOT STAND UI's that are interactable before they have completed their layout rendering! Or things like notifications that suddenly push everything down, right when you were about to tap on one of those elements! Why is this still a thing? Any UI element that shifts or appears should have like a user-adjustable half-second delay before it becomes interactable again
Former frontend performance guy here – "Cumulative Layout Shift" is the measure of this jank, and yes, it is the absolute worst.
Conversely, it's hard to overstate how magical sites become when you get that down to 0. Once stuff stops shifting, users are effectively fooled into believing that sites are finished loading. Sites just feel fast, even if things are still happening. It's sadly hard to get there, and very easily worsens.
Hilariously, I was trying to enable the minimal JS needed to view that page, and UMatrix DID THE EXACT SAME THING, it shifted down a site I wanted to block under my mouse button. :)
For all you dystopian fiction writers:
the end of all humanity, caused by lazy loading JavaScript.
It shouldn't take more than a weekend, and the "Terrifyingly realistic!" reviews will write themselves.
I suspect the real reason it's still a thing is that it makes users more likely to click on ads, which is after all how most of the internet makes its money.
I CANNOT STAND UI's that are interactable before they have completed their layout rendering! Or things like notifications that suddenly push everything down, right when you were about to tap on one of those elements! Why is this still a thing? Any UI element that shifts or appears should have like a user-adjustable half-second delay before it becomes interactable again