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