History of the Graphical User Interface

The Graphical User Interface (GUI) is a valuable too that enable rapid and accurate software development. Aspiration Software staff has successfully used the GUI in critical development for the Intelligenc Community, the DOD and client agencies.

Source: Wikipedia

Graphical User Interface Defined

The graphical user interface, understood as the use of graphic icons and a pointing device to control a computer, has over the last four decades a steady history of incremental refinements built on some constant core principles. Several vendors have created their own windowing systems based on independent code but sharing the same basic elements that define the WIMP paradigm.

There have been important technological achievements and enhancements to the general interaction were given in small steps over previous systems and there have been a few significant breakthroughs in terms of use, but the same organizational metaphors and interaction idioms are still in use. Although many GUI Operating Systems are operated by using a mouse, the keyboard can also be used by using keyboard shortcuts or arrow keys.

Initial developments

Early dynamic information devices such as radar displays, where input devices were used for direct control of computer-created data, set the basis for later improvements of graphical interfaces.[1]

The concept of a windowing system was introduced by the first real-time graphic display systems for computers: the SAGE Project and Ivan Sutherland’s Sketchpad.

Augmentation of Human Intellect (NLS)
Videoconferencing on NLS (1968)

Doug Engelbart’s Augmentation of Human Intellect project at SRI in the 1960s developed the On-Line System (NLS), which incorporated a mouse-driven cursor and multiple windows used to work on hypertext. Engelbart had been inspired, in part, by the memex desk based information machine suggested by Vannevar Bush in 1945. Much of the early research was based on how children learn.

Xerox PARC

The Xerox Star Workstation introduced the first GUI Operating systems.

Engelbart’s work directly led to the advances at Xerox PARC. Several people went from SRI to Xerox PARC in the early 1970s. In 1973 Xerox PARC developed the Alto personal computer. It had a bitmapped screen, and was the first computer to demonstrate the desktop metaphor and graphical user interface (GUI). It was not a commercial product, but several thousand units were built and were heavily used at PARC, as well as other XEROX offices, and at several universities for many years. The Alto greatly influenced the design of personal computers during the late 1970s and early 1980s, notably the Three Rivers PERQ, the Apple Lisa and Macintosh, and the first Sun workstations.

The GUI was first developed at Xerox PARC by Alan Kay, Larry Tesler, Dan Ingalls and a number of other researchers. It used windows, icons and menus to support commands such as opening files, deleting files, moving files, etc. In 1981 Xerox introduced a pioneering product, Star, incorporating many of PARC’s innovations. Although not commercially successful, Star greatly influenced future developments, for example at Apple, Microsoft and Sun Microsystems.[2]

In 1974, work began at PARC on Gypsy, the first bitmap What-You-See-Is-What-You-Get (WYSIWYG) cut & paste editor. In 1975, Xerox engineers demonstrated a Graphical User Interface “including icons and the first use of pop-up menus”.[3]

The 80s: Early commercial developments

Apple Lisa and Macintosh (and later, the Apple IIgs)
Macintosh Desktop (1984)

Mac OS history

Beginning in 1979, started by Steve Jobs and led by Jef Raskin, the Lisa and Macintosh teams at Apple Computer (which included former members of the Xerox PARC group) continued to develop such ideas. The Macintosh, released in 1984, was the first commercially successful product to use a GUI.

A desktop metaphor was used, in which files looked like pieces of paper; directories looked like file folders; there were a set of desk accessories like a calculator, notepad, and alarm clock that the user could place around the screen as desired; and the user could delete files and folders by dragging them to a trash can on the screen. Drop down menus were also introduced.

