Table of Contents
The Table of Contents is also available as a PDF.
- Acknowledgments
- Introduction
- Chapter 1 First Principles
- Introduction
- Basic Principle 1: Focus on the users and their tasks, not on the technology
- Basic Principle 2: Consider function first, presentation later
- Basic Principle 3: Conform to the users’ view of the task
- Basic Principle 4: Design for the common case
- Basic Principle 5: Don’t distract users from their goals
- Basic Principle 6: Facilitate learning
- Basic Principle 7: Deliver information, not just data
- Basic Principle 8: Design for responsiveness
- Basic Principle 9: Try it out on users, then fix it!
- Chapter 2 GUI Control Bloopers
- Introduction
- Using the wrong control
- Blooper 1: Confusing checkboxes and radio buttons
- Blooper 2: Using a checkbox for a non-ON/OFF setting
- Blooper 3: Using command buttons as toggles
- Blooper 4: Using tabs as radio buttons
- Blooper 5: Too many tabs
- Blooper 6: Using input controls for display-only data
- Blooper 7: Overusing text fields for constrained input
- Using controls wrongly
- Blooper 8: Dynamic menus
- Blooper 9: Intolerant data fields
- Blooper 10: Input fields and controls with no default
- Blooper 11: Poor defaults
- Blooper 12: Negative checkboxes
- Chapter 3 Navigation Bloopers
- Introduction
- Not showing users where they are
- Blooper 13: Window or page not identified
- Blooper 14: Same title on different windows
- Blooper 15: Window title doesn’t match command or link
- Leading users astray and not showing the way
- Blooper 16: Distracting off-path buttons and links
- Blooper 17: Self-links
- Blooper 18: Too many levels of dialog boxes
- Poor search navigation
- Blooper 19: Competing search boxes
- Blooper 20: Poor search results browsing
- Blooper 21: Noisy search results
- Chapter 4 Textual Bloopers
- Download the Chapter 4 PDF
- Introduction
- Uncommunicative text
- Blooper 22: Inconsistent terminology
- Blooper 23: Unclear terminology
- Blooper 24: Bad writing
- Blooper 25: Too much text
- Developer-centric text
- Blooper 26: Speaking Geek
- Blooper 27: Calling users "user" to their face
- Blooper 28: Vague error messages
- Misleading text
- Blooper 29: Erroneous messages
- Blooper 30: Text makes sense in isolation but is misleading in the GUI
- Blooper 31: Misuse (or nonuse) of "..." on command labels
- Chapter 5 Graphic Design and Layout Bloopers
- Introduction
- Bad layout and window placement
- Blooper 32: Easily missed information
- Blooper 33: Mixing dialog box control buttons with content control buttons
- Blooper 34: Misusing group boxes
- Blooper 35: Radio buttons too far apart
- Blooper 36: Labels too far from data fields
- Blooper 37: Inconsistent label alignment
- Blooper 38: Bad initial window location
- Troublesome typography
- Blooper 39: Tiny fonts
- Chapter 6 Interaction Bloopers
- Introduction
- Deviating from task focus
- Blooper 40: Exposing the implementation to users
- Blooper 41: Needless restrictions
- Blooper 42: Confusable concepts
- Requiring unnecessary steps
- Blooper 43: Asking users for unneeded data
- Blooper 44: Asking users for random seeds
- Blooper 45: Pointless choice
- Burdening users’ memory
- Blooper 46: Hard to remember ID
- Blooper 47: Long instructions that go away too soon
- Blooper 48: Unnecessary or poorly marked modes
- Taking control away from users
- Blooper 49: Automatic rearrangement of display
- Blooper 50: Dialog boxes that trap users
- Blooper 51: "Cancel" doesn’t cancel
- Chapter 7 Responsiveness Bloopers
- Introduction
- Common responsiveness bloopers
- Blooper 52: Cursor doesn’t keep up
- Blooper 53: On-screen buttons acknowledge clicks too late
- Blooper 54: Menus, sliders, and scrollbars lag behind
- Blooper 55: Moving and sizing operations don’t keep up
- Blooper 56: Application doesn’t indicate that it is busy
- Blooper 57: Application is unresponsive during internal housekeeping
- Blooper 58: Long operations don’t display progress
- Blooper 59: Long operations provide no way to cancel
- Blooper 60: Application wastes idle time
- Blooper 61: Application gives no feedback when it hangs
- Blooper 62: Web site has huge images and animations
- Blooper 63: Web site always reloads whole pages in response to small edits
- Reasons for poor responsiveness
- Reason 1: The facts about responsiveness are not widely known
- Reason 2: UI designers rarely consider responsiveness during design
- Reason 3: Programmers equate responsiveness with performance
- Reason 4: Programmers treat user input like machine input
- Reason 5: Developers use simple implementations
- Reason 6: GUI software tools, components, and platforms are inadequate
- Reason 7: Managers hire GUI programmers who lack the required skill
- Avoiding responsiveness bloopers: Design principles
- Responsiveness Principle 1: Responsiveness is not the same as performance
- Responsiveness Principle 2: Processing resources are always limited
- Responsiveness Principle 3: The user interface is a real-time interface
- Responsiveness Principle 4: All delays are not equal: software need not do everything immediately
- Responsiveness Principle 5: Software need not do tasks in the order in which they were requested
- Responsiveness Principle 6: Software need not do everything it was asked to do
- Responsiveness Principle 7: Human users are not computer programs
- Avoiding responsiveness bloopers: Techniques
- Timely feedback
- Parallel problem solution
- Queue optimization
- Dynamic time management
- Summary of responsiveness techniques
- Chapter 8 Management Bloopers
- Introduction
- Counterproductive attitude
- Blooper 64: Treating UI as low priority
- Blooper 65: Misunderstanding what user interface professionals do
- Blooper 66: Discounting the value of testing and iterative design
- Counterproductive process
- Blooper 67: Anarchic development
- Blooper 68: No task expertise on the team
- Blooper 69: Using poor tools and building blocks
- Blooper 70: Giving programmers the fastest computers
- Appendices
- Appendix A: Glossary
- Appendix B: How this book was usability tested
- Appendix C: Task analysis of creating slide presentations—questions
- Appendix D: Illustrating simplicity—the object/action matrix
- Appendix E: Usability tests for every time and purpose
- Bibliography
- Index
- About the Author
- Web Appendix: Color Bloopers
- Download the Web Appendix pdf
- Blooper 71: Text hard to read on background
- Blooper 72: Relying on subtle color differences

