20
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.

A Taxonomy of Window Manager User Interfaces

Embed Size (px)

Citation preview

8/6/2019 A Taxonomy of Window Manager User Interfaces

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 1/20

Window Interfaces

A Taxonomy of Window Manager User

Interfaces

Brad A. Myers

Carnegie Mellon University

This article presents a taxonomy for the user-visible

parts of window managers. It is interesting that there

are actually very few signi ficant differences, and the

differences can be classified i n a taxonomy with fairly

limited branching. This taxonomy should be useful in

evaluating the simi larities and differences of various

window managers, and it will also serve as a guide for

the issues that need to be addressed by designers offuture window manager user interfaces. The advan-

tages and disadvantages of 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 helpsthe user monitor and control different contexts by

separating them physically onto different parts of on e or

more display screens. At its simplest , a window manager

provides many separate terminals o n the same screen,

each with its own connection to a time-sharing com-

puter. 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 including text, graphics,

and even video. Window managers are sometimes imple-

mented as part of a computer’s operating system an d

sometimes as a server that ca n be used if d esired. They

September 1988 0272-1;1618810900-0065s0100 198R l t E E 65

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

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 2/20

ma n >

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

xpcrfnon.1 xtcm.1 xuud.1

2736 Apr 30 20:26178 3 Apr 30 2O:X

2671 Apr 30 20:26152 6 Apr 30 20:263805 Apr 30 20:262311 Apr 30 20:264360 Apr 30 20:26

10720 Apr 30 20:263472 Apr 30 20:265002 Apr 30 20:261053 Rpr 30 20:26

2151 Apr 30 20:266811 Rpr 30 20:26

27590 FIpr 30 20:26742 Apr 30 20:26

2367 A m 30 20:26

