A graphical user interface (or GUI, pronounced "gooey") is a method of interacting with a computer through a metaphor of direct manipulation of graphical images and widgets in addition to text.
GUIs and PUIs
The precursor to GUIs was invented by researchers at the Stanford Research Institute (led by Doug Engelbart) with the development and use of text-based hyperlinks for the On-Line System. The concept of hyperlinks was further refined and extended to graphics by researchers at Xerox PARC, who went beyond text-based hyperlinks and used GUIs 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) (note that PUI is also an acronym for perceptual user interface). The PUI consists of graphical widgets (often provided by widget toolkit libraries) such as windows, menus, radio buttons, check boxes, and icons, and employs a pointing device (such as a mouse, trackball, or touchscreen) in addition to a keyboard. For this reason, many people refer to PUIs as WIMPs, which stands for Windows, Icons, Menus, Pointer. The term GUI is similarly used synonymously with a WIMP system, and most modern GUIs are certainly WIMPs, although occasionally other metaphors surface, such as Microsoft Bob, 3dwm or (partially) FSV.
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) and GTK+ (GNOME).
Types of GUIs
GUIs that are not PUIs are most notably found in computer games, and advanced GUIs based on virtual reality are now frequently found in research. Many research groups in North America and Europe are currently working on the Zooming User Interface or ZUI, which is a logical advancement on the GUI, blending some 3D movement with 2D or "2 and a half D" vectorial objects.
Some GUIs are designed for the rigorous requirements of vertical markets. These are known as "application specific GUIs." One example of such an application specific GUI is the now familiar touchscreen point of sale software found in restaurants worldwide and being introduced into self-service retail checkouts. First pioneered by Gene Mosher on the Atari ST computer in 1986, the application specific touchscreen GUI has spearheaded a worldwide revolution in the use of computers throughout the food & beverage industry and in general retail.
Other examples of application specific touchscreen GUIs include the most recent automatic teller machines, airline self-ticketing, information kiosks and the monitor/control screens in embedded industrial applications which employ a real time operating system (RTOS). The latest cell phones and handheld game systems also employ application specific touchscreen GUIs.
GUIs versus CLIs
The GUI is generally contrasted with the command line interface (CLI), an earlier, text-only interface that required the user to type in commands or text strings to cause the computer to take some action. Between these two types but more similar to GUIs are text user interfaces (TUIs) that display the same types of widgets as a GUI but in a character-cell text mode rather than in a pixel-based graphics mode. Examples include the interfaces of many ncurses and DOS applications.
Because GUIs and TUIs tend to show most or all relevant categories of commands on the display, users often learn them faster than CLIs. However, since the choice of displayed options to choose from has been made for the user and is usually more limited than the full set of options available, full use of all the software's functionality on a GUI system often takes considerable time. By contrast, a CLI typically makes all options and choices equally accessible but also equally invisible and not easily remembered, and so mastering a CLI generally requires more extensive familiarity with the software's features and functionality. A somewhat caustic comment about the pre-OS X Macintosh interface captures 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 disabilities 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, etc.) than a CLI, making a GUI unwieldy on less expensive, smaller, or older hardware. Designing suitable interfaces for handheld devices, such as PDA applications and their smartphone cousins, has been a major challenge for user interface designers, and some of the more successful diverge considerably from desktop computer designs.
The nature of GUIs
A certain amount of insight into GUIs 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. 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.
In academic and research circles a GUI is often referred to as a Direct manipulation interface. This term was coined and adopted in the late 1980s because it was felt 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 in this kind of user interface. Also, academic and research institutions often work on prototypes of future user interfaces that place an equal or greater emphasis on the tactile elements of the interface. The "direct manipulation interface" term is usually not presented as an acronym.
- Marcin Wichary’s GUIdebook (http://www.aci.com.pl/mwichary/guidebook/), Graphical User Interface gallery: over 2600 screenshots of UI history
- The Real History of the GUI (http://www.sitepoint.com/article/real-history-gui), a very interesting article by Mike Tuck