From Wikipedia, the free encyclopedia
The user interface is the aggregate 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 manipulate the system
- Output, allowing the system to produce the effects of the users' manipulation.
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 on 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 sometimes referred to as the human-machine interface (HMI).
HMI is a corruption of the original term MMI (Man-Machine Interface) which has been in use for decades but was changed to conform to certain views of "political-correctness". In practice, the abbreviation "MMI" is still frequently used although some who still use the term may claim that MMI stands for something different now (e.g. "Management and Manufacturing Information" or "Mammal-Machine Interface"), in order to avoid controversy.
Whether it is called MMI or HMI, the terms refer to the 'layer' that separates a human that is operating a machine from the machine itself.
In science fiction, HMI or MMI is sometimes used to refer to what is better described as direct neural interface. However, this latter usage is seeing increasing application in the use of (medical) prostheses (e.g., cochlear implants).
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).
In some circumstances the computer might observe the user, and react according to their actions without specific commands. A means of tracking parts of the body is required, and sensors noting the position of the head, direction of gaze and so on have been used experimentally. This is particularly relevant to immersive interfaces.
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 into account the human psychology and physiology of the users, and makes the process of using the system effective, efficient and satisfying.
Usability is mainly a characteristic of the user interface, but is also associated with the functionalities of the product. It describes how well a product can be used for its intended purpose by its target users with efficiency, effectiveness, and satisfaction, also taking into account the requirements from its context of use. These functionalities or features are not always parts of the user interface (e.g. are you able to reverse with your car or not), yet they are key elements in the usability of a product.
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 to the graphical, textual and auditory information the program presents to the user, and the control sequences (such as keystrokes with the computer keyboard, movements of the computer mouse, and selections with the touchscreen) the user employs to control the program.
Currently (as of 2005) the following types of user interface are the most common:
- Graphical user interfaces (GUI) accept input via devices such as computer keyboard and mouse and provide articulated graphical output on the computer monitor. There are at least two different principles widely used in GUI design: object-oriented interfaces (OOUI) and application oriented interfaces.
- Web-based user interfaces accept input and provide output by generating web pages which are transported via the Internet and viewed by the user using a web browser program. Newer implementations utilize Java, AJAX, Microsoft .NET, or similar technologies to provide realtime control in a separate program, eliminating the need to refresh a traditional HTML based web browser.
User interfaces that are common in various fields outside desktop computing:
- Command-line interfaces, where the user provides the input by typing a command string with the computer keyboard and the system provides output by printing text on the computer monitor. Used for system administration tasks etc.
- Tactile interfaces supplement or replace other forms of output with haptic feedback methods. Used in computerized simulators etc.
- Touch interfaces are graphical user interfaces using a touchscreen display as a combined input and output device. Used in many types of industrial processes and machines, self-service machines etc.
Other types of user interfaces:
- Attentive user interfaces manage the user attention deciding when to interrupt the user, the kind of warnings, and the level of detail of the messages presented to the user.
- Batch interfaces are non-interactive user interfaces, 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.
- Crossing-based interfaces are graphical user interfaces in which the primary task consists in crossing boundaries instead of pointing.
- Gesture interfaces are graphical user interfaces which accept input in a form of hand gestures, or mouse gestures sketched with a computer mouse or a stylus.
- Multi-screen interfaces, employ mulitple displays to provide a more flexible interaction. This is often employed in computer game interaction in both the commercial arcades and more recently the handheld markets.
- Noncommand user interfaces, which observe the user to infer his / her needs and intentions, without requiring that he / she formulate explicit commands.
- 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 very rich graphic user interfaces.
- Tangible user interfaces, which place a greater emphasis on touch and physical environment or its element.
- Telephone user interfaces, which accept input and provide output by generating telephone voice which are transported via the telephone network and heard by the user using a telephone. The user input is made by pressing telephone keys.
- 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.
- Zero-Input interfaces grab inputs from a set of sensors instead of querying the user with input dialogs.
- Zooming user interfaces are graphical user interfaces in which information objects are represented at different levels of scale and detail, and where the user can change the scale of the viewed area in order to show more detail.
- Archy, a keyboard-driven user interface by Jef Raskin, arguably more efficient than mouse-driven user interfaces for document editing and programming.
The history of user interfaces can be divided into the following phases according to the dominant type of user interface:
- Batch interface, 1945-1968
- Command-line user interface, 1969-1983
- Graphical user interface, 1984 to present — see history of the GUI for a detailed look
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 perceived 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.
- Accessibility and computer accessibility — user interface's suitability for people with special needs
- Brain-computer interface
- Ergonomics and human factors — the study of designing objects to be better adapted to the shape of the human body
- Human-computer interaction links
- Information visualization — the use of sensory representations of abstract data to reinforce cognition
- Interface (computer science)
- Knowledge visualization — the use of visual representations to transfer knowledge
- List of user interface literature
- Ncurses, a semigraphical user interface.
- Usability links
- User experience
- Virtual artifact