Types of Visual Feedback

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.

Pointer Feedback

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.

Figure 7.1. Busy pointer (left) and Busy-Interactive pointer (right)

Busy pointer (watch) and busy-interactive pointer (arrow
            with watch attached)

A simple 'proportion completed' progress dialog

Progress Animations

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 dialog
  • When 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.

  • A bar whose changing length indicates how much time remains if an operation takes as long as it typically does. Typical-time bars are the least precise type of measured-progress bar, but they are more useful than indeterminate-progress bars.

    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.

Progress Bars

For information on different types of progress bars and when to use them see the section called “Progress Bars”.

Progress Windows vs. the Statusbar

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:

An animated bar indicating only that an operation is ongoing, not how long it will take. One example is the "throbber" in a web browser. Indeterminate-progress bars are the least precise type of progress bar.
  • For some operations, you cannot estimate the time remaining or the proportion of work completed. However, if you can estimate the typical time for that operation, you can provide feedback with a typical-time bar.

    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

    Cancel

    button.

A simple 'indeterminate time' progress dialog, showing a slider moving back and forth until the operation is complete

Checklist Windows

A checklist window shows the quence of stages in an operation. See the section called “Checklist Windows”.

Figure 7.2. A Checklist Window

A
        checklist window showing a sequence of steps