The GRAPHICAL USER INTERFACE (GUI /ɡuːiː/ ), is a type of user interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation, instead of text-based user interfaces , typed command labels or text navigation. GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs), which require commands to be typed on a computer keyboard .
The actions in a GUI are usually performed through direct
manipulation of the graphical elements. Beyond computers, GUIs are
used in many handheld mobile devices such as
* 6 History of GUI
* 6.1 Early efforts * 6.2 Popularization
* 7 Comparison to other interfaces
* 7.1 Command-line interfaces * 7.2 GUI wrappers
* 8 Three-dimensional user interfaces
* 8.1 Technologies
* 9 See also * 10 References * 11 External links
USER INTERFACE AND INTERACTION DESIGN
The graphical user interface is presented (displayed) on the computer screen. It is the result of processed user input and usually the main interface for human-machine interaction. The touch user interfaces popular on small mobile devices are an overlay of the visual output to the visual input.
Designing the visual composition and temporal behavior of a GUI is an important part of software application programming in the area of human–computer interaction . Its goal is to enhance the efficiency and ease of use for the underlying logical design of a stored program , a design discipline named usability . Methods of user-centered design are used to ensure that the visual language introduced in the design is well-tailored to the tasks.
The visible graphical interface features of an application are sometimes referred to as chrome or GUI (pronounced gooey). Typically, users interact with information by manipulating visual widgets that allow for interactions appropriate to the kind of data they hold. The widgets of a well-designed interface are selected to support the actions necessary to achieve the goals of users. A model–view–controller allows a flexible structure in which the interface is independent from and indirectly linked to application functions, so the GUI can be customized easily. This allows users to select or design a different skin at will, and eases the designer's work to change the interface as user needs evolve. Good user interface design relates to users more, and to system architecture less.
Large widgets, such as windows , usually provide a frame or container for the main presentation content such as a web page, email message or drawing. Smaller ones usually act as a user-input tool.
A GUI may be designed for the requirements of a vertical market as application-specific graphical user interfaces. Examples include automated teller machines (ATM), point of sale (POS) touchscreens at restaurants, self-service checkouts used in a retail store, airline self-ticketing and check-in, information kiosks in a public space, like a train station or a museum, and monitors or control screens in an embedded industrial application which employ a real-time operating system (RTOS).
By the 1980s, cell phones and handheld game systems also employed application specific touchscreen GUIs. Newer automobiles use GUIs in their navigation systems and multimedia centers, or navigation multimedia center combinations.
* Sample graphical desktop environments
GNOME Shell (Gnome‑3) *
X Window System
Windows on a Wayland compositor *
The dwm tiling window manager *
A GUI uses a combination of technologies and devices to provide a platform that users can interact with, for the tasks of gathering and producing information.
A series of elements conforming a visual language have evolved to represent information stored in computers. This makes it easier for people with few computer skills to work with and use computer software. The most common combination of such elements in GUIs is the windows, icons, menus, pointer (WIMP ) paradigm, especially in personal computers .
The WIMP style of interaction uses a virtual input device to represent the position of a pointing device , most often a mouse, and presents information organized in windows and represented with icons. Available commands are compiled together in menus, and actions are performed making gestures with the pointing device. A window manager facilitates the interactions between windows, applications, and the windowing system . The windowing system handles hardware devices such as pointing devices, graphics hardware, and positioning of the pointer.
In personal computers , all these elements are modeled through a desktop metaphor to produce a simulation called a desktop environment in which the display represents a desktop, on which documents and folders of documents can be placed. Window managers and other software combine to simulate the desktop environment with varying degrees of realism.
Main article: Post-WIMP
Smaller mobile devices such as personal digital assistants (PDAs) and smartphones typically use the WIMP elements with different unifying metaphors, due to constraints in space and available input devices. Applications for which WIMP is not well suited may use newer interaction techniques , collectively termed post-WIMP user interfaces.
As of 2011, some touchscreen-based operating systems such as Apple's iOS (iPhone ) and Android use the class of GUIs named post-WIMP. These support styles of interaction using more than one finger in contact with a display, which allows actions such as pinching and rotating, which are unsupported by one pointer and mouse.
Human interface devices , for the efficient interaction with a GUI include a computer keyboard , especially used together with keyboard shortcuts , pointing devices for the cursor (or rather pointer ) control: mouse , pointing stick , touchpad , trackball , joystick , virtual keyboards , and head-up displays (translucent information devices at the eye level).
There are also actions performed by programs that affect the GUI. For example, there are components like inotify or D-Bus to facilitate communication between computer programs.
HISTORY OF GUI
Main article: History of the graphical user interface
Ivan Sutherland developed
Sketchpad in 1963, widely held as the first
graphical computer-aided design program. It used a light pen to create
and manipulate objects in engineering drawings in realtime with
coordinated graphics. In the late 1960s, researchers at the Stanford
Research Institute , led by
Douglas Engelbart , developed the On-Line
System (NLS), which used text-based hyperlinks manipulated with a then
new device: the mouse . In the 1970s, Engelbart's ideas were further
refined and extended to graphics by researchers at
The first commercially available computer with a GUI was the 1979
PERQ workstation , manufactured by Three Rivers
Apple, Digital Research, IBM and Microsoft used many of Xerox's ideas
to develop products, and IBM's
Common User Access specifications
formed the basis of the user interfaces used in Microsoft Windows, IBM
Presentation Manager , and the
GUIs were a hot topic in the early 1980s. The
In 1984, Apple released a television commercial which introduced the
Apple Macintosh during the telecast of
Super Bowl XVIII by
Accompanied by an extensive marketing campaign , Windows 95 was a major success in the marketplace at launch and shortly became the most popular desktop operating system.
In 2007, with the iPhone and later in 2010 with the introduction of the iPad , Apple popularized the post-WIMP style of interaction for multi-touch screens, and those devices were considered to be milestones in the development of mobile devices .
The GUIs familiar to most people as of the mid-late 2010s are
Microsoft Windows , macOS , and the
X Window System
COMPARISON TO OTHER INTERFACES
A modern CLI
Since the commands available in command line interfaces can be many, complex operations can be performed using a short sequence of words and symbols. This allows greater efficiency and productivity once many commands are learned, but reaching this level takes some time because the command words may not be easily discoverable or mnemonic . Also, using the command line can become slow and error-prone when users must enter long commands comprising many parameters or several different filenames at once. However, windows, icons, menus, pointer (WIMP ) interfaces present users with many widgets that represent and can trigger some of the system's available commands.
GUIs can be made quite hard when dialogs are buried deep in a system, or moved about to different places during redesigns. Also, icons and dialog boxes are usually harder for users to script.
WIMPs extensively use modes , as the meaning of all keys and clicks on specific positions on the screen are redefined all the time. Command line interfaces use modes only in limited forms, such as for current directory and environment variables.
Most modern operating systems provide both a GUI and some level of a
CLI, although the GUIs usually receive more attention. The GUI is
usually WIMP-based, although occasionally other metaphors surface,
such as those used in
Microsoft Bob , 3dwm, or
Graphical user interface (GUI) wrappers circumvent the command-line
interface versions (CLI) of (typically)
THREE-DIMENSIONAL USER INTERFACES
This section is about 3D user interfaces as software. For physical 3D input/output devices, see 3D interaction § 3D user interfaces .
For typical computer displays, three-dimensional is a misnomer—their displays are two-dimensional. Semantically, however, most graphical user interfaces use three dimensions. With height and width, they offer a third dimension of layering or stacking screen elements over one another. This may be represented visually on screen through an illusionary transparent effect, which offers the advantage that information in background windows may still be read, if not interacted with. Or the environment may simply hide the background information, possibly making the distinction apparent by drawing a drop shadow effect over it.
Some environments use the methods of
Three-dimensional graphics are currently mostly used in computer games, art, and computer-aided design (CAD). A three-dimensional computing environment can also be useful in other uses, like molecular graphics and aircraft design .
This section RELIES LARGELY OR ENTIRELY ON A SINGLE SOURCE . Relevant discussion may be found on the talk page . Please help improve this article by introducing citations to additional sources. (May 2012)
The use of three-dimensional graphics has become increasingly common in mainstream operating systems, from creating attractive interfaces, termed eye candy , to functional purposes only possible using three dimensions. For example, user switching is represented by rotating a cube which faces are each user's workspace, and window management is represented via a Rolodex -style flipping mechanism in Windows Vista (see Windows Flip 3D ). In both cases, the operating system transforms windows on-the-fly while continuing to update the content of those windows.
Interfaces for the
X Window System
Another branch in the three-dimensional desktop environment is the three-dimensional GUIs that take the desktop metaphor a step further, like the BumpTop , where users can manipulate documents and windows as if they were physical documents, with realistic movement and physics.
The zooming user interface (ZUI) is a related technology that
promises to deliver the representation benefits of 3D environments
without their usability drawbacks of orientation problems and hidden
objects. It is a logical advance on the GUI, blending some
three-dimensional movement with two-dimensional or
objects. In 2006,
Hillcrest Labs introduced the first zooming user
interface for television, literature and films before they were
technically feasible or in common use. For example; the 1993 American
film Jurassic Park features
Silicon Graphics ' three-dimensional file
Apple Computer, Inc. v. Microsoft Corp.
Console user interface
* ^ A B Computerhope.com * ^ A B Technet.com * ^ A B Technet.com * ^ "window manager Definition". PC Magazine. Ziff Davis Publishing Holdings Inc. Retrieved 12 November 2008. * ^ Greg Wilson (2006). "Off with Their HUDs!: Rethinking the Heads-Up Display in Console Game Design". Gamasutra. Retrieved February 14, 2006. * ^ "GUI definition". Linux