The user interface is the aggreate of means by which people (the users) interact with a particular machine, device, computer program or other complex tool (the system). The user interface provides means of:
Input, allowing the users to control the system
Output, allowing the system to inform the users (also referred to as feedback)
To work with a system, the users need to be able to control the system and assess the state of the system. For example, when driving an automobile, the driver uses the steering wheel to control the direction of the vehicle, and the accelerator pedal, brake pedal and gearstick to control the speed of the vehicle. The driver perceives the position of the vehicle by looking through the windscreen and exact speed of the vehicle by reading the speedometer. The user interface of the automobile is the whole composed of the instruments the driver can use to accomplish the tasks of driving and maintaining the automobile.
The term user interface is often used in the context of computer systems and electronic devices. The user interface of a mechanical system, a vehicle or an industrial installation is often referred to as the human-machine interface (HMI). Older, not gender-neutral version of the term is man-machine interface (MMI). The abbreviation MMI is still in use, but is said to refer to mammal-machine interface. In science fiction, HMI or MMI is sometimes used to refer to what is better described as direct neural interface.
The system may expose several user interfaces to serve different kinds of users. For example, a computerized library database might provide two user interfaces, one for library patrons (limited set of functions, optimized for ease of use) and the other for library personnel (wide set of functions, optimized for efficiency).
The design of a user interface affects the amount of effort the user must expend to provide input for the system and to interpret the output of the system, and how much effort it takes to learn how to do this. Usability is the degree to which the design of a particular user interface takes account human psychology and physiology of the users, and makes the process of using the system effective, efficient and satisfying.
See mental model, human action cycle, usability testing
User interfaces in computing
In computer science and human-computer interaction, the user interface (of a computer program) refers primarily to the graphical and textual information the program presents to the user, and the control sequences (such as keystrokes with the computer keyboard and movements of the computer mouse) the user employs to control the program.
Currently (2005) the following types of user interfaces are the most common:
Other types of user interfaces:
Batch interface is a non-interactive user interface, where the user specifies all the details of the batch job in advance to batch processing, and receives the output when all the processing is done. The computer does not prompt for further input after the processing has started.
Gesture interfaces are user interfaces which accept input in a form of hand gestures, or mouse gestures sketched with a computer mouse or a stylus.
Reflexive user interfaces where the users control and redefine the entire system via the user interface alone, for instance to change its command verbs. Typically this is only possible with a very rich graphic user interfaces.
Tactile interfaces supplement or replace other forms of output with haptic feedback methods.
- Tangible User Interface which places a greater emphasis on touch and physical environment or its element
- Text user interfaces are user interfaces which output text, but accept other form of input in addition to or in place of typed command strings.
Touch interface is a graphical user interface which uses touch screen intead of a computer mouse for input.
The history of user interfaces can be divided to the following phases according to the dominant type of user interface:
For further information, see the following external link: Chapter 2. History: A Brief History of User Interfaces
Modalities and modes
A modality is a path of communication employed by the user interface to carry input and output. Examples of modalities:
- Input — computer keyboard allows the user to enter typed text, digitizing tablet allows the user to create free-form drawing
- Output — computer monitor allows the system to display text and graphics (vision modality), loudspeaker allows the system to produce sound (auditory modality)
The user interface may employ several redundant input modalities and output modalities, allowing the user to choose which ones to use for interaction.
A mode is a distinct method of operation within a computer program, in which the same input can produce different results depending of the state of the computer program. Heavy use of modes often reduces the usability of a user interface, as the user must expend effort to remember current mode states, and switch between mode states as necessary.
See list of user interface literature
See human-computer interaction links, usability links