From Wikipedia, the free encyclopedia
GUI redirects here. For other uses, see
GUI (disambiguation).
PUI redirects here. For the IATA airport code, see
Purnea Airport.
- GUI redirects here but you may have been looking for
GUID
A graphical user interface (GUI) allows for
interaction with a computer or other media formats which
employs graphical images,
widgets, along with text to represent the information and
actions available to a user. The actions are usually performed
through
direct manipulation of the graphical elements.
|
Contents
-
1
History
-
1.1
Precursors to GUIs
-
1.2
PARC User Interface (PUI)
-
1.3
Evolution of graphic user
interfaces
-
2
GUI design
-
2.1
PUIs
-
2.2
Zooming user interface
-
3
GUI vs. CLI
-
4
GUI vs. TUI
-
5
3D user interfaces
-
6
Operating Systems with GUI
-
7
Individual elements of user
interfaces
-
8
References
-
9
See also
-
10
External links
|
History
-
Main article:
History of the graphical user interface
Precursors to GUIs
The precursor to GUIs was invented by researchers at the
Stanford Research Institute, led by
Doug Engelbart. They developed the use of text-based
hyperlinks manipulated with a
mouse 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. As a result, some people call this class of
interface a PARC User Interface (PUI) (note that PUI is also an
acronym for perceptual user interface).
PARC User Interface (PUI)
The PUI consists of graphical widgets (often provided by
widget toolkit libraries) such as
windows,
menus,
radio buttons,
check boxes and
icons. PUIs employ a
pointing device in addition to a keyboard. These aspects of
PUIs can be emphasized by using the alternative acronym
WIMP, which stands for Windows, Icons, Menus and
Pointing device.
Evolution of graphic user interfaces
The GUIs familiar to most people today are the
Microsoft
Windows,
Mac OS X, or the
X Window System interfaces. Their applications originated at
the
Xerox PARC
(Palo Alto Research Center) in the late 1970s and was copied by
Apple who used it in their first Macintosh computers. Later
IBM
and
Microsoft borrowed many of Apple's ideas to develop the
Common User Access specifications, that formed the basis of
the user interface found in
Microsoft Windows,
IBM OS/2
Presentation Manager, and the
Unix
Motif toolkit and
window manager. These ideas evolved to create the interface
found in current versions of the Windows operating system, as
well as in
Mac OS X and various
desktop environments for
Unix-like systems. Thus most current graphical user
interfaces have largely common idioms.
A screenshot of the Windows Vista GUI
An example of
KDE, one of the X Window System's many graphical
user interfaces available for
Unix-like systems
An example of the graphical user interface in
Apple's
Mac OS X
GUI design
GUI design is an important adjunct to application
programming. Its goal is to enhance the usability of the
underlying logical design of a stored
program. The visible graphical interface features of an
application are sometimes referred to as "chrome". They include
graphical elements (widgets)
that may be used to interact with the program. Common widgets
are: windows, buttons, menus, and scroll bars. Larger 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.
The widgets of a well-designed system are functionally
independent from and indirectly linked to program functionality,
so the GUI can be easily customized, allowing the user to select
or design a different
skin at will. See
Model-view-controller for more information.
PUIs
Rare kinds of GUI including PUIs are most notably found in
computer games, and advanced GUIs based on
virtual reality are now frequently found in research.
Zooming user interface
Many research groups in North America and Europe are
currently working on the
Zooming User Interface (ZUI) which is a logical advancement
on the GUI, blending some
3D movement with
2D or "2.5D"
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 and 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.
GUI vs. CLI
GUIs were introduced in reaction to the steep learning curve
of command line interfaces (CLI),
text-based user interfaces that require commands to be typed
on the
keyboard. Since the command words in CLIs are often
numerous, very complicated operations can be completed using a
relatively short sequence of words and symbols. This allows for
great efficiency, once the many commands are learned, but
reaching this level takes some time because the command words
are not easily discoverable.
WIMPs ("window, icon, menu, pointing device"), on the other
hand, present the user with numerous
widgets that represent and can trigger some of the system's
available commands.
WIMPs extensively use
modes as the meaning of all keys and clicks on specific
positions on the screen are redefined all the time.
CLIs use modes only in the form of a current directory.
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
File System Visualizer or FSV.
Applications may also provide both interfaces, and when they
do the GUI is usually a
WIMP wrapper around the CLI version. This is especially
common with applications designed for
Unix-like operating systems. The latter used to be
implemented first because it allowed the developers to focus
exclusively on their product's functionality without bothering
about interface details such as designing icons and placing
buttons. Designing programs this way also allows users to run
the program non-interactively, such as in a
shell script.
GUI vs. TUI
See main article:
Text user interface
3D user interfaces
For commonly-available computer displays, 3D is a misnomer.
Their displays are two-dimensional. Three-dimensional images are
projected on them in two dimensions. Since this technique has
been in use for many years, the recent use of the term 3D must
be considered a declaration by equipment marketers that the
speed of 3D to 2D projection is adequate to use in standard
GUIs.
Screenshot showing the 'cube' plugin of
Compiz on
Ubuntu
3D GUIs are very common in science fiction literature and
movies, such as in
Jurassic Park, which features
Silicon Graphics' 3D Filemanager, "File system navigator"
[1],
an actual file manager that never got any widespread use as the
user interface of a Unix computer.
In science fiction, 3D user interfaces are often immersible
environments like William Gibson's
Cyberspace or
Neal Stephenson's
Metaverse. 3D graphics is currently mostly used in computer
games, art and computer aided design. There have been several
attempts at making 3D desktop environments like Sun's
Project Looking Glass or
SphereXP from Sphere Inc. A 3D computing environment could
possibly be used for collaborative work, for example scientists
may study 3D models of
molecules in a virtual reality environment or engineers may
work on assembling a 3D model of an airplane. This is a goal of
the
Croquet project
[2] and Project Looking Glass
by Java.
[3]
3D is likely to take a larger part in mainstream operating
systems such as the upcoming
Mac OS X v10.5 "Leopard" and
Windows Vienna. However current Linux and Mac operating
systems have already begun implementing three dimensional
rendering, mainly in the form of
eye candy. This is evident in Apple's use of
Quartz Extreme within Mac OS X Tiger, which uses
OpenGL to render extraordinary three dimensional animations.
For example, user switching is in the form of a rotating cube
and window management in the form of
Exposι, which resizes windows on-the-fly, whilst updating
live content such as playing
QuickTime movies. Furthermore, this technology is used in
programs such as
Dashboard and
Front Row, which zoom into view, feature bright colors and
interesting animations. Linux operating systems, such as Ubuntu,
have also begun implementing basic 3D user interfaces through
the XGL
architecture, which, like Quartz Extreme in
Mac OS X, uses OpenGL to perform tasks such as user
switching in a similar fashion.
Another branch in the 3D desktop environment is the 3D GUIs
that take the desktop metaphor a step further, like the
BumpTop, where a user can manipulate documents and windows
as if they were "real world" documents, with realistic movement
and physics. With the current pace on 3D and related hardware
evolution, we can expect that projects such these reach an
operational level soon.
Operating Systems with GUI
-
Amiga OS
-
BeOS /
Haiku
-
FreeBSD
-
Linux
-
Mac OS
-
Mac OS X
-
Microsoft Windows
-
RISC OS
-
embOS by SEGGER Supports emWin (an embedded GUI)
-
SkyOS
Individual elements of user interfaces
-
About box
-
Button
-
Dialog box
-
Elements of graphical user interfaces
-
Icon
References
- ^
[1]
- ^
[2]
- ^
[3]
See also
-
Ajax
-
Apple v. Microsoft
-
Ergonomics
-
GUI Design Principles
-
Human-Machine Interface
-
Look and feel
-
Model-view-controller
-
Rich Internet applications
-
Skin
-
User interface engineering
-
Vector-Based GUI
-
WIMP (computing)
External links
-
Graphical User Interface Gallery, screenshots of various
Graphical User Interfaces
-
Marcin Wichary's GUIdebook, Graphical User Interface
gallery: over 5500 screenshots of GUI, application and icon
history
-
The Real History of the GUI, a very interesting article
by Mike Tuck
-
A History of the GUI, by Jeremy Reimer of
Ars Technica
-
Example of a 3D GUI
Categories:
Wikipedia articles needing rewrite |
User interface |
Graphical user interface |
Software architecture