HCI Principles
Broader in scope than guidelines more
fundamental, widely applicable, and enduring the need for more clarication, or individual interpretation by interaction designers
On the other hand, this greater generality results in The upshot is before applying HCI principles, get to
know the context of your users and applications very well rst frequently overlapping, with individual highlights
Many HCI gurus offer their take on design principles
Principle: Know Thy User
Corollary: if you think you know thy user, think again Diversity across multiple dimensions: age, gender,
physical and cognitive abilities, education, culture or ethnicity, training, motivation, goals, personality
Two types of user knowledge:
1. Interface knowledge of the technology that presents the system image 2. Domain knowledge of the real-world activities that your user interface seeks to accomplish
User Prociency Proles
novice rst-time knowledgeable intermittent expert frequent interface knowledge little to none; shallow little to none; shallow some, but not specic expert domain/task knowledge little to none; shallow knowledgeable knowledgeable expert
Accommodating Multiple User Proles
Scope: are we designing for all proles? (ideally yes)
Or just a subset? (implies vertical applications)
Multi-layer, level-structured, or spiral interfaces Novices get training wheels limited options, but also fewer opportunities for error Increased prociency enables increased functionality Multiple layers include both software and
documentation
Not unlike progressing through a modern video game
Principle: Identify the Tasks
a.k.a. know thy domain Dovetails with requirements and use-case analysis Task decomposition: what tasks are atomic? How
are composite tasks put together? invocation methods
Task frequency: determines navigation structure, Task selection: is a better mousetrap the same as
the kitchen sink? featuritis has been used to describe low usage-to-availability ratio
Principle: Choose an Interaction Style
An interaction style is the overall metaphor or paradigm that governs a user interface. The best user interfaces provide the best match between interaction style, user proles, and tasks/domain. Of course, appropriate combinations are always acceptable.
Direct manipulation: visual representation of domain Menu selection: sequential lists of choices Form llin: labeled entry elds Command language: sequence of user directives Natural language: attempts to copy H-H-I
Principle: Golden Rules
HCI gurus provide individual takes on the most important elements of good user interfaces. Here are Shneidermans Eight Golden Rules: 1. Strive for consistency 2. Cater to universal usability 3. Offer informative feedback 4. Design dialogs to yield closure 5. Prevent errors 6. Permit easy reversal of actions 7. Support internal locus of control 8. Reduce short-term memory load
Nielsens Take: Ten Usability Heuristics
Simple and natural dialog Speak the users language Minimize user memory load Consistency Feedback Clearly-marked exits Shortcuts Good error messages Prevent errors Help and documentation
Tognazzinis Take: Sixteen First Principles
Anticipation Defaults Efciency of the User Explorable Interfaces Fittss Law Human Interface Objects Latency Reduction Learnability Limit Tradeoffs Use of Metaphors Protect the Users Work Readability Track State Visible Navigation Autonomy Color Blindness Consistency
Discerning Patterns in the Rules
Despite variations in phrasing and emphasis, certain
common themes emerge among these (and other) sets of golden rules this should give you an idea for prioritization and generality relate them to how they inuence the ve metrics of learnability, efciency, memorability, errors, and subjective satisfaction converge into the one, true HCI rulebook
One way to reason about these rules objectively is to It remains to be seen whether these rules will
One Rule to Rule Them All Prevent Errors
If there is any single golden rule that distinctly rises Consistency and feedback also enjoy multiple
above the rest, it would be Shneiderman #5: Prevent Errors (a.k.a. Shneiderman #6, Nielsen #8 and #9, Tog #7 and #13) appearances in these lists, but they dont have the same bang-for-the-buck as error prevention
Specic, positive, and constructive error messages Provide constant feedback on the state of the Correct actions: Understand conditions that may
into single, replicable composites
application this suggests what can or cannot be done at a given time foster errors and either keep the user from performing erroneous actions or allow them to undo these actions
Complete sequences: group multiple consistent steps
Unit tests in software development build upon a similar idea of codifying sequences of steps
Principle: Integrating Automation vs. Control
Sanders and McCormick (1993) suggest that we play
to a human beings strengths as opposed to a machines: automation
Avoid routine, tedious, and error-prone tasks Focus on making decisions, dealing with the
unexpected, and planning for the future control
A corollary to control is predictability we generally
dont want the computer to have a mind of its own
The FAA says it well: improve system performance, Automation vs. control grows in signicance as
without reducing human involvement and train users when to question automation (2003) anthropomorphic and adaptive user interfaces grow in popularity and sophistication Microsofts Ofce Assistants (or sometimes, Microsoft Ofce itself) Assorted bots and pseudo natural-language interfaces (online help, search engines) Trained spam lters Amazon and others your store or your page features