What is Graphical User Interface?
A graphical user interface (GUI) is a type of user interface that allows users to interact with electronic devices graphically, usually using a pointing device such as a mouse or trackpad. GUIs can be used to operate computer programs, mobile phones, and other electronic devices.
The term “graphical user interface” is typically used in desktop computing, although it can also apply to mobile devices such as smartphones and tablets. The term is sometimes abbreviated as “GUI” (pronounced “gooey”).
A GUI typically consists of several graphical components, or “widgets”, that the user can interact with to perform various tasks, such as opening and closing files, entering text, or selecting items from a list.
History of GUI
The first GUIs were developed in the early 1960s for use on mainframe computers. The first commercial GUIs were released in the early 1980s for the Apple Lisa and the Xerox Star. The first GUIs for personal computers were released in the early 1990s for the Microsoft Windows and Macintosh operating systems.
The first 3D GUIs were developed in the late 1980s for use in CAD applications. The first 3D GUIs for video games were developed in the early 1990s.
The first web-based GUIs were developed in the mid-1990s. The first mobile GUIs were developed in the late 1990s for use on PDAs and smartphones.
Features of Graphical User Interface
The main feature of a GUI is its graphical nature, which allows users to interact with the device in a more intuitive way than with a text-based user interface. Other features of GUIs can include:
- The ability to use a pointing device such as a mouse or trackpad to select and interact with graphical elements on the screen.
- The ability to use a keyboard to enter text and commands.
- The ability to display images, videos, and other types of multimedia content.
- The ability to provide visual feedback to the user, such as through animations or changing the color of graphical elements.
- User interfaces that combine both graphical and text-based elements are sometimes referred to as “graphical user interfaces with textual elements” (GUIs with TEX).
Common Graphical User Interfaces
Here are some examples of common GUIs:
Microsoft Windows: The Microsoft Windows operating system uses a GUI that consists of several graphical elements, including the Start button, taskbar, and desktop.
macOS: The macOS operating system uses a GUI that includes several graphical elements, including the menu bar, Dock, and Finder.
GNOME: The GNOME desktop environment uses a GUI that includes several graphical elements, including the top bar, Activities overview, and applications view.
KDE Plasma: The KDE Plasma desktop environment uses a GUI that includes several graphical elements, including the task manager, application launcher, and system settings.
Unity: The Unity desktop environment uses a GUI that includes several graphical elements, including the Dash, HUD, and launcher.
Components of GUI
The main component of a GUI is the graphical element, or “widget”, that the user interacts with to perform various tasks. Widgets can include buttons, menus, text boxes, and other input controls.
In addition to widgets, a GUI typically includes other elements such as:
A menu bar: A menu bar is a horizontal or vertical bar that contains a list of menus. Each menu in the menu bar provides access to a different set of options and commands.
A toolbar: A toolbar is a horizontal or vertical bar that contains a set of tools that the user can use to perform various tasks. Tools can include buttons, drop-down menus, and other input controls.
A status bar: A status bar is a horizontal or vertical bar that contains information about the current state of the device, such as the battery level, signal strength, or time.
A window: A window is a graphical element that represents an open application or document. Windows can be moved, resized, and minimized.
An icon: An icon is a small image that represents an application, document, or file. Icons can be clicked on to launch applications or open documents.
Pointing Devices: A pointing device is an input device that is used to point at and select graphical elements on the screen. Common pointing devices include the mouse and trackpad.
The 3D GUI: The 3D GUI is a type of graphical user interface that uses three-dimensional graphics to represent information and options. 3D GUIs are used in video games, CAD applications, and other types of software where it is helpful to have a three-dimensional representation of the data.
Types of Graphical User Interfaces
There are two main types of GUIs:
- raster
- vector
Raster GUIs are composed of pixels, which are the smallest individual units of an image. Raster GUIs are common on devices with a screen, such as computers, smartphones, and tablets.
Vector GUIs are composed of vectors, which are mathematical equations that describe the lines and curves that make up an image. Vector GUIs are common on devices with a touch screen, such as smartphones and tablets.
Functionality of GUI
- Window Systems
- Imaging Model
- API
- GUI Development Environments
A window system is a software component that allows applications to create and manage windows. A window is a graphical element that represents an open application or document. Windows can be moved, resized, and minimized.
The imaging model is the set of rules that govern how raster images are displayed on a screen. The imaging model defines how pixels are mapped to screen coordinates and how color values are interpolated.
The application programming interface (API) is the set of rules that govern how applications interact with the GUI. The API defines how applications can create and manipulate graphical elements such as windows, menus, and buttons.
GUI development environments are software applications that allow developers to create and edit GUIs. GUI development environments typically include a set of tools for designing and testing GUIs. Common features of GUI development environments include a widget library, a layout editor, and a debugger.
Relationship Between WING and GUI
The WING library is a set of software components that provide a raster imaging model and an API for developing GUIs. The WING library is used by developers to create and edit GUIs. The WING library is not itself a GUI development environment. Rather, it is a set of tools that can be used to create GUI development environments.
The WING library is licensed under the LGPL, which means that it can be used to create both open-source and closed-source software.