Graphical user interface

This is an old revision of this page, as edited by 145.94.64.249 (talk) at 10:39, 3 January 2004 (fixed the names of two widgets (radio button, check box)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.


A graphical user interface (or GUI, often pronounced "goo-ee") is a method of interacting with a computer through a metaphor of direct manipulation of graphical images and widgets in addition to text.

The graphical user interface was invented at Xerox PARC for the Xerox Alto computer and most modern general purpose GUIs are derived from it. (Some say GUIs were conceptualized by Doug Engelbart and first created by Xerox.) For this reason some people call this class of interface a PARC User Interface (PUI). The PUI consists of graphical widgets such as windows, menus, radio buttons, check boxes, and icons, and employs a pointing device (such as mouse, trackball, or touchscreen) in addition to a keyboard. For this reason, many people refer to PUIs as WIMPs (Windows, Icons, Mouse, Pointer). Widgets are often provided in the form of widget toolkit libraries.

Examples of systems that support PUIs are Mac OS, Microsoft Windows, NextStep and the X Window System. The latter is extended with toolkits such as Motif (CDE), Qt (KDE), GTK+ and (GNOME).

GUIs that are not PUIs are most notable in computer games. Advanced GUIs based on virtual reality are frequent in research. A certain amount of insight can be obtained by comparing noun-verb to verb-noun metaphors. Noun-verb interaction begins by picking an object then telling the system what to do to it. Verb-noun systems tell the system what to do, then pick the object to do it to.

In academic and research circles a GUI is often referred to as a Direct manipulation interface. This term was invented and adopted in the late 80s because it was felt that the term "Graphic User Interface" did not reflect the actual physical or haptic reality of manipulating a mouse or using a touch screen and that it ignored completely the coordinated use of sound effects to support the manipulation of the graphic elements of this kind of user interface. Also, academic and research institutions often work on prototypes of future user interfaces which place an equal emphasis or even more emphasis on the tactile elements of the interface. The "direct manipulation interface" term is usually not presented as an acronym.

There also exist GUIs which are designed for vertical market segments. These are known as application-specific GUIs. One example of such a GUI is the now familiar touchscreen point of sale software found in restaurants worldwide. First pioneered by Gene Mosher on the Atari ST computer in 1986, this touchscreen GUI has spearheaded a worldwide revolution in the use of computer technologies throughout the food & beverage industry and in the retail segment in general.

Similar to GUIs are text user interfaces (TUIs) that display the same types of widgets in a character-cell mode rather than in a pixel mode. Examples include the interfaces of many ncurses and MS-DOS applications.

The graphical user interface is generally contrasted with the command line interface (CLI).

Because GUIs and TUIs tend to show most or all relevant categories of commands on the display, users often learn them faster than CLIs. since the choice of which options to display here and now has been made for the user, full use of a GUI often takes considerable time. A CLI typically treats options/choices as more or less equal and so mastering a CLI generally includes a more extensive facility than with a GUI. A somewhat caustic comment about the pre-OS X Macintosh interface encapsulates this: you can learn to use a Macintosh in 30 minutes, but after six months you will have learned nothing more about using a Macintosh.

Users with vision or motion disability often have trouble navigating in a GUI, and most commercial GUIs urequire at least an order of magnitude more computer power (CPU speed, RAM, disk space, display resolution and response, ...) than a CLI, making a GUI unwieldy on less expensive, smaller, or older hardware.

Most GUIs are implemented in terms of an event model, although other models exist. These alternative models for creating GUIs are generally classed as user interface management systems or UIMS.

See also: History of the GUI, UIML, Fitts' law, Anti-Mac, Apple v. Microsoft