There is still some controversy over the amount of influence that Xerox’s PARC work, as opposed to previous academic research, had on the GUIs of Apple’s Lisa and Macintosh, but it is clear that the influence was extensive, because first versions of Lisa GUIs even lacked icons. These prototype GUIs are at least mouse driven, but completely ignored the WIMP concept. Rare screenshots of first GUIs of Apple Lisa prototypes are shown here. Note also that Apple was invited by PARC to view their research, and a number of PARC employees subsequently moved to Apple to work on the Lisa and Macintosh GUI. However, the Apple work extended PARC’s considerably, adding manipulatable icons, a fixed drop-down menu bar and drag&drop manipulation of objects in the file system (see Macintosh Finder) for example. A list of the improvements made by Apple to the PARC interface can be read here (folklore.org) It’s hard to say which particular features were originated in which project, though. Jef Raskin warns that many of the reported facts in the history of the PARC and Macintosh development are inaccurate, distorted or even fabricated, due to the lack of usage by historians of direct primary sources.[4]

The Apple GS/OS desktop (1986).

In 1986 the Apple IIgs was launched, a very advanced model of the Apple II successful series, based on 16-bit technology (in fact, virtually two machines into one). It came with a new operating system, the Apple GS/OS, which features a Finder-like GUI, very similar to that of the Macintosh series, able to deal with the advanced graphic abilities of its Video Graphics Chip (VGC).

Graphical Environment Manager (GEM)
GEM on the Atari ST (1985)

Graphical Environment Manager

Digital Research (DRI) created the Graphical Environment Manager as an add-on program for personal computers. GEM was developed to work with existing CP/M and MS-DOS operating systems on business computers such as IBM-compatibles. It was developed from DRI software, known as GSX, designed by a former PARC employee. The similarity to the Macintosh desktop led to a copyright lawsuit from Apple Computer, and a settlement which involved some changes to GEM. This was to be the first of a series of ‘look and feel’ lawsuits related to GUI design in the 1980s.

GEM received widespread use in the consumer market from 1985, when it was made the default user interface built in to the TOS operating system of the Atari ST line of personal computers. It was also bundled by other computer manufacturers and distributors, such as Amstrad. Later, it was distributed with the best-sold Digital Research version of DOS for IBM PC compatibles, the DR-DOS 6.0. The GEM desktop faded from the market with the withdrawal of the Atari ST line in 1992 and with the popularity of the Microsoft Windows 3.0 in the PC front by the same years.

DeskMate

DeskMate 3.02 running in VGA mode

DeskMate

Tandy’s DeskMate appeared in the early 1980s on its TRS-80 machines and was ported to its Tandy 1000 range in 1984. Like most PC GUIs of the time it depended on MS-DOS. The application was popular at the time and included a number of programs like Draw, Text and Calendar as well as attracting outside investment such as Lotus 1-2-3 for DeskMate.
[edit] Amiga Intuition and the Workbench
Amiga Workbench (1985)

The Amiga computer was launched by Commodore in 1985 with a GUI called Workbench based on an internal engine which drives all the input events called Intuition, and developed almost entirely by RJ Mical. The first versions used a blue/orange/white/black default palette, which was selected for high contrast on televisions and composite monitors. Workbench presented directories as drawers to fit in with the “workbench” theme. Intuition was the widget and graphics library that made the GUI work. It was driven by user events through the mouse, keyboard, and other input devices.

Due to a mistake made by the Commodore sales department, the first floppies of AmigaOS which were released with Amiga1000 named the whole OS “Workbench”. Since then, users and CBM itself referred to “Workbench” as the nickname for the whole AmigaOS (including Amiga DOS, Extras, etc.). This common consent ended with release of version 2.0 of AmigaOS, which re-introduced proper names to the installation floppies of AmigaDOS, Workbench, Extras, etc.).

Early versions of AmigaOS did treat the Workbench as just another window on top of a blank screen, but this is due to the ability of AmigaOS to have invisible screens with a chromakey or a genlock – one of the most advanced features of Amiga platform – even without losing the visibility of Workbench itself. In later AmigaOS versions Workbench could be set as a borderless desktop.

Amiga users were able to boot their computer into a command line interface (aka. CLI/shell). This was a keyboard-based environment without the Workbench GUI. Later they could invoke it with the CLI/SHELL command LoadWB which performs the task to load Workbench GUI.

