User interface

To meet the Microsoft Wiki's quality standards, this article or section may require cleanup. Please help by improving the article.

In the industrial design field of human-machine interaction, the user interface is (a place) 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, 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.

Ever since the increased use of personal computers and the relative decline in societal awareness of heavy machinery, the term user interface has taken on overtones of the (graphical) user interface, while industrial control panel and machinery control design discussions more commonly refer to human-machine interfaces.

Other terms for **user interface** include ***human-computer interface*** (HCI) and ***man-machine interface*** (MMI).

## Introduction

Main article: Human-computer interaction
To work with a system, users have to be able to control 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 windshield 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.

## Terminology

There is a distinct difference between **User Interface** versus **Operator Interface** or **Human Machine Interface (HMI)**.

* The term ***user interface*** is often used in the context of (personal) **computer systems** and electronic devices
	+ where a network of equipment or computers are interlinked through an MES (Manufacturing Execution System)-or Host.
	+ An HMI is typically local to one machine or piece of equipment, and is the interface method between the human and the equipment/machine. An Operator interface is the interface method by which multiple equipment that are linked by a host control system is accessed or controlled.[*clarification needed*]
	+ 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).[*clarification needed*]
* 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 modification of the original term MMI (man-machine interface). In practice, the abbreviation MMI is still frequently used although some may claim that MMI stands for something different now. Another abbreviation is HCI, but is more commonly used for than human-computer *interface*. Other terms used are operator interface console (OIC) and operator interface terminal (OIT). However it is abbreviated, the terms refer to the 'layer' that separates a human that is operating a machine from the machine itself.

In science fiction, HMI is sometimes used to refer to what is better described as **direct neural interface**. However, this latter usage is seeing increasing application in the real-life use of (medical) prostheses—the artificial extension that replaces a missing body part (e.g., cochlear implants).

In some circumstance computers 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**.

## Usability

Main article: Usability
User interfaces are considered by some authors to be a prime ingredient of Computer user satisfaction.Template:Cite

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 and the process to design it. 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.

*See also: mental model, human action cycle, usability testing, and ergonomics*.
List of human-computer interaction topics
## Consistency

A key property of a good user interface is consistency. There are three important aspects.[*dubious  – discuss*]

First, the controls for different features should be presented in a consistent manner so that users can find the controls easily.[*clarification needed*] For example, users find it very difficult[*citation needed*] to use software when some commands are available through menus, some through icons, and some through right-clicks. A good user interface might provide shortcuts or "synonyms" that provide parallel access to a feature, but users do not have to search multiple sources to find what they're looking for.[*clarification needed*]

Second, the "principle of least astonishment" is crucial.[*citation needed*] Various features should work in similar ways. For example, some features in Adobe Acrobat are "select tool, then select text to which apply." Others are "select text, then apply action to selection."[*citation needed*]

Third, user interfaces should not change version-to-version—user interfaces must remain upward compatible.[*citation needed*]

Good user interface design is about setting and meeting user expectations.[*citation needed*] Better (from a programmer's point of view) is not better.[*citation needed*] The same (from a user's point of view) is better.[*citation needed*]

## 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.

### Types

