GUI

Da Gambas-it.org - Wikipedia.

Una interfaccia grafica utente (Graphical User Interface, da cui l'acronimo inglese GUI) è un tipo di interfaccia delle applicazioni che permette agli utenti di interagire con un computer e con i dispositivi ad esso collegati tramite elementi grafici quali icone, indicatori visuali e elementi grafici speciali chiamati widget. Le icone sono spesso utilizzate in contemporanea con testo, etichette od altro per rappresentare in modo completo le informazioni e le azioni disponibili per l'utente. Ma a differenza di quanto accadeva nelle vecchie CLI (le interfacce a linea di comando, tipiche delle console terminale), le azioni svolte dagli utenti sono eseguite manipolando direttamente gli elementi grafici.

Il termine GUI è storicamente utilizzato per indicare esclusivamente gli schermi a 2 dimensioni con risoluzioni capaci di descrivere informazioni generiche: non si applica ad altri tipi di interfacce ad alta risoluzione che sono non-generiche, come i videogiochi, o non limitati agli schermi piatti, come i display volumetrici.

Storia

Il workbench dell'Amiga 1000 (1985)
File:Westminstpalace.jpg
From the Thames

Initial developments

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.

[edit] Augmentation of Human Intellect (NLS) On-Line System (1968) On-Line System (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. 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 young humans learn.

[edit] Xerox PARC Xerox Star Xerox Star

Engelbart's work directly led to the advances at Xerox PARC. Several people went from SRI to Xerox PARC in the early 1970s. The Xerox PARC team with Merzouga Wilberts, codified the WIMP (windows, icons, menus and pointers) paradigm, first pioneered on the Xerox Alto experimental computer, but which eventually appeared commercially in the Xerox 8010 ('Star') system in 1981.

[edit] The 80s: Early commercial developments

[edit] Apple Lisa and Macintosh Macintosh Desktop (1984) Macintosh Desktop (1984)

   Main article: 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 and a fixed menu bar and direct 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)

[edit] DESQview

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.

[edit] Graphical Environment Manager (GEM) GEM on the Atari ST (1985) GEM on the Atari ST (1985)

   Main article: 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. The GEM desktop faded from the market with the withdrawal of the Atari ST line in 1992.

[edit] Amiga Intuition Amiga Workbench (1985) 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 garish 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. AmigaWB (2000). Use of object oriented graphic engines (ReAction) dramatically changes look&feel of a GUI to match actual styleguides. AmigaWB (2000). Use of object oriented graphic engines (ReAction) dramatically changes look&feel of a GUI to match actual styleguides.

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. Later releases added more improvements, like support for high-color Workbench screens and 3D icons. 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).

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 24bit-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.0 and Wanderer 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.

[edit] Microsoft Windows

   See also: History of Microsoft Windows

Windows 1.01 (1985) Windows 1.01 (1985) Windows 3.11 (1993) Windows 3.11 (1993)

Microsoft modeled the first version of Windows, released in 1985, on the GUI of the Mac OS.[citation needed] 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 major and minor redesigns since, notably the addition of spatial file management capabilities akin to the Macintosh Finder in Windows 95, in Windows Explorer; the contentious web browser integration in Windows 98; the subsequent transition away from spatial file management more towards a single-window, task-based interface with Windows XP; and the removal of the browser integration in Windows Vista.

Windows traditionally differed from other GUIs in that it encouraged using applications maximized[clarify], as evident even in this early Windows 1.01 screenshot. The users usually switch between maximized applications using Alt+Tab keyboard shortcut or by clicking on a Taskbar listing all open applications, as opposed to clicking on a partially visible window, as is more common in some 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, and Microsoft and Apple apparently entered a final, private settlement of the matter in 1997 as a side note in a broader announcement of investment and cooperation.

[edit] GEOS

   Main article: GEOS

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.

Revivals were seen in the HP OmniGo handhelds, Brother GeoBook line of laptop-appliances, and the New Deal Office package for PCs. Related code found its way to earlier 'Zoomer' PDAs, creating an unclear lineage to Palm, Inc.'s later work. Nokia used GEOS as a base operating system for their Nokia Communicator series, before switching to EPOC (Symbian).

[edit] The X Window System X11 Desktop (running the KDE Desktop with KWin window manager). X11 Desktop (running the KDE Desktop with KWin window manager).

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.

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.

[edit] The 90s: 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.

[edit] Windows 95 and "a computer in every home" Main article: Windows 95

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. It features significant improvements over its predecessor, Windows 3.1, most visibly the graphical user interface (GUI) whose basic format and structure is still used in later versions such as Windows Vista. In the marketplace, Windows 95 was an unqualified success, and within a year or two of its release had become the most successful operating system ever produced.

Windows 95 saw the beginning of the Browser wars when the World Wide Web gradually 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.

[edit] Mac OS Mac OS X v10.4 "Tiger" (April 2005). Mac OS X v10.4 "Tiger" (April 2005).

The Macintosh's GUI has been frequently revised with time 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 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 were added.

[edit] GUIs built on the X Window System A GNOME 2.20 desktop (September 2007) 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. 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.

[edit] NeWS

The PostScript-based NeWS (Network extensible Window System) was developed by Sun Microsystems. 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.

[edit] RISC OS RISC OS Select Desktop RISC OS Select Desktop

Early versions of what became 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 iconbar), 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.

[edit] OS/2 OS/2 Workplace Shell 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 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.

[edit] BeOS BeOS Desktop 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 the Macintosh OS and GUI. 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.

[edit] Current trends

[edit] 3D User Interface Windows Flip 3D Windows Flip 3D Compiz running on Fedora Core 6 with AIGLX. Compiz running on Fedora Core 6 with AIGLX.


A recent trend in desktop technology is the inclusion of 3D effects in window management, 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é...)

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 you need to have the facilities available on the graphics card to be able to take advantage of this.

Examples of 3D user interface software include Metisse first bundled with Mandriva[1], XGL and Compiz from Novell, and AIGLX bundled with RedHat Fedora. Windows Vista's Aero interface uses 3D rendering for shading and transparency effects as well as Windows Flip and Flip 3D. Vista uses Direct3D to accomplish this, whereas the other interfaces use OpenGL.