If you are a designer who has to explain to developers what they are doing wrong, get this book (or maybe the next edition, out soon). I loved this book for how well it explained every bad interface design blooper I had ever seen at that point & helped me understand why developers created many of these problems. It helped me explain to developers why there were better solutions & how to design them. It also contains an excellent introduction to user-centered design. It's a very well organized and valuable reference for interface designers & a great gift for any open-minded developer interested in good UI design. I'm looking forward to his next edition.
Author(s): Jeff Johnson
Series: Interactive Technologies
Edition: 1st
Publisher: Morgan Kaufmann
Year: 2000
Language: English
Pages: 410
Cover......Page 1
Table of Contents......Page 3
Introduction......Page 6
1.1 Principle 1: Focus on the users and their tasks, not the technology......Page 11
1.1.1 Understand the users......Page 12
1.1.2 Understand the tasks......Page 13
1.1.3 Interactive products and services function in a broad context......Page 17
1.2 Principle 2: Consider function first, presentation later......Page 19
1.2.3 Develop a conceptual model......Page 20
1.3.1 Strive for naturalness......Page 24
1.3.2 Use the users' vocabulary, not your own......Page 26
1.3.4 Find the correct point on the power/ complexity trade- off......Page 27
1.4.1 Common tasks should be easy......Page 29
1.4.2 Don't give users extra problems to solve......Page 30
1.5.1 Think "outside- in", not "inside- out"......Page 31
1.5.2 Consistency, consistency, consistency, but don't be naive about it......Page 32
1.5.3 Provide a low- risk environment......Page 34
1.6.1 Design displays carefully; get professional help......Page 35
1.6.2 The screen belongs to the user......Page 36
1.7 Principle 7: Design for responsiveness......Page 37
1.7.3 Summary of responsiveness design principles......Page 38
1.8.3 Testing has two goals: Informational and social......Page 39
1.8.4 There are tests for every time and purpose......Page 40
Methodologies for understanding users and tasks......Page 41
2: GUI Component Bloopers......Page 42
Introduction......Page 43
2.1.1 Blooper 1: Dynamic menus......Page 44
2.1.2 Blooper 2: Duplicate menu items......Page 48
2.1.3 Blooper 3: Hidden functions......Page 50
2.1.4 Blooper 4: No keyboard equivalents......Page 52
2.2.1 Blooper 5: Confusing primary windows with dialog boxes......Page 55
2.2.2 Blooper 6: Commands are only on toolbar buttons......Page 59
2.2.3 Blooper 7: All menubar commands are on toolbar......Page 61
2.3.1 Blooper 8: Confusing checkboxes and radiobuttons......Page 63
2.3.2 Blooper 9: One- from- N settings with no initial value......Page 69
2.3.3 Blooper 10: Using a checkbox for a non- ON/ OFF setting......Page 70
2.3.4 Blooper 11: Using command buttons as toggles......Page 72
2.3.5 Blooper 12: Using tabs as radiobuttons......Page 74
2.3.6 Blooper 13: Too many tabs......Page 76
2.4.1 Blooper 14: Buttons that trigger on "mouse down"......Page 80
2.4.2 Blooper 15: Ambiguous selections......Page 81
2.4.3 Blooper 16: Not showing busy cursor......Page 84
2.5.1 Blooper 17: Using text fields for read- only data......Page 86
2.5.2 Blooper 18: Overusing text fields......Page 89
2.5.3 Blooper 19: Type- in fields that behave abnormally......Page 91
Further reading......Page 93
Introduction......Page 94
buttons......Page 95
settings......Page 97
3.1.3 Blooper 22: Poor initial window location......Page 100
3.2.1 Blooper 23: Misusing group boxes......Page 103
3.2.2 Blooper 24: Inconsistent group box style......Page 110
3.2.3 Blooper 25: Inconsistent separator style......Page 111
3.3.1 Blooper 26: Radiobuttons spaced too far apart......Page 112
3.3.2 Blooper 27: Inconsistent property label alignment......Page 114
3.3.3 Blooper 28: Poor label placement......Page 118
3.3.4 Blooper 29: Unlabeled scrolling container components......Page 119
3.4.1 Blooper 30: Inconsistent text fonts......Page 121
3.4.2 Blooper 31: Tiny fonts......Page 124
3.4.3 Blooper 32: Inactive controls insufficiently grayed out......Page 127
Official platform- specific GUI style guides......Page 131
Introduction......Page 132
4.1.1 Blooper 33: Inconsistent terminology......Page 133
4.1.2 Blooper 34: Unclear terminology......Page 139
4.1.3 Blooper 35: Speaking Geek......Page 141
4.1.4 Blooper 36: Careless writing......Page 151
4.2 Unfriendly messages and labels......Page 155
4.2.1 Blooper 37: Clueless error messages......Page 156
4.2.2 Blooper 38: Misuse (or nonuse) of "…" on command labels......Page 161
4.2.3 Blooper 39: Inconsistent use of colons on setting labels......Page 163
4.2.4 Blooper 40: Tooltips that say the same thing as the visible label......Page 164
4.3.1 Blooper 41: Same title on different windows......Page 165
4.3.2 Blooper 42: Window title doesn't match invoking command......Page 167
Official platform- specific GUI style guides......Page 170
Introduction......Page 171
5.1.1 Blooper 43: Exposing the implementation to users......Page 172
5.1.2 Blooper 44: Asking users for random numbers......Page 175
5.1.3 Blooper 45: TTY GUIs......Page 176
5.2.1 Blooper 46: Overwhelming users with decisions and detail......Page 180
5.2.2 Blooper 47: Easily missed information......Page 185
5.2.3 Blooper 48: Unexpected rearrangement of display......Page 192
5.2.4 Blooper 49: Instructions that go away too soon......Page 195
5.3.1 Blooper 50: Similar functions with inconsistent user interfaces......Page 196
5.3.2 Blooper 51: Unnecessary or poorly marked modes......Page 198
5.3.3 Blooper 52: Installation nightmares......Page 211
5.4.1 Blooper 53: Too many levels of dialog boxes......Page 214
5.4.2 Blooper 54: Dialog boxes that trap users......Page 219
5.4.3 Blooper 55: Cancel button doesn't cancel......Page 224
5.4.4 Blooper 56: OK and Cancel do the same thing......Page 227
User interface design principles and guidelines......Page 228
Introduction......Page 229
history......Page 231
6.1.2 Blooper 58: Back doesn't go where users expect......Page 233
6.1.3 Blooper 59: Complicating searching......Page 235
6.2.1 Blooper 60: Hidden links......Page 238
6.2.2 Blooper 61: Links that don't provide enough information......Page 244
6.2.3 Blooper 62: Buttons that provide no click feedback......Page 248
6.2.4 Blooper 63: Displaying long lists as very long pages......Page 249
Introduction......Page 253
7.1 Common responsiveness bloopers (Bloopers 64– 75)......Page 254
7.1.1 Examples of responsiveness bloopers......Page 255
7.2 Reasons for poor responsiveness......Page 256
known......Page 257
design......Page 258
performance......Page 259
7.2.5 Reason 5: Developers use simple, naive implementations......Page 260
inadequate......Page 262
7.3.1 Responsiveness is not the same thing as performance......Page 263
7.3.3 The user interface is a real- time interface......Page 264
immediately......Page 265
7.3.6 The software need not do everything it was asked to do......Page 266
7.3.7 Human users are not computer programs......Page 267
7.4 Avoiding responsiveness bloopers: Techniques......Page 268
7.4.1 Timely feedback......Page 269
7.4.2 Parallel problem solution......Page 273
7.4.3 Queue optimization......Page 274
7.4.4 Dynamic time management......Page 275
techniques......Page 279
8: Management Bloopers......Page 282
Introduction......Page 283
8.1.1 Blooper 76: Misunderstanding what user interface professionals do......Page 284
8.1.2 Blooper 77: Treating user interface as low priority......Page 288
8.1.3 Blooper 78: Discounting the value of testing and iterative design......Page 291
8.2.1 Blooper 79: Using poor tools and building blocks......Page 297
8.2.2 Blooper 80: Anarchic development......Page 301
8.2.3 Blooper 81: No task domain expertise on the design team......Page 307
8.2.4 Blooper 82: Giving programmers the fastest computers......Page 315
9: Software Reviews......Page 317
9.1.1 The ordeal......Page 318
9.1.2 Conclusions......Page 323
9.2 Kodak Picture Disk 1.2......Page 324
9.2.3 Limitations......Page 325
9.2.4 General......Page 326
9.2.6 Main window......Page 327
9.2.7 Slideshow dialog box......Page 329
9.2.8 Slideshow window......Page 330
9.2.10 Print Preview window......Page 332
9.2.11 Print Setup dialog box......Page 333
9.2.14 Orgainze Pictures dialog box......Page 334
9.2.15 Export dialog box......Page 335
Introduction......Page 336
10.1.1 Background......Page 337
10.1.2 The analysis......Page 338
10.1.3 Redesign: Physical actions......Page 340
10.1.4 Redesign: Speech and thought......Page 342
10.1.7 Lessons and concluding thoughts......Page 347
10.2.1 Job 1: Ul review that unexpectedly turned into a Ul design......Page 348
10.2.2 Job 2: Ul review to check implementation of design......Page 355
10.2.3 Job 3: Emergency redesign of a front panel......Page 357
10.2.4 Job 4: Second Ul design......Page 358
10.2.5 Lessons learned......Page 359
Getting developers to test the book......Page 360
Provide more examples......Page 361
Bibliography......Page 362
----------- Introduction......Page 367
---------- Textual Bloopers......Page 375