Currently (as of 2009[update]) 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 user interfaces (OOUIs) and application oriented interfacesTemplate:Verify source.
* **Web-based user interfaces** or **web user interfaces** (WUI) accept input and provide output by generating web pages which are transmitted via the Internet and viewed by the user using a web browser program. Newer implementations utilize Java, AJAX, Adobe Flex, Microsoft .NET, or similar technologies to provide real-time control in a separate program, eliminating the need to refresh a traditional HTML based web browser. Administrative web interfaces for web-servers, servers and networked computers are often called Control panels.

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 by programmers and system administrators, in engineering and scientific environments, and by technically advanced personal computer users.
* **Tactile interfaces** supplement or replace other forms of output with haptic feedback methods. Used in computerized simulators etc.
* **Touch user interface** are graphical user interfaces using a touchscreen display as a combined input and output device. Used in many types of point of sale, 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.
* **Conversational Interface Agents** attempt to personify the computer interface in the form of an animated person, robot, or other character (such as Microsoft's Clippy the paperclip), and present interactions in a conversational form.
* **Crossing-based interfaces** are graphical user interfaces in which the primary task consists in crossing boundaries instead of pointing.
* **Gesture interface** are graphical user interfaces which accept input in a form of hand gestures, or mouse gestures sketched with a computer mouse or a stylus.
* **Intelligent user interfaces** are human-machine interfaces that aim to improve the efficiency, effectiveness, and naturalness of human-machine interaction by representing, reasoning, and acting on models of the user, domain, task, discourse, and media (e.g., graphics, natural language, gesture).
* **Motion tracking interfaces** monitor the user's body motions and translate them into commands, currently being developed by Apple
* **Multi-screen interfaces**, employ multiple 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.
* **Object-oriented user interface (OOUI)**
* **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.
* **Task-Focused Interfaces** are user interfaces which address the information overload problem of the desktop metaphor by making tasks, not files, the primary unit of interaction
* **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.
* **Voice user interfaces**, which accept input and provide output by generating voice prompts. The user input is made by pressing keys or buttons, or responding verbally to the interface.
* **Natural-Language interfaces** - Used for search engines and on webpages. User types in a question and waits for a response.
* **Zero-Input interfaces** get 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.

See also:

* Archy, a keyboard-driven user interface by Jef Raskin, arguably more efficient than mouse-driven user interfaces for document editing and programming.

### History

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 to present[*citation needed*]
* Graphical user interface, 1981 to present — see History of the GUI for a detailed look[*citation needed*]

### 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.

## See also

* Accessibility and computer accessibility — user interface's suitability for people with special needs
* Adaptive user interfaces
* Brain-computer interface
* Computer user satisfaction
* Ergonomics and human factors — the study of designing objects to be better adapted to the shape of the human body
* Framebuffer
* Graphical User Interface
* Human-computer interaction links
* Icon design
* Information visualization — the use of sensory representations of abstract data to reinforce cognition
* Interaction technique
* Interface (computer science)
* Kinetic user interface
* Knowledge visualization — the use of visual representations to transfer knowledge
* List of user interface literature
* Natural user interfaces
* Ncurses, a semigraphical user interface.
* Unified Code for Units of Measure
* Usability links
* User Assistance
* User experience
* User interface design
* Virtual artifact
* Virtual user interface

## References

1. ↑ David E. Boundy, A taxonomy of programmers, ACM SIGSOFT Software Engineering Notes 16(4) 23-30 (October 1991)
2. ↑ Appleinsider.com

## External links

Template:Wiktionary

* Its bibliography covers a wide area of user interface publications
* Chapter 2. History: A brief History of user interfaces

ar:واجهة المستخدم
zh-min-nan:Iōng-chiá kài-bīn
be:Інтэрфейс карыстальніка
br:Ketal arveriad
ca:Interfície d'usuari
cs:Uživatelské rozhraní
da:Brugergrænseflade
de:Benutzerschnittstelle
et:Kasutajaliides
es:Interfaz de usuario
fa:واسط کاربر
fr:Interface (informatique)
ko:사용자 인터페이스
id:Antarmuka pengguna
is:Notendaviðmót
it:Interfaccia utente
he:ממשק משתמש
lv:Lietotāja saskarne
hu:Felhasználói felület
mk:Кориснички интерфејс
nl:Gebruikersomgeving
ja:ユーザインタフェース
no:Brukergrensesnitt
pl:Interfejs użytkownika
pt:Interface do utilizador
ru:Интерфейс пользователя
sah:Туттааччы интерфейса
simple:User interface
sl:Uporabniški vmesnik
fi:Käyttöliittymä
sv:Användargränssnitt
ta:இடைமுகம்
th:ส่วนต่อประสานกับผู้ใช้
tr:Kullanıcı arayüzü
uk:Інтерфейс користувача
ur:صارفی سطح البین
zh-yue:用家介面
zh:用户界面