6.8.1 Graphical User Interfaces
• The current demands on user interfaces are,
- on-line help
- adaptive dialog/response
- ability to interrupt processes
- consistent modules
- a logical display layout
- deal with many processes simultaneously
• The common trend is to adopt a user interface which often have,
- A pointer device (such as a mouse)
- Full color
- Support for multiple windows, which run programs simultaneously
- Popup menus
- Windows can be moved, scaled, moved forward/back, etc.
• The history behind these machines are,
- Development of Mouse based graphical interface at Xerox Palo-Alto Research park (70s)
- Personal Computers began providing graphical programs for system management, games, etc (Early 80s)
- MacIntosh, Sun, Apollo, Silicon Graphics, and others introduced mouse driven, fully windowed computers (Mid 80s)
- MacIntosh Competitor IBM PC gets OS/2 and Microsoft Windows (Late 80s). Marking massive movement to Windowed environment by all players in scientific computing.
- X-Windows becomes a new, and widely accepted standard on workstations (Late 80s)
- Microsoft introduces Windows, bringing windowed interfaces to the last major computer platform.
• Some Concepts in GUIs are,
button - An item which is shown within a window. When a user points at it, and presses a mouse button, it initiates an action.
icon - A small graphical symbol on the screen which can be opened to expose a window
menu - A pop up menu which stays hidden until called up by mouse. This simplifies problems of crowded screens.
mouse - a very popular input device for graphics programs. The use can point and choose an item. Contemporary alternatives are track-balls, joy-stick, dial boxes, tablets, etc.
scrollbars - At this side of some graphical, and text windows are bars which can be used to move the window around, to see previous text, or hidden areas of a graphics screen.
slider - A bar chart type of input, where the user can use the mouse to pull the slider along, and change an input value
window - A panel for keyboard and mouse I/O, which can be layered on a screen with other windows, like paper on a desk. The user often selects to work in a specific window by pointing the mouse into it. A Window may be closed, to become an icon
• Popular window systems are (not a complete list),
OS/2 - IBMs attempt to take control of the operating system used on the IBM PCs, and bring full capability to PC architecture.
Windows 3.1 - Microsoft’s answer to the MacIntosh interface
Windows 95 - Microsoft’s answer to Windows 3.1 - adds a true multitasking environment.
Windows NT - Microsoft’s answer to Windows 95 - adds more capable network and file security issues.
MacIntosh Interface - The proprietary windowed operating system, considered one of the forerunners in user friendly systems.
Sunview - The original windowed systems used on Sun computers
X-Windows - A defacto standard for newly developed windowed operating systems.
Openwindows - Sun’s new windowed operating system which is a superset of X-Windows
Motif - A competitor to Openwindows, also based on the X-Windows standards
• The Implications of X-Windows will be very important in future computer purposes. Some of the X-Windows Features are,
- intended for networking, including display of programs across a network. The implication of this is that I may sit at a Sun computer in my office, and run Ideas across the network from the SGI lab.
- Shared definitions makes software very portable between machines. (The quantity of public domain software is huge).
- The user interface is very similar when going between different X-Windows based machines.
- Easy to Customize for an individual user
- The differences between systems like Motif and Openwindows are mainly based on definitions of things like buttons, fonts, etc.
- When using X-Windows, a program (called the X server) runs which controls all the windowed graphics. Programs that use X are written to let it set up buttons, get input, call functions, etc.
• Windows NT is not yet as capable as X-Windows, but if the trend continues it will become more similar over time.
• Automatic GUI generators are available on commercial systems. One example is given for a system which allows window layout, then automatic program generation.