Human-Computer Interfaces (HCIs)

Dilbert the great

Introduction

From Wikipedia:

The user interface is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the machine which aids the operator in making operational decisions. Examples of this broad concept of user interfaces include the interactive aspects of computer operating systems, hand tools, heavy machinery operator controls, and process controls. The design considerations applicable when creating user interfaces are related to or involve such disciplines as ergonomics and psychology.

A user interface is the system by which people (users) interact with a machine. The user interface includes hardware (physical) and software (logical) components. User interfaces exist for various systems, and provide a means of:

  • Input, allowing the users to manipulate a system, and/or
  • Output, allowing the system to indicate the effects of the users' manipulation.

Generally, the goal of human-machine interaction engineering is to produce a user interface which makes it easy, efficient, and enjoyable to operate a machine in the way which produces the desired result. This generally means that the operator needs to provide minimal input to achieve the desired output, and also that the machine minimizes undesired outputs to the human.


The word 'machine' is used in the above quote. Note that this is an encompassing term that includes such devices as: TVs, Computers, Cellphones, Remote controls, Game consoles, Radios, Alarms, etc. - the list goes on.

Quoting Dr Tim Bell from Canterbury University:

HCI is a part of CS that looks at both the machine and the human, and requires a good understanding of both. Students of HCI should have a good life-knowledge of humans, but the advanced study of human behaviour is called psychology, and most advanced HCI workers have studied psychology in some detail, and/or related fields such as sociology, anthropology and physiology.

A nice example of psychology is the idea of "capture" - people get captured into sequences. A classic one is accidentally driving to your old house after work just after you've moved house. On computers, an example is the "delete -> confirm" sequence; one day you'll delete/confirm, then realise that you shouldn't have confirmed. The confirm interface fails because humans get captured in sequences.


Closely related to the study of the interface between humans and computers is the discipline of Human-Computer Interaction, or HCI for short.

Again from Wikipedia:

Human–computer interaction (HCI) is the study, planning and design of the interaction between people (users) and computers. It is often regarded as the intersection of computer science, behavioural sciences, design and several other fields of study. Interaction between users and computers occurs at the user interface (or simply interface), which includes both software and hardware; for example, characters or objects displayed by software on a personal computer's monitor, input received from users via hardware peripherals such as keyboards and mice, and other user interactions with large-scale computerized systems such as aircraft and power plants.

So HCI is not just about how humans interact with software on a computer. It also is about how they interact with other 'computer controlled' devices. HCI design involves taking into consideration how humans behave. When this is not done mistakes can happen as this Wikipedia quote illustrates:

Attention to human-machine interaction is important, because poorly designed human-machine interfaces can lead to many unexpected problems. A classic example of this is the Three Mile Island accident where investigations concluded that the design of the human-machine interface was at least partially responsible for the disaster. Similarly, accidents in aviation have resulted from manufacturers' decisions to use non-standard flight instrument and/or throttle quadrant layouts: even though the new designs were proposed to be superior in regards to basic human-machine interaction, pilots had already ingrained the "standard" layout and thus the conceptually good idea actually had undesirable results.

The cartoon below illustrates how one of the primary functions of HCI is to make life easy for the user.


Usability and Heuristics

Two definitions:
  1. "Usability is the ease of use and learnability of a human-made object"  - usability web page)

  2. "A heuristic is a guideline which is used when conducting a usability evaluation".
So the worth of a particular human-computer interface can be measured by evaluating it using heuristics based on good usability principles. For example, a good usability principle is to warn the user of a device (or application) of potentially serious or non-reversible actions. If, say, the user chooses to delete their mobile phone inbox messages they are presented with a warning message before the deletion occurs - "Do you really want to delete all read messages?". The heuristic to test this for a particular phone could be something like: 'The user is warned before deleting messages from the inbox (choose: yes, no, not applicable)'. Yes will be the answer if the phone interface is well designed. No if it is not. For more information on heuristics visit this web page: A brief introduction to Heuristic Evaluation

Jakob Nielsen's Ten Usability Heuristics


Jakob Nielsen's heuristics are well known and can be used for a range of devices, not just computer software and applications such as websites. The heuristics can be found on this page: Ten Heuristics, and the homepage to his useit.com website is: Jakob Nielsen's Website