Like most GUIs of the day Amiga’s Intuition followed Xerox, and sometimes Apple’s lead, but a CLI was included which dramatically extended the functionality of the platform, but Cli/Shell of Amiga is not just a simple text based interface like in MS-DOS but it is another graphic process driven by Intuition engine and with same gadgets included in Amiga graphics.library and serving the GUI process and CLI/Shell interface integrates itself with the Workbench, sharing the same privileges with the GUI.

The Amiga Workbech still evolved over the 1990′s, far beyond the official withdrawn from Commodore in 1994. See the next section.

MS-DOS file managers and utility suites

Norton Utilities 6.01 (1991). Note the graphical widgets and the arrow pointer in Text mode.

Because most of the very early IBM PC and compatibles lack any common true graphical capability (they only shared the 80-column basic text mode compatible with the original MDA display adapter), a series of file managers arose, including Microsoft’s DOS Shell, which features typical GUI elements as menus, push buttons, lists with scrollbars and mouse pointer. The name Text user interface was later invented to name this kind of interface. Many MS-DOS text mode applications, like the default text editor for MS-DOS 5.0 (and related tools, like QBasic), also shared the same philosophy. The IBM DOS Shell included with IBM DOS 5.0 (circa 1992) supported both text display modes and actual graphics display modes, making it both a TUI and a GUI, depending on the chosen mode.

Advanced file managers for MS-DOS were able to redefine character shapes with EGA and better display adapters, giving some basic low resolution icons and graphical interface elements, including an arrow (instead of a coloured cell block) for the mouse pointer. When the display adapter lacks the ability to change the character’s shapes, they default to the CP437 character set found in the adapter’s ROM. Some popular utility suites for MS-DOS, as Norton Utilities (pictured) and PC Tools used these techniques as well.

DESQview was a text mode multitasking program introduced in July 1985. Running on top of MS-DOS, it allowed users to run multiple DOS programs concurrently in windows. It was the first program to bring multitasking and windowing capabilities to a DOS environment in which existing DOS programs could be used. DESQview was not a true GUI but offered certain components of one, such as resizable, overlapping windows and mouse pointing.

Applications under MS-DOS with proprietary true GUIs
DeluxePaint II for MS-DOS (1989)

To take the maximum advantage possible in lack of a true common GUI under MS-DOS, the most of the graphical applications which worked with EGA, VGA and better graphic cards had proprietary built-in GUIs, before the MS-Windows age. One of the best known was Deluxe Paint, a popular painting software with a typical WIMP interface.

The original Adobe Acrobat Reader executable file for MS-DOS was able to run on both the standard Windows 3.x GUI and the standard DOS command prompt. When it was launched from the command prompt, it provides its own true GUI (on VGA), which provides the full of its functionality to read PDF files.

Microsoft Windows (16-bit versions)
Windows 1.01 (1985)

Windows 3.11 (1993)
See also: History of Microsoft Windows

Windows 1.0 was a GUI for the MS-DOS operating system that had been the OS of choice for IBM PC and compatible computers since 1981. Windows 2.0 followed, but it wasn’t until the 1990 launch of Windows 3.0, based on Common User Access that its popularity truly exploded. The GUI has seen minor redesigns since, mainly the networking enabled Windows 3.11 and its Win32s 32-bit patch. The 16-bit line of MS Windows were discontinued with the introduction of Windows 95 and Windows NT 32-bit based architecture in the 1990′s. See the next section.

The main window of a given application can occupy the full screen in maximized status. The users must then to switch between maximized applications using the Alt+Tab keyboard shortcut; no alternative with the mouse except for de-maximize. When none of the running application windows is maximized, switching can be done by clicking on a partially visible window, as is the common way in other GUIs.

In 1988, Apple sued Microsoft for copyright infringement of the LISA and Apple Macintosh GUI. The court case lasted 4 years before almost all of Apple’s claims were denied on a contractual technicality. Subsequent appeals by Apple were also denied. Microsoft and Apple apparently entered a final, private settlement of the matter in 1997.
[edit] GEOS
GEOS for the Commodore 64 (1986).

Main article: GEOS (8-bit operating system)

