Window Interfaces A Taxonomy o f Window Manage r User Interfaces Brad A. Myers Carnegie Mellon University This articl e presents a taxonomy for the user-visible parts of window managers. It is interesting that there are actually ver y few signi ficant differences, and the differenc es can be classified i n a taxonomy with fairly limited branching. This taxonomy should be useful in evaluating the similarities and differenc es of various window managers, and it will also serve as a guide for the issues that need to be add ressed by designers of future window manager user interfaces. The advan- tages and disadvantages o f the various options are also presented. Since many modern window managers allow the user interface to be customized to a large degree, it is important t o study the choices available. A indow manager is a software package that helps the user monitor and control different contexts by separating them physi call y onto different parts of on e or more display screen s. At its simplest , a windo w manage r provides many separate terminals on the same screen, each with its own connection to a time-sharing com- pute r. At its most advanced , a window manager supports many different activities, each of which uses many win- dows, and each window, in turn, can contain many different kinds of information in cluding text, graphics, and even video. Window managers are sometimes imple- mented as part of a computer’s operat ing system an d sometimes as a server that ca n be used i f d esired. They September 1988 0272-1;1618810900-0065s0100 198R ltEE 65 Authorized licensed use limited to: Carnegie Mello n Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
8/6/2019 A Taxonomy of Window Manager User Interfaces
manl/ manY mmWman> cd manlm a d >x.1 r c s l z c . 1b l f f . l w .1bltaap.1 xclock.1kcycmp. 1 x c o l o r r.pIkaplx.1 xdmo.1manl) 11t o t a l 1 8 1-rw-r--r-- 1 mlrc-w-r--r-- 1 mirc-w- r - - r - - 1 mlrc-w- r - - r - - 1 mirc
-pw-p--p-- 1 mlsc-RJ-r--r-- 1 mlsc-w-r--r-- 1 mlsc-w- r - - r - - 1 mlrc-rw-r--r-- 1 m i s t
-w- r - - r - - 1 mlsc-w- r - - r - - 1 n i r c-w- r - - r - --w- r - - r - -
-w-r--r--
-w-r--r---w-r--r--
-w-).--r--
-pw-p--r--
-rw-p--p---w-r--r--
-rw-r--r---rw-r--r--
-w-r--r---w-r--r--
-w- r - - r - --rw-r--r--
-pw-r--p--
1 mlsc1 n l r c1 misc1 m l s c1 n l r c1 mlsc1 mlrc1 mlsc
1 mlsc1 mlrc1 mlsc1 mlrc1 mlsc1 mlsc1 mlsc1 mltc
xdpr. 1X d v l . 1xfax.1xfd.1
xhost .1
16591 Apr2188 Apr
13633 Apr5648 Apr3516 Apr1539 Apr
15276 Apr5145 Apr2421 Apr6711 FIpr1023 Apr
xlmpv.1 xpr.1 xtre k.1x l n l t . 1 x r e f re r h .1 w d . 1x l oa d .1 x s e t . 1 w l n i n f o . 1x m . 1 x s h c l l . 1 m.1
provide a higher level interface to the mouse, keyboard,
and screen, and therefore can support much higher qual-
ity user interfaces. For example, the window managerson the Star’ and Macintosh’ help support the meta-
phor that using the compute r is like doing operations on
a physical desk. This higher level interface can also make
application code more portable from one machine to
another, since the same window manager proceduralinterface can be provided on different machines. Thiswas an important motivation for the development of the
X window manager.4
Today ther e are a large number of window managers
in existence from many companie s and research groups,and more are being created all the time. In surveying
these window managers, it became clear that there are
many similarities between all of them, and the differ-
ence s can be characterize d on a small number of differ-
ent axes. (This survey was started at the Alvey MMIWorkshop on Window Management.‘) Most of the
ideas seem to have originated at the Xerox Palo AltoResearch Center, including windows in general
and tiled windows (Cedar” ,”). Of course every windowmanager has its own original aspects, but most of the
important features of the user interfaces of window
manager s do not s eem to vary markedly.
With the advent of the X window manager,4 which is
rapidly becoming a de facto standard, the study of theuser interface component is becoming more critical.
This is because X and many other modern windowmanagers allow the user interface to be changed, while
still maintaining the same application interface. User
interface designers therefore a re faced with not only achoice for the user interface of their application, but alsofor that of the window manager. It is therefore important
to focus on the different choices in the user interfacecomponent of windo w managers. This article presents
a taxonomy of the choices used i n existing window man-
ager user interfaces, along with some advantages anddisadvantages of each choice.
(At the time of thi s wri ting, Xerox, AT&T, and S un had
just announced a portable window-manager user inter-face called “Open Look,” which apparently will beimplemented on multiple-window managers, including
X ’ nd NeWS.” Open Look, which is based partially onthe user interface of the Xerox Star, is designed to match
the ease of use of the Macintosh, and thereby make Unixsystems more user friendly.)
Definition of termsThe previous section defined “window managers”
and discussed the reason they are so popular. This sec-
tion defines some related terms that a re important for
understanding how windo w managers work.
A window manager ca n be logically divided into two
layers, each of which has two parts. The base layer imple-
ments the basic functionality of the window manager.
The two parts of this layer handle the display of graphics
in windows and access to the various input devices
(usually a keyboard and a pointing device such as amouse). The primary interface of this layer is to other
programs, and it is called the window manager’s appli-
cation o r program interface. The base layer is not dis-cussed further in this article. The othe r layer of window
manager s is the user interface. This includes all aspect sthat a re visible to the user. Sometimes the base layer is
called a window system, reserving the name “window
manager ” for the user interface layer. Since this article
deals only with the user interface layer, the term “win-
dow manager” is used here.
The two pa rts of the u ser interface layer are the presen-tation, which is composed of the pictures that the win -
dow manager displays, and the operations, which are the
comma nds the user can give to manipulate the windows
and their contents. Figure 1shows windows that demon-
strate different aspects of the presentation, includingpatterns or pictures for the area where there ar e no win-
dows, title lines and borders for windows, etc. Examples
of the operations that may be provided for windows
include moving them arou nd on the screen and specify-ing their size.
One very important aspect of the presentation of win-
dows is whether they can overlap or not. Overlapping
windows , sometimes called covered windows, a re a fea-
ture allowing a window to be partially or totally on top
of another window, as shown in Figure 1.This is also
sometimes called the desktop metaphor, since windows
can cover each other like pieces of paper can cover each
other on a desk. (There are usually other aspects to the
desktop metaphor, however, such as presenting file oper-ations in a way that mimics office operations, as in the
Star office workstation.’,’) The other alternative is
called tiled windows, whic h means that windows are not
allowed to cover each other. Figure 2 shows an example
of tiled windows. The advantages and disadvantages of
each are discussed below. Obviously, a window manager
that supports covered windows can also allow them to
be side by side, but not vice versa. Therefore, a window
manager is classified as covered if it allows windows to
overlap.
Another important aspect of the presentation of win-
dows is the use of icons. These are small pictures that
represent windows. They are used because there wouldotherwi se be too many windows to conveniently fit on
the screen and manage easily. When a window is not in
use,it
can be removed a nd replaced with its icon, andlater conveniently retrieved when needed. Figure 3
shows examples of icons from some different window
managers. The section on icons discusses the options
available for icons in more detail.
An important aspect of window managers is how the
user changes which window is connected to the key-
September 1988 67
Authorized licensed use limited to: Carne ie Mellon Libraries Downloaded on Au ust 10 2009 at 22:52 from IEEE X lore Restrictions a l
8/6/2019 A Taxonomy of Window Manager User Interfaces
Figure 2. A screen from the Cedarlo9”window manager. Windows are “tiled” into two columns. There is a
row of icons along the bottom. Each window has a fixed menu of commands below the title line.
board. Although there will typically be multiple win-dows, there is usually only on e keyboard for each user.
Therefore, only one window at a time can be attached
to the keyboard. This window is termFd the listener, since
it is listening to the user’s typing. Another term for this
window is the input (orkeyboard) focus. Older systemscalled the listener the “active window” or “current win-
dow,” but these are poor terms, since in a multiproces-
sing system, many windows can be actively outputting
information at the same time. Window managers provide
various ways to specify and sho w which window is thelistener.
Most window managers use some form of pointer,which is an input device that returns a 2D value used to
identify locations on the screen. Pointing devices are
typically used for specifying window size and position,
for selecting characters in an editor, for drawing lines in
a graphics program, and for transferring a picture (such
as a map) nto the computer by specifying points (this last
use is called digitizing). Examples of pointing devices are
light pens, electromagnetic tablets with pucks or pen-like styli, touch-sensitive surfaces (touch tablets or touch
screens), trackballs, and mechanical or optical mice.’”Since the most popular pointing device fo r window
manager s is a mouse, the term mouse will often be used
in this article to mean pointing device.Light pens and touch screens are used for pointing
directly at the screen, but with the other types the user
moves a device on th e desk o r on a special surface, anda small pictu re, called th e tracking symbol or cursor, fol-
lows the movement on the screen. In many windowmanagers the picture for the cursor can be chang ed, buta common picture is an arrow pointing to the upper left.
Pointing devices usually have one or more buttons. Fo r
example, there a re typically one to three buttons o n the
top of a mouse. Some window manager s allow the user
68 I E E E C o m p u t e r G r a p h i c s & A p p l i c a t i o n s
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
Figure 3. Examples of icons from different systems: Sapphire,I3Ma ~ i n t o s h , ~,4 Cedar," and Star.' Some of
the X icons contain the actual text displayed in the window in a tiny (unreadable) font.
to press two o r three times quickly to specify additional
commands. This is called multiclicking (for example,
pressing twice quickly is double-clicking). Window
managers may also suppor t holding down keyboard keys
(such as the shift key) while pressing a mouse button.
This is often used to modify the button's meaning.
The window manager versus add-ons
To compar e window managers, it is first necessary to
establish the boundar ies of discussion. A window man-
ager provides the basic service of managing differentwindows o n the screen, as defined above. In many sys-
tems, however, other services are also provided, and
these are often classified as part of the window manager.By providing these services in a central place, the system
promotes consistency and makes applications easier. Tocompare the window managers of these different sys-tems, however, it is important to classify which aspects
are being compared and which are considered add-onservices. This section discusses some of these add-onsso that the rest of the article can concentrate o n the win-
dow manager portion itself.
Some common add-ons are th e following:
1. a typescript package (handles user typing)
2 . entire editors
3 . a graphics package for output (also called the imag-
4. menus of various kinds
5. forms (also called dialogue boxes)
6. scrolling mechanisms
7. general tool kits (which usually include menus,
ing mode l
forms, and scrolling mechanisms]
September 1988 69
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
Tajo Xerox SDDStar Xerox SDDBlit AT&T Bell LabsDisplay Manager Apollo?? SymbolicsSapphire Three RiversPNX ICLsun w ndows Suncedar Xerox PARCWindow Manager AppleWindow Manager AppleAndrew CMU ITC (Elm
Whitechapel WhitechapelR T L /C R T L SiemensMSWindows Microsoft
AltwmainframeDorado
DandelionDandelionB lit
ApolloSymbolics
PERQPERQ
SunDaradoLisa
MacintoshIBM-RT, Sun
MG-1PERQ
IBM-PC
CC
CTCCCCCCTCCT
CT
T
Viewpoint Xerox SDD 6085/1186 T orC
X MIT Proiect Athena cmanv> C
first use of icons, renamed "XDE"firstproduct with windows1stdocumented impl.; terminal emulatororiginally had no mouseuses multi-clickingactive icons
feedback is full windows
first tiled; used graphics package
popularized windows & mouse
no columns; used constraintscurrent version supportscoveted also
swcessor to Xerox star
4035
8.9.381,2,4636494813411710,11,20183.1916233328
32first "portable" WM: emerainn standard 4.24.27
8. user interface management systems or U I M S S "
(which usually include a tool kit)
Typescript package
An example of a service that is often provided by win-
dow managers is the handling of typing. This is oftencalled a typescript package, and it usually supports some
rudimentary line editing (backspace, delete line, etc.).The idea is to mimic the teletype interface to terminalsprovided by conventional time-sharing operating sys-
tems. Most programming languages (for example C andPascal) have as a funct ion to read a line of text. When this
funct ion is executed, the user is typically allowed to edit
the typed l ine before using carriage-return to confirm theentry. The typescript package handles this input also. In
addit ion, it may provide more elaborate commands, and,
in the extreme, be a full-fledged editor, as in the Andrewsystem."' In a window system, the typescript package
may also provide the ability to copy text from one win-dow to another, as in SunWindows." An advanced form
of this copying is the clipboard in the Lisa and Macin-t ~ s h , ~hich provides the ability to copy arbitrary textand graphics from one window to another.
Editors
In addition to the typescript package used to handle
comman d typing, some window managers include a nentire text editor, which can be used for preparing docu-
ments and programs. This may or may not be the same
package used for handling typing to programs.
Graphics package
Some window managers provide a sophisticatedgraphics package for application programs to help them
produce output. Clearly, the window manager needs tooutput some graphics to draw the title lines, window
borders, icons, backgrounds, etc. The primitives that the
window manager provides for handling output is calledthe "imaging model" of the window manager.
Some window managers, such as Sunwindows and X,
provide a simple imaging model and expect that more
sophisticated graphics packages will be built using thewindow manager. This allows more flexibility, since mul-
tiple graphics packages can be used. Fo r example, the
CORE, GKS, and PHIGS graphics packages have all beenimplemented on top of Sunwindows. In addition, the
graphics operations may be more efficient, since the
window manager can export the primitives supportedby the hardware. The interface to the window managermay be simpler, since there are fewer primitives.
Other window managers are built on top of powerful
graphics packages. For example, the Macintosh is on top
of QuickDraw,Iq Cedar is on top of CedarGraphics,"an d NeWS," which was originally called SunDew," is
on top of a version of Postscript." Adobe Systems and
Next are creating another version of Postscript called
70 I E E E C o m p u t e r G r a p h i c s & A p p l i c a t i o n s
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
Display Postscript to serve as the imaging nicxlt:l for
future witidow managers. The advantage of using anunderlying grap hics package is that the window man-
ager can provide a more attractive presentation. For
example, the Macintosh window manager displays d r o p
shadows and roil n d ed c o r n ers, 0 he r ad rant ages
include a more consistent interface to and betweenapplications an d t)et e r d ev (:ei11dcp end ence.
User interface tool kits
Another service often pr oi de d bl , windo\v managers
is a library of procedures to help applications create their
user interfaces. For example, almost every window marl-ager provides a men u package. Whitechapel" also pro-
vides scroll bars that can be displayed o n the tvindows.The Macintosh comes with a complete "Toolbox,""'
including menus, dialogue boxes. scroll bars, and text-
editing. A full tool kit for X is also under development.24
The advantage of a tool kit is that it significantly reduces
the effort required to create higher quality user inter-
faces, and it helps ensur e consistency am ong the user
interfaces of different application programs on the same
machine. In addition, some window managers also pro-vide a tool to help organ ize and use the conte nts of thc
tool kit. Examples of this are the Apple MacAppprogram'" and Apollo's Open Dialog."" These tools are
often calleti user interface rnuno,oernt:nt sj,stems" anti
are necessary because programrners often finti that tool
kits are largc: and difficult to use.
Window managers surveyed
M n io ni iig every window manager is in i poss ib 1e ,
since new ones appear a11 the time. and many are not
documented in generally available publications. The
selection here is not meant to be an indication of which
window manager s are best. The ones included a re the
ones that exemplify important variations. I n addition,window managers are continually changing, so the
descriptions for some window managers may no longer
be accurate. The primary objective oft hi s article is to
illustrate the choices available in wind ow manager user
interfaces rather than to descrihe fully any particular
VJ ridow man age r.
Some Lvindow managers allow their user interfaces to
be ch anged. For example, X allows significant changes .
For this class of wind ow manager, the article describes
on e of the available user interfaces, and some of thevariability is mention ed where appropriate. For X. he
"unrm" window manager." for the IHM-RT computer is
described and will be called " X I u w m . "
Although this article discusses advantages and disad-vantages of various user interface choices, this is notmeant as a criticism of any window manager. As with
all user interface decisions, there are often external con-
siderations that influence the choice. The descriptions
are meant to illustrate concepts rather than evaluate win-
do\v managers.The Table s h o l v s all the \v indo \v nianagcrs mentioned
i n this articlc. The entri es ar c approsirnatel~~n chrono-
1og ca1 Urtic r.
User interface of application programs
One interc:stitig consideration is the extent to ivhich
the \vindo\v manager's user interface affects the user
interface of application programs that run under i t . Even
avindwv mariagcrs that try to minimize their uscr inter-
face will at least need to allu\v the user to change the lis-
tener arid th e positions of \viIido\vs. and even this userinterface \vi11 affe ct ho\v an application program can
interact nit11 the user. Some tvindo\v managers attempt
to minimize their restrictions of the application's user
i i er fa~ t :o they ca i a 1o\v a pp ica io11s in axi ni 1 m flex-
it )il y.
Other tvindoiv managcrs atteiiipt to specify the user
interface of applications to a large extent to ensur e con-
sist enq .. In any case. the choice of the user interface of
the windo\v manager m u s t affect the user interfaces of
the application programs . E\wi such \vindo\v managers
as X , whose owti user interface can be cha nged. are notfree of this problem. Different applications that run atthe same time can not all imp ose their choices on the
same \vindo\v iiianager, since the \vindo\v manager user
interface is global to all applications. Figure 4 holvs a
few saniplc Lvindow managers and hoiv much they
i t i l U e i ce the I I seI' in erfaces of a ppl ica ion s.
Presentation
N ow the taxonomy of the user interface part of win-dow managers \vi11 be presented. This section discusses
the presentation aspects of this taxonomy, and a later sec-
tion discusses the operations. Figure 5 shows the tax-
onomy of the presentation aspects of \vindo\v managers.The follow i i g sect i 3 tis e x p1ain t 11e va r o u s options
shown i n thi s figurt:.
Tiled versus overlapped
The first major decision is \\,hether \$indotvs are
alloLved to overlap or not . Some windo\v systems (includ-
ing Cedar and the original versions of Microsoft
Witido~vs2' ] equire that witidoivs be side by si de and
not overlap. A s discussed earlier. this is called "tiling."
The alternative is to allow windolvs to overlap. and t his
is provided b! Smalltalk, ' X/uwm, atid man)'others.
Implementation anti hurna~iactors issues gu ide the
choice bet\veen tiling and overlapping. In tiling systems,the c;omputer is typically in charge of managing the win-
dow placement and size, limiting the user's freedom. In
covered window managers, the user must usually man-
age the windows. Putting the mouse in a n arbitrary win-
doLv is also easier with tiling, since all of the windows
S e p t e m b e r 1988 71
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
Figure 7.The listener on the Macintosh 3 is shown by drawing lines i n the title line and d isplaying the com-mand areas. The scroll bars and arrows on the right an d bottom of the window move the display inside the
window, the icon at the bottom right of the window is used to change the window’s size, the icon at the topright is used to make the wind ow fu ll screen, an d pressing in the squ are at the top left closes the window.
Figure 8 . SapphireI3 displays the listener window bymaking i ts border thicker. The window marked WZ is
the listener. The icons are in the window at the bot-
tom, and they can display status information abo ut
the window and the process running in it .
case the bvindow containing the mouse tracking symbolis clearly the listener. The window manager might use
some combination of other ways to show the listener,
including changing the title line decorations(Whitechapell ’1, changing the border decorations
(Sapphire”), changing the title and border (X/u~.’m’’],changing the shape of the text input cursor or startingit blinking (Interlisp-D), emoving the co mmand areas
(Macintosh),or even filling the window with a particu-
lar pattern when it is riot the listener (dots are used in
the H l i t ) . Figure 7 hows a combination of changing the
title line and comman d areas, and Figure 8 shows an
example of using the border only.
I E E E Computer G r a p h i c s & A p p l i c a t i o n s
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
A major issue of presentation in modern systems is
whether the window manager supports icons o r not.These were invented by David Smith.” and first used in
a window manager in the Xerox Tajo environment“
(which was later renamed XDE”’]). In Tajo the iconswere originally just the title lines of the windows. A simi-
lar approach is used by the Andrew system, which leaves
the title line where it was in the column, and simplyhides the window contents.
Pictorial icons were first used in the Xerox Star,’,’
where they give the user the illusion of operating in a
physical environment. Each icon represents a n object inan office env ironment [documents, folders, file cabinets,
printers, etc.),so the user can learn how to operate these
objects by analogy to the way operations ar e performedin the physical world. Fo r example, to delete a file, the
user moves the icon for the file to the icon that looks like
a trash can ( see Figure 3 ) . Icons in the Star, as well as inthe Apple Macintosh, therefore represent data objects
and processes.
Most other window systems use icons in a different
way. They represent windows. In these systems, the iconis simply another representation for a window, withoutthe additional semantics of being data objects that can
be operated on.Most systems provide icons as an alternative represen-
tation for windows, so that a window is either full size
or “s hrun k” to an icon. Some of these systems, such asthe Macintosh and Star, leave a “sha dow” of the icon to
show where it came from, whereas other systems (Sun-Windows and X/uwm) do not.
The Sapphire window manager uses icons in an
entirely different way: The icon for a window is always
fully visible, even if the window is on the screen. Theicons in Sapphire ar e used to give commands to the win-
dows and to show eight pieces of status informationabout the window and th e process running in the win-dow.13 This includes percent-done progress indicators“’
to show how the job is doing and pictures to show whenan error has occurred or when t he process in the win-dow is waiting fo r input (see Figure 8) .
The Sapphire icons are an example of how the icons
can dynamically change. Another example is the X/uwm
window manager, wher e an icon can be a tiny version
of the actual window, as shown in Figure 3 .
In most other window managers, however, the icons
are essentially static. Often, there are situations where
the icon changes a little, however. For example, in theMocintosh, most icons are static, except that the trash
can icon bulges wh en something is put into it . Similarly,on the Star, the mail icon changes to show when mail has
arrived.
Other issues with icons are whether the user can movethem around, whether their shape and size are fixed, and
whether the user can give commands to the windowusing th e icons. In the extreme, if icons a re just an alter-
native representation for windows, the user should be
able to type to the icon and have the text go to the appli-
cation run ning in the window. This is allowed in somewindow managers, such as Sapphire, but others limit the
comma nds available wh en th e window is shown as anicon.
Window shape
A minor point is what window shapes are supported.Usually, only rectangular windows are provided, but theNeWS window manager does support arbitrarily shaped
windows [see Figure 9). Most of the windows in the
Macintosh are rectangular (Figure 7) , but they a r e
allowed to be arbitrary shapes . Obviously, a tiling win-
dow manager must use shapes that can be tiled, such as
rectangles or hexagons (all existing ones use rectangles].Many window managers simulate arbitrary shapes for
icons, even i f the windows must be rectangular,
Special areas
Another presentation aspect of windowmanager user
interfaces is whether any screen areas are reserved for
special functions. For example, DLisp4”has a reserved
area at the top and Interlisp-D has a reserved window for
e r r o r messages and user pr ompts. Other examples arethe Macintosh, which reserves the top line for a com-
mand menu , and PNX,‘“ which has a special window-manager window for giving some window-manager
commands. Other window managers have special areas
for icons, which may be in the background , or in a spe-
cial window (as in Sapph ire). Icons may be in arbitrary
places, as in X/uwm, o n a regular grid, a s in the Star, or
in arbitrary places with a user-callable “neatening” onto
a grid as in the Macintosh. Another issue is whether the
icons can be covered by other windows [usually true i f
there a re overlapped windows, false if tiled windows).
Other issues
There are a number of other issues of presentation,such as whether color is supported, whether the user canmanipulate t he presentation (for example, changing the
background pattern in the Macintosh), and to what
extent application programs can change the presentation
(for example, changing the title line’s appearance].
Operations
The second major component of the user interface of
window managers is the set of operations that the user
can execute to control the windows. This component canbe further subdivided into the functionality of the oper-
ations provided, and the user interface of those opera-
tions. Taxonomies for these aspects are shown in Figures
10 an d 11,respectively.
Functionality
The first issue, of course, is which operations are sup-
ported. All window managers must supply some way for
September 1988 75
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
the Kooms system" ' -I provides arliitrary groupings of
\v ind o ~ v s .
User interface of operations
'I'he next important issue xvith operations is h o ~ vhey
ca n be specified by the user. h l a n y Ivindoiv managers
provide multiple ways of giving the same command. Forexample, there may be menus that contain all commands
for novices. as well as cicc~:lerntors-faster ways lo r expertusers to give the most frequent commands using the
niou se ii n i keyhoar d ,C ear y, the co11side ra io11s about
Lvliat user interface to use for the window manager mus ttie influenced by general user interface principlcs , which
are more fully described in ot her places. for ex;imple by~ o l e ynd van Darn.''
Number of mouse buttons
One of t h (: most ohv iou s di lere n (:t! s 1)e \\re er1w 11do ~ v
managers is how many buttons on I he mouse they are
designed to use. T h e Macintosh mouse has onl j , one but-
ton because it is intended to be \'cry easy to use for
novices. With more buttons, thr: novice might forgetLvhich hutton performs Lvhich operation and bc nervous
about pressing the m. The designers of the Sta r system
did extensive testing and decided two buttons \\'ere eas-
iest to learn and most efficient.4"h.Iany other window
ina11agers are tle sig11ed fo r th rce but tons [SU nlVin o ~ v s
a n d Sa pphi re, for example). S o me \v i ntioiv Inanagerssimulate a middle button o n a t\vo-liutton Inoust: tiy hold-
ing down both butt ons at the s ame time. Naturally, thec:Listomizable window rnanagers , such as X a n d NeWS,
(:an support any numb er of huttons on the mouse.
Changing the listener
Of partic:ular interest is how the ise er c1iangt:s t he lis-
t e 1er. Some sy st e ns, in c ud ig SunWi n dOM's arid
Smalltalk, change the lis tener to lvhatever \viIiCIo\vcoil-
tains the cursor. Other window Inanagers-iiicludingI 11e r1 sp-D, Star, Sapphire, H 1 t , C eda r, and h4 in osh-
require an explicit press to change t h e listener. Some
\vindow managers, such as X nd Nc:i*Z'S,allou the user
to pick which technique is used.
I f an explicit press is required, then an issue is whether
this press should be sent through to he iiscd liy the appli-
cation program. I f so, as in Cediir. changing thr: listener
must always do something to the application (s uch as
changing the insert point in an editor). f the button press
is not sent through, as in Interlisp-D. then the user mightbe confused that the operation did riot happen. Somesystems, such as Sa pphire, let the application decide
whet her to interpret the first press, but this means that
a p plica t o11s may operate i11consist en 1y.The advantages of changing the listener o n cursor
movement a re that this operation is easier and faster, themouse cursor provides a nice form of feedback for which
\zinclow is the listener. and the problem of whether to
send the press through to applications is avoided. The
advantages of using a press to change listeners are that
the listener tloes riot change accidentally i f the mouse is
bumped, input devices like a stylus that do not retaintheir position can easily tie used, the position of t h c
mouse can still be used even when it is outside of th e lis-tener wintloM: the mouse c an be moved outs ide the iv i i i -
dow so 110part of the bvindow is hidden under the cursor,
and i f the i nput device is a tablet, it can be used in either
absolute (digitizing) or relative (mouselike] tracking
modes. 'Another issue is \\ ,hether the XvindoLv manager alloivs
there to be no listener. In X/uwm, for example, lvhen the
curs or is outs ide of all windows ( that is, over the back-
ground), keyboard typing just disappe ars. In Sapphir e,
keys typed \\Then there is n o listener are saved an d givento the next window that becomes the listener. On the
othe r han d. the Macintosh \vi11 not alloxv no lis tener; f
you press over the background, nothing hap pens , and i f
the listener Lvindoxv is deleted, then the next topmost
\vindoIv is made the listener. This tends to be much moreintuitive and keyboard typing is never lost.
A question for future window managers will be ho\v
to Iia n d e addition a i11put devices. (-1 u r re n ly, \v i i i d ow
managers typically support only the keyboard and on e
poi 11 i ng device. Research has demon stra te d, h oweve r,
that using multiple inp ut devices, suc.h as touch tablets,
knobs , and switches, along Lvith the pointing device (for
example, o n e in each hand) can increase the user 's effec-tiveness. '' In addition, speech recognition is slon.ly
becorning practical. All of these input techniques will
have to be switched among windows as the keyboard is
iio~z,nd the issue will he whether to switch all devices
a t the same time. to have different techniques for switch-
ing each device separately, o r to allow certain devices to
he grabbed perrnanently by a particular Lvindolv.
Other commands from a mouse
There are various ways that window managers allow
commands to be given using the mouse. Som e systems,such as Andrew, reserve a special mouse bu tton to give
Ivindow manager commands. Other systems, such as
X / u w m . rescrve a special shift key on t he keyboard. Forexample, to give a wi~idowmanager command on the
IHh4 RT computer, you need to hold d own the "Alt" key-
board key Lvhile pressing the mouse buttons. Still other
systems. such as Symbolics4' and Macintosh, use mul-tiple clicking.
Pressing the mouse buttons while the cursor is in
different areas typically has different meanings. Mostwindow managers, for example, provide special com-
mands w hen the mouse is pressed in the title lines of
lvindows. Some window managers also allow the user
to press in the borders of windows, which might be usedfor changing a window's size or position. The Macintosh
window manager, among others, has special "buttons"
in the window title line and border which are used for
closing a window or changing its size (see Figure 7). On
the other han d, some window managers allow the corn-
iiiands to be given i f the cursor is anywhere insi de the
Authorized licensed use limited to: Carnegie Mellon Libraries Downloaded on August 10 2009 at 22:52 from IEEE Xplore Restrictions apply
8/6/2019 A Taxonomy of Window Manager User Interfaces
Figure 12 . Various cursor pictures used in Sapphire13
to show which operation is in progress.
window. Sapphire and the Macintosh, for example,cause a window to become the listener when the cursor
is pressed any where inside it .
The special areas for giving comma nds are sometimes
not visible in the window. Fo r example, Tajo and Sap-
phire divide the title line into three regions horizontally
and assign different functions to each region. The divi-sions are not shown, but the user is assumed to be able
to differentiate the middle from the left and right of the
title line for any window that has a reasonable size. Other
window managers only use visible areas . The trade-off
is obviously using screen area for command labels so
they will be easier to find an d more obvious for novices,
versus using the screen space to display other useful
information. Cedar has a unique solution to this prob-lem: Some of the co mmand bu ttons are hidden under-
neath t he title line, and the title line is replaced with the
comma nd me nu whenever the cursor goes into the title
line.
Another issue when giving commands with the mouse
is what kind of feedback the user sees. Most systems pro-
vide hairlines th e size of the window when a window is
moved. The P N X window manager actually has the
entire window follow the mouse in real time, and origi-
nally Smalltalk showed only one corner.
Often, there will be feedback in the cursor picture as
to the operation being performed. For example, X/uwmshows a picture of the button that is down. Sapphire uses
the cursor picture to show which operation may happen.When the button is pressed in a particular area, the cur-
so r changes to show what will happen (see Figure 12) .
I f the button is released, the operation happens, but if the
cursor is moved away before releasing, the operation isaborted. Different cursor pictures a re also often used to
show what mod e the user interface is in.
Menus
Commands in window managers are usually given
using menus. A m enu is a list of options, and in a win-dow manager, the desired option is usually picked by
pointing a t it with the mouse. Me nus were classified as
an add-on earlier, since they are usually supplied to
application programs a s a service. On the other han d,
most window managers also use men us as part of their
own user interface, so it is necessary to discuss themhere. This discussion is not mean t to be comprehensive,
however, since there a re many different ways to present
menus a nd the options listed here are only those that
have been commonly used with window managers.
Menus can be always visible (usually at a fixed placeon the screen or a fixed place in each window), n whichcase they are called fixed menus. Alternatively they can
appea r when the user performs s ome action, and the11are called pop-up m enu s (see Figure 13). Pop-up menus
are often used because they do not take up screen areawhen not in use, and they appear at the cursor so less
hand movement is needed. On the other han d, they have
the disadvantages that novices may not know hot%’o
make them appear, and they usually take longer to usesince the user must first perform the action to make them
appear, then search through th e menu for the correctitem, and then make the selection.
Fixed menus also allow the user to mouse-ahead.
Mouse-ahead is giving commands with the mouse
before the system is ready to accept them. Th is is analo-gous to typeah ead from the keyboard. Pop-up menus are
hard to use with mouse-ahead because the menu is not
displayed, so the user cannot see where the desired item
is. Fixed menus are used by the Macintosh on the top line
of the screen (see Figure 14b), n DLisp in windows thatcan appear anywhere on the screen (see Figure 13b),and
in Cedar as the menus in the title lines (see Figure 2 ).
Fixed menus in a special place on th e screen, as in the
Macintosh, are probably appropriate only when the
screen is small, so that the maximum hand movementto move the cursor to them is not too large.
Many Luindow managers use pop-up menus to give
window-manager commands. Fo r example, in X/uwni
when the Alt key and the left mouse button are held
down, a menu pops up which contains the standard
window-manager commands. The middle button with
the Alt key pops up a different set of commands. Sap-
phire provides a menu of commands when the right
mouse button is pressed over the left or right title lineareas. A distinction among pop-up me nus is whether
they ap pear on a down press and the selection is madeon the release (X/uwm),or whether a second down pressis needed to make the selection (Symbolics and Sap-
phire). Some menu systems support both styles(RTL/C RT L ’ ) .
Another issue with menus is whether submen us are
supported. A submenu is a menu that appears after a
80 I E E E Computer G r a p h i c s & Appl ica t ions
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
The d o m u n of logic mg nmm ing Ian uager. consists. of the most pan. ofproyrunmin languages g u e d on Horn fogic which provide modified forms oftop-lo am. ILD-refutation ezerution engines A program in bere Ianguagcsc o n s i s t s o f a set o f d e f i n i t e C I A U S C a x i o m s w i t h ( p e r h a p s i m p l i c i t ) c o n t r o linformation for guiding th e u n d e r l p n g e n g i n e E ~ e c u t i o n S initiated by th e
rrescntation of a conjunction of goals or quenes and terminates when the engine.ollounnp th e rcscnbed control. dtscovers either a proof of th e goals. or t h e
impOSSiblh~9O f such a proof C o n c u m n t logic progrunmmg (CLP) languagesprovide czecution engines capable of pursuing c on cum ntl g proofs of each of thegoals i n A con~unc t ivc SYsrem (so-called a n d - p a d l e l i s m ) And also different possible
roof paths fo r each goal (or paralleliim) Eu mp les of ensting concurrent Hornranguages are Concurrent Prolg. Pulog. ClHC. Delu.Pmlog and CP( l .1 .a~
I n this thesis I mpose to la9 a sound tbeoretical foundation for. and exploreth e par adi gm of. !LP langua *s Specifically. I propose U) investigate th e design.s em ant ic s . implemenration an d -use of such languages
T h e thesis i s intended U make contributions w each of th e following u e u
.. pro grm ~m ins anquape design. via.. an underscanding of th e design s p x e fo r
.. th e design o f A paradigmatic CLP language (CP[I (.a..)rovidingConcurrent programming Iinguag9’s bue d on annotated Horn loqic.
C
Figure 14. ubme nus may appear when the user slides the cursor out of the right of the item marked with ana rrow (a) a s in In t e r l i ~ p- D, ~~hen the cursor is over an item (b) as in the Ma ci n to ~h ,~r they may be stacked
like pages (c) as in Andrew.16 The En large com man d i n (b) is show n i n gray becaus e it i s currentl y illegal.
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
1 6 . J . H . M o r r i s e t al. . " A n d r ew : A D i s t ri b u t ed P e r s o n a l C o m p u t i n g
E n v i r o n m e n t , " C A C M , V o l. 29 , N o. 2 , Mar . 1986 , pp . 184-201.
1 7 . S u n M i c r o s y s t e m s , I n c . S u n W i n d o w s P r o g r a m m e r s ' G u i de . M o u n -
ta in View C a l i f . , 1984.
18. G. Wil l iam s, "The Lisa Com pute r Sys tem." Byte , Vol . 8, No. 2 , Feb.
1 9 . A p p l e C o m p u t e r . I n s i d e M a c i n t o s h , A d d i so n - W e s le y , R e a d i n g .
M a s s . , 1 9 85 .
20 . J. W a r n o c k a n d D . K. W y at t , "A D e v i c e - I n d e p e n d e n t G r a p h i c s I m a g -
ing Mo de l for Use wi th Ras te r Devices" Comp ute r Graphics , (P roc .
SIGG RAP H), Vol. 16. No. 3, July 1982, pp. 313-319.
2 1 J. G o s l i n g , " S u nD e w - A D i s t r i b u t e d a n d E x t e n s i b le W i n d o w S y s -
tem," Methodo logy of Window Man agem ent , Springe r-Ver lag , Ber-
l in (P roc . Alvey Workshop, 1985J , pp . 47-57. [A s l ight ly d i f f e rent
ve r s ion of th ths pap e r wi th the sa me t i t le also a p p e a r e d i n t h e Proc.
1986 Winte r U senix Tech. Conf . , I an . 198 6, pp. 98.103.
22 . A d o b e S y s t e m s , P o st s c ri p t L a n g u a g e R e f er e n c e M a n u a l , A d d i s o n -
Wesley , Reading , Mass . . 1985.
2 3 . D. S w e e t m a n , "A M o d u l a r W i n d o w S y s t e m f o r U n i x , " M e t h o d o l -
o g y o f W i n d o w M a n a g e m e n t ( P r o c . A l v ey W o r k s h o p . 1 9 8 5 ) ,
S p r i n g e r - V e r l a g ,B e r l i n , 1 9 8 6 , p p . 73-80.
24. MIT an d DEC, X Tool k i t L ibroq-C 1 ,unguage In tor foce ; Tool k i t
Beta Version 0.1; X Protocol Version 11, B o s t o n . 1 9 8 7 .
25 . K.1 . Schmu cker , "MacAp p: A n Appl ica t ion F ram ework," Byte , Vol.
2 2 , No . 8, Au g. 19 86, pp .189-193.
2 6. A p o l l o C o m p u t e r , " O p e n D i a lo g I n t e r f a c e M a n a g e m e n t S y s t e m
S u p p o r t s I B M , D E C , a n d S u n , " P r o d u c t A n n o u n c e m e n t . C h e l m s -
f o r d , M a s s . , 1 9 8 7 .
27.M . G a n c a r z , " U w m : A User In te r face for X W i n d o w s , " Conf Proc.
S u m m e r T e c h . C o n f . , U s e n i x , D e n v e r . I a n . 1 9 8 6 . pp. 429-440.
28 . V. Pugl ia e t a l . , "Opera t ing in a New Enviro nment , " PC h l o g a z i n c ,
Feb. 1986, pp . 109-132.
29 . A. Goldbe rg , Smal lta lk-80: The In te rac t ive P rog rumm ing E n \ . i r o n -
m e n t , A d d i s on - W e s le y , R e a d i n g , M a s s . , 1 9 8 4 .
3 0 . A . G o l d b e r g a n d D . R o b s o n . S m a ll t a lk - 8 0 T h e Language clnd Its
I m p l e m e n t a t i o n , A d d i so n - W e s le y . R e a d i n g . Mass . . 1983.
31 . S .A. B ly and J .K.R o s e n b er g , "A C o m p a r i s o n o f ' l i l e d a n d O v e r l a p -
p i n g W i n d o w s , " P r o c . S I G C H I , H u m a n F a c t or s i n C o m p u t i n g s>.~-terns, A C M . N e w Y o r k, 1 9 8 6 , p p . 101-106.
32. Xerox O f f ice Sys tems D ivis ion . Vie ivPoint L'sers blan ua l , Pa lo Al to,
Ca l i f . , 1985.
33 . E .S . Coh en, E .T. Smi th . and L.A. Ive r son , "Cons t ra in t -Base d Ti led
W i n d o w s , " P r o c . 1 s t I n t ' l C o n f . o n C o m p u t e r W o r k s t a t i o n s , C SP r e s s , L o s A l a m i t o s , C a l i f . , N ov . 1 9 8 4 , pp. 2-11,
3 4. R . M . S t a l l m a n , " E m a c s : T h e E x t e n s i b l e . C u s t o m i z a b l e , S el f -
D o c u m e n t i n g D i s p l a y E d i t o r , " T e c h . R e p o r t 5 1 9. M I T Art i f ic ia l
I n t e l l i g e n c e L a b, C a m b r i d g e , M a s s . , 1 9 7 9.
3 5 . W. T e i t e lm a n a n d L . M a s i n t e r, " T h e I n t e r l i s p P r o g r a m m i n g E n v i -
r o n m e n t , " C o m p u t e r , V o l . 14 . N o . 4 , A p r . 1 9 8 1, p p . 2 5 - 3 3 .
36. R . Pi k e , " G r a p h i c s i n O v e r l a p p i n g B i t m a p L a y e rs , " A C M T r a n s .
Graph ics, Vol. 2, No., 2 , Apr. 1983, pp. 135-160.A l s o a p p e a r s i n C o m -
p u t e r G r a p h i c s ( P r o c . S I G G R A P H ) , vol. 1 7 , N o . 3 , J u l y 1 9 8 3 , p p .
3 7 . D . C. S m i t h , P y g m a l io n : A C o m p u t e r P r o g r a m to M o d e l a n d S t i m u -
l a t e C r e a t i v e T h o u g h t , B i r k h a u s e r . B a s e l , 1 9 7 7 .
38 . Xerox Of f ice Sys tem s Divis i on , Xerox Der re lopment Environm ent :
Concep t an d P r inc ip le s , Pa r t # 610E00130, Pa lo Al to , Ca l i f . , 1981.
3 9 . B . A. M y e r s , " T h e I m p o r t a n c e o f P e r c e n t - D o n e P r o g re s s I n d i c a -
t o r s f o r C o m p u t e r - H u m a n I n t e r fa c e s, " ( P r o c .S IGCH11. ACM . N ew
York, 1985 , pp . 11-17.
40 . W. Tei te lman. "A Display Or iented P rogram mer ' s A ss is tan t , " In t ' l
I. Man-Machine S tudies , Vol. 11,1979,pp. 157-187.Also Xerox PARC
Tech. Repor t CSL-77-3 , Pa lo Al to , Ca l i f . , Mar . 8, 1 9 7 7 .
4 1 . I n t 'l C o m p u t e r s L t d. , IC L P E R Q G u i d e to P N X , I n t ' l C o m p u t e r s .
L t d . , U K S o f t w a r e a n d L i t e r a t u r e S u p p l y S e c t o r , R e a d i n g , R G 3
l N R , U K , 1 9 83 .
1 9 8 3 , p p . 3 3 - 5 0 .
331-355.
42 . L . B a n n o n e t a l . . " E v a l u a t i n g a n d A n a l y s i s o f U s e r s ' A c t i v i t l
O r g a n i z a t i o n , " P r o c . SIGCHI, H u m a n F a c t o r s i n C o m p u t i n g Sys-t e m s , A C M . N ew York, 1983. pp . 54-57.
43 . S.K. a r d a n d A . H e n d e r s o n , J r .,''A ultiple \ ' ir tual-LVorkspace
I n t e r f a c e to S u p p o r t U s e r Task S w i t c h i n g , " P r o c . S I G C H I + G I .
H u m o n Fac tor s i n C o m p u t i n g S y s t e m s , G r a p h i c s Interfuce,A C h l ,
N e w York, 198 7, j-rp. 53-59,
44. D.A. H e n d e r s o n , Jr. , a n d S.K. C a r d . " R o o m s : T h e Use o f h l u l t i p l e
Virtual Ib'orkspace to Reduce Space Content ion in a L1Sndoiz,-Rmsed
Graph ica l Use r In te r face ," ACRI Trcins Graph ics. Vol. 4.. No. 3. Julk
1986 , pp . 211-243.45 . ],D. F o l ey a n d A . v a n D a m , F u n d a m e n t a l s o f 1 n tc r a ct i t .e C o m p u t e r
G r a p h i c s . A d d i s o n -W e s l e y , R e a d i n g M a s s . . 1 9 8 2 .
46. w.L. Betr ley et al., "H um an Fac tor s Tes t ing in the Design of Xerox's
8010 ' S t a r ' O f f i c e W o r k s t a t i o n , " P r o c . S IG C F iI , H u m a n F a c to r s i n
C o m p u t i n g S y s t e m s , A C M , New York, Dec . 1983. pp.72-77.
47. w,u x t o n a n d B . M y e r s . "A S t u d y i n T L v o- H a nd e d I n p u t , " Proc.
S I G C H I . f l w i a n F a c to r s i n C o m p u t i n g S y s te m s , A C h l . New York,
Ap r . 1986. pp .321-326.
48. K . S t a l l m a n . D . W e i n r eb . a n d D . Moon, L i s p M a c h i n e I n c . , Li sp
Ma chin e LYindoivs Sj .s t r:m hf anu a l , Culve r C i ty . Ca l i f . 1983.
4 9 . A p o l l o C o m p u t e r I n c . . " M ' in d o w M a n a g e r , " C h e l m s f o r d , h las s . .
1981.
Brad A. Myers i s a r e s e a r c h c o m p u t e r s c i e n t i s t
a t C a r n e g i e M e l l o n U n i v e r s i t y . F r o m 1980 u n t i l
1 9 8 3 h e w o r k e d a t P E R Q S y s t e m s C o r p o r a t i o n
w h e r e h e d e s i g n e d a n d i m p l e m e n t e d t h e S a p -
p h i r e w i n d o w m a n a g e r a n d n u m e r o u s P E R Q
d e m o n s t r a t i o n s fo r t h e S I G G R A P H e q u i p m e n t
e x h i b i t i o n . H is r e s e a r c h i n t e r e s t s i n c l u d e u s e r
i n t e r f a c e m a n a g e m e n t s y s t e m s ( U I M S s ) , u s e r
i n t e r f a c e s , p r o g r a m m i n g b y e x a m p l e , v i s u a l p r o -
g r a m m i n g , i n t e r ac t i o n t e c h n i q u e s , w i n d o w
m a n a g e m e n t , p r o g r a m m i n g e n v i r o n m e n t s , d eb u g g i n g, a n d g r a p hi c s .
M y e r s r e c e i v e d a P h D i n c o m p u t e r s c i e n c e a t t h e U n i v e r s i t y ofT o r o n to , a n d M S a n d B S c d e g r e e s f ro m t h e M a s s a c h u s e t t s I n s t i t u t e
of Technology. While a t MIT, he wa s a r e sea rch i n te r n a t Xerox PARC.
H e i s a m e m b e r o f S I G G R A P H . S I G C H I , A C M . a n d t h e C o m p u t e r
S o c i e t y of t h e I E E E .
M y e r s ' a d d r e s s is C o m p u t e r S c i e n c e D e p a r t m e n t . C a r n e g i e M e l l o n
Unive r s i ty , P i t t sb urgh . PA 15213-3890.
8 4 I E E E C o m p u t e r G r a p h i c s & A p p l i c a t i o n s