Index – User Interface Design for Programmers



acquiring a target

defined, 67

activity-based planning concept

deciding which features to cut, 85

importance of for update versions of software, 8385

from Microsoft, 8185

affordances, 2629

affordances and metaphors

using when user model is incomplete, 2331

Alt+Left shortcut key, 45

Alt+Tab key combination

how it works in Microsoft Windows, 13

anniversary greetings

designing a program for creating, 8185

Apple Macintosh. See Macintosh


speed problems when designing for the Web, 122126

archaeological records

software as, 16

Ariel font

versus Courier Bold, 7273

autocompletion feature

as a minimum-memory principle in programming, 7778


banner ads

on Web pages, 126

birthday cards

designing a program for creating, 8185


example of broken metaphor, 33

broken metaphors

reasons for, 35

business cards

designing on, 122123


card keys, 59


importance of not providing too many, 2122


importance of knowing how to use, 115117

using successfully, 117

command-line interfaces (CLIs)

evolution of, 5253

introduction of, 5051

versus GUI interfaces, 7576

Configure Modem dialog box in Juno 4.0, 64

Confirm Exit dialog box in Juno, 65


importance of in software programming, 4348

Conte, Mike

introduction of activity-based planning concept by, 81


development time for print dialog tab, 104

Courier Bold font

versus Ariel, 7273


use of in Pico, 44


undo shortcut keys in Word, 112

use of in Windows versus Emacs, 44

cultural variables

considering in international software design, 118119


Days = Seconds time warp rule

using hallway usability testing for, 104

evolution of, 8485


Usenet searchable index, 8485

design for extremes principle, 5760

for designing easy to use software, 60


a greeting cards program, 8185

desktop metaphor, 2324

dialog boxes

development time for, 104

importance of minimizing number of words in, 6264

testing usability of, 7880

using tabbed dialogs in, 2931

discussion groups

interface categories for, 125126

documentation. See manuals; user manuals

Document Map button

using to zoom in Microsoft Word, 25

dropdown list boxes

problems with designing and using, 7073

programming for ease of use, 71

providing menus in Web pages with, 127128

Dye, Ken

Microsoft usability lab manager, 133

Dynamic HTML

using to create complicated UIs, 123124


edit boxes

importance of using readable fonts in, 7173

problems with mousing in, 7173


use of Ctrl+K in, 44

use of Ctrl+Z in, 44

email software

time delay problems with, 124125

Emerson, Ralph Waldo

consistency quote by, 48

E*TRADE home page

affordances example, 2728

Excel. See Microsoft Excel

exit command

in non-GUI programs, 44

Exit Confirmation dialog box

in Juno, 6566

Exit dialog box

ideal, 65

Exit menu

in Windows programs, 9798


Farber, Sam

invention of OXO Good Grips tools by, 5859

Ferguson, Charles

FrontPage development by, 43

fifty-cent usability tests

for first designs of new features, 9293

testing program usability with, 11

Find Setup Wizard dialog box

problems with program model, 1719


importance of using readable in edit boxes, 7173

monospaced, 7273

Fries, Karen

invention of wizard concept by, 54


Microsoft purchase of, 43


greeting cards program

example of preliminary design process, 8185

grip feature

use of in Windows, 2829

GUI interfaces

versus command-line interfaces, 7576


hallway usability tests. See fiftycent usability tests


formal definition of, 110

judging, 112113

thought processes for developing typical, 111113

well-known examples of, 109

historical records

signs as, 1516


used in early computers, 4950


deleting messages from, 124125


limitations of in designing business cards on the Web, 122123

limitations of in designing Web pages, 126128

versus word processor for storing pictures, 89



importance of knowing how to use, 117118

imaginary users

inventing before designing your UI, 8587

Improv spreadsheet program (Lotus), 84

IntelliSense feature

Microsoft Office, 111

interactive computing, 5056


importance of knowing the rules of, 118119

international software

rules for writing good, 118119

Internet Explorer

use of tabbed dialogs in, 3031

