Ensure that a measured-progress bar measures an operation's total time or total work, not just that of a single step. An exception is a progress bar that measures the total time or work of the current step in a progress checklist.
You can use two types of visual feedback for operations in your application— pointer feedback and progress animations.
An animation consisting of a bar whose changing length indicates how much time remains in an operation, and text stating how much time remains before the operation will be complete. Time-remaining bars are the most useful type of progress bar.
Pointer feedback changes the shape of the pointer. For example, a busy pointer indicates that an operation is in progress and that the user cannot do other tasks. A busy-interactive pointer indicates that an operation is in progress but the window is still interactive.
A simple 'proportion completed' progress dialog
Progress animations show either how much of an operation is complete, or only that an operation is ongoing. Normally, these take the form of either a progress bar or a progress checklist.
Guidelines
Use a proportion-completed bar if your application will estimate an operation's duration by counting the units of work completed so far, without regard for changes that might affect how quickly the remaining units will be completed. If the operation will process a known number of objects or a set of objects whose total size is known, equate the length of the bar to the total number of units of work that the operation will perform. At least every four seconds, update the bar to show how much of the operation is complete.Typical-time Progress IndicatorA simple 'typical time remaining' progress dialogWhen displaying a progress animation, open it as soon as possible after you know it is required, and close it automatically as soon as the associated operation is complete.
Use a measured-progress bar if your application can estimate either how long the operation will take, or what proportion of the operation is complete.
If your application can make neither estimate, and the operation only has one step, use an indeterminate-progress bar. For operations with two or more steps, use a progress checklist that dynamically displays a check mark for each completed step.
For information on different types of progress bars and when to use them see the section called “Progress Bars”.
A simple 'typical time remaining' progress dialog
In an application where the primary windows contain a status bar (which in turn contains a progress bar), it will often be the case that an operation's feedback could be presented in either the statusbar or a progress window. A rule of thumb is to use the statusbar when an operation is expected to take fewer than ten seconds, otherwise use a progress window. However, do consider the following when choosing between the two:
Opening a new window, particularly when an operation is short, can needlessly disrupt the user's workflow.
Progress windows can convey more information.
Multiple progress windows can be open at once, whereas only a single operation can be presented in a statusbar.
Progress windows provide a
button.
A simple 'indeterminate time' progress dialog, showing a slider moving back and forth until the operation is complete
A checklist window shows the quence of stages in an operation. See the section called “Checklist Windows”.