GEOS was launched in 1986. Originally written for the 8-bit home computer Commodore 64 and shortly after, the Apple II series it was later ported to IBM PC systems. It came with several application programs like a calendar and word processor, and a cut-down version served as the basis for America Online’s DOS client. Compared to the competing Windows 3.0 GUI it could run reasonably well on simpler hardware. But it was targeted at 8-bit machines and the 16-bit computer age was dawning.

The X Window System
A Unix based X Window System desktop (circa 1990).

The standard windowing system in the Unix world is the X Window System (commonly X11 or X), first released in the mid-1980s. The W Window System (1983) was the precursor to X; X was developed at MIT as Project Athena. Its original purpose was to allow users of the newly emerging graphic terminals to access remote graphics workstations without regard to the workstation’s operating system or the hardware. Due largely to the availability of the source code used to write X, it has become the standard layer for management of graphical and input/output devices and for the building of both local and remote graphical interfaces on virtually all Unix, Linux and other Unix-like operating systems, with the notable exception of Mac OS X.

X allows a graphical terminal user to make use of remote resources on the network as if they were all located locally to the user by running a single module of software called the X server. The software running on the remote machine is called the client application. X’s network transparency protocols allow the display and input portions of any application to be separated from the remainder of the application and ‘served up’ to any of a large number of remote users. X is available today as free software.

NeWS

HyperTIES authoring tool under NeWS window system.

The PostScript-based NeWS (Network extensible Window System) was developed by Sun Microsystems in the mid 1980′s. For several years SunOS included a window system combining NeWS and the X Window System. Although NeWS was considered technically elegant by some commentators, Sun eventually dropped the product. Unlike X, NeWS was always proprietary software.

The 1990s: Mainstream usage of the desktop

The widespread adoption of the PC platform at homes and small business popularized computers among people with no formal training. This created a fast growing market, opening an opportunity for commercial exploitation and of easy-to-use interfaces and making economically viable the incremental refinement of the existing GUIs for home systems.

Also, the spreading of Highcolor and Truecolor capabilities of display adapters providing thousands and millions of colors, along with faster CPUs and accelerated graphic cards, cheaper RAM, storage devices up to an order of magnitude larger (from megabytes to gigabytes) and larger bandwidth for telecom networking at lower cost helped to create an environment in which the common user was able to run complicated GUIs which began to favor aesthetics.

Windows 95 and “a computer in every home” (the 32-bit versions)

Windows 95 desktop (1995).
Windows Vista desktop (2007).

Main article: Windows 95. See also Windows NT.

After Windows 3.11, Microsoft began to develop a new consumer-oriented version of the operating system. Windows 95 was intended to integrate Microsoft’s formerly separate MS-DOS and Windows products and includes an enhanced version of DOS, often referred to as MS-DOS 7.0, although many people believe that Windows 95′s MS-Dos was not really DOS at all. It also featured a significant redesign of the GUI, dubbed “Cairo”, which was eventually used in Windows NT 4.0. Both Win95 and WinNT were 32-bit based technologies, which could exploit the abilities of the Intel 80386 CPU, as the preemptive multitasking and up to 4GiB of linear address memory space. In the marketplace, Windows 95 was an unqualified success, promoting a general upgrade to 32-bit technology, and within a year or two of its release had become the most successful operating system ever produced.[citation needed]

Windows 95 saw the beginning of the Browser wars when the World Wide Web began receiving a great deal of attention in the popular culture and mass media. Microsoft at first did not see potential in the Web and Windows 95 was shipped with Microsoft’s own online service called The Microsoft Network, which was dial-up only and was used primarily for its own content, not internet access. As versions of Netscape Navigator and Internet Explorer were released at a rapid pace over the following few years, Microsoft used its desktop dominance to push its browser and shape the ecology of the web mainly as a monoculture.

Windows 95 (and its 32-bit professional counterpart Windows NT) evolved through the years into Windows 98, Windows ME, Windows 2000 and Windows XP, sharing the same basic GUI themes (in XP, the user can even switch to the classical Windows 95/NT look). With Windows 98, the Active Desktop theme was introduced, allowing a HTML approach for the desktop, but this feature was coldly received by customers, who frequently disabled it. At the end, Windows Vista definitively discontinued it, but has a new SideBar on the desktop.

