Convenient Environment Actions
Pausing or resuming a video game
OK / Apply / Cancel buttons on dialogs
Minimize / Maximize / Quit buttons on Windows application frames
Context: The user can take actions that affect the
existence or state of the whole artifact. This is necessary in countless
artifacts, with the exception of physical things like books or charts,
in which those actions are absent or implicit.
Applications in which the only way to gracefully quit is an item on a long
Macintosh power switches that were next to CD-ROM drives, making them look
like "Eject" buttons
Windows 95 logout command, which is found first under "Start", then under
Problem: How should the artifact present these actions?
Solution: Group these actions together, label them
with words or pictures whose meanings are unmistakable, and put them where
the user can easily find them regardless of the current state of the artifact.
Use their design and location to make them impossible to confuse with anything
else. Set them up so they are not easy to trip accidentally -- hardware
devices can use physical barriers to do this, but software's more difficult.
Confirmation dialogs are clumsy but somewhat effective; use them until
someone invents something better. If a state change or shutting down
can cause disaster, at least try to make the effects reversible. Disable
state-change actions whenever they become irrelevant or impossible (Disabled
Irrelevant Things), but never do this to controls that close or quit
The user should know exactly how to stop or leave this artifact at any
The user should know what other actions are available.
The user may already know what they have to do, but they need to find the
The user may need to perform these in a hurry, or under stress.
Doing these actions accidentally may be disastrous.
Resulting Context: Icon buttons are often used for
these. As long as familiar symbols are used, they work well; use the standards
for the artifact's intended domain and culture. ("X" for quit, "?" for
help, check-mark for OK, and 0/1 for off/on are common ones.) When the
icons for these basic functions are incomprehensible, or if you hide them
in an unexpected place, the user has to carry a heavier memory burden.
Notes: Is this whole pattern just a consequence
of clumsy design in the first place? Something about the "books and
charts" comment in the Context makes me think about the necessity of explicit
Environment Actions in software and electronics. If we could design
these so well that they no longer need explicit commands for on/off, save
state, change mode, etc., then we might get truly dramatic gains in usability.
I don't know how to do this, of course. If I did, I would be off
designing things that way, not writing this pattern.
Comments to: firstname.lastname@example.org
Last modified May 17, 1999
Copyright (c) 1999 by Jenifer Tidwell. All rights reserved.