HCI (human-computer interaction) is the study of how people interact with computers and to what extent computers are or are not developed for successful interaction with human beings.

As its name implies, HCI consists of three parts: the user, the computer itself, and the ways they work together.


By "user", we may mean an individual user, a group of users working together. An appreciation of the way people's sensory systems (sight, hearing, touch) relay information is vital. Also, different users form different conceptions or mental models about their interactions and have different ways of learning and keeping knowledge and. In addition, cultural and national differences play a part.


When we talk about the computer, we're referring to any technology ranging from desktop computers, to large scale computer systems. For example, if we were discussing the design of a Website, then the Website itself would be referred to as "the computer". Devices such as mobile phones or VCRs can also be considered to be “computers”.


There are obvious differences between humans and machines. In spite of these, HCI attempts to ensure that they both get on with each other and interact successfully. In order to achieve a usable system, you need to apply what you know about humans and computers, and consult with likely users throughout the design process. In real systems, the schedule and the budget are important, and it is vital to find a balance between what would be ideal for the users and what is feasible in reality.

The Goals of HCI

The goals of HCI are to produce usable and safe systems, as well as functional systems. In order o produce computer systems with good usability, developers must attempt to:

Underlying the whole theme of HCI is the belief that people using a computer system should come first. Their needs, capabilities and preferences for conducting various tasks should direct developers in the way that they design systems. People should not have to change the way that they use a system in order to fit in with it. Instead, the system should be designed to match their requirements.


Usability is one of the key concepts in HCI. It is concerned with making systems easy to learn and use. A usable system is:

Why is usability important?

Many everyday systems and products seem to be designed with little regard to usability. This leads to frustration, wasted time and errors. This list contains examples of interactive products:
mobile phone, computer, personal organizer, remote control, soft drink machine, coffee machine, ATM, ticket machine, library information system, the web, photocopier, watch, printer, stereo, calculator, videogame etc¦.

How many are actually easy, effortless, and enjoyable to use?

For example, a photocopier might have buttons like these on its control panel.


Imagine that you just put your document into the photocopier and set the photocopier to make 15 copies, sorted and stapled. Then you push the big button with the "C" to start making your copies.
What do you think will happen?
(a) The photocopier makes the copies correctly.
(b) The photocopier settings are cleared and no copies are made.
If you selected (b) you are right! The "C" stands for clear, not copy. The copy button is actually the button on the left with the "line in a diamond" symbol. This symbol is widely used on photocopiers, but is of little help to someone who is unfamiliar with this.

Factors in HCI

There are a large number of factors which should be considered in the analysis and design of a system using HCI principles. Many of these factors interact with each other, making the analysis even more complex. The main factors are listed in the table below:
Organisation Factors
Training, job design, politics, roles, workorganisation
Environmental Factors
Noise, heating, lighting, ventilation
Health and Safety Factors
The User
Cognitive processes and capabilities
Motivation, enjoyment, satisfaction, personality, experience
Comfort Factors
Seating, equipment, layout.
User Interface
Input devices, output devices, dialogue structures, use of colour, icons, commands, navigation, graphics, natural language, user support, multimedia,
Task Factors
Easy, complex, novel, task allocation, monitoring, skills
Cost, timescales, budgets, staff, equipment, buildings
System Functionality
Hardware, software, application
Productivity Factors
Increase output, increase quality, decrease costs, decrease errors, increase innovation

Disciplines contributing to HCI

The field of HCI covers a wide range of topics, and its development has relied on contributions
from many disciplines. Some of the main disciplines which have contributed to HCI are:

Computer Science
o technology
o software design, development & maintenance
o User Interface Management Systems (UIMS) & User Interface Development Environments (UIDE)
o prototyping tools
o graphics

Cognitive Psychology
o information processing
o capabilities
o limitations
o cooperative working
o performance prediction

Social Psychology
o social & organizational structures

Ergonomics/Human Factors
o hardware design
o display readability

o natural language interfaces

Artificial Intelligence
o intelligent software

Philosophy, Sociology & Anthropology
o Computer supported cooperative work (CSCW)

Engineering & Design
o graphic design
o engineering principles


(with thanks to Matt Jones)