A Journey to Unveiling the Mysteries of GUI and UI
Greetings Readers
Welcome to the GUI and UI Chronicles, a journey that will take us from A to Z in the realm of the software GUI and UI details. As a passionate QA Manager and a self-proclaimed testing enthusiast, I am thrilled to embark on this adventure with you.
In the world of technology, GUI (Graphical User Interface) and UI (User Interface) are integral components that shape our digital experiences. From mobile apps to websites, these two concepts work hand in hand to provide us with intuitive and visually appealing interfaces. In this web post, we will embark on a journey to unravel the mysteries behind GUI and UI, exploring their definitions, significance, and impact on our everyday interactions with digital platforms.
1: Demystifying GUI (Graphical User Interface)
Definition of GUI: A user-friendly interface that utilizes visual elements, such as icons, buttons, and menus, to facilitate user interactions with software or digital systems.
The evolution of GUI: Tracing the origins from early graphical systems to the iconic desktop metaphor popularized by Apple's Macintosh.
Key components of GUI: Exploring the building blocks that make up a GUI, including windows, menus, buttons, and dialog boxes.
Advantages of GUI: Discussing how GUI enhances usability, simplifies complex tasks, and improves user engagement.
2: Unveiling UI (User Interface)
Understanding UI: Defining UI as the overall design and layout of a digital interface that encompasses visuals, typography, colors, and interactive elements.
Role of UI in user experience: Highlighting the crucial role UI plays in creating seamless and delightful user experiences.
Principles of effective UI design: Exploring key design principles like simplicity, consistency, responsiveness, and accessibility.
UI trends and innovations: Shedding light on current UI trends, such as minimalism, microinteractions, and immersive experiences, that shape modern digital interfaces.
3: The Dynamic Duo: GUI and UI Collaboration
Synergy between GUI and UI: Explaining how GUI and UI work together to create intuitive, aesthetically pleasing, and functional digital interfaces.
User-centered design approach: Discussing the importance of putting users at the forefront during the GUI and UI design process.
Case studies: Showcasing successful examples where the collaboration between GUI and UI has resulted in exceptional user experiences.
Future directions: Speculating on the future of GUI and UI, considering emerging technologies like augmented reality (AR), virtual reality (VR), and voice-based interfaces.
Graphical User Interface (GUI) Widget
Generally GUI/UI can be divided into the following categories -
Command Input
Button, Context Menu, Menu
Data Input –Output
Check Box, Combo Box, Cycle Button, Drop Down List, Grid View, List Box, Radio Button, Scroll Bar, Slider, Spinner, Search Box, Text Box
Informational -
Balloon Help, Head Up Display In Computing, Head Up Display In Video Games, Icon, Info Bar, Label, Loading Screen, Progress Bar, Side Bar, Splash Screen, Status Bar, Throbber, Toast, Tool Tip
Container -
Accordion, Disclosure Widget, Frame/Field Set. Menu Bar, Panel, Ribbon, Tab, Tool Bar, Window
Navigational -
Address Bar, Bread Crumb, Hyperlink, Tree View
Special Windows -
About Box, Alert Dialog Box, File Dialog, Inspector Window, Modal Window, Palette Window
Related Concepts -
Layout Manager, Look And Feel, Mouse Over, Widget Toolkit, WIMP
Each one of those are explained in details below -
Button
In computing, a button (sometimes known as a command button or push button) is a user interface
element that provides the user a simple way to trigger an event, like searching for a query at a search engine, or to interact with dialog boxes, like confirming an action
Context Menu
A context menu (also called contextual, shortcut, and popup or pop-up menu) is a menu in a graphical user interface (GUI) that appears upon user interaction, such as a right-click mouse operation. A context menu offers a limited set of choices that are available in the current state, or context, of the operating system or application. Usually the available choices are actions related to the selected object
Menu
In computing and telecommunications, a menu is a list of options or commands presented to an operator by a computer or communications system. Choices given from a menu may be selected by the operator by a number of methods (called interfaces)
Pie Menu
In computer interface design, a pie menu (also known as a radial menu) is a circular context menu where selection depends on direction. A pie menu is made of several "pie slices" around an inactive center and works best with stylus input, and well with a mouse. Pie slices are drawn with a hole in the middle for an easy way to exit the menu
Check Box
In computing, a checkbox (check box, tick box, or tick box) is a graphical user interface element (widget) that permits the user to make multiple selections from a number of options (contrary to a radio button where only one choice is possible) or to have the user answer yes (checked) or no (not checked) on a simple yes/no question.
Normally, checkboxes are shown on the screen as a square box that can contain white space (for false) or a tick mark or X (for true), as pictured. A caption describing the meaning of the checkbox is normally shown adjacent to the checkbox. Inverting the state of a checkbox is done by clicking the mouse on the box, or the caption, or by using a keyboard shortcut, such as the space bar
Combo Box
A combo box is a commonly used graphical user interface widget (or control). Traditionally, it is a combination of a drop-down list or list box and a single-line editable textbox, allowing the user to either type a value directly into the control or choose from a list of existing options. Today, the original distinction between a combo box and a drop-down list has often disappeared. Combo boxes are typically applied to provide autocomplete or auto type functionality in a convenient way to the user.
Cycle Button
Cycle button is a graphical user interface element that allows the user to choose one from a predefined set of options. It is used as a button the content of which changes with each click and cycles between two or more values; the currently displayed value is the user's choice. A cycle button's advantage over radio buttons or a list box is that it takes less screen space; its advantage over a drop-down list is that a single mouse click is enough to switch between the two options.
Drop Down List
In computing with graphical user interfaces, a drop-down list is a user interface control GUI element ("widget" or "control"), similar to a list box, which allows the user to choose one value from a list. When a drop-down list is inactive, it displays a single value. When activated, it displays (drops down) a list of values, from which the user may select one. When the user selects a new value, the control reverts to its inactive state, displaying the selected value. It is often used in the design of graphical user interfaces, including web design. This type of control is called a "Pop-up menu" on the Macintosh platform, however the term "popup menu" is used to refer to context menus in other GUI systems. The Macintosh also has the notion of "pop-down menus". The distinction is that, when the menu is closed, a pop-up menu's title shows the last-selected item while a pop-down menu shows a static title like a menu in the menu bar. Thus, the uses are different — popup menus are used to select a single option from a list while pop-down menus are used to issue commands or in cases where multiple options can be selected
Grid View
A grid view or a data grid is a graphical user interface element (widget) that presents a tabular view of data. A typical grid view also supports some or all of the following:
Clicking a column header to change the sort order of the grid
Dragging column headers to change their size and their order
In-place editing of viewed data
Row and column separators, and alternating row background colors
List box
A list box is a GUI widget that allows the user to select one or more items from a list contained within a static, multiple line text box. The user clicks inside the box on an item to select it, sometimes in combination with the Shift key or Control key in order to make multiple selections. "Control-clicking" an item that has already been selected, unselects it. A list box is called select or select1 in the X Forms standard. Select is used for allowing the user to select many items from a list whereas select1 only allows the user to select a single item from a list.
Radio Button
A radio button or option button is a type of graphical user interface element that allows the user to choose only one of a predefined set of options.
Radio buttons are arranged in groups of two or more and displayed on screen as, for example, a list of circular holes that can contain white space (for unselected) or a dot (for selected). Each radio button is normally accompanied by a label describing the choice that the radio button represents. When the user selects a radio button, any previously selected radio button in the same group becomes deselected. Selecting a radio button is done by clicking the mouse on the button, or the caption, or by using a keyboard shortcut
Scroll Bar
A scrollbar is an object in a graphical user interface (GUI) with which continuous text, pictures or anything else can be scrolled including time in video applications, i.e., viewed even if it does not fit into the space in a computer display, window, or view port. It was also known as a handle in the very first GUIs
Slider
A slider, also known as track bar in Microsoft literature, is an object in a GUI with which a user may set a value by moving an indicator, usually in a horizontal fashion. In some cases the user may also click on a point on the slider to change the setting. It is different from a Scrollbar in that it is typically used to adjust a value without changing the format of the display or the other information on the screen.
Spinner
A spinner is a graphical widget in a GUI, typically oriented vertically, with which a user may adjust a value in an adjoining text box by either clicking on an up or down arrow, or by holding an arrow down, causing the value in the text box to increase (if the up arrow is held down) or decrease (if the down arrow is held down). In most cases holding a button down causes the speed at which the associated value changes to increase. Usually, the value of the spinner is displayed in a text box next to the spinner, allowing the user to use the spinner to adjust the value, or to type the value into the text box
Search box
A search box or search field is a common GUI element used in computer programs, such as file managers or web browsers, and on web sites. A search box is usually a single-line text box with the dedicated function of accepting user input to be searched for in a database. Search boxes on web pages are usually used to allow users to enter a query to be submitted to a Web search engine server-side script, where an index database is queried for entries that contain one or more of the user's keywords
Text Box
A text box, text field or text entry box is a kind of widget used when building a graphical user interface (GUI). A text box's purpose is to allow the user to input text information to be used by the program. User-interface guidelines recommend a single-line text box when only one line of input is required and a multi-line text box only if more than one line of input may be required. Non-editable text boxes can serve the purpose of simply displaying text.
Balloon Help
Balloon help was a help system introduced by Apple Computer in their 1991 release of System 7.0. The name referred to the way the help text was displayed, in "balloons", like those containing the words in a comic strip. The name has since been used by many to refer to any sort of pop-up help text
Heads up Display
In computing, the HUD (heads-up display) is the method by which information is visually relayed to the user as part of a program or OS' user interface. It takes its name from the head-up displays used in modern aircraft and cars
Heads up Display in Video Graphics
In video gaming, the HUD (heads-up display) is the method by which information is visually relayed to the player as part of a game's user interface. It takes its name from the head-up displays used in modern aircraft.
The HUD is frequently used to simultaneously display several pieces of information including the main character's health, items, and an indication of game progression (such as score or level)
Icon
A computer icon is a pictogram displayed on a computer screen and used to navigate a computer system r mobile device. The icon itself is a small picture or symbol serving as a quick, "intuitive" representation of a software tool, function or a data file accessible on the system. It functions as an electronic hyperlink or file shortcut to access the program or data. Computer icons, in conjunction with computer windows, menus and a pointing device, form the graphical user interface (GUI) of the computer system, and enable the user to easily and intuitively navigate the system. Computer icons belong to the much larger topic of the history of the graphical user interface
Info Bar
An info bar is a widget used by Microsoft Internet Explorer, Mozilla Firefox, Google Chrome and other programs to display non-critical information to a user. It usually appears as a temporary extension of an existing toolbar, and may contain buttons or icons to allow the user to react to the event described in the info bar.
An info bar is increasingly seen as preferable to dialog boxes because it does not interrupt the user's activities, but rather allows the user to read extra information in their own time
Label
A label is a user interface control which displays text on a form. It is usually a static control; having no interactivity. A label is generally used to identify a nearby text box or other widget. Some labels can respond to events such as mouse clicks, allowing the text of the label to be copied, but this is not standard user-interface practice. Labels usually cannot be given the focus, although in applications written in Java using the Swing toolkit, labels can be focused through tabbing[citation needed]. By contrast, in native Microsoft Windows applications, labels cannot be focused by this method.
Loading Screen
A loading screen is a picture shown by a computer program, often a video game, while the program is loading or initializing.
Progress Bar
A progress bar is a component in a graphical user interface used to visualize the progression of an extended computer operation, such as a download, file transfer, or installation. Sometimes, the graphic is accompanied by a textual representation of the progress in a percent format.
Side Bar
The sidebar is a term that is used for a GUI element that displays various forms of information to the side of an application or desktop user interface.
Splash screen
A splash screen is an image that appears while a game or program is loading. It may also be used to describe an introduction page on a website. Splash screens cover the entire screen or simply a rectangle near the center of the screen. The splash screens of operating systems and some applications that expect to be run full-screen usually cover the entire screen
Status Bar
A status bar, similar to a status line, is an information area typically found at the bottom of windows in a graphical user interface. A status bar is sometimes divided into sections, each of which shows different information. Its job is primarily to display information about the current state of its window, although some status bars have extra functionality. For example, many web browsers have clickable sections that pop up a display of security or privacy information.
Throbber
A Throbber is a graphic found in a graphical user interface of a computer program (especially a web browser) that animates to show the user that the program is performing an action (such as downloading a web page)
Toast
In software engineering, a toast is a small, informational window displayed by certain kinds of software, especially instant messaging clients such as AOL Instant Messenger, Windows Live Messenger XFire and Trillian. Toasts notify users of various kinds of events, such as reception of new e-mail, a change in a peer's availability, or a change in network connectivity
Tool Tip
The tooltip or info tip or a hint is a common graphical user interface element. It is used in conjunction with a cursor, usually a pointer. The user hover the pointer over an item, without clicking it, and a tooltips may appear—a small "hover box" with information about the item being hovered over. Tooltips do not appear on mobile operating systems, since there is no cursor.
Accordion
In a graphical user interface, an accordion is a vertically stacked list of items (e.g. labels or thumbnails). Each item can be "expanded" or "stretched" to reveal the content associated with that item. There can be zero or more items expanded at a time, depending on the configuration. The term stems from the musical accordion in which sections of the bellows can be expanded by pulling outward
Disclosure Widget
A disclosure widget or expander is a graphical user interface element (widget) that is used to show or hide a collection of "child" widgets in a specific area of the interface. The widget hides non-essential settings or information and thus makes the dialog less cluttered.
Frame/Field set
A frame, or group box, is a type of box within which a collection of Graphical user interface widgets can be grouped, usually because the designer of the form believes the grouping looks better than leaving the items outside of a frame, or uses a frame to allow multiple uses of a widget which otherwise can only be used once (such as a checked radio button).
In HTML (where frame has another meaning, referring to an individually scrollable prtion of a page), this kind of grouping box is called a field set after the HTML element of the same name
Menu Bar
A menu bar is a region of a screen or application interface where drop down menus are displayed. The menu bar's purpose is to supply a common housing for window- or application-specific menus which provide access to such functions as opening files, interacting with an application, or displaying help documentation or manuals. Menu bars are typically present in graphical user interfaces that display documents and representations of files in windows and windowing systems but menus can be used as well in command line interface programs like text editors or file managers where drop-down menu is activated with shortcut key or combination.
Panel
In graphical computer software a panel is "a particular arrangement of information grouped together for presentation to users in a window or pop-up". In ISPF, a panel is "a predefined display image that you see on a display screen." A panel widget is commonly packaged as part of a widget toolkit for a graphical user interface. See toolbar and dialog box.
Ribbon
Ribbon is a GUI-based application software, a ribbon is an interface where a set of toolbars are placed on tabs in a tab bar. Recent releases of some Microsoft and Autodesk applications have popularized this form with a modular ribbon as their main interface. A ribbon provides the user interface of an application with a large toolbar filled with graphical representations of control elements which are grouped by different functionality. Ribbons can contain tabs to expose different sets of control elements, eliminating the need for many different icon-based tool bars. Some of these tabs are contextual and appear only when a certain type of object is selected, providing specific tools for items such as tables or images.
Tab
In the area of graphical user interfaces (GUI), a tabbed document interface (TDI) or a Tab is one that allows multiple documents to be contained within a single window, using tabs as a navigational widget for switching between sets of documents. It is an interface style most commonly associated with web browsers, web applications, text editors, and preference panes.
Tool bar
In a graphical user interface, on a computer monitor, a toolbar is a GUI widget on which on-screen buttons, icons, menus, or other input or output elements are placed. Toolbars are seen in many types of applications such as office suites, graphics editors, and web browsers. Toolbars are usually distinguished from palettes by their integration into the edges of the screen or larger windows, which results in wasted space if too many under populated bars are stacked atop each other (especially horizontal bars on a landscape oriented display) or interface inefficiency if overloaded bars are placed on small windows
Window
In computing, a window is a visual area containing some kind of user interface. It usually has a rectangular shapethat can overlap with the area of other windows. It displays the output of and may allow input to one or more processes. Windows are primarily associated with graphical displays, where they can be manipulated with a pointer. A graphical user interface (GUI) using windows as one of its main "metaphors" is called a windowing system
Address Bar
An address bar (also location bar or URL bar) is a feature in a web browser that either shows the current URL or accepts a typed URL that the user wishes to go on to. Most address bars offer a list of suggestions while the address is being typed in. Auto-completion bases its search on the browser history. Browsers have keyboard shortcuts to auto-complete an address, and these are generally configured by the user on a case-by-case basis.
Bread Crumb
Breadcrumbs or breadcrumb trail is a navigation aid used in user interfaces. It allows users to keep track of their locations within programs or documents. The term comes from the trail of breadcrumbs left by Hansel and Gretel in the popular fairy tale.
Hyperlink
In computing, a hyperlink (or link) is a reference to data that the reader can directly follow, or that is followed automatically. A hyperlink points to a whole document or to a specific element within a document. Hypertext is text with hyperlinks. A software system for viewing and creating hypertext is a hypertext system, and to create a hyperlink is to hyperlink (or simply to link). A user following hyperlinks is said to navigate or browse the hypertext
Tree View
A tree view or an outline view is a graphical user interface element (widget) that presents a hierarchical view of information. Each item (often called a branch or anode) can have a number of sub items. This is often visualized by indentation in a list. An item can be expanded to reveal sub items, if any exist, and collapsed to hide sub items
About Box
An about box or about dialog is a dialog box that displays the credits and revision information of a computer software. Many times the splash screen (if one exists) and about box are identical or very similar.
Alert dialog
An alert dialog is a colloquial (though commonly accepted) term for a particular type of dialog box that occurs in a graphical user interface. It is also known as an alert box, alert window, error dialog, alert popup or plainly alert. The typical alert dialog provides information in a separate box to the user, after which the user can only respond in one way: by closing it. Closing an alert dialog will provide access to the original window, which is not available while the alert dialog is presented.
Dialog Box
In a graphical user interface of computers, a dialog box (or dialogue box) is a type of window used to enable reciprocal communication or "dialog" between a computer and its user. It may communicate information to the user; prompt the user for a response, or both. A dialog box is most often used to provide the user with the means for specifying how to implement a command, or to respond to a question or an "alert"
File Dialog box
A file dialog (also called File Selector/Chooser, file requester, or open and save dialog) is a dialog box that allows users to choose a file from the file system. File dialogs differ from file managers as they are not intended for file management (although some offer simple operations such as folder creation); rather they are intended for the opening and saving of files. Before file dialogs, most programs requested files as a command line argument or as an exact file path. Others required users to select a file from the file manager
Inspector Window
An inspector window is a type of computing window that shows current parameters of a selected object and allows these parameters to be changed on-the-fly. It shows Information in programs, like File Managers, showing File Parameters like File Size and Permissions. For example, in a vector graphics application the user creates drawings out from elements such as lines, rectangles and circles. When such an element is selected on the page, an inspector will show the current size and absolute position on the page of this element with numbers. The user can then change those numbers to change the size or position of the object on the page
Modal Window
In user interface design, a modal window is a child window that requires users to interact with it before they can return to operating the parent application, thus preventing the workflow on the application main window. Modal windows are often called heavy windows or modal dialogs because the window is often used to display a dialog box. Modal windows are commonly used in GUI systems to command user awareness and to display emergency states. On the Web, they are often used to show images in detail.
Palette Window
A palette window, also known as utility window or floating palette, is a type of computing window which floats on top of all regular windows and offers ready access tools, commands or information for the current application. Applications use palette windows to prevent toolbar clutter. While toolbars and ribbons are typically horizontal, locked to window or screen borders, and of fixed length; palettes are usually scaled to fit their contents, movable, and vertical, consuming less of a computer's commonly landscape oriented screen space, and working better with multiple monitors.
Layout Managers
Layout managers are software components used in widget toolkits which have the ability to lay out widgets by their relative positions without using distance units. It is often more natural to define component layouts in this manner than to define their position in pixels or common distance units, so a number of popular widget toolkits include this ability by default. Widget toolkits that provide this function can generally be classified into two groups:
Those where the layout behavior is coded in special graphic containers. This is the case in XUL and the .NET Framework widget toolkit (both in Windows Forms and in XAML).
Those where the layout behavior is coded in layout managers, that can be applied to any graphic container. This is the case in the Swing widget toolkit that is part of the Java API
Look And Feel
In software design, look and feel is a term used in respect of a graphical user interface and comprises aspects of its design, including elements such as colors, shapes, layout, and typefaces (the "look"), as well as the behavior of dynamic elements such as buttons, boxes, and menus (the "feel"). The term can also refer to aspects of an API, mostly to parts of an API that are not related to its functional properties. The term is used in reference to both software and websites.
Look and feel applies to other products. In documentation, for example, it refers to the graphical layout (document size, color, font, etc.) and the writing style. In the context of equipment, it refers to consistency in controls and displays across a product line.
Look and feel in operating system user interfaces serves two general purposes. First, it provides branding, helping to identify a set of products from one company. Second, it increases ease of use, since users will become familiar with how one product functions (looks, reads, etc.) and can translate their experience to other products with the same look and feel
Widget Toolkit
A widget toolkit, widget library, or GUI toolkit is a set of widgets for use in designing applications with graphical user interfaces (GUIs). The toolkit itself is a piece of software which is usually built on the top of an operating system, windowing system, or window manager and provides programs with an application programming interface (API), allowing them to make use of widgets. Each widget facilitates a specific user-computer interaction, and appears as a visible part of the computer's GUI. Widget toolkits can be either native or cross platform
WIMP
WIMP interaction was developed at Xerox PARC (see Xerox Alto, developed in 1973) andpopularized with Apple's introduction of the Macintosh in 1984, which added the concepts of the "menu bar" and extended window management.
In WIMP systems:
A window runs a self-contained program, isolated from other programs that (if in a multi-program operating system) run at the same time in other windows. Developed by Gene McDaniel at PARC
An icon acts as a shortcut to an action the computer performs (e.g., execute a program or task).
A menu is a text or icon-based selection systems that selects and executes programs or tasks.
The pointer is an onscreen symbol that represents movement of a physical device that the user controls to select icons, data elements, etc.
This style of system improves human–computer interaction (HCI) by emulating real-world interactions and providing better ease of use for non-technical people—both novice and power users. Users can carry skill at a standardized interface from one application to another.
Punctuation marks are essential symbols used in writing to indicate various aspects of language, such as pauses, emphasis, clarification, and organization. Here is a list of common punctuation marks:
Apostrophe - ( ’ ' )
Brackets - ( [ ], ( ), { }, ⟨ ⟩ )
Colon - ( : )
Comma - ( , ، 、)
Dash - (‒, –, —, ― )
Ellipsis - (…, ..., . . . )
Exclamation Mark - (! )
Full Stop/Period - ( . )
Guillemets - ( « » )
Hyphen - ( ‐ )
Hyphen-Minus - ( - )
Question Mark - ( ? )
Quotation Marks - ( ‘ ’, “ ”, ' ', " " )
Semicolon - ( ; )
Slash/Stroke/Solidus - ( /, ⁄ )
Word Dividers Interpunct - ( · )
Space - ( ) ( ) ( )
General Typography
Ampersand - ( & )
Asterisk - ( * )
At Sign - ( @ )
Backslash - ( \ )
Bullet - ( • )
Caret - ( ^ )
Dagger - ( †, ‡ )
Degree - ( ° )
Ditto Mark- ( 〃 )
Inverted Exclamation Mark - ( ¡ )
Inverted Question Mark- -( ¿ )
Number Sign/Pound/Hash - ( # )
Numero Sign - ( № )
Obelus - ( ÷ )
Ordinal Indicator - ( º, ª )
Basis Point - ( ‱ )
Pilcrow -( ¶ )
Prime - ( ′, ″, ‴ )
Section Sign - ( § )
Tilde - ( ~ )
Underscore/Under strike - ( _ )
Vertical Bar/Broken Bar/Pipe - ( ¦, | )
Copyright Symbol - ( © )
Registered Trademark - ( ® )
Service Mark - ( ℠ )
Sound Recording Copyright - ( ℗ )
Trademark - ( ™ )
Currency
Currency (Generic) - ( ¤ )
Uncommon Typography
Asterism - ( ⁂ )
Index/Fist - ( ☞ )
Interrobang - ( ‽ )
Irony Punctuation - ( ؟ (
Lozenge - ( ◊ )
Reference Mark - ( ※ )
Tie - ( ⁀ )
GUI and UI form the backbone of our digital interactions, enabling us to navigate through a sea of information effortlessly. By understanding the intricacies and importance of GUI and UI, we can appreciate the effort that goes into crafting intuitive and visually captivating digital experiences. So, let's embrace the power of GUI and UI as we navigate the digital landscape and shape the future of user-centric design.
"GUI: Giving Users Intellect to click aimlessly and pretend they know what they're doing."!
Faruque Patwary
QA Manager and Chief Storyteller at the A to Z GUI & UI Chronicles
Comments