Parch

Progress & cancellation

Communicating waits

DurationPattern
< 400msNothing, instant feedback is the feedback
0.4–2sInline spinner or button loading state
2–10sDeterminate bar when possible, labeled
> 10sProgress + label + cancel; work continues if the view changes

Rules

  • Labels describe the operation and its current step (“Downloading packages”, then “Installing pastor”), not generic “Working…”.
  • Package operations report the real transaction from the package manager , never a simulated progress bar.
  • Cancellation stops scheduling further work and cleanly rolls back the current step; it must leave the system consistent (a cancelled install installs nothing half-way).
  • After cancel, say what state things are in (“Nothing was installed”).
  • Background operations surface in a persistent place (systray applet, like parch-update) so users can return to them.

Demo: Progress in the design system; transaction view: the Update Manager mock.