Progress Indicator¶
A UI element that externalises a running process's position — how far along, how much remains, whether it is still alive — to resolve the uncertainty that would otherwise drive a waiting user to abandon or repeatedly check in.
Core Idea¶
A progress indicator is a UI element that externalises a running process's current position — how far along it is, how much remains, whether it is still alive — legibly to the waiting user. The mechanism is information-theoretic: the user's decision to wait or abandon depends on a belief about the process's state, and the indicator supplies enough to resolve it. Two structurally distinct cases: determinate indicators report fraction-complete when the total is measurable; indeterminate ones convey only liveness. The trust contract is that the indicator faithfully tracks the process.
Scope of Application¶
Lives across the interface-design subfields of HCI, wherever a participant waits on a non-instantaneous process and decides whether to stay.
- Software and OS interfaces — the home: file-copy and download bars, queue counters.
- Web and mobile UX — upload progress, pull-to-refresh spinners, "Step 2 of 5" flows.
- Onboarding and conversion optimisation — completion markers lowering mid-flow abandonment.
- Game UI — XP bars, level meters, quest-completion trackers.
- Service design, education, logistics — wait-time displays, MOOC meters, package tracking.
Clarity¶
Naming the indicator sharpens determinate versus indeterminate — two different design problems, since only the first can honestly report fraction-complete — and progress-representation versus progress-causation: the indicator describes the process, it does not advance it. That turns the most consequential failure into an askable question: a bar that falsely advances or freezes is a trust violation, distinct from an honest indicator on a genuinely slow process.
Manages Complexity¶
"How do I keep this user from leaving while they wait?" otherwise invites ad hoc answers per screen. The indicator collapses it to one binary read off the process — is the total work forecastable? — routing to fraction-complete or bare liveness. Inside each branch the designer tracks a handful of quantities (monotonic updates, stalls, forecast drift), reading the outcome off the determinacy mode and whether the indicator faithfully tracks state.
Abstract Reasoning¶
The chain observable-behaviour → inferred-process-state → design-response licenses diagnostic inference (a frozen bar is a fork: hung process or mis-bound widget; abandonment implicates the indicator's information content), interventionist prediction (each representation change predicts an effect on waiting behaviour; the lever is never the process's speed), boundary-drawing (which determinacy mode; representation versus causation; the threshold below which no indicator is warranted), and order-of-events prediction (check-in first, abandonment second; trust is path-dependent).
Knowledge Transfer¶
Within HCI the indicator transfers as mechanism across every waiting surface — the determinacy binary, monotonicity, ETA-bias correction, and trust diagnosis carry from a file-copy bar to a courier API. Beyond it the transfer is bimodal: where a genuine process and stake-holding observer remain (a project dashboard), the lesson recurs as the parents feedback, monitoring, transparency, and representation; where there is no process to broadcast ("a progress bar for your life"), it collapses to pure analogy.
Relationships to Other Abstractions¶
Current abstraction Progress Indicator Domain-specific
Parents (2) — more general patterns this builds on
-
Progress Indicator is part of Representation Prime
A Progress Indicator contains a Representation mapping hidden process state onto a bar, percentage, step count, ETA, or liveness animation.
-
Progress Indicator is a decomposition of Visibility of System Status Domain-specific
A Progress Indicator is the running-process form of Visibility of System Status, exposing enough hidden state for a waiting user to choose an action.
Hierarchy paths (2) — routes to 2 parentless roots
- Progress Indicator → Representation → Abstraction
- Progress Indicator → Visibility of System Status → Observability
Neighborhood in Abstraction Space¶
Progress Indicator sits in a moderately populated region (48th percentile for distinctiveness): it has near-neighbors but no dense thicket of look-alikes.
Family — Interface Legibility & Navigability (12 abstractions)
Nearest neighbors
- Visibility of System Status — 0.86
- Handoff Loss — 0.85
- Progressive-Disclosure Failure — 0.85
- Stream Processing — 0.83
- Situational-Awareness Collapse — 0.83
Computed from structural-signature embeddings · 2026-07-12