Break up the operations constituting the task into a series of
chunks, or groups. These groups may be thematic, such as
payment information, billing addresses, etc. for an online
purchase -- it doesn't much matter in which order they are
presented, because later choices don't depend much on
earlier choices. It helps the user to put related choices
Alternatively, you may decide to split up the task at
decision points, so that choices made by the user can change
the "downstream" steps dynamically. In a software installation
wizard, for example, the user may choose to install optional
packages that require yet more choices; if they choose not to
do a custom installation, the following steps are simpler.
Dynamic UIs are good at presenting branched tasks such as this,
because the user never has to see stuff that's irrelevant to
the choices they made.
In either case, the harder part of designing this kind of UI
is striking a balance between the sizes of the chunks and
the number of them. It's stupid to have a two-step wizard,
and fifteen steps is more than users can easily fit in their
heads at once (plus, it's tedious). On the other hand, each
chunk shouldn't be overwhelmingly large, or you've lost some
of the benefit of this pattern.
Wizards are the most obvious and well-known implementation
of Step-by-Step Instructions. They're not always the right
choice, though, because wizards (as traditionally implemented)
put each step into its own window or page, an isolated UI space
that shows no context -- the user can't see what went before or
what comes next. Correspondingly, an advantage of wizards is
that each page can be completely devoted to that step, including
illustrations and explanations.
If you use a wizard, allow the user to move back and forth
through the task sequence. There's nothing more frustrating than
having to start a task over again just because the software
wouldn't let you change your mind about a previous decision!
Back and Next buttons are, of course, standard on wizards.
Additionally, many UIs show a
selectable map or overview of all the steps, getting some of
of the benefits of
Overview Plus Detail. (In contrast to that pattern, this one
implies a prescribed order -- even if it's merely suggested -- as
opposed to completely random access.)
If you choose to keep it all on one page, you could use several
Good Defaults are useful
no matter how you arrange the steps. If the user is willing to turn
over control of the process to you, then odds are good they're also
willing to let you pick reasonable defaults for choices they may not
care much about (such as the location of a software installation).
- Titled Sections,
with prominent numbers in the titles. This is most useful
for tasks that aren't heavily branched, since all steps
might be visible at once.
Enabling, in which all the steps are present on the page,
but remain disabled until the user has finished the previous
Disclosure, in which you wait to show a step on the UI
until the user finishes the previous one.
(The Design of Sites discusses this concept under the pattern
name "Process Funnel." Their pattern is aimed more at Web sites, for
tasks such as Web shopping, but the concepts generalize well.)