Introduction to Human Computer Interaction

Software Engineering

Generations of computers

  1. Vacuum tube (punchcards)

  2. Transistor (assembler language)

  3. Monitors, bytecode


The discipline concerned with the design, evaluation and implementation of interactive computer systems for human use and with the study of major phenomena surrounding them

Objectives of HCI are

  • To provide an understanding of both the human user and the computer system, in an effort to make interactions between the two easier and more satisfying

  • However the emphasis should always be on the user


  • An individual user, a group of users working together or a sequence of users in an organisation dealing with some part of a process or task


  • Technology ranging from desktop to large scale systems, or control/embedded systems


  • Communication between the user and computer in a direct or indirect manner

What is involved

  • Study of humans using interfaces

  • Development of new applications/systems to support user’s activities

  • Development of new devices and tools for users

  • Develop usable products

    • Easy to learn

    • Effective to use

    • Provide an enjoyable/satisfying experience

Why should you be concerned with HCI

Increasingly becomes a matter of law

National health ans safety standards constrain employers to provide their workforce with usable computer systems

EC directive 90/270/EEC - when designing, selecting, commissioning or modifying software

  • Is suitable to task

  • Is easy to use and adaptable to the user’s knowledge and experience

  • It provides feedback on performance

  • It displays information in a format and at a pace that is adapted to the user

  • It conforms to the “principle of software ergonomics”

Designers and employers cannot afford to ignore the user

Principles for supporting HCI

  • Listening to what people want and getting them involved in design

  • Using tried and tested user-based techniques during the design process

  • Thinking through what might provide quality user experiences

  • Considering what might help people with the way they currently do things

  • Taking into account what people are good and bad at

Avoiding problematic design

Take into account

  • Who the users are

  • What activities are being carried out

  • Where the interaction is taking place

Memory and mental models

Multi-store memory

Sensory memory

  • Iconic, Echoic, Haptic

  • Hold info for a few tenths

  • Attention passes info to short term memory

Short term memory store

  • Scratch pad for temporary recall of info

  • Holds info for a few seconds (then decays)

  • Has limited capacity 7+-2 digits for information

  • Passed to long term memory via rehearsal

Permanent long-term memory store

  • Everything we “know”

  • Factual knowledge

  • Experimental knowledge

  • Procedural rules of behaviour etc.

  • Hold information “indefinitely”

  • Episodic - memory of events and experience in serial form

  • Semantic - uses structure to store information derived from episodic memory list

Mental models

An explanation in what someone’s though process for how something works in the real world

A mental model is what the user believes about the system at hand\

Knowledge is sometimes described as a mental model

  • How to use the system (what to do next)

  • What to do with unfamiliar systems or unexpected situations (how the system works)

People make inferences using mental models of how to carry out tasks

What to do in HCI design

Educate the user to build correct mental models


  • Useful feedback in response to user input

  • Easy to understand and intuitive ways of interacting with the system

  • Provide the right kind and level of info in the form of:

    • Clear and easy to follow instructions

    • Appropriate online help and tutorials

    • Context sensitive guidance for users, set at their level of experience

HCI, science or craft?

Both - artistically pleasing and capable of fulfilling the tasks required


The process of acquiring knowledge through our thoughts, experiences and senses

Cognition has also been described in terms of specific kinds of processes, including:

  • Attention - The process of selecting things to concentrate on

  • Perception - How information is acquired from the environment

  • Memory - Recalling various kinds of knowledge to allows appropriate actions

  • Learning - How to use the computer based application or the use of a user based application to learn a topic

  • Reading, speaking and listening - issues of information transience, speed etc

Why do we need to understand users?

  • Interacting with technology is cognitive

  • Need to take into account cognitive process involved and cognitive limitations of users

  • Provides knowledge about what users can and cannot be expected to do

  • Identifies and explains the nature and causes of problems users encounter


Selecting things to concentrate on at a point in time from the mass of stimuli around us

Allows us to focus on information that is relevant to what we’re doing

Involves audio and/or visual senses

Focussed and divided attention enables us to be selective in terms of the mass of competing stimuli but limits our ability to keep track of all events

Information at the interface should be structured to capture users’ attention, e.g. use perceptual boundaries (windows), colour, sound and flashing lights

Design implications for attention

  • Make information salient when it needs attending to

  • Use techniques that make things stand out like colour, ordering, spacing, underlining, sequencing and animation

  • Avoid cluttering the interface with too much information

  • Avoid using too much because the software allows it

Gestalt Laws

Similarity - Two visual stimuli that have a common property are seen as belonging together

Proximity - Two visual stimuli that are close to each other are seen as belonging together

Closure - If a set of stimuli almost encloses an area or could be interpreted as enclosing an area, the viewer sees the area

Good-Continuation - Given a juncture of lines, the viewer sees as continuous those lines that are smoothly connected


How information is acquired from the environment via our senses

Obvious implication is to design representations that are readily perceivable e.g.

  • Icons should be easy to distinguish and read

  • Sounds or synthesized speech distinguishable

  • Touch sensation - tactile feedback

  • Visual groupings can help

  • Text should be legible

Design implications for Perception

  • Use icons and other graphical representations; will enable users to easily recognise their meaning

  • Bordering and spacing effective at grouping and finding info

  • Sounds should be audible and distinguishable

  • Text should be legible and distinguishable from the background

  • Tactile feedback should allow users ti recognise and distinguish different meanings


  • Involves first encoding then retrieving knowledge

  • We don’t remember everything - involves filtering and processing what is attended to

  • Context is important in affecting our memory - affects the extent to which info can be subsequently retrieved

  • We recognise things much better than being able to recall things

Recognition vs Recall

  • Command based interfaced require users to recall from memory a name from 100s

  • GUIs provide a visual way of doing the same

  • Web browsers etc provide lists of visited URLs etch that support recognition in memory

Digital content management

Is a growing problem for many users:

  • Vast number of files of different types

  • Where and how to save them all, then remembering what they were called and where to find them again

  • Naming most common way of encoding them

  • But can be difficult to remember, especially when we have 1000s and 1000s

  • How might such a process be facilitated taking into account people’s memory abilities?

Design implications for Memory

  • Do not overload users’ memories with complicated procedures for carrying out tasks

  • Design interfaces that promote recognition rather than recall by using menus, icons and consistently placed objects

  • Provide users with a variety of ways to encode digital information to help them remember where they have stored them