HCI - Human-Computer Interaction

A program is often judged only on its GUI (rightly or rongly).

Eg of a set of priciples

e.g of a guideline:
Users can't understand boolean logic


________________________________
|  Do you wish to cancel disc   |
|  write protection over-ride?  |
|         OK      Cancel        |
|_______________________________|

Goals

The program should assist a user to achieve their goals, e.g: Some form of 'task analysis' is often done.

If goals are not met, the GUI is not suitable.

Users don't always want a 'fancy' GUI (eg.sales processing - paid by speed?)

Interaction Styles

Direct manipulation - uses familiar objects: often termed 'desktop metaphor'

...but a GUI based on the real world might be too restrictive
(e.g a computer calendar can scroll over years easily)

Command-line - eg


javac fred.java
java fred

For operating systems: Unix e.g:

          chmod 600 *.html
Benefits: but - not for novices

Principle of familiarity

There are conventions, e.g: (Microsoft publish guidelines on these)

Error messages

Evaluation

May involve: Even a limited evaluation may be effective.

Alan Cooper - Mr. VB says...

Common ground - design patterns

provide a large set of reusable patterns for HCI.

Look at 'Go back to a safe place' in the booklet - have you seen it in use?