4 ms·
What do you propose instead? Just a spinner? No indication that something is happening at all (browser default)? I think placeholder components are a step abov
by hombre_fatal 3y ago
What do you propose instead? Just a spinner? No indication that something is happening at all (browser default)?
I think placeholder components are a step above “Loading…” because they hint at what’s to come and confirm that you’re about to go to the screen you expect. They also indicate that the user is experiencing a view change which is more specific than "wait while something is happening." It's more info.
As for why we need loading screens at all, plenty of developers make the mistake of never considering loading UX because they only use their own app from an optimal internet connection, so they never consider the experience from worse connections.
- dale_glass 3y ago> What do you propose instead? Just a spinner? No indication that something is happening at all (browser default)? Sure, that works. If that's too slow, it should be made faster. I mean, maybe that sounds odd, but even on say, a 10 Mbps connection you can load stuff at 1 MB/s, which means you can load 100K in 100 ms. That's plenty, considering in modern times we don't reload the whole page, so stuff can be preloaded and cached.
- bibanez 3y agoI would've guessed that it's normal to have bad connection often when on mobile. At home I have a stable and high bandwith connection, but on my phone when commuting I regularly loose connection for seconds or minutes at a time. Designign apps should take this into account (that you can't completely optimize out of a bad connection)
- dale_glass 3y agoOh, sure. I get having it as a fallback for the rare cases. But there's stuff that performs horribly in optimal conditions. Eg, my airline has this "Login" link on the front page. If I click that, it pops up a little box, then for some bizarre reason has a "Loading..." inside that shows up for 2 seconds, then finally shows a field for username and password. This is on a 16 core CPU with a 1 Gbps fiber connection. Like what is there even to load? It's just 2 text fields and a couple buttons! If it's some tracking BS, well, that could be done asynchronously in the background. I get that there still exist slow computers and bad connections, but in 99.9% of cases, there's no reason to have a visible load time on anything even relatively modern. We've long had the bandwidth to load more than anyone would care to read in 10ms, and the CPU horsepower to deal with it.
- SebastianKra 3y agoApple Musics approach is my favorite. They show a white screen for half a second, which is usually enough to load the content. If the request takes too long, a spinner fades in. They also, very conservatively, show partial- or skeleton screens. Crucially, these skeleton never animate, cause layout shifts or show filler content. They usually just show UI elements that would be there regardless of what the loaded content is. I never even noticed the loading states until I started paying attention to them.