Entertainment Software Rating Board



Yüklə 55,13 Kb.
tarix17.10.2017
ölçüsü55,13 Kb.
#5461


Moscow State University

The Faculty of Computational Mathematics and Cybernetics.




(определение, компоненты, дизайн, виды графического интерфейса, GUI современных ОС)

By Maxim Avdjunin

203 group

Moscow 2008


Introduction


Graphical user interface (GUI) is a type of user interface (the user interface (or Human Machine Interface) is the aggregate of means by which people—the users—interact with the system—a particular machine, device, computer program or other complex tools) which allows people to interact with a computer and computer-controlled devices. As opposed to traditional interface, it presents graphical icons, visual indicators or special graphical elements called "widgets". Often the icons are used in conjunction with text, labels or text navigation to fully represent the information and actions available to a user. But instead of offering only text menus, or requiring typed commands, the actions are usually performed through direct manipulation of the graphical elements.
The term GUI is historically restricted to the scope of two-dimensional display screens with display resolutions capable of describing generic information, in the tradition of the computer science research at Palo Alto Research Center (PARC) (formerly Xerox PARC and still a subsidiary of Xerox). The term GUI might not apply to other high-resolution types of interfaces that are non-generic, such as videogames, or not restricted to flat screens, like volumetric displays.

History
Precursors


The precursor to GUIs was invented by researchers at the Stanford Research Institute, led by Douglas Engelbart. They developed the use of text-based hyperlinks manipulated with a mouse for the On-Line System. The concept of hyperlinks was further refined and extended to graphics by researchers at Xerox PARC, who went beyond text-based hyperlinks and used a GUI as the primary interface for the Xerox Alto computer. Most modern general-purpose GUIs are derived from this system. As a result, some people call this class of interface a PARC User Interface (PUI) (note that PUI is also an acronym for perceptual user interface).
Ivan Sutherland developed a pointer-based system called Sketchpad in 1963. It used a light-pen to guide the creation and manipulation of objects in engineering drawings.

PARC User Interface

The PARC User Interface consists of graphical widgets (often provided by widget toolkit libraries) such as windows, menus, radio buttons, check boxes and icons. The PARC User Interface employs a pointing device in addition to a keyboard. These aspects can be emphasized by using the alternative acronym WIMP, which stands for Windows, Icons, Menus and Pointing device.



Evolution
Following PARC the first GUI-centric computer operating model was the Xerox 8010 Star Information System in 1981.
The GUIs familiar to most people today are Microsoft Windows, Mac OS X, and the X Window System interfaces. Apple, IBM and Microsoft used many of Xerox's ideas to develop IBMs Common User Access specifications that formed the basis of the user interface found in Microsoft Windows, IBM OS/2 Presentation Manager, and the Unix Motif toolkit and window manager. These ideas evolved to create the interface found in current versions of the Windows operating system, as well as in Mac OS X and various desktop environments for Unix-like systems. Thus most current GUIs have largely common idioms.



GUI developed in 1981 for the Star workstation, officially known as the 8010 Star Information System



Components
A GUI uses a combination of technologies and devices to provide a platform the user can interact with, for the tasks of gathering and producing information. GUI can be defined by its visual elements, which simplify the way the user interacts with the computer. The most common combination in GUIs is the WIMP paradigm
The acronym WIMP can be expanded differently. The terms may be plural or singular, and the term corresponding to P varies the most. All of the following can be found on the web (as of 2004):

W: Window(s)

I: Icon(s)

M: Menu(s); Mouse/Mice (rarely) (note that mice are a subset of pointing devices)

P: Pointing device(s); Pointing; Pointer(s) (note that the term "pointer" is often used as a synonym for mouse cursor); Pull-down menu(s) (note that pull-down menus can be thought of as a subset of menus) It is normally just "Pointer" though
Another possibility is to have the P in WIMP stand for Program, allowing it to be used as a noun (like the noun GUI, for graphical user interface) rather than as an adjective or qualifier.
WIMP includes following elements of interface:


  • Pointer