Mac OS

The Macintosh’s GUI has been infrequently revised since 1984, with major updates including System 7, and underwent its largest revision with the introduction of the “Aqua” interface in 2001′s Mac OS X. It was a new operating system built primarily on technology from NeXTStep with UI elements of the original Mac OS grafted on. Mac OS X uses a technology called Quartz for graphics rendering and drawing on-screen. Some interface features of Mac OS X are inherited from NeXTStep (such as the Dock, the automatic wait cursor, or double-buffered windows giving a solid appearance and flicker-free window redraws), while others are inherited from the old Mac OS operating system (the single system-wide menu-bar). Mac OS X v10.3 introduced features to improve usability including Exposé which is designed to make finding open windows easier.

With Mac OS X v10.4, new features were added, including Dashboard (a virtual alternate desktop for mini specific-purpose applications) and a search tool called Spotlight, which provides users with an option for searching through files instead of browsing through folders.
[edit] GUIs built on the X Window System
KDE 4.3 desktop.

A GNOME 2.20 desktop (September 2007)

In the early days of X Window development, Sun Microsystems and AT&T attempted to push for a GUI standard called OPEN LOOK in competition with Motif. OPEN LOOK was a well-designed standard developed from scratch in conjunction with Xerox, while Motif was a collective effort that fell into place, with a look and feel patterned after Windows 3.11. Many who worked on OPEN LOOK at the time appreciated its design coherence.[citation needed] Motif prevailed in the UNIX GUI battles and became the basis for the Common Desktop Environment (CDE). CDE was based on VUE (Visual User Environment), a proprietary desktop from Hewlett-Packard that in turn was based on the Motif look and feel.

In the late 1990s, there was significant growth in the Unix world, especially among the free software community. New graphical desktop movements grew up around Linux and similar operating systems, based on the X Window System. A new emphasis on providing an integrated and uniform interface to the user brought about new desktop environments, such as KDE, GNOME and XFCE which are supplanting CDE in popularity on both Unix and Unix-like operating systems. The XFCE, KDE and GNOME look and feel each tend to undergo more rapid change and less codification than the earlier OPEN LOOK and Motif environments.

In the latter part of the first decade of the 21st century X Window GUIs such as Compiz Fusion, Beryl and KDE 4 began to incorporate the translucency and drop shadow effects first seen on Mac OS X.

AmigaOS

Amiga Workbench 2.0 (1990)
Amiga Workbench 4.1 (2009)

Later releases added improvements over the original Workbench, like support for high-color Workbench screens, context menus, and embossed 2D icons with pseudo-3D aspect. But often Amiga users preferred alternative interfaces to standard Workbench, such as Directory Opus or ScalOS interface. An interesting article about these replacements is available here (in French language).
AmigaOS 4 Workbench with custom GUI (2007)

The use of improved, third-party GUI engines became common amongst users who preferred more attractive interfaces – such as Magic User Interface (MUI), and ReAction. These object-oriented graphic engines driven by “classes” of graphic objects and functions were then standardized into the Amiga environment and changed Amiga Workbench to a complete and modern guided interface, with new standard gadgets, animated buttons, true 24-bit-color icons, increased use of wallpapers for screens and windows, alpha channel, transparencies and shadows as any modern GUI requires.

Modern derivatives of Workbench are Ambient for MorphOS, ScalOS, Workbench for AmigaOS 4 and Wanderer/Zune for AROS. There is a brief article on Ambient and descriptions of MUI icons, menus and gadget here (aps.fr) and images of Zune stay at main AROS site.

Use of object oriented graphic engines (ReAction) dramatically changes the look and feel of a GUI to match actual styleguides.

RISC OS

A typical RISC OS 3.7 session

