Loading and Progress Copy
Say what is happening, how long it will take if you know, and whether it is safe to leave.
Definition
Loading copy accompanies any wait the reader can perceive. Its job is to convert an unexplained pause into an understood one, and to say whether the reader is needed.
Expert heuristic. A review criterion developed by practitioners. Useful and widely taught, but evaluated by judgement rather than measurement.
On this plate
Reach for this when
- Any operation that can exceed about a second.
- Exports, imports, bulk actions and payment confirmation.
Common mistakes
- Indeterminate spinners on long operations.
- Joke copy on a wait that can fail.
- Completion announced only visually.
- Using personality to fill a wait that the reader is anxious about, such as a payment or a transfer.
The same wait, three ways
| Weak | Better | Best | Why the last one wins |
|---|---|---|---|
| Loading… | Loading your reports | Loading 12 months of reports, about 10 seconds | Sets an expectation that the reader can decide against. |
| Please wait | Uploading | Uploading 3 of 8 files. You can keep working. | Says the wait does not require attention. |
| Processing | Generating your export | Generating your export. We will email you when it is ready. | Releases the reader from the screen entirely. |
| Almost there | Finishing up | Applying changes to 1,204 records | Describes real work instead of pretending to be nearly done. |
What to show at each duration
The threshold matters more than the wording. Words cannot rescue an unacknowledged action.
- Under about 100 milliseconds: nothing. Feedback that appears and vanishes reads as a glitch.
- Up to about a second: an immediate state change on the control itself, with no text.
- One to about ten seconds: a skeleton or determinate progress, plus a sentence naming the work.
- Longer than that: progress, an estimate if honest, and a way to leave and be notified.
Writing them
Do
- Name the specific work: 'Checking availability', not 'Processing'.
- Say when the reader is free to go elsewhere.
- Announce completion through a live region so it is not missed by anyone not watching that area.
- Keep the message stable. Text that cycles through jokes makes a long wait feel longer.
Do not
- Do not claim progress you are not measuring.
- Do not use humour on a wait that might fail.
- Do not leave a failed operation showing a spinner.
What to say while waiting
Do
- Say what is happening when it takes more than a few seconds.
- Give an honest estimate, or none at all.
- Say what the reader can do: wait, leave and come back, or cancel.
- Keep the message stable rather than cycling encouraging phrases.
Do not
- Claim it will only take a moment when it routinely takes a minute.
- Rotate jokes at someone who is waiting on something that matters.
- Write a message for a wait too short to read.
- Leave a long wait unexplained, which reads as a hang.
In practice
- i.
Almost done, for ninety seconds
Estimates that are not trueA message claiming an import was nearly finished, repeated for a minute and a half, cost more trust than silence would have. An honest processing 1,240 of 8,000 records is slower to read and better received.
Local chart
WRT·011 · Region III · Grid E1
This entry and the entries it is stated to connect with. Each line is labelled with what the connection means.
Continue from here
Each link says what the connection is, so you can tell a principle from an alternative from a thing people mix this up with.
Principles behind this
The reasoning this solution is an application of.
- Doherty ThresholdLAW·006 · Law
Related concept
Connected closely enough to change how you apply this.
- Status Messages and Live RegionsA11Y·009 · Accessibility
- Progress IndicatorCMP·026 · Component
- Loading StatesPAT·011 · Pattern
- Skeleton ScreensPAT·012 · Pattern
- MicrocopyWRT·001 · UX writing