Progress Checklists
To determine which type of visual feedback to provide for a particular operation, consider these factors:
Whether your application can provide an estimate of the operation's progress.
Whether the operation blocks the user from issuing further commands in your application.
When providing feedback with a progress checklist, you can include a measured-progress bar directly below the checklist. The bar measures the progress of the current step in the progress checklist.A progress checklist dialog with progress bar for current stepA progress checklist dialog, listing the steps involved in the operation and which ones have been completed, with a progress bar showing progress of current stepChoosing Appropriate FeedbackTo determine which type of visual feedback to provide for a particular operation, consider these factors:Whether your application can provide an estimate of the operation's progress.Whether the operation blocks the user from issuing further commands in your application.Whether your application has a dedicated space, such as a status bar, for indicating the status of operations.
The table below shows which type of feedback to provide for operations that usually take at least 1 second to finish. In the "Appropriate Feedback" column, "Internal progress animations" means progress animations displayed in an application's dedicated status area, and "External progress animations" means progress animations displayed somewhere other than in a dedicated status area
typically, in an alert box.
The table below shows which type of feedback to provide for operations that usually take at least 1 second to finish. In the "Appropriate Feedback" column, "Internal progress animations" means progress animations displayed in an application's dedicated status area, and "External progress animations" means progress animations displayed somewhere other than in a dedicated status area— typically, in an alert box.
Table 7.2. Visual feedback types for operations that take at least 1 second
| Typical Duration > 5 seconds? | User blocked from issuing further commands? | Application has dedicated status area? | Appropriate feedback |
|---|---|---|---|
| Yes | Yes | Yes | Internal animation plus pointer feedback |
| Yes | Yes | No | Pointer feedback |
| Yes | No | Yes | Internal animation |
| No | Yes | Yes | Internal animation plus pointer feedback |
| No | Yes | No | External animation plus pointer feedback |
| No | No | Yes | Internal animation |
| No | No | No | External animation |
Guidelines
Recommendations:Use a busy pointer whenever users are blocked from interaction with your application for 1 second or longer. Display the busy pointer less than 1 second after the operation begins.
If a command will likely take 10 seconds or longer to finish, provide a or button, which can also be activated by pressing
, that lets users terminate the command's processing even if your application cannot undo the command's effects. See the section called “Allowing Interruptions”.
When using an external animation, leave the window containing the animation on-screen for at least 1 second after the operation has completed, with a successful completion message. Change the or button to an button during this period pressing this button should close the window immediately. button during this period— pressing this button should close the window immediately.