02. Interface Design

Design -> Implementation -> Evaluation -> Design -> …

Design Process

Saul Greenberg

Articulate

Articulate:

Then design:

This should lead to user and task descriptions.

Then, evaluate the tasks and repeat the process, refining goals.

Brainstorm Designs

When designing, consider:

Create low-fidelity prototyping methods.

Then, create throw-away paper prototypes.

NB: ‘prototype’ has multiple meanings, one of which implies executability.

Evaluate the designs:

Repeat steps if required, further brainstorming more designs.

A reviewer should be able to unambiguously understand how the interface operates and works.

Refined Designs

Create:

Then use high-fidelity prototype methods and create testable prototypes.

Use usability testing and heuristic evaluation to further refine design if required.

Completed designs

Create alpha/beta systems or complete specifications. Do field testing if necessary.

Iterative Design

Iteratively refine design based on evaluative feedback.

A common mistake is to get an idea and hill climb on that single idea. Leads to:

Elaborative/Reduction Tension

Elaboration: get the Right Design; explore the full space of possible designs.

Reduction: get the Design Right; polish the solution. This may be done on the best solutions simultaneously.

The Design Funnel

                                          _______
                                   ------/
-----                   /---------/    Sales
---\ \___|--------------------\
    ---   Management/Marketing ----------\_______
       \_________________________________________
Design         ----------------------------------
       /------/                 |----------------
    --- /|              --------|
---/  -- | Engineering /
-----/   |----/-------/

Supporting Rapid Iterations

Fudd’s first law of creativity: to get a good idea, get lots of ideas.

Lots of ideas take lots of time to build/test, so we need rapid creation, evaluation and prototyping.

Prototyping

After user/task identification, prototyping can occur.

Low-fidelity paper prototypes (elaboration):

Medium-fidelity prototypes (reduction):

High-fidelity prototypes/restricted systems:

Working systems:

Low-Fidelity Prototypes: Sketches

Outward appearance and structure of intended design.

Necessarily crude and scruffy:

Use annotations/sequences to show UI progression.

Cross reference with other zoomed in/out sketches.

Sequential sketches: show state transitions; what interaction causes the state change?

Focus on the main transactions (Zipf’s law) - clearly convey how the user achieves the 20% of the most frequent interactions.

Medium-Fidelity Prototypes: Wizard of Oz

Have a person emulate the functionality.

IBM speech editor (1984): user would give audible commands to edit a text document, which the wizard implement. This gave IBM a good understanding of the user experience, allowing them to see if the idea was any good without investing a large amount of effort into actually implementing it.

Walk-through evaluation:

Refinement (e.g. PowerPoint):

Precise medium-fidelity prototypes:

Photo traces:

Simulations and animations:

Task-Centered System Design (TCSD)

TCSD is the HCI equivalent of requirements analysis/use cases.

It asks exactly and specifically who are the users and what will they use the system for? There is a critical difference between:

TCSD acts as a reality-based sanity check for designers.

Good book on system design: Task-Centered User Interface Design by Clayton Lewis and John Rieman.

How NOT to approach design:

UC SMS

UC’s student management system (from the mid 2000s) was a multi-million dollar, unusable disaster.

Example task: Andy is teaching COSC225 next semester; he wants to know how many students are enrolled to see how many printouts he needs. To achieve this:

The company that delivered it had a system that was similar to what UC needed; they did what was easy, not what the end user needed.

TCSD Phase 1: User Identification

Identify categories of end-users with specific exemplars - typical and extremes.

Talk to them!

TCSD Phase 2: Task Identification

  1. Record what the user wants to do, minimizing the description of how they do it
    • No interface assumptions; tasks are independent of the interface they will use to complete it
    • Can be used to compare alternative designs
    • Don’t write ‘display ${something} to the user’, write ‘do ${something}’: the user wants to get information about something; the system displaying it is just a way they can do it
  2. Record the complete task: input source, output identification
  3. Identify users
    • Design success depends on what users know
    • Test against specific individuals; name names
  4. Uniquely enumerate tasks for identification
    • Giving tasks a unique identifier helps with communicating problematic tasks with the team
  5. Identified tasks can be circulated for validations
    • Interview the users with the tasks you identified; they can help spot omissions, corrections, clarifications and unrealistic tasks
  6. Identify broad coverage of users and tasks
    • Create matrix with the axes of unimportant/important and infrequent/frequent tasks/users

Example: John Smith arrives at student services trying to enrol in a course online, but refused as he lacked a pre-requisite course. He has a letter from the HoD allowing him to enrol. He has forgotten his ID card and cannot remember his student ID or user code (<- this is an interface assumption; does the system have IDs or user codes?).

TCSD Phase 1/2 Outcomes