How to use the heuristics to test an interface

The process to test an interface could go something like this.

Note: the word 'application' encompasses physical devices as well as software applications.

  1. Examine each one of Nielson's heuristics and see if it is relevant to the application being tested.
  2. If it is rewrite it if necessary so it is more specific.
  3. Form a series of questions based on the heuristics. They should be able to be answered with a 'yes', 'no' or 'not applicable'.
  4. Allow a section for comments so the evaluator can give add extra information not answered by the questions.
  5. Evaluate the device (preferably using more than one evaluator - 5 is the optimum number).
  6. Recommend improvements.
The following website has an interactive on the testing of various devices. It is useful in that it shows examples of heuristics questions: Interactive Heuristic Evaluation Toolkit. The toolkit also allows the generation of custom heuristics for a range of devices such as cellphones. Below is a sample for such phones as used by teenagers.

Suggested heuristics for Mobile phones, Young people and All types of applications.

 Visibility of system status

Is status feedback provided continuously (eg progress indicators or messages)?
Are warning messages displayed for long enough?

 Match between system and real world

Are the words, phrases and concepts used familiar to the user?
Does the task sequence parallel the user's work processes?
Is information presented in a simple, natural and logical order?
Is the use of metaphors easily understandable by the user?

 User control and freedom

Are facilities provided to "undo" (or "cancel") and "redo" actions?
Are there clearly marked exits (for when the user finds themselves somewhere unexpected)?

 Consistency and standards

Is the use of terminology, controls, graphics and menus consistent throughout the system?
Is there a consistent look and feel to the system interface?
Is there consistency between data entry and data display?
Have ambiguous phrases/actions been avoided?

 Error prevention

Is a selection method provided (eg from a list) as an alternative to direct entry of information?
Is user confirmation required before carrying out a potentially 'dangerous' action (eg deleting something)?
Does the phone ensure work (eg unsent text messages) is not lost either by user or system error?
Does the phone prevent calls being accidentally made?

 Recognition rather than recall

Are help and instructions visible or easily accessible when needed?
Is the relationship between controls and their actions obvious?
Is it possible to search for information (eg a phone number) rather than entering the information directly?
Is the functionality of the buttons on the device obvious from their labels?
Are input formats (eg dates or lengths of names) indicated? 

 Flexibility and efficiency of use

Does the phone allow for a range of user expertise?
Does the phone guide novice users sufficiently?
Is it possible for expert users to use shortcuts and to tailor frequent actions?
Is it possible to access and re-use a recent history of instructions (e.g. recently called numbers)?
Does the phone allow for a range of user goals (e.g. calling, text messaging, playing games) and interaction styles?

 Aesthetic and minimalist design

Is the design simple, intuitive, easy to learn and pleasing?
Is the phone free from irrelevant, unnecessary and distracting information?
Are icons clear and buttons labelled and is the use of graphic controls obvious?
Is the information displayed at any one time kept to a minimum?
Is the phone easy to remember how to use?

 Help users recover from errors

Do error messages describe problems sufficiently, assist in their diagnosis and suggest ways of recovery in a constructive way?

 Help and documentation

Is help clear and direct and simply expressed in plain English, free from jargon and buzzwords?

 Navigation

Is navigational feedback provided (eg showing a user's current and initial states, where they've been and what options they have for where to go)?

 Use of modes

Does the phone use different modes appropriately and effectively?

 Structure of information

Is there a hierarchical organisation of information from general to specific?
Are related pieces of information clustered together?
Is the length of a piece of text appropriate to the display size and interaction device?
Has the number of screens required per task been minimized (by minimizing use of white space and careful use of menus)

 Enjoyment

Is the phone fun to use?


Slideshare shows on HCI and testing

The following slideshare shows contain useful information on usability, heuristics and testing.

Simplified version of Nelson's heuristics - quite good


The information on the slides in the first half of show could be quite useful


Comes more from the Human Computer Interaction viewpoint


Other links of interest






Č
ĉ
ď
joebloggsnz .,
20 Jun 2011 22:33
ĉ
ď
joebloggsnz .,
20 Jun 2011 22:34
Comments