next up previous

2.3 The X Window System

The idea of basing user interactions on a ``mouse'' or other pointer device and window panes that appear to be overlapping pieces of paper on a desktop can be traced to research projects carried out at Xerox Palo Alto Research Center (PARC) in the 1970s. Early commercial systems that used this style of ``point and click'' user interface for special purpose computing systems were developed by Xerox, Symbolics, and other companies. The Symbolics machines were advanced programming environments for developing applications in the LISP programming language, with editors and other software that organized information in window-based displays. Sun Microsystems was one of the first companies to use a windowing system as an interface for Unix, bringing this technology into the arena of general purpose computing.

By the mid 1980s there were several window-based Unix systems on the market, but the situation from a programmer's perspective was chaotic. Applications written for one window system were very difficult to ``port'' to another system, since each manufacturer had defined their own graphics languages and system routines for drawing and interacting with windows. A research project started at MIT and sponsored by the major workstation vendors addressed this problem by defining a programming interface to a generic (brand X) window system. Each vendor would then be responsible for implementing the X Window protocol on their own systems, optimizing and extending the system to take advantage of their special hardware as long as they provided the necessary basic services.