Designing Interfaces: Patterns for Effective Interaction Design
|
Good Defaults
Visual Studio profile screen
|
What: |
Wherever appropriate, prefill form fields with your best
guesses at the values the user wants.
|
Use when: |
Your UI asks the user any questions requiring form-like input
(such as text fields or radio buttons), and you want to reduce
the amount of work that users have to do. Perhaps most users
will answer in a certain way, or the user has already provided
enough contextual information for the UI to make an accurate
guess. For technical or semi-relevant questions, maybe he can't
be expected to know or care about the answer, and "whatever the
system decides" is okay.
But supplying defaults is not always wise when answers might be
sensitive or politically charged, such as passwords, gender, or
citizenship. Making assumptions like that, or pre-filling fields
with data you should be careful with, can make users uncomfortable
or angry. (And for the love of all that is good in the world,
don't leave "Please send me advertising email" checkboxes checked
by default!)
|
Why: |
By providing reasonable default answers to questions, you save
the users work. It's really that simple. You spare the user
the effort of thinking about, or typing, the answer. Filling
in forms is never fun, but if this pattern halves the time it
takes him to work through it, he'll be grateful.
Even if the default isn't what the user wants, at least you
offered an example of what kind of answer is asked for. That
alone can save him a few seconds of thought -- or, worse, an
error message.
Sometimes you may run into an unintended consequence of Good
Defaults. If a user can skip over a field, that question may
not "register" mentally with him. He may forget that it was
asked; he may not understand the implications of the question,
or of the default value. The act of typing an answer, selecting
a value, or clicking a button forces the user to address the
issue consciously, and that can be important if you want the
user to learn the application effectively.
|
How: |
Prefill the text fields, combo boxes, and other controls with
reasonable default values. You could do this when you show the
page to the user for the first time, or you could use the
information the user supplies early in the application to
dynamically set later values. (For instance, if someone
supplies a United States ZIP code, you can infer the state,
country, and sometimes the city or town from just that number.)
Don't choose a default value just because you think you shouldn't
leave any blank controls. Do so only when you're reasonably sure
that most users, most of the time, won't change it -- otherwise,
you will create extra work for everybody. Know your users!
Occasional-use interfaces like software installers deserve a
special note. You should ask users for some technical information,
like the location of the install, in case they want to customize
it. But 90 percent of users probably won't. And they won't care
where you install it, either -- it's just not important to them.
So it's perfectly reasonable to supply a default location.
Jeff Johnson discusses this issue at length in Web Bloopers:
60 Common Web Design Mistakes and How To Avoid Them (Morgan
Kaufman). He provides some hilarious examples of poor default
values.
|
Examples: |
From Photoshop
When an image canvas is resized in Photoshop, this dialog box appears.
The original image was 519 x 364, as shown. These dimensions become
the default Width and Height, which is very convenient for several
use cases. If I wanted to put a thin frame around the image, I can
start with the existing dimensions and increase them by just two
pixels each; if I wanted to make the image canvas wider but not
taller, I only need to change the Width field; or I could just click
OK now and nothing changes.
|
|
|