Making slow loads feel less slow
When a slow table couldn't be fixed right away, I looked at what design could do to make the wait feel better.
You can't always make it faster, but you can make waiting feel better.
At work, I ran into a familiar problem: a table full of data that took a while to load. Fixing the speed was an engineering job. But while that work was underway, I wondered what design could do to make the wait feel less bad.
So I started collecting loading patterns to propose, from familiar to more playful:
- A spinner. Simple and universal, but it only says "something is happening," not how long it'll take.
- Skeleton rows. Gray placeholders in the shape of the table, so people see the layout before the data arrives.
- A row-by-row reveal. Each row wipes in from left to right as its data loads, so the table seems to fill itself in.
- An animated loader with personality. A small branded animation that turns a dead moment into a bit of delight.
I also noticed the idea could travel. The same slow wipe could work on a button press or a side nav opening, so one motion pattern could become part of a system instead of a one-off.
Two things I'd keep in mind with any of them:
- Match the pattern to the wait. Jakob Nielsen's response time limits are a good guide: around 1 second, people stay in flow. Past 10 seconds, they need real progress feedback, not just motion.
- Respect people who don't want motion. Every animated option needs a calm fallback for anyone who has reduced motion turned on.
You can't always make something faster. But you can make waiting feel better, and it's a theme I'd come back to a couple of months later in the Check In App's waiting room.
What worked
What didn't
You can't always make it faster, but you can make waiting feel better.