designing business cards on, 122123


Java Applets

using to create complicated UIs, 123124

Joel Uncertainty Principle of usability testing, 93


“locked in a box” feature in, 74

Configure Modem dialog box in 4.0, 64

design problems with first version, 4647

Exit Confirmation dialog box, 6566

Juno dialog box

typical versus Microsoft Windows’, 6364


Kai’s Photo Soap

metaphor, 2425

problems with program model, 46

Kodak DC290 Digital Camera

as example of a good affordance, 2627


lag. See time delay

laptop computers

pointing devices used with, 70


versus usability of user interfaces, 99

Learned Helplessness theory

developed by Dr. Martin E. P. Seligman, 3

Leonhard, Woody

Word 97 Annoyances by, 111


features added to Excel 5.0 for, 84


Improv spreadsheet program by, 84

low latency

tricks for creating illusion of, 108



trashcan as example of a good metaphor, 8788

user control granted by in early models, 5253

versus Windows menu bar, 68

Macintosh versus PC

frustrations caused by functional differences in, 46

magic numbers, 73


programming UIs as if they don’t exist, 6166

Mathieu, Mike

Microsoft program manager, 43

menu bars

inadvertantly moving, 2021

Windows versus Macintosh, 68


providing in Web pages, 127128

metaphors. See also affordances

and metaphors

broken, 3342

desktop, 2324

purpose of, 34

redesigned for Outlook Bar, 42


purchase of FrontPage and Visio software by, 43

Microsoft Excel

invisible sheets concept in, 1112

new features added to version 5.0, 84

problems with program model, 1113

tabbed dialogs for storing multiple workbook sheets, 3435

Microsoft Office

IntelliSense feature, 111

Microsoft Outlook

deleting items from task list in, 133134

Microsoft PowerPoint

opening screen, 54

Microsoft Publisher 1.0

introduction of wizards in, 54

Microsoft Visual C++ IDE

implementation of scrolling tabs in, 37

Microsoft Windows

Phone And Modem Options dialog box, 64

problems with program model, 13

use of Alt+Tab key combination in, 13

versus Macintosh menu bar, 68

Microsoft Windows dialog box

versus Juno’s, 6364

Microsoft Word

changing zoom level in, 25

poor design of paragraph indentation tabs in, 3536

use of tabbed dialogs in, 3031

zooming in, 25

mile-high menu bar

concept invented by Bruce Tognazzini, 67

using, 69

monospaced fonts. See fonts

Month = Minutes time warp rule, 105107


double-click problems with, 70

problems with using, 6971

versus trackball, 70

MS Sans Serif font

pixel width of, 72


Napster 2.0 user interface

need for tabbed dialogs in, 31

navigation tabs

use of on Web pages, 3840

Netscape Navigator

Preferences dialog box, 2930

Norman, Donald

usability expert, 26


creating icons for, 117118


WinAmp snap to border feature, 73


to programmers, 73


Open File dialog box

versus command-line interfaces, 7576


providing for advanced users, 2122

Options dialog box

example of, 17

factors in design of, 1618

Outlook Bar

program model for, 4142

OXO International

invention of OXO Good Grips tools by, 5859


party invitations

designing a program for creating, 8185

Phone And Modem Options

dialog box

Microsoft Windows, 64


obeying laws of in user interface design, 3436


use of Ctrl+K in, 44


handling of UI for in program model, 89

picture-storing schemes

determining best user model for, 911

pie charts

using and labeling colors in, 116

pointing devices. See mouse;


Print Preview button

using to zoom in Microsoft Word, 25

program model

definition, 8

importance of conformance to user model, 8

Microsoft Excel invisible sheets concept, 1112

for Outlook Bar, 4142

testing, 1011

programs. See software programs

proximity cards, 59

push buttons

as effective affordances in user interfaces, 2728



learning accounting from, 62



understanding UI time warps, 103108

reminders feature

adding to your program, 83


Santoprene rubber

used in OXO Good Grips tools, 59

