A common experience refinement problem
Every wait in your app feels eternal
The short answer: make the wait part of the product. Here is how to recognise this problem in your funnel, why it happens, and how the best consumer apps design it away.
How to recognise it
- Complaints about speed at objectively normal latencies
- Unlabelled spinners as the only waiting state
- Instant results that users somehow distrust
Why do short waits feel long?
Perceived time and clock time are different measurements. An unexplained spinner dilates seconds; a narrated process compresses them. Users experience the design of the wait, not the duration.
The unlabelled spinner is the worst offender: it communicates only “not yet”, invites doubt, and makes two seconds feel like a held breath.
And the opposite corner exists too: some results arrive so fast they feel cheap. A considered answer, a match, an analysis, a plan, delivered instantly reads as canned, because effort has a speed and users can hear it.
How do you design perceived speed? Narrate, shape, and pace the wait
Never show a bare spinner. Everything over a tenth of a second gets acknowledged; everything over a second gets a story: what is being fetched, prepared, checked. Named steps make time pass visibly.
Use skeletons and progressive loading so something useful appears immediately: reading half a screen beats watching a whole one load.
For considered results, pace the reveal deliberately: a brief “analysing your answers” with visible stages makes the output feel crafted, and the wait becomes evidence of effort. Never fake long delays; shape real ones.
The test: at every wait, does the user know what is happening and roughly how long? If yes, your app is fast, whatever the milliseconds say.
The building blocks that solve it
- Loading Feedback: Every wait acknowledged and narrated.
- Perceived Effort Delay: Considered results deserve a visible beat of effort.
Who does this well
Domino's: The tracker is the canonical proof: the same wait, narrated, becomes content.
Spotify: Skeleton screens paint the shape of the page instantly, so the wait reads as arriving, not loading.
Questions founders ask
Is it ever right to slow something down?
Only when delivering a considered result: an analysis, a match, a recommendation. There, a brief narrated pause raises perceived quality.
Everywhere the user is trying to act, speed wins, always. Slowing the wrong moment is just a worse product.
Skeleton screens, spinners or progress bars?
Skeletons for content arriving, narrated progress for processes running, and spinners only for sub-second gaps.
The ranking follows information: the more the wait explains itself, the shorter it feels.