Graphical user interface
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 by researchers at the Stanford Research Institute (including Doug Engelbart) for use in the On-Line System. The concept was greatly refined and extended by Xerox PARC, which used it as the primary interface for the Xerox Alto computer. Most modern general purpose GUIs are derived from this system. For this reason some people call this class of interface a PARC User Interface (PUI). The PUI consists of graphical widgets such as windows, menuss, radio buttonss, check boxes, and iconss, 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.
GUIs that are not PUIs are most notable in computer games. Advanced GUIs based on virtual reality are frequent in research. Many research groups in North America and Europe are working on the Zooming User Interface or ZUI, which is an advanced but logical outgrowth of the GUI, blending some 3D movement with 2D or "2 and a half D" vectorial objects.
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. Other examples include the graphic displays used in some (but not all) Automatic teller machines and the small or large control screens used in industrial applications employing a Real-time operating system or RTOS.
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 require 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.