Effective and Productive Human Interfaces
Course Description
This is a course on human-machine interface design. This is intended to be a practical seminar that prepares people to “hit the ground running” after they are done. The course materials build on a foundation of concepts that support a level of understanding that will discourage students from applying the course ideas blindly.
The learning goals are:
To be able to critique human-machine interfaces
To avoid designing bad interfaces
To gain insight into the design of the logic interactive applications
The course is not tied to any specific methodology or CASE tool. There are many “tools” offered in this course for analyzing human interface needs and the efficiency of a given interface. The enterprise may want to use its own tools, such as Visual Basic or Java Beans, to actually build human interfaces. However, those tools are central neither to the design principles nor to the design processes at the core of effective human interface design, and they are given their proper place subordinate to the core course concepts.
Participants
This course is intended for:
System Designers and Architects
Programmers
Human Interface Designers
Web Page Designers
Prerequisites
The student should be familiar with programming and with the basics of graphical computer human interfaces. For the implementation and design facets of the course, the student should have some background in object-oriented programming. However, it is not an elementary course: the course principles play best in the hands of experienced systems engineers, programmers, and designers.
Course Syllabus
Day 1: Properties of Great Human / Computer Interfaces
On the first day the student learns the basic principles behind human interface design. The student will learn practical models such as locus and focus that relate to the psychology of design. The tools, techniques and skills from this section form a foundation for analyzing computer interfaces and for avoiding bad human/machine interface for design. The three main themes are affordability (how obvious interface symbols and icons are), monotony (there should be exactly one good way to perform each task) and modality (what a command does should not depend on any modes left by previous commands). The apparent need for modes can often be solved by using quasimodes: a form of short-term mode that uses kinesthetic action (such as holding down a control key) to hold the user’s locus of attention.
What is HCI?
Productivity
User-centered design
The interface is the program
An exercise: Developing a temperature converter
Conceptual models
Storyboarding
An interface invisible between you and the application Universal principles and domain-specific principles Pattern Languages
Example: Five Minutes of No Escalation Messages
Pattern Languages in HCI
Consciousness
Locus and Focus
The Interface
Habit Formation
Modality
Gestures
Definition and Examples
Redressing modes
Labeling and modes
Definition of range
Modes as a problem of state
Redressing Modes
Quasimodes
Examples
Defaults
Affordability
Relationship to Culture
Icons
Problems with words
Non-native English/Danish users
Noun/Verb Construction
Monotony
Day 2: Analysis Techniques
On Day 2, the student learns how to apply the principles from Day 1 to analyze a given problem and to build and analyze a productive, effective machine interface. The lecture includes an in-depth analysis of the famous Model-View-Controller pattern from the perspective of its inventor, as well as the CHECKS pattern language: both practical designs for effective human/machine interfaces. It elaborates the direct manipulation metaphor and other metaphors for design. The overall focus is on sound analysis techniques customized for effective and productive human/machine interfaces. The seminar ends with a full life-cycle model that addresses the puzzling question: which do you build first, the interface or the application?
User-Centered Design
Quantification
Goals, Object, Method, Selection Rules (GOMS)
Interface Timing
Feedback (Progress bars, etc.)
Example: C-to-F converter
Information theory, 0-bit inputs
Information per message
Definition of efficiency
Limitations of efficiency calculations
Fitt’s law of target size
The Expert/Beginner Dichotomy
Model-View-Controller-User
Trygve Reenskaug’s Insighted Formulation
Conceptual Models
The Direct Manipulation Metaphor
The Theatre Metaphor
Laurel’s Paradox
Policy and mechanism
The Game Metaphor
The CHECKS Pattern Language
Analysis techniques
Problem definition
Conceptual design models; flow, sequence, artifact, cultural, physical
User Profiles: key questions, building stories
Scenarios: Problem story scenario, Reality Check Scenario, personae, Vision Scenario
System Work Model
Improved temperature converter (exercise)
Compare GOMS Analyses
Analyses of an interface: coffee machine
GOMS Analysis
Fitt’s Law
A life cycle model