Pointer is a graphical image on a screen that indicates the location of a pointing device, and can be used to select and move objects or commands on the screen. A pointer commonly appears as an angled arrow, but it can vary within different programs or operating systems.

The pointer is a graphical representation of the movements made by a pointing device. The most common pointing device is the mouse; other kinds include a tracker ball, touchpad, pointing stick, lightpen, and various other kinds of digitizing tablets.





  • Window

A window is an area on the screen that displays information, with its contents being displayed independently from the rest of the screen. It is easy for a user to manipulate a window: it can be opened and closed by clicking on an icon or application, and it can be moved to any area by dragging it. A window can be placed in front or behind another window, its size can be adjusted, and scrollbars can be used to navigate the sections within it. Multiple windows can also be open at one time, in which case each window can display a different application or file.



  • Menus

Menus allow the user to execute commands by selecting from a list of choices. Options are selected with a mouse or other pointing device within a GUI. A keyboard may also be used.


  • Icons

An icon is a graphical image, small picture or object that represents a file, program, web page, or command. They are a quick way to execute commands, open documents, and run programs. Icons are also very useful when searching for an object in a browser list, because in many operating systems all documents using the same extension will have the same icon.


  • Tabs

A tab is typically a rectangular small box which usually contains a text label or graphical icon associated with a view pane. When activated the view pane, or window, displays widgets associated with that tab; groups of tabs allow the user to switch quickly between different widgets. This is used in the web browsers Firefox, Opera, Konqueror, and Internet Explorer (v.7+). With these browsers, you can have multiple web pages open at once and quickly navigate between them by clicking on the tabs associated with the pages. Tabs are usually placed in groups at the top of a window.


  • Widgets (optionally)

A widget is an interface element that a computer user interacts with, and is also known as a control. Programmers of GUIs use off-the-shelf libraries of common reusable widgets to build applications.

In personal computers all these elements are modelled through a desktop metaphor, to produce a simulation called a desktop environment in which the display represents a desktop, upon which documents and folders of documents can be placed. Window managers and other software combine to simulate the desktop environment with varying degrees of realism.


User interfaces based on the WIMP style are very good at abstracting workspaces, documents, and their actions. Their analogous paradigm to documents as paper sheets or folders, makes WIMP interfaces easy to introduce to novice users. Furthermore their basic representations as rectangular regions on a 2D flat screen make them a good fit for system programmers. Generality makes them very suitable for multitasking work environments.
This explains why the paradigm has been prevalent over more than 20 years, both giving rise to and benefiting from the availability of commercial widget toolkits that support this style. Though several HCI researchers consider this to be a sign of stagnation in user interface design, a current lack of innovation in the search for new interaction models.
There are applications for which WIMP is not well suited, they argue, and the lack of technical support increase difficulty for the development of their interfaces. This include any application requiring devices that provides continuous input signals, showing 3D models, or simply portraying an interaction for which there is not defined any standard widget. Andries van Dam call these interfaces post-WIMP GUIs.

Post-WIMP Interfaces
Smaller mobile devices such as PDAs and smartphones typically use the WIMP elements with different unifying metaphors, due to constraints in space and available input devices. Applications for which WIMP is not well suited may use newer interaction techniques, collectively named as post-WIMP user interfaces.
Some touch-screen-based devices such as Apple's iPhone currently use post-WIMP styles of interaction. The iPhone's use of more than one finger in contact with the screen allows actions such as pinching and rotating, which are not supported by a single pointer and mouse.
A class of GUIs sometimes referred to as post-WIMP include 3D compositing window manager such as Compiz, Desktop Window Manager, and LG3D. Some post-WIMP interfaces may be better suited for applications which model immmersive 3D environments, such as Google Earth.