Early versions of what came to be called RISC OS were known as Arthur, which was released in 1987 by Acorn Computers. RISC OS was a colour GUI operating system which used three-button mice, a taskbar (called the icon bar), and a file navigator similar to that of Mac OS. Acorn created RISC OS in the 1980s for their ARM-CPU based computers. The GUI of RISC OS has developed over versions of RISC OS from 1987 to the present day with version 4.39 having a great ability to customise the interface.

OS/2

OS/2 Workplace Shell

Originally collaboratively developed by Microsoft and IBM to replace DOS, OS/2 version 1.0 (released in 1987) had no GUI at all. Version 1.1 (released 1988) included Presentation Manager (PM), which looked a lot like the later Windows 3.0 UI. After the split with Microsoft, IBM developed the Workplace Shell (WPS) for version 2.0 (released in 1992), a quite radical, object-oriented approach to GUIs. Microsoft later imitated much of this in Windows 95.
[edit] NeXTSTEP
NeXTSTEP Desktop

The NeXTSTEP user interface was used in the NeXT line of computers. NeXTSTEP’s first major version was released in 1989. It used Display PostScript for its graphical underpinning. The NeXTSTEP interface’s most significant feature was the Dock, carried with some modification into Mac OS X, and had other minor interface details that some found made it easier and more intuitive to use than previous GUIs. NeXTSTEP’s GUI was the first to feature opaque dragging of windows in its user interface, on a comparatively weak machine by today’s standards, ideally aided by high performance graphics hardware.

BeOS

BeOS Desktop

BeOS was developed on custom AT&T Hobbit-based computers before switching to PowerPC hardware by a team lead by former Apple executive Jean-Louis Gassée as an alternative to Mac OS. BeOS was later ported to Intel hardware. It used an object-oriented kernel written by Be, and did not use the X Window System, but a different GUI written from scratch. Much effort was spent by the developers to make it an efficient platform for multimedia applications. Be Inc. was acquired by PalmSource, Inc. (Palm Inc. at the time) in 2001. The BeOS GUI still lives in Haiku, an open source reimplementation of the BeOS.

Current trends

3D User Interface

Main article: 3D Interaction
Compiz running on Fedora Core 6 with AIGLX.

As of 2009, a recent trend in desktop technology is the inclusion of 3D effects in window management. It’s based in experimental research in User Interface Design trying to expand the expressive power of the existing toolkits in order to enhance the physical cues that allow for direct manipulation. New effects common to several projects are scale resizing and zooming, several windows transformations and animations (wobbling windows, smooth minimization to system tray…), composition of images (used for window drop shadows and transparency) and enhancing the global organization of open windows (zooming to virtual desktops, desktop cube, Exposé, etc.) The proof-of-concept BumpTop desktop combines a physical representation of documents with tools for document classification only possible in the simulated environment, like instant reordering and automated grouping of related documents.

These effects are popularized thanks to the widespread use of 3D video cards (mainly due to gaming) which allow for complex visual processing with low CPU use, using the 3D acceleration in most modern graphics cards to render the application clients in a 3D scene. The application window is drawn off-screen in a pixel buffer and the graphics card renders it into the 3D scene.

This can have the advantage of moving some of the window rendering to the GPU on the graphics card and thus reducing the load on the main CPU, but the facilities that allow this must be available on the graphics card to be able to take advantage of this.

Examples of 3D user interface software include XGL and Compiz from Novell, and AIGLX bundled with Red Hat Fedora. Quartz Extreme for Mac OS X and Windows 7′s Aero interface use 3D rendering for shading and transparency effects as well as Expose and Windows Flip and Flip 3D, respectively. AmigaOS 4.1 uses Cairo 2D vector based interface integrated with 3D hardware accelerated Porter-Duff image composition engine, while its counterpart clone MorphOS 2.0 features Ambient, a complete 3D GUI based on a subset of OpenGL. Vista uses Direct3D to accomplish this, whereas the other interfaces use OpenGL.

Portable devices

Portable devices such as mp3 players and cell phones with small screens are a burgeoning area of deployment for GUIs in recent years. Some of these devices have screen resolutions of as little as 160×80 pixels, requiring great economy of space in the interface.