OHodlfy(Tab1cCountcr. Table "Content.")R . (odI f~(F lgurcCountc r , Table "Contents" )

I h a v e n ' t t r l c d I t . b u t I t l o o ks I l k c I t s h o ul d U

1L

w - r - - r - - 1 mlr c 4192 Apr 30 2O:Xw-r - - r - - 1 m l r c 9263 Apr 30 20:26rw-r--r-- 1 cllcc 2654 J u l 9 13:57an i> xud -ou t /trp/wd.dwllp

Figure I. An example of a typical screen using the X window manager4 with overlapping windows. Some

windows have title lines (the top-left window's says "xterm #2"). The background, where there are no win-

dows, is gray. The small windows at the bottom are icons.

can even be implemented by individual application pro-

grams or programming environments.Window managers have become popular primarily

because they allow separat e activities to be put in phys-

ically separate parts of the computer screen. The user ofa computer is frequently shifting focus from one activity

to another, including such small shifts as changing from

editing one file in a text editor to editing another, andsuch large context shifts as changing from compiling a

program to reading mail.

Before window managers, people had to remembcr

their various activities and how to switch back and forth.

Window managers allow each activity to have its ow n

separate area of the screen (its own "window"). Switch-

ing from on e windoiv to another is usually very simple.This physical separation is even more important when

the operating system allows multiple actiLTities to oper-

ate at the sa me time ("multiprocessing"). For example,in Unix, the user can compile one file at the same time

a different file is being edited. On a conventional termi-

nal, if the compiler process outputs any data, it is con-fusingly interspersed with the editor's display. If the two

processes request input at the sa me time, the user maygive the inpu t to the wrong program. Window managers

help with these problems by providing separate areas in

which each process can perform input and output.

ti6 I E E C o m p 11t t' r G r a p h c,s R. Applic B o 11s

Authorized licensed use limited to: Carnegie Mellon Libraries Downloaded on August 10 2009 at 22:52 f rom IEEE Xplore Restrictions apply

8/6/2019 A Taxonomy of Window Manager User Interfaces

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 3/20

Another advantage of window managers is that they

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

(Smalltalk‘), pop-up menus,7 cons (Tajo8,9 nd Star’.‘),

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

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 4/20

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

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 5/20

14

Sapphire

Macintosh

11Cedar

Star

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

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 6/20

Table, Window managers discussed in this article.

Nane Cleatedby - - ~ ~omments ReferencesSmalltalk Xerox PARC AltoDLisp Xerox PARCInt er m-D Xerox PARC

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

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 7/20

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

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 8/20

Figure 4. The amoun t that the user interface of some

sample window managers affects the user interface

of application programs.

1 column Emacs

2cohums Cedarr f i x e d columnsI...

Figure 5.Taxonomy of the presentation aspects of the user interface of wind ow managers. Solid lines are

choices (exactly one of the options is chosen). A window manag er can include any or all of the o ptions at the

end s of the diagonal gray lines. Example systems are sho wn in a n outline font. There will typically be many

other systems that also share the same features. The options shown are discussed in the article.

7 2 I E E E C o m p u t e r G r a p h ic 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

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 9/20

are always visible. Often, the “b est” style is a matter of

personal taste, but one study discovered that, while users

claimed to prefer covered window managers, they spent

less time doing window management operations with

tiled window managers.” The overall timing results for

task completion were somewhat inconclusive, however.

The computer’s screen size will also affect whether til-

ing or covered is preferred. With small screens, suc h a s

on the standard Macintosh, there is not enough room touse the tiling style. For the window-manager imple-

menter, graphical output primitives are more difficult to

provide with covered systems, since the output must be

clipped to differently shaped regions. On the other ha nd,

with tiled systems, the implementer must provide some

sort of automatic screen layout facilities. Some window

managers, such as Viewpoint3‘ (which is the successor

to Star), allow the user the choice of covered or tiled win-

dows. Another possibility is for a window manager tha t

uses covered windows to provide automatic layout. This

is harde r t han w ith tiled windows, however, because it

is less clear where window s should be placed.

When windows are tiled, the next decision is whether

the windows must be arranged in fixed columns orwhether the windows ca n be in arbitrary places on the

screen (see Figure 6) .A good discussion of the various

options for tiled window systems can be found in

Cohen’s article.33Originally, the Andrew window man-

ager used a constraint system to allow windows to be

nonoverlapping and anywhere o n the screen. The sys-

tem would adjust the sizes of windows based on the con-

straints whenever a new window was created or an old

window destroyed. Unfortunately, users did not like this

for a number of reasons: It took too long for the windows

to finish adjusting themselves after a change, windows

all over the scree n would chang e size when a new win-

dow was added or removed, and th e screen layout result-

ing from one window changing was unpredictable.Therefore, Andrew now supports a much simpler

approach instead, with a user-defined number of

columns.‘’

The RTL/CRTL window ma nager from Sieme ns also

uses constraints. ” The current version runs on top of

X11, an d it reportedly does not have the problems dis-

cussed above for Andrew.

I f there are fixed column s, then there can be either a

specified number or an arbitrary number. Probably the

first use of the window concept was in such full-screentext editors as Emacs,j4 which allowed multiple files to

be edited at the same time by dividing the terminalscreen into horizontal sections. This idea has been

extended in window managers that allow multiplecolumns. Fo r example, Cedar provides for exactly two

columns on a black-and-white display (see Figure 2)

along with one additional column on the optional color

display.I f windows are allowed to overlap, then there are a

number of secondary options. First is whether to allow

A

D

B C

E

F

I

H

G

Figure 6. Tiled windows can be in arbitrary places

(left) or in fixed columns (right).

windows to extend partially off screen (so that only part

of the window is visible on the screen]. Most covered

window managers support this. Another option is

whether to allow windows to be updated while they are

covered. I t is clearly more difficult to clip the output

operations correctly so that covered windows can be

updated, so such older window managers as Smalltalk

and In t e r 1 i ~p- D~~equire that windows come to th e top

before being writt en to. Most modern window managers,

however, allow output to windows while they are

covered. If output ca n occur in portions that are covered,

the next question is whether the listener window is

allowed to be covered. There is no additional implemen-

tation difficulty in allowing this, but some window

managers, such as the Macintosh, always bring the lis-

tener window to the top, to help users keep track of

where they are typing. Other window mana gers, such as

Sapphire and X/uwm, allow the listener to be covered

so that users can have maximum flexibility in arranging

their working environment.

Title lin es an d borders

All window managers provide some “decoration” for

the windows. This usually inc ludes special “title lines”

at the top a nd special borders around the entire window.

The title line typically shows such global information as

the current directory, the na me of a file being edited, o r

the name of the program being run (see Figures 1an d 2).

Th e Blit36window manager is one of the few window

managers that d oes not use title lines. In addition, thetitle lines and borders may contain other decorations and

command buttons.

Showing the listener

An important pre sentation issue is how the listener isshown. Since there are multiple windows an d only one

listener, it is important that the user know which win-

dow is the listener. One method for specifying the lis-

tener is simply to move the mouse into a window. In this

September 1988 7 3

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

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 10/20

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

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 11/20

Icons

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

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 12/20

Bosbx Gem

January Pie Sales

the user to change the listener. There usually are also

commands to create new windoiz-s and delete old xvin-dows. A system ivith covered windows will also need a

command to make the window become uncovered (top),

and there is usually a comman d to make a window be

covered by all other windows (bottom).The bottom com-mand is often used to remove windows that are hiding

a fully covered window.

Most window managers allow the user to move \\Tin-

dows and change their size, but these operations may berestricted in a tiled window manager. For example, in

Cedar, you c an only move a window to the o the r column

or change its size in the current column, and the width

of all windows in a col umn must be adjusted together.Other tiled systems allow a window to be placed in the

“seam” between any two other windows. With a coveredwindow system, an issue is whether the windows can

change size or move while they are partially covered (true

in Sapphire, false in X/uwm). On the Macintosh it is pos-

sible to move a covered window by holding down the

command key lvhile pressing in th e window’s title line.

Another issuc is whether a window can be modifiedonly f rom a particular corner [as in the g r o w operation

for the hlacintosh, which works only from the lower

right corner), from a set of control points (Sapphire

allows windows to be moved an d change d in size from

points on each side and corner),or from anywhere in the

window ( as in X/uwm).

Fo r window managers that have icons, there are oftenoperations to shrink the window down to the icon and

to expand from the icon to normal size. There might also

be operations to move the icon itself (no system I a m

aware of allows the user to change the icon’s size).

Another operation that is often provided is the ability to

make a window full screen o r full size. The old size and

position are remembered so a single operation can make

the window go back. This comma nd is available in Sap-phire and for some windows on the Macintosh.

76 I E E E C o m p u t e r G r a p h i c s R- 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

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 13/20

Figure 10. Taxonomy for the functionality of window manager operations.

Some window managers provide additional opera-tions. For example, most window managers allow a

change from black text on white to white on black;

X/uwm allows the most covered window to be circulatedto the top; and Sapphire and X/uwm have command s to

refresh the contents of windows.

For systems where the window manager itself is

optional, such as Sunwindows and X/uwm, there is

often a c ommand to quit the entire window manager.Some window managers allow applications to insert

their own commands into the normal window managercommand mechanism (for example, into the Interlisp-D

menus). There may also be an Undo command to reversethe previous window manager comma nd.

Another important question is whether the user c an

abort a command after it has started. For example, in t he

Macintosh, if you begin to move a window and change

your mind, you can move the cursor into the comm andarea and the move operation will be aborted. On the

other hand, there is no way to stop the grow operation

on the Macintosh. In Sapphire, any operation can beaborted by hitting the Delete key on the keyboard.

Another issue is whether application programs canaffect the functional ity of the commands. Fo r example,

a program implementing a terminal emulator might

want to restric t its window to be exactly 24 by 80 charac-

ters big and therefore disable the window-size-change

command. In a different situation a n application may bedesigned for novices and therefore want to disable any

"dangerous" window manager commands. Another

example is how dialogue boxes refuse to allow the user

to change the listener on the Macintosh.A related question is whether applications can execute

the commands. For example, can applications move

existing windows o r change their size? Can an applica-tion change the listener? The latter functionality is use-

ful to provide alarms for special asynchronous

situations. For example, the PrintMonitor on the Macin-

Se p te m b e r 1988 7 7

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

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 14/20

' "I, f"Ir specialpefixkey Sapph ire\\,, commands rom keyboard l@r'''"

'(\;t"" special keysSunWindow8

" eyboard change listener Sapphire

P ssign buuons tocommands

- - m m l e interface?

always the samer e m toprevious Macintoshcustomizableusing profile files X

+Inspecifynitial d l g u r a t i

Figure 11.Taxonomy for the user interface of window manager operations.

tosh pops up a window and makes it the listener whe nthere is a problem with the printer.

The advantage of a large number of com mand s is thatthe user can perform operations in a variety of ways. The

disadvantage, however, is that it may be more difficult for

the user to know which com mand to use, and therefore

make the window manager more difficult for novices. In

addition, if a comma nd has lots of variants and op tions,

it may take longer to invoke any single com man d, since

the various options must be specified. A s an example,

allowing a wind ow to be grown from any side or corn er

usually involves three ste ps: first giving the grow com-

mand , second specifying the place to grow from, andfinally specifying th e new size. When there is less flexi-

bility, as in the Macintosh, the second s tep is eliminated.

Future window managers will probably need to pro-vide additional functionality in their user interfaces to

help the user control the windows. Whereas icons andautomatic layout for windows are good first steps, users

still find that they f requently lose windows and have dif-

ficulty reconstructing their working environment. This

is especially important since studies have shown that

people do not work on a particular task for more tha n 15

minutes on average before they switch to a different task,

presumably in a different window.42 Some research

window managers provide groupings of windows, so

that the user can set up a related group of tasks runnin gin windows in a particular layout, and go directly from

one group to another. Cedar contai ns a fixed overview

of 16 screens, each of which ha s a set of windows, and

78 I E E E C o m p u t e r Gra p h i c s & Ap 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

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 15/20

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

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 16/20

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

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 17/20

a

Figure 13. A pop-up menu (a) from smal ltalk, and

fixed menus (b ) in DLisp.

particular item in a menu is selected. This will typically

provide more options or parameters to that particular

operation .

There are various ways to provide submenus. The most

obvious way is simply for them to pop u p after the mai n

selection has been made. Interlisp-U and Su nwin dows

have the submenus app ear when the cursor is slid off a

menu item to the right (see Figure 14a).Macintosh uses

a similar idea, called pull-down menus, but here the mainmenu is horizontal and the submenus appear when the

cursor is over any top-level item (see Figure 14b).Andrew

has the menus stacked like pages of a book (see Figure

14c), so the user can flip through them quickly. Many

other op tions are possible.

A final feature of me nus in window managers is thehandling of items that are currently illegal. For example,

a particular application may prevent its window's size

from being changed. The illegal item might be left o u t of

the menu altogether, it might be included but shown in

gray, as in X/uwm and the Macintosh (see Figure 14b),

or it might be shown normally and just fail to operate,

as in Sapphire.The advantage of showing the option in gray is that the

illegal items are obvious, but the other items in the menu

always appea r in the s ame places so the user gets famil-

iar with where items are placed. The advantage of show-

ing only the legal options is that more items can beincluded if they all appear in independent sets.

Commands from the keyboard

Some window managers allow operations to be

executed using the keyboard. This might be done by

using a reserved shift key (for example, the command key

Se p ernb er 1'38 8

b

on the Macintosh]; by using reserved keys for special

func tions (s ome function keys in Apollo," fo r example,

and Sunwindows); o r by reserving a prefix key which

must be typed before window manager commands, a s

in Sapphire.The keyboard commands are usually considered

accelerators which experts will use when pop-up menus

are too slow. Sometimes the keyboard comm ands a re

provided for people wh o do not like or cannot use the

mouse. EasyAccess on th e Macintosh , for example. was

designed to allow handicapped people to replace all

mouse commands with keyboard actions. The Apollo

window manager is one of the few that was designed

with the keyboard as its primary input device; the earlyApollos did not have mice.49

Other issues with keyboard commands are whether

type-ahead is supported, whether the keyboard can

change the listener (false in the Macintosh, true in Sap-

phire and Sunwindows) , and whether the keyboard canmake selections in the menus.

Other user interface issues

Some commands require arguments. For example, the

user must specify a new size for a window when the

change-size or create-window command is given. Some

81

Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 f rom IEEE Xplore. Restrictions apply.

8/6/2019 A Taxonomy of Window Manager User Interfaces

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 18/20

s c r p t #-

I

HEW hlAl

J Lyd la . I k f l l lp p

Oral T L ~ s - V I J J ~.rua.1+ ~ u r g ilverman

Ya Buul

O J i m Morns ros en t b a l

~ B A I T Y ilverman

J h c h r t d W all at ei n

J b l i c h a e l T LoBue

QJSUtdrA BondLevel 1 and 2 i tems

RDS Deal

Twa mnouncemenu

Kim C Recommendauon

I st*

I l l 1 I

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

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 19/20

8/6/2019 A Taxonomy of Window Manager User Interfaces

http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 20/20

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