User Interface and Interaction Design
Designing the visual composition and temporal behavior of GUI is an important part of software application programming. Its goal is to enhance the efficiency and ease of use for the underlying logical design of a stored program, a design discipline known as usability. Techniques of user-centered design are used to ensure that the visual language introduced in the design is well tailored to the tasks it must perform.
Typically, the user interacts with information by manipulating visual widgets that allow for interactions appropriate to the kind of data they hold. The widgets of a well-designed interface are selected to support the actions necessary to achieve the goals of the user. A Model-view-controller allows for a flexible structure in which the interface is independent from and indirectly linked to application functionality, so the GUI can be easily customized. This allows the user to select or design a different skin at will, and eases the designer's work to change the interface as the user needs evolve. Nevertheless, good user interface design relates to the user, not the system architecture.
The visible graphical interface features of an application are sometimes referred to as "chrome". Larger widgets, such as windows, usually provide a frame or container for the main presentation content such as a web page, email message or drawing. Smaller ones usually act as a user-input tool.
A GUI may be designed for the rigorous requirements of a vertical market. This is known as an "application specific graphical user interface." Examples of an application specific GUI are:

  • Touchscreen point of sale software used by waitstaff in a busy restaurant

  • Self-service checkouts used in a retail store

  • Automated teller machines (ATM)

  • Airline self-ticketing and check-in

  • Information kiosks in a public space, like a train station or a museum

  • Monitors or control screens in an embedded industrial application which employ a real time operating system (RTOS).

The latest cell phones and handheld game systems also employ application specific touchscreen GUIs. Newer automobiles use GUIs in their navigation systems and touch screen multimedia centers.

There are several phases and processes in the user interface design some of which are more demanded upon than others depending on the project. (note for the remainder of this section the word system is used to denote any project whether it is a web site, application, or device)


  • Functionality requirements gathering – assembling a list of the functionality required of the system to accomplish the goals of the project and the potential needs of the users.

  • User analysis – analysis of the potential users of the system either through discussion with people who work with the users and/or the potential users themselves. Typical questions involve:

    • What would the user want the system to do?

    • How would the system fit in with the user's normal workflow or daily activities?

    • How technically savvy is the user and what similar systems does the user already use?

    • What interface look & feel styles appeal to the user?

        • Information architecture – development of the process and/or information flow of the system (i.e. for phone tree systems, this would be an option tree flowchart and for web sites this would be a site flow that shows the hierarchy of the pages).

        • Prototyping – development of wireframes, either in the form of paper prototypes or simple interactive screens. These prototypes are stripped of all look & feel elements and most content in order to concentrate on the interface.

        • Usability testing – testing of the prototypes on an actual user—often using a technique called talk aloud protocol where you ask the user to talk about their thoughts during the experience.

        • Graphic Interface design – actual look & feel design of the final graphical user interface (GUI). It may be based on the findings developed during the usability testing if usability is unpredictable, or based on communication objectives and styles that would appeal to the user. In rare cases, the graphics may drive the prototyping, depending on the importance of visual form versus function. If the interface requires multiple skins, there may be multiple interface designs for one control panel, functional feature or widget. This phase is often a collaborative effort between a graphic designer and a user interface designer, or handled by one who is proficient in both disciplines.

User interface design needs good understanding of user needs.



Comparison to other interfaces



  • Command line interfaces

GUIs were introduced in reaction to the steep learning curve of command line interfaces (CLI), which require commands to be typed on the keyboard. Since the commands available in command line interfaces can be numerous, complicated operations can be completed using a short sequence of words and symbols. This allows for greater efficiency and productivity once many commands are learned, but reaching this level takes some time because the command words are not easily discoverable. WIMPs ("window, icon, menu, pointing device"), on the other hand, present the user with numerous widgets that represent and can trigger some of the system's available commands.


WIMPs extensively use modes as the meaning of all keys and clicks on specific positions on the screen are redefined all the time. Command line interfaces use modes only in limited forms, such as the current directory and environment variables.
Most modern operating systems provide both a GUI and some level of a CLI, although the GUIs usually receive more attention. The GUI is usually WIMP-based, although occasionally other metaphors surface, such as those used in Microsoft Bob, 3dwm or File System Visualizer (FSV).
Applications may also provide both interfaces, and when they do the GUI is usually a WIMP wrapper around the command-line version. This is especially common with applications designed for Unix-like operating systems. The latter used to be implemented first because it allowed the developers to focus exclusively on their product's functionality without bothering about interface details such as designing icons and placing buttons. Designing programs this way also allows users to run the program non-interactively, such as in a shell script.



  • Text user interfaces

Text user interfaces (TUI) share with GUIs their use of the entire screen area and exposure of available commands through widgets like form entry and menus. However, TUIs only use text and symbols available on a typical text terminal, while GUIs typically use high resolution graphics modes. This allows the GUI to present more detailed information and fine-grained direct manipulation.





  • Three-dimensional user interfaces






Screenshot showing the "cube" plugin of Compiz
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é, etc.)
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. Quartz Extreme for Mac OS X and Windows Vista's Aero interface use 3D rendering for shading and transparency effects as well as Expose and Windows Flip and Flip 3D, respectively. Vista uses Direct3D to accomplish this, whereas the other interfaces use OpenGL.


Motivation
Three-dimensional GUIs are quite common in science fiction literature and movies, such as in Jurassic Park, which features Silicon Graphics' three-dimensional file manager, "File system navigator", an actual file manager that never got much widespread use as the user interface for a Unix computer. In fiction, three-dimensional user interfaces are often immersible environments like William Gibson's Cyberspace or Neal Stephenson's Metaverse.
Three-dimensional graphics are currently mostly used in computer games, art and computer-aided design (CAD). There have been several attempts at making three-dimensional desktop environments like Sun's Project Looking Glass or SphereXP from Sphere Inc. A three-dimensional computing environment could possibly be used for collaborative work. For example, scientists could study three-dimensional models of molecules in a virtual reality environment, or engineers could work on assembling a three-dimensional model of an airplane. This is a goal of the Croquet project and Project Looking Glass.
Technologies
The use of three-dimensional graphics has become increasingly common in mainstream operating systems, but mainly been confined to creating attractive interfaces—eye candy—rather than for functional purposes only possible using three dimensions. For example, user switching is represented by rotating a cube whose faces are each user's workspace, and window management is represented in the form of Exposé on Mac OS X, or via a Rolodex-style flipping mechanism in Windows Vista (see Windows Flip 3D). In both cases, the operating system transforms windows on-the-fly while continuing to update the content of those windows.
Interfaces for the X Window System have also implemented advanced three-dimensional user interfaces through compositing window managers such as Beryl and Compiz using the AIGLX or XGL architectures, allowing for the usage of OpenGL to animate the user's interactions with the desktop.
Another branch in the three-dimensional desktop environment is the three-dimensional GUIs that take the desktop metaphor a step further, like the BumpTop, where a user can manipulate documents and windows as if they were "real world" documents, with realistic movement and physics.
The Zooming User Interface (ZUI) is a related technology that promises to deliver the representation benefits of 3D environments without their usability drawbacks of orientation problems and hidden objects. It is a logical advancement on the GUI, blending some three-dimensional movement with two-dimensional or "2.5D" vector objects.

Current OS GUI


  • Mac OS





Mac OS X v10.5 "Leopard" (October 2007).

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.
In 2007 with the release of 10.5 Leopard the look of the OS was revised again. Brushed metal was removed in favor of the Unified theme made up of grey gradients. It is very similar to the style iTunes has had since version 6.0. It also incorporates Coverflow into the Finder In addition the dock has been changed to become a reflective shelf with the application icons sitting on it. The menu bar has the option of partial transparency, and all windows have an increased drop shadow.



  • Windows Vista






Windows Vista

Windows Vista uses desktop window manager (DWM, previously Desktop Compositing Engine or DCE) that enables the Windows Aero graphical user interface and visual theme. DWM is a compositing window manager. And Windows Aero is a Vista's premier visual style. It introduces support for 3D graphics (Windows Flip 3D), translucency effects (Glass), live thumbnails, window animations, and other visual effects, and is intended for mainstream and high-end graphics cards. To enable these features, the contents of every open window are stored in video memory to facilitate tearing-free movement of windows. As such Windows Aero has significantly higher hardware requirements than its predecessors but provides an improved GUI appearance.





  • X Window based OS`s

The X Window System (commonly X11 or X) is a windowing system which implements the X display protocol and provides windowing on bitmap displays. It provides the standard toolkit and protocol with which to build graphical user interfaces (GUIs) on most Unix-like operating systems and OpenVMS, and has been ported to many other contemporary general purpose operating systems.


X provides the basic framework, or primitives, for building GUI environments: drawing and moving windows on the screen and interacting with a mouse and/or keyboard. X does not mandate the user interface — individual client programs handle this. As such, the visual styling of X-based environments varies greatly; different programs may present radically different interfaces. X is not an integral part of the operating system; instead, it is built as an additional application layer on top of the operating system kernel.
Unlike previous display protocols, X was specifically designed to be used over network connections rather than on an integral or attached display device. X features network transparency: the machine where an application program (the client application) runs can differ from the user's local machine (the display server).


    • KDE






Windows Vista

KDE (K Desktop Environment) is a free software project which aims to be a powerful system for an easy-to-use desktop environment. The goal of the project is to provide basic desktop functions and applications for daily needs as well as tools and documentation for developers to write stand-alone applications for the system. In this regard, the KDE project serves as an umbrella project for many standalone applications and smaller projects that are based on KDE technology. These include KOffice, KDevelop, Amarok, K3b and many others.





    • GNOME






Windows Vista

GNOME is an international effort to build a complete desktop environment—the graphical user interface which sits on top of a computer operating system—entirely from free software. This goal includes creating software development frameworks, selecting application software for the desktop, and working on the programs which manage application launching, file handling, and window and task management.


GNOME is part of the GNU Project and can be used with various Unix-like operating systems, most notably Linux, and as part of Java Desktop System in Solaris.
GNOME is designed around the traditional computing desktop metaphor. Its handling of windows, applications and files is similar to that of contemporary desktop operating systems. In its default configuration, the desktop has a launcher menu for quick access to installed programs and file locations; open windows may be accessed by a taskbar along the bottom of the screen and the top-right corner features a notification area for programs to display notices while running in the background. However these features can be moved to almost anywhere the user desires, replaced with other functions or removed altogether.
The appearance of GNOME can be changed by the use of themes, which are sets consisting of an icon set, window manager border and GTK+ theme engine and parameters. Popular GTK+ themes include Bluecurve and Clearlooks (the current default theme).
GNOME puts emphasis on being easy for everyone to use. The HIG helps guide developers in producing applications which look and behave similarly, in order to provide a cohesive GNOME interface.

Conclusion
Graphical user interface quality is usually measured by its usability. Usability is the degree to which the design of a particular user interface takes into account the human psychology and physiology of the users, and makes the process of using the system effective, efficient and satisfying. Concerning GUI usability is now recognized as the most important quality attribute, pushing aside more traditional attributes such as performance and functionality. In that case WIMP, post-WIMP and three-dimensional user interfaces are regarded as more or less equal. The future will show which one of them would survive.

References


  1. http://en.wikipedia.org/wiki/GUI

  2. http://en.wikipedia.org/wiki/Usability

  3. http://en.wikipedia.org/wiki/Elements_of_graphical_user_interfaces

  4. http://en.wikipedia.org/wiki/User_interface_design

  5. http://en.wikipedia.org/wiki/WIMP_(computing)

  6. http://en.wikipedia.org/wiki/History_of_the_graphical_user_interface

  7. http://en.wikipedia.org/wiki/Desktop_Window_Manager

  8. http://en.wikipedia.org/wiki/KDE

  9. http://en.wikipedia.org/wiki/GNOME

  10. http://en.wikipedia.org/wiki/X_server




Yüklə 55,13 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə