Dialog Box Archaeology
May 2007
You don't need to go to Rome or Cairo to dig up the artifacts of great civilizations.
If you want deduce their everyday lives and illustrious history from the shards of relics
left behind, you don't even need to stand up. To reveal the record of human triumph and
suffering, just open a few dusty menus in your favorite software application.
The Answer to Every Debate
Usually, arguments are resolved one of three ways: somebody wins, a compromise is reached,
or everybody goes home angry and nothing gets accomplished. This is why society always has
ornery, unfriendly people. Somebody always gets the shaft.
Software teams, however, seem to have a cheeky, clever solution to this intractable dilemma: delegate
the decision to the user. If you can't decide whether or not to include a horizontal scroll bar,
sneak a checkbox off into some options menu. That way, nobody has to lose the argument, plus you
get the added bonus of fooling yourself into thinking you've given the user more options.
Choice is a good thing, right?
Digging in the Dirt
Let's turn now to my very favorite relic from the world of software, the Microsoft Word
Options Dialog. This is a quaint, mysterious record of an enormous, blood-curdling, fistfight
in Redmond. It must have been tougher to choose features for Word than write clauses by
committee for the U.S constitution. Just look at what you first see when you pull up
Tools -> Options:
The designers are so unsure about what users might want, that they've organized literally hundreds
of options into thirteen different sections. A few, like "Print" and "Spelling & Grammar", seem
fairly self-apparent. But it's a word processor; you "Edit" and "View" text at the same time. Why are they on
different tabs? And what kind of options are "General"? My installation also includes two areas for whole
language groups I know nothing about: "Asian Typography" and "Japanese Find". Where are the options to
get rid of these options?
The armchair dialog box archaeologist should note that the designers have created this mess
of tabs to give the user a fighting chance of finding the one knob that they need to tweak. MS Word,
and indeed most modern software applications, have thousands upon thousands of features. If the
user must be able to adjust settings, then incredibly detailed, organized hierarchies like this
one are certainly one way to make the switches and dials accessible.
Deducing the Culture
Deep inside the Word Options Dialog Box, we start to see circumstantial evidence of individual
discussions and legacies. On the "General" tab, two options reference WordPerfect, a competing
product. Presumably if you're making the switch from Word to WordPerfect, you might check these
boxes for additional relevant help and your old familiar navigation keys. Old-school WordPerfect
whizzes might notice a third choice aimed at them. "Blue background, white text" was the default
appearance for that other word processor. Why not use the same "WordPerfect" language here,
and group the choices together?
Options for WordPerfect converts and people who love
blue and white.
Perhaps the lawyers chimed in, and insisted that while the product name "WordPerfect" could be
used in conjunction with features provided by Microsoft, an option reading "Duplicate WordPerfect color
scheme" might invite litigation. Maybe people used WordPerfect without ever knowing the brand name.
The setting is right at the top of the dialog box on the "General" tab, so maybe
"How do I set my text to white-on-blue?" is a common question at Microsoft Support. We may need
to leave this quandary for future graduate students to puzzle out over a late night of mocha lattes.
Choosing not to Choose
I'm particularly enamored with the "Recently Used File List" checkbox in the same part of the
Word Options Dialog. You can use this as an on/off switch for the extremely useful part of
the File menu which shows the files you last edited. You can even tweak the number of files
displayed in this list.
Some recently edited documents.
It seems inconceivable that this feature should need configuration options. But with some
creative thinking one can imagine some scenarios where it might be valuable. Consider a
student lab environment where multiple users access the same computer throughout the day. Certainly
giving quick links to the most recent "Final Report.doc" could generate confusion, so turning
off the "Recently Used File List" may prevent a few heart attacks. Perhaps some professional editors
working on massive projects with dozens of documents appreciate the ability to ratchet up the number
of files listed for quick switching. Maybe we should honor the the programmers for their humility.
They know they can't predict how we will use their software, so they graciously give us the power
to rejigger it as needed.
Really, though, this is not modesty in action. Choosing not to choose is a cop-out. Delegating
interface design decisions to the user is irresponsible. The everyman has no idea what is meant by
terms like "Field Codes" or "Object Anchors". This dialog box is more of a war diary than it is a
feature. It's an ugly baby covered with sliders and switches and control knobs from head to toe.
You can tune it to stop crying or light up when grandma arrives, but only if you can find the right button. Good luck.
A Solution in Context
The academic fascination with this archaeological find ends here. This dialog box, and countless others
like it, are clearly a bad way to solve the problem at hand. As software developers, we need to
accept full responsibility for the applications we create, giving the user as much power as possible
without sweeping the remains of heated discussions into some digital closet.
To do this, we need to first make bold choices about what really needs to be configurable. I am skeptical that Word needs
it's own personal mute feature, labeled "Provide feedback with sound." Surely if you can't stand
the chirps and bleeps emanating from your PC, you can find other, more obvious ways of silencing the
beast.
Second, if we have to give people choices, we should try to do it in context. Microsoft
does this exceptionally well in Word with the AutoCorrect family of features. Check out what
happens if you start typing a numbered list:
Everything appears as you expect until you press enter...
Then Word "thoughtfully" adds indention and auto-numbering. Note
the lightning bolt icon...
..which you can click right in context for some helpful options!
This is a brilliant way to connect using a feature with any configuration
options for that feature. Not everybody likes AutoNumbering, or needs it in every
situation, and the automatic formatting is clearly something that is different
than the normal function of a word processor. When the feature is enacted, though,
relevant options for manipulating the function are made available. This is the best
time and place for such switches and dials to appear, not off in some dialog
box buried in the desert of pull-down menus.
Think of the Children
Software has the three worst timing problems in engineering. It's always rushed,
it's always late, and it's always used far longer than was anticipated. All these
sad realities give programmers a strong rationale to give users too many choices
in places without worrying about how hard they are to find. Do not delegate your design
process to the user. Be bold, and use configurability sparingly, and if possible,
in context. The time you spend now will save future generations from
frustrating archaeological expeditions through the depths of your application.
Make your designs a joy for people to use, not a mystery.