Computer Science; Applications; System-Level Programming
Graphical user interfaces (GUIs) are human-computer interaction systems. In these systems, users interact with the computer by manipulating visual representations of objects or commands. GUIs are part of common operating systems like Windows and Mac OS. They are also used in other applications.
A user interface is a system for human-computer interaction. The interface determines the way that a user can access and work with data stored on a computer or within a computer network. Interfaces can be either text based or graphics based. Text-based systems allow users to input commands. These commands may be text strings or specific words that activate functions. By contrast, graphical user interfaces (GUIs) are designed so that computer functions are tied to graphic icons (like folders, files, and drives). Manipulating an icon causes the computer to perform certain functions.
GUIs transform the computer screen into a physical map on which graphics represent functions, programs, files, and directories. In GUIs, users control an onscreen pointer, usually an arrow or hand symbol, to navigate the computer screen. Users activate computing functions by directing the pointer over an icon and “clicking” on it. For instance, GUI users can cause the computer to display the contents of a directory (the “dir” command in DOS) by clicking on a folder or directory icon on the screen. Modern GUIs combine text-based icons, such as those found in menu bars and movable windows, with linked text icons that can be used to access programs and directories.
Computer programs are built using coded instructions that tell the computer how to behave when given inputs from a user. Many different programming languages can be used to create GUIs. These include C++, C#, JavaFX, XAML, XUL, among others. Each language offers different advantages and disadvantages when used to create and modify GUIs.
User-centered design focuses on understanding and addressing user preferences, needs, capabilities, and tendencies. According to these design principles, interface metaphors help make GUIs user friendly. Interface metaphors are models that represent real-world objects or concepts to enhance user understanding of computer functions. For example, the desktop structure of a GUI is designed using the metaphor of a desk. Computer desktops, like actual desktops, might have stacks of documents (windows) and objects or tools for performing various functions. Computer folders, trash cans, and recycle bins are icons whose functions mirror those of their real-world counterparts.
Object-oriented user interfaces (OOUIs) allow a user to manipulate objects onscreen in intuitive ways based on the function that the user hopes to achieve. Most modern GUIs have some object-oriented functionality. Icons that can be dragged, dropped, slid, toggled, pushed, and clicked are “objects.” Objects include folders, program shortcuts, drive icons, and trash or recycle bins. Interfaces that use icons can also be direct manipulation interfaces (DMI). These interfaces allow the user to adjust onscreen objects as though they were physical objects to get certain results. Resizing a window by dragging its corner is one example of direct manipulation used in many GUIs.
GUIs have long been based on a model known as WIMP. WIMP stands for “windows, icons, menus, and pointer objects,” which describes the ways that users can interact with the interface. Modern GUIs are a blend of graphics-based and text-based functions, but this system is more difficult to implement on modern handheld computers, which have less space to hold icons and menus. Touch-screen interfaces represent the post-WIMP age of interface design. With touch screens, users more often interact directly with objects on the screen, rather than using menus and text-based instructions. Touch-screen design is important in a many application-specific GUIs. These interfaces are designed to handle a single process or application, such as self-checkout kiosks in grocery stores and point-of-sale retail software.
—Micah L. Issitt
“Graphical User Interface (GUI).” Techopedia. Techopedia, n.d. Web. 5 Feb. 2016.
Johnson, Jeff. Designing with the Mind in Mind. 2nd ed. Waltham: Morgan, 2014. Print.
Lohr, Steve. “Humanizing Technology: A History of Human-Computer Interaction.” New York Times: Bits. New York Times, 7 Sept. 2015. Web. 31 Jan. 2016.
Reimer, Jeremy. “A History of the GUI.” Ars Technica. Condé Nast, 5 May 2005. Web. 31 Jan. 2016.
“User Interface Design Basics.” Usability. US Dept. of Health and Human Services, 2 Feb. 2016. Web. 2 Feb. 2016.
Wood, David. Interface Design: An Introduction to Visual Communication in UI Design. New York: Fairchild, 2014. Print.