Human factors is... - Ergonomics - Industrial design -- "Form follows function" - Ease of use for beginners - Power / efficiency for advanced users - vi/LaTeX vs. Microsoft Word - Adaptibility (i.e., curb cuts) - User experiments - Design evolution / revolution - Metaphors and paradigms - Semantics vs. window dressing Awesome book: "The Art of Human-Computer Interface Design", Brenda Laurel, ed. Addison-Wesley / Apple Computer, 1990. Opening example: the keyboard Pre-history: manual typewriters w/ hammers Next: electric typewriters w/ balls or wheels Next: computers / word processors Today: "ergonomic" designs The legend of QWERTY vs. Dvorak http://wwwpub.utdallas.edu/~liebowit/keys1.html Original typewriter patent: 1868, Christopher Latham Sholes QWERTY design goal: keys likely to be typed in series have hammers coming from opposing sides (less likely to jam) August Dvorak's goal (1936): reduce finger motion For optimal typing speed. keyboards should be designed so that: A. The loads on the right and left hands are equalized. B. The load on the home (middle) row is maximized. C. The frequency of alternating hand sequences is maximized and the frequency of same-finger typing is minimized. QWERTY: does C well enough Dvorak: does all three, gets 2-6% improvement in modern, controlled studies Diagonal vs. vertical key placement Pros/cons of a Kinesis? + more comfortable + hand moves shorter distance to mouse + easier to balance on lap + 10% speed improvement - harder to learn (two weeks to get comfortable) - annoying for games / graphics programs - what if user has only one arm? Lots of other keyboard info: http://www.tifaq.org/keyboards.html Task analysis: user testing - build mock-ups of your design as early as possible - even cardboard mock-ups give useful feedback - give users "tasks" to accomplish and watch them without helping (one-way mirror, video camera, etc.) - standard scientific technique: control & experimental groups - evolve your design based on feedback - what operations are used most commonly (shortcuts necessary?) - what operations are tricky (radical new designs necessary?) - the designer is a bad test subject Example #2: The Microsoft Intellimouse - observation: users are spending lots of time moving mouse to scroll bar arrows - class discussion: possible solutions? - history of the mouse & the GUI - SRI/Xerox three-button design - Apple one-button design ("extremely difficult to press the wrong button") - stupid round mice on original iMac (fixed a year later) - handed vs. symmetric mice? Metaphors and paradigms - Metaphor: something that's like something you already know - Paradigm: something unlike the past but can be applied widely - Mac desktop metaphor -- build an analogy to something common - Plain paper metaphor -- create documents, not run applications - Photoshop artist metaphor -- brushes, palettes, etc. - object-oriented interface design - scrollbars vs. "scroll hand" (Adobe invention?) - Hypertext paradigm -- learn once, use everywhere - WYSIWYG paradigm - great for beginning users - annoying for advanced users (example: citations / xrefs) - Consistency within metaphor - rant against UW Imap server's handling of subfolders - rant about stovetop burner controls - Modality - vi's two modes vs. emacs's single mode - The power of paradigm shifts UI Design - Start with requirements ("form follows function") - Good designs are *transparent* and *consistent* - Rant about door knobs / bars / etc. - if it needs "push" or "pull" labels, the designer failed - Rant about Microsoft Office consistency - spell checker, typing accented letters, etc. - Animating PowerPoint is an exercise in frustration - Drawing tables is virtually painless Example #3: Pie Menus (Don Hopkins) First major appearance: Sun NeWS + easy for beginning users (see the menus appear) + great for advanced users (natural memory of direction) - what about blind users? - limited number of entries on each pie http://www.catalog.com/hopkins/piemenus/ Example #4: ATMs - Favorite IBM ATMs from late 80's - left-to-right verb/object/value style - cancel transaction by taking card - must remove card before getting money - bright gas-plasma display - Class discussion - telephone or computer-style keypad? - generic vs. specific buttons? - when to remove card from machine? - back-end issues: how to make sure you don't put $20's in the $10 bin? Adaptivity - Many handicaps you need to accomodate - Color blindness - GUI should make sense even in black&white - Low vision - Don't use custom fonts - Zero vision - Don't use custom GUI widgets - Use tooltips - No hearing - Thermometer widgets vs. "working... beep when done" - Low coordination (no shift clicking / click-dragging) - snapping to grids / adjacent objects is a big win - window management: discuss KDE vs. Microsoft sticky window dragging