9.5 KiB
The Art of Unix Usability
| ----- | | The Art of Unix Usability | | | | Next |
The Art of Unix Usability
Eric Steven Raymond
<[esr@thyrsus.com][2]>
Rob W. Landley
<[rob@landley.net][3]>
Copyright © 2004 Eric S. Raymond
This book and its on-line version are distributed under the terms of the Creative Commons Attribution-NoDerivs 1.0 license, with the additional proviso that the right to publish it on paper for sale or other for-profit use is reserved to Pearson Education, Inc. A reference copy of this license may be found at http://creativecommons.org/licenses/by-nd/1.0/legalcode.
| ----- | | Revision History | | Revision 0.1 | April 18 2004 | esr | | Start of book | | |
Dedication
Table of Contents
- An Invitation to Usability
- 1. Premises: The Rules of Interface Design
- Usability Metrics
- Usability and the Power Curve
- The Rules of Usability
Rule of Bliss: Allow your users the luxury of ignorance. Rule of Distractions: Allow your users the luxury of inattention. Rule of Flow: Allow your users the luxury of attention. Rule of Documentation: Documentation is an admission of failure. Rule of Least Surprise: In interface design, always do the least surprising thing. Rule of Transparency: Every bit of program state that the user has to reason about should be manifest in the interface. Rule of Modelessness: The interface's response to user actions should be consistent and never depend on hidden state. Rule of Seven: Users can hold at most 7±2 things at once in working storage. Rule of Reversibility: Every operation without an undo is a horror story waiting to happen. Rule of Confirmation: Every confirmation prompt should be a surprise. Rule of Failure: All failures should be lessons in how not to fail. Rule of Silence: When a program has nothing surprising to say, it should say nothing. Rule of Automation: Never ask the user for any information that you can autodetect, copy, or deduce. Rule of Defaults: Choose safe defaults, apply them unobtrusively, and let them be overridden if necessary. Rule of Respect: Never mistake keeping things simple for dumbing them down, or vice-versa. Rule of Predictability: Predictability is more important than prettiness. Rule of Reality: The interface isn't finished till the end-user testing is done.
Comparison with the Nielsen-Molich Evaluation Method Identifying with the User Experience
Batch Computing Command-Line Interfaces What's Old is New Again Vector Graphics, Video Games, and NLS/Augment The first GUIs The X Windowing System The Color Convergence GUIs in the era of commodity hardware The Unix resurgence Beyond the WIMP?
- 3. Programming: GUI Construction in the Unix Environment
- Overview
- Programming with the X Server
- Toolkit libraries and bindings
- Components of GUI environments
Higher-Level Widgets with Consistent Policy Window Managers An interface to ICCCM, and possibly an object broker Sound Support Other Services for Application Programming
Events: the Input Side Rendering: the Output Side
X Programming at the Application Level Scripting Languages, Code Generators, and GUI Best Practices
- 4. Wetware: The Human Side of Interfaces
- Novelty, Consciousness, and the Single Locus of Attention
- Real Time Costs
- Hick's Law and Fitts's Law
- Habituation, Expertise, and Undo Operations
- Interfaces and Flow
- Buffering and Human Memory
- Designing around Characters and Stories
Case study: CUPS configuration Case study: xmms, xine, and totem
List of Figures
2.1. IBM 029 card punch. 2.2. ASR-33 Teletype. 2.3. VT100 terminal. 2.4. The Xerox Alto. 2.5. Alto running the Executive file browser (c.1974). 2.6. The Xerox Star (1981). 2.7. Screen shot from a Star (1981). 2.8. Kickstart on the Amiga 1000 (1985). 2.9. Early version of the Macintosh Finder (1985). 2.10. Windows 1.0 (1985). 2.11. OpenLook (c.1989). 2.12. NeXTstep (1988). 2.13. Windows 3.0 and 3.1 (1992). 2.14. Windows 95 (1995). 2.15. Microsoft Bob home screen (1995). 3.1. Comparing the X stack to a monolithic graphics system. 5.1. CUPS configuration: the saga begins 5.2. CUPS configuration: the Queue Name panel 5.3. CUPS configuration: the Queue Type panel 5.4. CUPS configuration: the stone wall 5.5. xmms 5.6. xine-ui 5.7. gxine
List of Tables
3.1. Summary of X Toolkits. 4.1. Timings for various interface actions
| ----- | | | | Next | | | | An Invitation to Usability |