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.
The earliest computers used a text-based interface. Users entered text instructions into a command line. For instance, typing “run” in the command line would tell the computer to activate a program or process. One of the earliest text-based interfaces for consumer computer technology was known as a “disk operating system” (DOS). Using DOS-based systems required users to learn specific text commands, such as “del” for deleting or erasing files or “dir” for listing the contents of a directory. The first GUIs were created in the 1970s as a visual “shell” built over DOS system.
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.
Current computer interfaces typically require users to navigate through files, folders, and menus to locate functions, data, or programs. However, voice activation of programs or functions is now available on many computing devices. As this technology becomes more common and effective, verbal commands may replace many functions that have been accessed by point-and-click or menu navigation.
—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.