A report should state:

  1. User categories (and their priorities)
  2. Specific personas exemplifying each category
  3. Task categories and priorities
  4. Concrete representative task scenarios (with name of the owner)
    • Enumerated with unique identifiers for use in UI validation
  5. Explicit identification of groups/tasks that will not be supported and reasons for this

TCSD Phase 3: Design

Use task categories/scenarios to generate and evaluate designs.

Strive to make the workflow natural to the user. For each design and task scenario ask how the user would complete the task.

TCSD Phase 4: Walk-through Evaluation

Interface design debugging: select a task scenario and for each step:

Cautions on TCSD

User-Centred System Design

Know the user: design should be based around user needs, abilities, context, tasks etc. and should be involved in all stages of design: requirements, analysis, storyboards, prototypes etc.

UCSD/Participative Design: Involving the User

Talk to users:

UCSD: Participatory Design

Problem:

Solution:

The users:

However:

Erskine: member of Math/COSC departments became members of the design and judging team, gave suggestions to architects etc. (e.g. less glass - too much glare). When finished the staff had buy-in into the building; it was their building, not one built by management.

Usability Heuristics

AKA User-Interface Guidelines, Style Guides.

Usability heuristics:

Formative heuristics guide design decisions while summative heuristics evaluate existing systems.

Advantages:

Disadvantages:

Nielsen’s Ten

The original set defined Jakob Nielsen’s Usability Engineering:

01. Simple and Natural Dialogue

Manage complexity: make it as simple as possible, but no simpler (match the complexity of the domain).

Organization of the interface: make the presentation (appearance of each state) and navigation (between states) simple and natural.

Graphic design: organize, economize, communicate.

Use windows frugally - fewer windows are almost invariably better.

See: Google vs Yahoo search page, iPhone vs feature phones

02. Speak the User’s Language

Affordances, mappings and metaphors.

Terminology (words, colors, graphics, animations etc.) should be based on the user’s task language (and not based on system internals).

e.g. error messages should be useful to the user, not just the programmer/designer.

‘Language’ is textual and iconic (e.g. ‘Save’ (natural language) can be Ctrl-S , floppy disk icon).

03. Minimize The User’s Memory Load

Recall is slow and fragile; use recognition wherever possible:

04. Consistency

Consistency everywhere:

05. Feedback

Continually inform the user about what the system is doing and the system’s interpretation of their input.

e.g. in PS, cursor icon matches selected tool

The feedback should:

Response times:

Consider feedback persistence: how heavy/disruptive and enduring should it be?

06. Clearly Marked Exits

Avoid trapping the user; offer a way out whenever possible:

e.g. ‘Do you want to save the changes made to ${}’: Don’t Save, Cancel, Save (don’t just use ‘yes’/‘no’/‘cancel’)

Windows 10 volume control: area around the volume bar is untouchable for a few seconds Also placed in the top left corner where a lot of important user elements are.

07. Shortcuts

Enable high performance for experienced users:

08. Prevent Errors and Avoid Modes

People will make errors:

General rules:

Forcing functions (syntactic correctness):

Warnings:

Ignore illegal actions:

Mode errors:

Bad behavior:

Good example:

Possible solutions:

09. Deal with Errors in a Positive and Helpful Manner

Error messages should:

10. Help and Documentation

Documentation and manuals:

Tutorials:

Reminders:

Wizards:

Māori Issues and User Interface Design

Te Taka Keegan - University of Waikato

Usability principles

Shneiderman, Nielson have a few relevant usability principles:

Know your audience:

Something is usable if person of average ability and experience accomplish the task without more trouble than it’s worth.

Inspection Methods

Systematic inspection of a user interface. It:

Heuristic Evaluation

Each inspector initially works alone. They traverse the interface several times with a specific scenario/task in mind and:

It often uses a two pass approach, focusing on specific UI elements/states in the first pass while the second focuses on integration and flows between states.

Results Synthesis

After each inspector does their individual evaluation, the inspectors come together and assess the overlap in problems they found.

Severity rankings can be reviewed and compared, and problems ranked in order of importance.

Severity: (small impact on those encountering it, few users) = low severity. (large impact, many users) = high severity.

Inspectors

Different perspectives will catch different problems so the inspector team should be diverse.

Example:

All inspectors should be trained in Nielson’s heuristics.

Nielson claims 3 inspectors should be able to find ~60% of problems, 5 ~70%.

Graphical Screen Design

Gestlat Laws of Perceptual Organization

How humans detect visual groups/relationships/patterns:

Smooth continuity (e.g. smooth curves vs straight lines with right angles) easier to perceive, but less ‘neat’.

PARC Principles

From The Non-Designer’s Design Book by Robin Williams.

PARC:

Misc

Grids:

Navigational Cues:

Economy of visual elements: