LINFO

Window Definition



A window is a (usually) rectangular portion of the display on a computer monitor that presents its contents (e.g., the contents of a directory, a text file or an image) seemingly independently of the rest of the screen. Windows are one of the elements that comprise a graphical user interface (GUI).

A GUI is a type of human-computer interface (i.e., a system for people to interact with a computer) that uses windows, icons, pull-down menus and a pointer and that can be manipulated by a mouse (and usually to some extent by a keyboard as well). An icon is a small picture or symbol that represents a program (or command), file, directory (also called a folder) or device (such as a hard disk or floppy disk).

The GUI represents a major advance over the command line interface (CLI) of the console, which displays only text (i.e., no images) and is accessed solely by a keyboard. It has made computers much easier to learn and work with, and it has also led to the development of major new applications for them, including desktop publishing and CAD (computer-aided design).

The words window and windows are generic terms and should not be confused with Microsoft Windows (although they sometimes are). The latter is the trade name that Microsoft selected for its series of operating systems that employ a GUI. (The originally intended name was Interface Manager, but Microsoft's marketing expert Rowland Hanson convinced co-founder Bill Gates that Microsoft Windows was preferable).

Flexibility of Windows

A major feature of windows is the ability to be manipulated easily and intuitively (i.e., with little or no instruction) even by inexperienced users. The ways in which they can be manipulated usually include (1) opening (such as by clicking on an icon and starting an application program) and closing, (2) moving to any area of the screen by dragging (i.e., moving by placing the pointer over the window and moving the mouse with a button held down), (3) repositioning so that they appear to be behind or in front of other windows or objects on the screen, (4) adjusting size (i.e., horizontal and/or vertical dimensions) and (5) scrolling to any section of the window contents (by using scroll bars along the bottom and right edges, the mouse wheel or keyboard commands).

The size of most windows can be adjusted over a wide range including full screen, a fraction of the screen and more than the full screen. In the latter case, the desired section of the window can be viewed by moving the window to expose it. Windows can also be minimized, which results in their being replaced by an icon and/or their name, usually in a strip along the bottom of the screen, without actually closing the underlying application program.

This flexibility is made possible by the various parts which can constitute a window. They include frames, vertical and horizontal scrollbars, drag strips (usually along the top for dragging the entire window and along the other edges and lower corners for changing window size), buttons (for closing, maximizing and minimizing) and tabs (for moving among pages in a window).

Multiple Windows

Another major feature of windows is the ability for multiple windows to be open simultaneously. This is particularly valuable in a multitasking environment, i.e., an operating system in which multiple programs can run seemingly simultaneously and without interfering with each other. Each window can display a different application, or it can display different files that have been opened or created with a single application (e.g., text, image or spreadsheet files).

Moreover, there is a great deal of flexibility with regard to how multiple open windows can be arranged with respect to each other. They can be arranged so that they are contiguous and do not overlap (tiled windows) or so they do overlap (overlaid windows). Overlaid windows resemble a stack of documents lying on top of one another (part of the desktop metaphor that characterizes most GUIs at present), and only the upper-most window is displayed in full. Any window can be moved to the top of the stack and made the active window (i.e., ready for receiving user input) by positioning the pointer in any portion of it that is visible and clicking a mouse button.

When most GUI programs are launched, they open in a single window. There are a number of exceptions, among them The GIMP (an open source image manipulation program comparable to Adobe PhotoShop), which opens in multiple windows, each for a different set of tools or options.

The main limitations on the numbers of windows that can be open simultaneously are system memory and user convenience. Rarely do users find it advantageous to keep open as many windows as the system memory will allow.

Specialized Windows

There are various type of windows, and their functions and appearances can vary substantially. For example, a browser is a specialized type of window that has additional functionality, including the ability for the user to move forward or backward through a sequence of documents (i.e., web pages). The more advanced browsers (e.g., Mozilla and Opera) have also incorporated the tabbed concept that had earlier been developed for windows for other applications.

Other types of windows have reduced functionality. For example, terminal windows emulate a console and thus contain only text. They offer all of the advantages of the console to users of a CLI together with some of the advantages of conventional windows, including the ability to be used while the GUI is in operation and the ability for multiple terminal windows to be open simultaneously.

Child windows are windows that are opened either automatically or as a result of some user activity when using a parent window. They can range in functionality from the very simple to the full complement of controls. Some annoying pop-up windows that appear when visiting some websites purposely lack buttons for closing them.

Message windows, also referred to as dialog boxes or pop-up messages are a type of child window. A dialog box is usually a small and very basic window that is opened by a program or by the operating system to provide information to the user and/or obtain information (or at least a response) from the user, including setting options or issuing commands. They usually lack most of the functionality of the more general types of windows (e.g., the ability to scroll) and in some cases have buttons that must be pushed before other computer functions or programs can be resumed.

Difference Between a Window and an Icon

As icons have attained photograph-like resolution and the ability to display a miniature image of the contents of the files they represent (e.g., a picture in the case of a graphic file or the first few words of text in the case of a text file), the question arises as to whether they should be considered to be miniature windows.

There is still a major difference. Although icons generally can be moved by dragging as can windows, they lack most of the functions and components of windows. An icon is analogous to a button: clicking it starts a program or function, which usually opens a window. The simplest possible window, i.e., a dialog box, can contain buttons but, unlike an icon, the window itself is not a button. A window could, at least theoretically, be minimized to the size of an icon, but it is still not an icon because it is not a clickable single button.

It is possible, however, that windows and icons could become more closely integrated in the future. For example, icons could be redesigned so that they could be resized to the size and functionality of a window by dragging them, and windows could be redesigned so that they could be dragged down to the size of an icon.

Origin of Windows

Windows were originally developed by Douglas Engelbart at Stanford Research Institute (SRI) as part of his invention of the computer mouse. He produced his first prototype mouse in 1964 for use with a GUI which contained a window. The first public presentation of windows was a 90 minute demonstration in 1968 of a networked computer system that was held at Engelbart's Augmentation Research Center in SRI, which included a mouse, hypermedia (i.e., hyperlinked text, images and sound) and video conferencing.

In 1970 Engelbart received a patent for a mouse made from a wooden shell with two metal wheels, which he described in the patent application as an "X-Y position indicator for a display system." However, his version of a window was not considered patentable because software patents were not being issued.

Further work was carried out on windows at Xerox Palo Alto Research Center (PARC), which was established in 1970 by Xerox Corporation in Silicon Valley near SRI. Among PARC's many breakthroughs were the GUI and the first desktop computer, the Alto, which was also the first computer to use a GUI (including primitive windows).

The first commercial use of windows was on the Macintosh personal computer, which was introduced in 1984. This came about as a result of a now famous 1979 visit by Steve Jobs, Apple's co-founder, to PARC where he was highly impressed by the numerous (about 150) Altos in use there. In addition to overlapping windows, the Macintosh's GUI also featured icons, pull-down menus and a mouse.

Microsoft announced that it was developing a GUI personal computer in November, 1983. The initial version, dubbed Microsoft Windows 1.0 and released in November 1985, made use of windows, although they were not overlapping and there were no icons. The much-improved Windows 2.0, which was released two years later, incorporated icons and had windows that could overlap. Today windows are used by most computer operating systems, not just the Macintosh and Microsoft Windows.

Another GUI system, the X Window System, was developed in the early 1980s 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 hardware. Due to its excellent performance and open source nature, the X Window System has become the standard windowing system for virtually all Unix-like operating systems.

The Future

Windows technology is continuing to advance. One major area of interest is in giving windows the ability to be easily rotated and manipulated in three dimensions. This includes creating the illusion of peeling away windows that are layered on top of other windows.

Another, probably more useful, function for windows would be the ability for users to easily merge them so that two images or columns of text can be joined just by moving the windows to the appropriate locations and issuing simple mouse or keyboard commands. Likewise, it would be useful if users had simple techniques for cutting windows (and their contents) into multiple windows.

Transparent windows are already used to some extent in higher-end graphics programs, where they are referred to as layers. However, they are still not in general use, such as for text editing and word processing programs. Features of transparent windows could include the ability of the user to easily (1) adjust the degree of transparency and (2) set windows so that they only become transparent or opaque under certain conditions. For example, windows could automatically become semi-transparent when they are inactive (i.e., when another window or application is currently being used). A useful example of the opposite situation, i.e., a semi-transparent active window, would be typing text into such a window while reading the contents of an opaque window behind it.






Created August 9, 2004.
Copyright © 2004 - 2005 The Linux Information Project. All Rights Reserved.