← Back to context

Comment by cyberax

2 days ago

Which is fine. Nothingness, or a generic spinner actually don't lie to me.

Skeletons lie by making an impression that the data is just about ready. So there's this failure mode where data is NOT ready because of a slow app/network, and I end up staring at a fake. Even worse, sometimes skeletons also break scrolling, so you end up even more frustrated because your controls don't work.

1. You load nothing, and the page is broken and unusable. A slow network means you see a header and a footer smooshed together.

2. You show a spinner, which is functionally equivalent to a spinner

3. You wait until the content is loaded and the page feels completely broken, because nothing is happening until it's loaded.

> sometimes skeletons also break scrolling, so you end up even more frustrated because your controls don't work.

This is just lazy programming. The skeleton should be the minimum height of the content it will be replaced by.

  • Again, I don't see any upsides for me compared to a blank page. Skeletons in the best case just show a useless intermediate state, and in the worst case just force me to pay attention to a non-functional page for an indefinite amount of time.

    A blank page does not try to keep grabbing my attention.

    Skeletons also have a toxic effect on web developers by letting them get sloppier.