Epilogue
Programming, Humility, and the
Eclipse of the Self
The infinitely little have a pride infinitely great.
—Voltaire
If you build user interfaces and your intuition is good, you'll be lucky
to get things right about a quarter of the time, and you won't
necessarily know which times you were right,
If you build user interfaces and your intuition is bad, you'll get
things right even less than a quarter of the time, but you'll probably
think you're doing much better than that.
If you follow the principles described in this book and the
procedures outlined in the last chapter, your design skills and intuition
won't improve one bit. You'll still be wrong a lot more often than
you're right. But you may stand a somewhat better chance of being
able to tell, after the fact, what you did right and what you need to try
again. In order to do that, you will need onc thing more than anything
else: humility.
You will need humility to recognize that the users are always the
final and most appropriate judges of your work. Even though you're
the expert in interpreting your users’ comments and meeting their
needs, their judgments of your work are final and without appeal.
‘You will need humility to recognize the transitory nature of
everything you do. To do your job best, you must recognize that all
of your code will ultimately be replaced. Frederick P. Brooks, in The
Mythical Man-Month, made many programmers aware of the valuc of
prototyping for the first time when he said, “‘Plan to throw one178 EPILOGUE
away."’ Realistically, however, you must plan to throw them all
away in the long run—a humbling prospect.
You will need humility to be able to take advice from the nearly
infinite variety of users and experts who may be able to help you
improve your interface.
You will need humility in order to be muthlessly honest about
your own work. You must be able to recognize and admit it when
your efforts have led you down blind alleys, and your work must be
thrown away almost as soon as it is written.
You will need humility in order to force yourself actually to
kcep lists of everything that is wrong with your system, so that you or
someone else can improve it in the next release.
Designing user interfaces is extremely challenging and richly
rewarding. There is a special thrill that one gets from sccing strangers
using and enjoying the program that one worked so hard to write. It
is, in the main, an anonymous thrill—great interface designers are
rarely stopped on the street to give autographs—but it is a kind of
satisfaction that would be familiar to generations of artisans since
before the dawn of civilization.
This familiarity is no coincidence. Despite all the novelty and
complexity of modern computing, the skills involved in good
interface design are not fundamentally new ones, but draw on
millennia of human experience in designing and building artifacts.
Like all good artisans, interface designers should focus all of their
specialized skill, training, and experience on producing an artifact that
is so well suited to its intended use that the end user will never once
stop to think about the talented individual or group of individuals who
worked so hard to create it.
The greatest compliment that can be paid to an interface
designer is for users to regard the interface as so natural that it never
occurs to them that any special skill was required to invent it.
Interface designers thus toil ceaselessly to make their own work
invisible and their own significance largely lost in anonymity. The
humility required to embrace such anonymity as a goal is the single
most important aspect of the designer's art.