saving files

importance of, 78

Saxifrage, Barry

invention of wizard concept by, 54

schedule meeting icon

creating, 117

scrolling tabs

implementing instead of rows of tabs, 37

Seconds = Hours time warp rule, 107108

Seligman, Dr. Martin E. P.

Learned Helplessness theory developed by, 3

server round trips

importance of designing to minimize, 125

shortcut keys

for Back command, 45

for deleting lines in Pico and Emacs, 44

for undo command in Word, 112


as historical records, 1516


designing a device for, 105107

snap to border, 7374

software design

days of design are seconds in user use, 104105

importance of knowing your audience, 86

importance of usability testing, 8991

for marshmallow grilling machine, 105107

software programs

as archaeological records, 16

deciding which features to cut, 85

optimal number of users for testing, 91

process of designing, 8188

steps for designing good, 87

testing usability of, 7880

usability testing of final product, 9293

what users expect from, 1922

software upgrades

importance of activity-based planning for, 84

spreadsheet programs

Improv by Lotus, 84

Stowell, Davin

co-inventor of OXO Good Grips tools, 5859


tabbed dialogs

problems with using more than one row of, 36

use of, 2931


multiple rows of, 36


program models, 1011

programs and dialog boxes for usability, 7880

text editing

limitations of on the Web, 127128


introduction of in Windows 98, 7677

storing for photo album application, 911

time delay

on Web, 122

problems with email software, 124125

Time for the Stars (Robert A. Heinlein), 103104

time warps

understanding user interface, 103108

Tognazzini, Bruce “Tog”

columnist for Apple’s developer magazine, 6768

Tog on Interface (Addison-Wesley, 1992), 67

Tog on Software Design (Addison-Wesley, 1995), 67


customizability of, 20

introduction of by Microsoft, 19

torn tab effect

use of in implementation of scrolling tabs, 37


versus mice, 70

problems with using, 6971

tricks of the trade, 115119


undo command

shortcut keys for in Word, 112

Urbanfetch Web site

problems associated with tabs on, 3840

urban legends

created by usability tests, 9798


versus learnability of user interfaces, 99

usability expert

Donald Norman, 26

usability labs

theory behind, 8991

usability testing, 11, 89101

believable and unbelievable results, 96

of final product before releasing, 9293

for better UI design, 63

measuring learnability versus usability, 99

one of the best reasons for, 99101

optimal number of users for, 91

rigidity of, 9395

start of, 53

a story of silicon jungle, 8991

urban legends created by, 9798

using to resolve arguments, 9596


searchable index for, 8485

user interface design

cardinal axiom of, 46

crucial rules for international software, 118119

importance of save feature in, 78

keeping it simple, 6264

programming for humans, 133134

pros and cons of being creative in, 4548

putting the user in charge, 4956

so programs work as users expect, 16

unintended consequences in, 8788

user interface time warps

understanding, 103108

user interfaces

history of, 4956

user manuals

programming UIs as if they don’t exist, 6166

user model

definition, 8

for designing for the Web, 121

determining what it is, 911

program alternatives for incomplete, 2331



creating icons for, 117118


sale of FrontPage to Microsoft by, 43


sale of Visio software to Microsoft by, 43



designing for, 121131

Web-based email systems

deleting messages from, 124125

Web browsers

what makes them easy to use, 129131

Web site address

for accessing Bruce Tognazzini columns, 67

Web sites

making more usable, 130131

Wilson, Diane

rule for using color by, 116

WinAmp (Nullsoft)

snap to border feature, 73

WinAmp skins

as example of option users like, 22

Windows. See Microsoft Windows

Windows 95

Briefcase as example of broken metaphor, 33

Windows 98

introduction of thumbnails in, 7677

Windows Start button

usability problems with, 98


creation of, 5455

Word. See Microsoft Word

Word 97 Annoyances (Woody Leonhard)

about turning off various

heuristics, 111

WordStar word processor, 52


zoom level

changing in Microsoft Word, 25