21.07.2013 Views

The Adaptable User Interface - Technion

The Adaptable User Interface - Technion

The Adaptable User Interface - Technion

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

COMFUTING PRACTICES<br />

Edgar H. Sibley<br />

Panei’ Editor<br />

A single adaptable user interface (AUl) which allows the user to switch<br />

between any number of different dialogue modes at any time-even in the<br />

middle of a command-can be useful to a variety of users who are neither<br />

beginners nor experts. It can also be used in applications where different<br />

dialogue modes are appropriate for the various parameters of a single<br />

command. An implemented user interface management system (cl// WS)<br />

suggests the practicality of AMs and their automatic generation.<br />

<strong>The</strong> <strong>Adaptable</strong> <strong>User</strong> <strong>Interface</strong><br />

Eliezer Kantorowitz and Odecl Sudarsky<br />

THE AU1 CONCEP?<br />

Software systems interact with users in a large variety<br />

of ways (dialogue modes). <strong>The</strong>se methods may be classi-<br />

fied as the menu-type and the command-language-type.<br />

In a menu-type-dialogue mode (MM), the user controls<br />

the system solely through the selection of options from<br />

a number of choices presented. It is assumed that only<br />

choices that make sense are presented to the user, and<br />

that it is, therefore, not possible to select options that<br />

are not permitted. In a command-language-type dialogue<br />

mode (CLM), the user controls the system by instruc-<br />

tions given in a certain command language. <strong>The</strong> user<br />

must know this language in order to use the system. In<br />

contr.ast with an MM, where the user is guided by<br />

menu.s and can only enter legal choices, the user of a<br />

CLM may enter erroneous instructions. A CLM should,<br />

therefore, be designed to detect improperly formulated<br />

instructions and to correctly recover from their effects.<br />

<strong>The</strong> advantages of an MM over a CLM are well<br />

known. Since the users do not have to learn any com-<br />

mand language, they may become productive with a<br />

new system after a very short time. A new user may<br />

explore the operations provided by a system simply by<br />

browsing through the menus. If such a system also pro-<br />

vides adequate help for every menu option, the user<br />

may operate the system without ever needing a man-<br />

ual.<br />

Menu systems may, however, be less satisfactory for<br />

frequent users who have to work through a large num-<br />

ber of menus to get their work done. Waiting for a<br />

menu to appear on the screen, finding the right menu<br />

entry, and making the selection can take time. Profi-<br />

cient users who do not need guidance tend to prefer<br />

a concise CLM where a few keystrokes, entered at<br />

full typing speed, achieve the same effect as a num-<br />

This research was supported by the Gutwirth Fellowship Fund and by the<br />

Nicholas M. and Gisela Deutch Fellowship in memory of their martyred par-<br />

ents and families.<br />

0 1989 ACM OOOI-0782/89/1100-1352 $1.50<br />

ber of relatively slow menu selections. Isaki and<br />

Schneidermann observed in [i’] that “Knowl.edgeable<br />

users often remark that they would prefer to type com-<br />

mands and believe that they can work more rapidly by<br />

just typing commands.”<br />

Realizing the different needs of beginners and ex-<br />

perts, many systems provide two distinct user inter-<br />

faces: a menu interface and a command-language inter-<br />

face. In these systems, the user has to select in advance<br />

(in the beginning of the session or before each com-<br />

mand) one of these two interfaces that is best suited to<br />

the task. If a user wants to change the dialogue mode,<br />

the current command must be completed fi:rst, and<br />

then the user must request that the system switch to<br />

the desired user interface. <strong>The</strong>re are cases, .however,<br />

when it is useful to change the dialogue mode in the<br />

middle of a command. To demonstrate this, we will<br />

employ an example command for drawing a black box<br />

with the lower left corner at (0,O) and the upper right<br />

corner at (1,l):<br />

BOXBLACK(O,O) (1,l)<br />

<strong>The</strong> first case to be discussed is that of a user who is<br />

neither a beginner nor an expert but is somewhere<br />

between these two extremes. Such a user may realize<br />

that he or she has forgotten some command language<br />

element while in the middle of composing a command<br />

and may need the assistance of menus [3, 511. .Assume<br />

that the user has typed the word BOX of the example<br />

command and is uncertain about what colors are available.<br />

Shifting to an MM will facilitate color selection<br />

from a menu. A similar situation occurs when the user<br />

has made a mistake, e.g., entered a color that does not<br />

exist. After reading the error message, the user can<br />

switch to a menu of colors in order to select an available<br />

color.<br />

<strong>The</strong> need to assist users who cannot complete a command<br />

is realized in current systems, which enable commands<br />

to be programmed such that users are prompted<br />

for missing parameters. <strong>The</strong>se systems, however, do not<br />

1352 Communications of the ACM November 1989 Volume 3.2 Number 11


give the users the freedom to employ at any time the<br />

dialogue mode that is most productive for their level of<br />

experience. <strong>The</strong> users’ freedom in changing dialogue<br />

modes solves another class of problems which we will<br />

discuss next.<br />

One of the criteria for deciding whether to use a CLM<br />

or an MM is the nature of the input data and the physi-<br />

cal properties of the I/O devices. In our example, the<br />

coordinates of the corners are known by their exact<br />

numerical values ((0,O) and (l,l)), and it is, therefore,<br />

appropriate to enter them by typing them at the key-<br />

board (a CLM). If a corner is only known by its position<br />

on the screen, however, it must be entered by moving<br />

the cursor with a mouse or another locating device. By<br />

our definition, this method for entering coordinates is<br />

an MM, where the points of the screen are the choices<br />

and the selection is made with the mouse. We observe<br />

that depending on the nature of the actual input data,<br />

the same command is sometimes entered in a CLM and,<br />

in other cases, in an MM. Sometimes it is required to<br />

employ two different dialogue modes within the same<br />

command. For instance, one of the corners of the box is<br />

known by its position on the screen (and must, there-<br />

fore, be entered by pointing at it) while the other cor-<br />

ner is known by the numerical values of its coordinates<br />

(and should be entered through the keyboard).<br />

It is sometimes useful to have more than one MM or<br />

more than one CLM. As an example, let us consider a<br />

system with two different CLMs for the same command<br />

language: a voice-input mode and a keyboard-input<br />

mode. Voice input is preferred when the user has to<br />

operate away from the terminal or is otherwise occu-<br />

pied. On the other hand, keyboard input may be<br />

quicker or less error prone in noisy environments.<br />

We propose an adaptable user interface (AUI), which<br />

will allow the user to switch dialogue modes in the<br />

middle of a command. An adaptable user interface is de-<br />

fined as an interface that:<br />

l supports a number of different dialogue modes. More<br />

than two modes may be provided;<br />

l allows the user to switch between dialogue modes at<br />

any time, i.e., even in the middle of a command;<br />

l makes the switch between dialogue modes smoothly<br />

and naturally;<br />

l makes it easy for the user to learn how to use the<br />

different dialogue modes, especially the CLMs, which<br />

usually require a longer training period.<br />

In order to enable simple and natural switching be-<br />

tween dialogue modes, a number of assumptions and<br />

requirements are proposed. <strong>The</strong> central assumption is<br />

that all the dialogue modes of an AU1 are different<br />

representations of a single underlying dialogue language.<br />

This common language is assumed to be constructed of<br />

a number of elementary syntactic components, to be<br />

called tokens. Every token is required to have a distinct<br />

representation in each of the dialogue modes. In an<br />

MM, a token is represented by a single menu selection,<br />

while the corresponding representation in a CLM is an<br />

Computing Practices<br />

atom of the command language. For example, in the<br />

GUIDE system, to be described later, CLM tokens are<br />

represented by character strings. Each token may be<br />

entered in any one of the available dialogue modes,<br />

independent of the modes employed for the other to-<br />

kens. Two subsequent tokens may thus be entered in<br />

two different modes.<br />

Beginners and casual users will employ the AU1 in an<br />

MM. As they become more familiar with the system,<br />

they will gradually learn the CLM instructions that<br />

they need. A user can exploit the CLM commands al-<br />

ready learned and employ an MM for all the other<br />

commands. <strong>User</strong>s will not have to learn CLM com-<br />

mands that are rarely used since they may be entered<br />

in an MM.<br />

Additionally, each token can be entered in the most<br />

suitable way. For example, in the BOX command, each<br />

of the two corners is given by a single token. One cor-<br />

ner of the box may be entered using a mouse while the<br />

opposite corner can be entered by typing its coordi-<br />

nates. <strong>The</strong> implementation of a user interface is usually<br />

a major effort. This is especially true for an AUI, in<br />

which several input devices must be monitored simul-<br />

taneously. It is, therefore, desirable to have a user in-<br />

terface management system (UIMS) [lo, 11, 15, 161 that<br />

automatically generates AUIs. Nonetheless, none of the<br />

existing UIMSs seem to allow the easy production of<br />

AUIs. Most systems can only generate single-dialogue-<br />

mode user interfaces. In systems that offer several<br />

modes, the end user is usually required to select a sin-<br />

gle dialogue mode at the beginning of the session. <strong>The</strong><br />

Workspaces system [l] allows only partial adaptability<br />

(keyboard parameters must be entered first, followed by<br />

the parameters given by other input devices). <strong>The</strong> IOT<br />

[16], Switchboard [14], and Sassafras [6] systems may<br />

possibly be extended by the user interface designer<br />

with code that supports several dialogue modes; how-<br />

ever, writing such code is a difficult task that requires<br />

insight in parallel programming of I/O devices.<br />

THE GUIDE SYSTEM<br />

In order to test the practicality of AUIs and of their<br />

automatic generation by a UIMS, the GUIDE (Graphic<br />

<strong>User</strong> <strong>Interface</strong> Design Environment) system was imple-<br />

mented [13]. Further design goals of GUIDE were:<br />

l specification and modification of a user interface<br />

should be simple and require no programming skills.<br />

This will enable the system to be used by human<br />

factor experts who are not necessarily programmers.<br />

<strong>The</strong> ability to easily modify the user interface is im-<br />

portant since human behavior may not be precisely<br />

predicted, and some debugging may be required;<br />

l extending the user interface with new I/O devices<br />

and associated dialogue modes should be easy and<br />

require only minimal modification of the system.<br />

An application program developed with GUIDE has<br />

three main modules called the lexical, syntactic, and se-<br />

mantic components. <strong>The</strong> lexical component identifies<br />

November 1989 Volume 32 Number 11 Communications of the ACM 1353


Computing Practices<br />

the tolkens in the stream of input events. <strong>The</strong> syntactic<br />

component analyzes the stream of tokens it receives<br />

from the lexical component and invokes the semantic<br />

component when required. <strong>The</strong> semantic component is<br />

the collection of application routines written by the<br />

applic.ation programmers in some ordinary program-<br />

ming languages.<br />

<strong>The</strong> syntactic and lexical components constitute the<br />

user interface of the application program. GUIDE gener-<br />

ates this user interface from specifications given<br />

through interactive graphic design tools. <strong>The</strong> user inter-<br />

face specifications do not cause the generation of any<br />

code; rather, they are stored in a relational database<br />

and are later interpreted by a run-time environment. <strong>The</strong><br />

code of this run-time environment is identical for all<br />

GUIDE-developed applications; only the database and<br />

the semantic component are different. A change in the<br />

user-interface specifications only requires a modifica-<br />

tion of the database. <strong>The</strong> effect of such a change can be<br />

seen immediately, since no compilation and linkage are<br />

requirsad. This facilitates rapid prototyping of user in-<br />

terfaces since the designer can try several alternative<br />

solutions within a short time.<br />

<strong>The</strong> Syntactic Component<br />

<strong>The</strong> syntactic component of the user interface employs<br />

a recursive transition network (RTN) as the definition of<br />

the dialogue language. An RTN interpreter executes<br />

this definition when it analyzes the stream of input<br />

tokens. RTNs were chosen for the syntax representation<br />

because they are as powerful as deterministic,<br />

context-free grammars yet easier to use than BNF represent,ation,<br />

especially for nonprogrammers [2, 4, 81.<br />

An overview and comparison of current methods for<br />

specification of the syntax of dialogue languages is<br />

found in [16]. tines.<br />

An RTN is constructed from a number of subnets.<br />

Each subnet is represented by a directed graph. <strong>The</strong><br />

following kinds of states (nodes) and transitions l[edges)<br />

may appear in a subnet (see Figure 1):<br />

l initial state--the state in which the execution of sub-<br />

net begins;<br />

l return state-causes control to return to the calling<br />

subnet;<br />

l subnet call state-causes control to pass to another<br />

subnet (or, recursively, to the same subnet);<br />

l application call state-causes an application routine to<br />

be executed;<br />

l input state-causes control to wait for the reception of<br />

a token from the lexical component. A menu may be<br />

associated with this state; if required, this menu will<br />

be displayed automatically when this state is<br />

reached;<br />

l output state-causes the display of a message to the<br />

end user;<br />

l plain transition<br />

l return transition-appears after an application call<br />

state and is traversed if the routine has returned the<br />

return code associated with this transition;<br />

l option transition-appears after an input state and is<br />

traversed if the user has selected the menu option<br />

associated with this transition;<br />

l parameter transition-appears after an input slate and<br />

is traversed if the user has picked an object of the<br />

type associated with this transition.<br />

It is noted that a subnet may recursively call another<br />

subnet or itself. This enables the grammar of the dia-<br />

logue language to be defined in a modular way in much<br />

the same way as a program is constructed fro:m subrou-<br />

FIGURE 1. <strong>The</strong> Graphic Representation of RTN States and Transmissions<br />

1354 Conmwuications of the ~4CIvi November 1989 Volume 32 ,Yumber 11


Figure 2 shows an example of an RTN subnet called<br />

PickNode. <strong>The</strong> execution of this subnet by the RTN<br />

interpreter starts at the initial state S 1 and then imme-<br />

diately passes to the input state ~2. A menu called<br />

NodeMenu is associated with this state. <strong>The</strong> user has<br />

now to select one of the two options in this menu. If, for<br />

instance, the option named Del is selected, the option<br />

transition T2 will be traversed, and the application call<br />

state ~3 will be reached. <strong>The</strong> semantic procedure<br />

DNode associated with this state will be called by the<br />

RTN interpreter. Finally, the return state S5 will be<br />

encountered, and the execution of the subnet will ter-<br />

minate.<br />

GUIDE provides an interactive graphic editor called<br />

SYNEDIT. This editor allows the user interface designer<br />

to construct the RTN which defines the syntax of the<br />

dialogue language. A SYNEDIT screen is shown in Fig-<br />

ure 2. SYNEDIT checks the consistency and complete-<br />

ness of the RTN to make sure that it can be executed.<br />

<strong>The</strong> user interface for SYNEDIT itself was generated by<br />

GUIDE.<br />

<strong>The</strong> Lexical Component<br />

<strong>The</strong> lexical component of a GUIDE-generated user in-<br />

terface manages all the input and output of the pro-<br />

gram. <strong>The</strong> output consists of text messages, menus,<br />

icons, and links. A link is a line that connects two icons.<br />

Icons and links may be used to represent the different<br />

objects on which the application operates. <strong>The</strong>y can, for<br />

instance, be employed to show the nodes and edges of<br />

the graphs that appear in some applications.<br />

GUIDE’s lexical component is called by the RTN in-<br />

terpreter (the syntactic component) when it encounters<br />

an input or output state. <strong>The</strong> lexical component cur-<br />

rently supports two dialogue modes. Every menu, icon,<br />

or link can, therefore, be selected in one of two ways:<br />

by pointing with a mouse (an MM) or by typing the<br />

option’s or object’s name (a CLM). Text typed at the<br />

keyboard appears in a special CLM text area at the<br />

bottom of the screen (see Figure 3 and the examples in<br />

Figures 2 and 7). If the user employs the mouse, the<br />

name of the selected menu option or object will be<br />

copied by GUIDE into the CLM area as if the user has<br />

typed them in. <strong>The</strong> CLM area will, therefore, in all<br />

klclfltl SUSNET PICKNODE IlILI+I-u~<br />

53<br />

DNode<br />

4ddTrans 52 54 option<br />

4ddState Exit<br />

4ddTrans 53 S5 Plain<br />

MdTrans<br />

I<br />

S4 S5 Plain<br />

I<br />

FIGURE 2. An RTN Subnet being Edited by SNYEDIT<br />

k-l+lfltl Scroll bar I1 l~l-+l+l<br />

Graphic window area<br />

Text area<br />

FIGURE 3. Screen Layout for a Guide-Developed Application<br />

Computing Practices<br />

cases show the command language representation of<br />

the command being entered. This helps the user to<br />

learn the command language. Note again that each of<br />

the tokens in the command may be entered in a differ-<br />

ent dialogue mode. Furthermore, note that the user<br />

does not have to tell the system to switch between<br />

dialogue modes-but simply uses whichever device<br />

(mouse or keyboard) wanted.<br />

<strong>The</strong> different dialogue modes are managed solely by<br />

the lexical component. When the RTN interpreter re-<br />

ceives a token from the lexical component, it has no<br />

knowledge of the mode in which this token was en-<br />

tered. This makes the system relatively easy to adapt to<br />

future dialogue modes and input devices (e.g., a speech<br />

recognizer) since only the lexical component will have<br />

to be changed, while the syntactic and semantic com-<br />

ponents will remain unchanged.<br />

GUIDE includes a program called LEXEDIT that al-<br />

lows the user interface designer to define icons, links,<br />

menus, and messages. In the icon editor screen (see<br />

Figure 4) the icon is drawn using graphic primitives<br />

and text fields. <strong>The</strong> icon is shown twice: life-sized in<br />

the corner of the screen and enlarged in the main win-<br />

dow. In the link editor screen (see Figure 3, the de-<br />

signer can specify the attributes of the link: line style,<br />

arrowheads, and link shape. Text fields can be placed<br />

along the link. In the menu editor screen (see Figure 6),<br />

the menu’s graphic appearance is drawn. <strong>The</strong> name<br />

and the rectangular region occupied by each option in<br />

the menu can be defined. <strong>The</strong> designer has a choice of<br />

three menu styles: static, pop-up, and pull-down. This<br />

choice of facilities allows the implementation of many<br />

of the currently popular user interface styles.<br />

EXAMPLES OF GUIDE-DEVELOPED APPLICATIONS<br />

In order to test the applicability of GUIDE in various<br />

areas, user interfaces for three different applications<br />

were constructed. <strong>The</strong> applications are:<br />

l a directed graph editor,<br />

l a specification program for management information<br />

systems (MISS), and<br />

l the RTN editor of the GUIDE system.<br />

<strong>The</strong> directed graph editor is a small program. It was<br />

November 1989 Volume 32 Number 11 Communications of the ACM 1355


Computing Practices<br />

AddSam<br />

EM<br />

B<br />

FIGURE 4. LEXEDIT’s Icon Editor Screen<br />

FIGURE 5. LEXEDIT’s Link Editor Screen<br />

I<br />

&ENU EOfTOR: OPTIONS uenu: uyuenu<br />

f ,>Exit<br />

:,


item<br />

budget item<br />

S”PP<br />

supplier<br />

struct the subnets which constitute the RTN and to<br />

check the correctness of the RTN. Since SYNEDIT<br />

could not be used to enter the specifications of its own<br />

RTN, these data had to be entered manually into the<br />

specification database. <strong>The</strong> rest of the specifications for<br />

SYNEDIT were input with LEXEDIT.<br />

IMPLEMENTATION<br />

GUIDE was implemented on an IBM PC AT-compatible<br />

computer. Most of the software was written in the<br />

dBASE III PLUS database programming language and<br />

compiled with the Clipper compiler. <strong>The</strong> use of a rela-<br />

tional database to store user interface specifications al-<br />

lowed rapid and simple development of GUIDE. Since<br />

the dBASE language cannot be fully compiled, how-<br />

ever, the system is somewhat slow. A reimplementation<br />

of GUIDE in a compilable programming language is ex-<br />

pected to result in satisfactory performance.<br />

CONCLUSIONS<br />

It has been argued that it is sometimes useful to employ<br />

a number of different dialogue modes (such as typing<br />

text at the keyboard and pointing with a mouse) within<br />

the same command. This cannot be achieved in the<br />

current systems that provide different dialogue modes<br />

by applying an essentially separate user interface for<br />

each dialogue mode. In order to meet these needs, this<br />

article introduces the adaptable user interface (AUI) con-<br />

cept which integrates a number of dialogue modes into<br />

a single user interface.<br />

<strong>The</strong> freedom of the AU1 user to adapt dialogue modes<br />

to actual needs is useful at all levels of experience. A<br />

novice user starts by using menu modes (MMs) where<br />

guided by choices presented by the system and gradu-<br />

ally learns how to utilize the command language. An<br />

experienced user employs the faster command lan-<br />

guage modes (CLMs) but can switch to menus in the<br />

FIGURE 8. An ERD being Edited in the MIS Specification Program<br />

middle of a command if uncertain about how to finish<br />

it. An AU1 also enables the user to choose the dialogue<br />

mode that is most suitable for the nature of input data<br />

and the working environment.<br />

<strong>The</strong> implementation of the GUIDE system suggests<br />

that both AUIs and a UIMS which generates AUIs are<br />

practical on personal computers. It also shows that all<br />

dependencies on I/O devices and dialogue modes can<br />

be isolated in the lexical component of the user inter-<br />

face. This facilitates future additions of any number of<br />

new dialogue modes to the user interface of an already<br />

existing application.<br />

<strong>User</strong> interfaces for three different applications were<br />

implemented relatively quickly and conveniently using<br />

GUIDE. In these applications, switching between differ-<br />

ent dialogue modes appears natural and gives the user a<br />

new degree of freedom in exploiting the system.<br />

Acknowledgments. We thank David Reider for his<br />

kind help in system analysis and in the development of<br />

one of the examples.<br />

REFERENCES<br />

1. Enderle, C. <strong>The</strong> flexible configuration of interaction environments<br />

using GKS and Workspaces. In Proceedings of the Seeheim Workshop<br />

on UIMS. Springer-Verlag, New York. 1965.<br />

2. Green. M. Report on dialogue specification tools. In Proceedings of the<br />

Seeheim Workshop on UIMS. Springer-Verlag, New York. 1965.<br />

3. Grimes, J, D. A knowledge oriented view of user interfaces. In Pro-<br />

ceedings of the 12th Hawaii international Conference on System Sciences,<br />

Vol. I (Honolulu, Hawaii, Jan. 4-5.) ACM, New York, 1979, pp.<br />

158-163.<br />

4. Guest, S. P. <strong>The</strong> use of software tools for dialogue design. Inf. I.<br />

Man-Machine Studies 16, (Apr. 1962), 263-285.<br />

5. Heffler, M. J. A human-computer interface that provides access to a<br />

diverse user community. In Proceedings of the 14th Hawaii Intema-<br />

tionaf Conference on System Sciences (Honolulu, Hawaii, Jan. 8-9).<br />

ACM/IEEE, New York, 1981, pp. 601-610.<br />

6. Hill, R. D. Supporting concurrency, communication, and synchroni-<br />

zation in human-computer interaction-<strong>The</strong> Sassafras UlMS. ACM<br />

Trans. Graph. 5, 3 (July 1966), 179-210.<br />

November 1989 Volume 32 Number 11 Communications of the ACM 1357


Computing Practices<br />

7. Iseki, O., and Shneiderman. B. Applying direct manipulation con- [Information Systems]: <strong>User</strong>/Machine Systems-human fzclors;<br />

cepts: Direct Manipulation Disk Operating System (DMDOS). Sojtw. 1.3.6 [Computer Graphics]: Methodology and Techniques-interaction<br />

Eng. Notes 11, 2 (Apr. 1986), Z-26. techniques, languages<br />

8. Jac:ob, R. J. K. Using formal specifications in the design of a human-<br />

computer interface. Cownun. ACM 26, 4 (Apr. 19831, 259-264.<br />

9. Myers, B. A. <strong>User</strong>-interface tools: Introduction and survey. IEEE<br />

Sopw. (Jan. 1989), 15-23.<br />

lo. Ol:?eo, D. R., Jr., et al. ACM SIGGRAPH workshop OII software tools<br />

for user interface management. Comput. Graphics 21, 2 (Apr. 1987),<br />

71-174.<br />

31. Pfaff, G. E., Ed. <strong>User</strong> interface management. In Proceedings of the<br />

Ser,heim Workshop on UZMS. Springer-Verlag, New York, 1985.<br />

12. Reider, D., Kantorowitz, E., and Raz, Y. Specification of management<br />

information systems combining data modeling and structured analysis.<br />

In Proceedings of the 4th Israel Conference on Computer Systems and<br />

Sojtware Engineering (Tel Aviv,<br />

19B9, pp. 34-44.<br />

Israel, June 5-6.) IEEE-W New York.<br />

13. Sudarsky, 0. A user interface management system adaptable to various<br />

user experience levels. <strong>The</strong>sis, Dept. of Computer Science,<br />

<strong>Technion</strong>-Israel Institute of Technology, Haifa, Israel, 1988.<br />

14. Tanner, P. P., et al. A multitasking switchboard approach to user<br />

interface management. In Proceedings of SZGGRAPH ‘86: 13th Annunf<br />

Conference on Computer Graphics and Interactive Techniques (Dallas,<br />

Tex., Aug. 18-22.) ACM/SIGGRAPH, New York. 1986, pp. 241-248.<br />

15. Thomas, J. J., and Hamlin, G. Graphical Input Interaction Technique<br />

(GIIT) workshop summary. Comput. Graphics 17, I (Jan. 1983), 5-30.<br />

16. van den Bos, J., Plasmeijer, M. J., and Hartel, P. H. Input-Output<br />

tools: A language facility for interactive and real-time systems. lEEE<br />

Trmts. Softw. Eng. SE-g, 3 (May 1983), 247-259.<br />

CR ‘Categories and Subject Descriptors: D.2.2 [Software Engineer-<br />

ing]: Tools and Techniques---user interfaces; D.2.6 [Software Engineer-<br />

ing]: Programming Environments-interactive; D.2.m [Software Engi-<br />

neering]: Miscellaneous-rrrpid prototyping; D.3.4 [Programming<br />

Languages]: Processors-interpreters, run-time environments; H.1.2<br />

General Terms: Human Factors, Languages<br />

Additional Key Words and Phrases: Dialogue languages, recursive<br />

transition networks. user interface management systems, user interfaces<br />

ABOUT THE AUTHORS:<br />

E. KANTOROWITZ is currently a professor at the Computer<br />

Science Department at <strong>Technion</strong>-Israel Institute of ‘Technology<br />

and an ACM member. His research interests are in adaptable<br />

user interfaces, fault tolerant distributed database systems, and<br />

he is involved in the design of an industrial database-oriented<br />

ship design system. Author’s Present Address: Computer Sci-<br />

ence Department, <strong>Technion</strong>-Israel Institute of Technology,<br />

Haifa 32000, Israel. KANTOR@TECHSEL.BITNET<br />

0. SUDARSKY recently completed his Master of !kience stud-<br />

ies and is an ACM member. His research interests are adapt-<br />

able user interface management systems. Author’s Present<br />

Address: 11 Mishmar HaYarden St., 18412 Afula, .lsrael.<br />

Permission to copy without fee all or part of this material is granted<br />

provided that the copies are not made or distributed for &ect commer-<br />

cial advantage, the ACM copyright notice and the title of the publication<br />

and its date appear, and notice is given that copying is by permission of<br />

the Association for Computing Machinery. To copy otherwise, or to<br />

republish, requires a fee and/or specific permission.<br />

Provides in-depth examination of the topics covered...<br />

acm Computing<br />

Surveys<br />

Editor-in-Chief Salvatore T. March<br />

LIniversity of Minnesota, Minneapolis, MN<br />

A<br />

uthoritative surveys and tutorials make<br />

ACM Computing Surtieys a required resource<br />

in computer science. Refer to<br />

Computing Surveys for updates, new<br />

perspectives on hardware and software, computer<br />

systems organization, computer science theory,<br />

artificial intelligence, applications, and a spectrum of<br />

peripheral topics.<br />

In the past, Computing Surveys has treated encryption<br />

and data security, the legal issues involved in<br />

privacy, fault-tolerant software, data management<br />

and organization, information systems, and manmachine<br />

interface software packages.<br />

What’s best is that the prose is lively and accessible<br />

while providing an in-depth examination of the topics<br />

covered. Published quarterly. ISSN: 0360-0300<br />

Included in STN’s Compuscience, AMS’s Mathsci.. Applied<br />

Science 6 Technology Index, Mathematical Reviews, Science<br />

Abstracts, Science Abstracts Index, British Maritiml? Technology<br />

Ltd.,Computer Literature Index (formerly Qtr. Bib/i. Camp. & Data<br />

Proc.), Computing Reviews, Compumath Citation Index (CMCI),<br />

Ergonomics Abstracts, Information Services for the f’h!ysics 6<br />

Engineering Communities, Index to Scientific Reviezus.<br />

Order No. 105000 - Vol. 22 (1990)<br />

Subscriptions: $85,00/year - Mbrs. $13.00<br />

Student Members: $8.00<br />

Single Issues: $20.00 - Mbrs. $10.00<br />

Back Volumes: $80.00 - Mbrs. $40.00<br />

Student Mbrs. $25/year<br />

PR<br />

63<br />

Circle #103 on Reader Service Card<br />

--<br />

Please send all orders and inquiries to:<br />

P.O. Box 12115<br />

Church Street Station<br />

New York, N.Y. 10249<br />

1358 Communications of the ACM November 1989 Volume 32 Number 11<br />

-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!