



	   ################################################
	   #                                              #
	   # ##   ## ###### ####### ##    ## ## ##     ## #
	   # ##   ## ##  ## ##      ###   ## ##  ##   ##  #
	   # ##   ## ##     ##      ####  ## ##   ## ##   #
	   # ##   ## ###### ######  ## ## ## ##    ###    #
	   # ##   ##     ## ##      ##  #### ##   ## ##   #
	   # ##   ## ##  ## ##      ##   ### ##  ##   ##  #
	   # ####### ###### ####### ##    ## ## ##     ## #
	   #                                              #
	   ################################################






 
 
 
	 The following paper was originally presented at the

		     Third Annual Tcl/Tk Workshop
		 Toronto, Ontario, Canada, July 1995

	   sponsored by Unisys, Inc. and USENIX Association



	    It was published by USENIX Association in the
		  1995 Tcl/Tk Workshop Proceedings.
 
 
 
 
        For more information about USENIX Association contact:
 
                   1. Phone:    510 528-8649
                   2. FAX:      510 548-5738
                   3. Email:    office@usenix.org
                   4. WWW URL:  http://www.usenix.org
 
 
 
 
 
^L
PLUG-IN: Using Tcl/Tk for Plan-Based User Guidance

Frank Lonczewski
Institut fuer Informatik
Technische Universitaet Muenchen
D-80290 Muenchen, Germany
lonczews@informatik.tu-muenchen.de
http://www2.informatik.tu-muenchen.de/persons/lonczews/fralo.html


Abstract

PLUG-IN (PLan-Based User Guidance for Intelligent Navigation) is a user 
guidance component supporting the user of interactive applications. It 
generates dynamical on-line help pages and animation sequences on the fly. 
On the dynamical help pages textual help for the user is displayed whereas 
the animation sequences are used to show how the user can interact with the 
application. In our presentation we demonstrate the given user support by 
looking at the user interface of an ISDN telephone application and discuss 
the underlying Tcl/Tk concepts of PLUG-IN.

Keywords:
Intelligent User Interfaces, User Guidance, Model-Based Interface Design, 
On-line Help Systems


1 Introduction

In the project "Generierung intelligenter Bedienoberflaechen" (GIB) [this 
work is supported by Siemens Corporate Research and Development, Department 
of Systems Ergonomics and Interaction (ZFE ST SN 51), Munich, Germany.] we 
investigate how the time-consuming development process for the construction 
of user interfaces can be reduced by generating it automatically out of a 
declarative description (model) of the properties of an interactive 
application. Some advantages of this model-based approach [Fol91, Sze92,
Jan93, Suk93, Bod93, Bal93, Sch94] are:

-- by using alternative layout rules formulated on basis of a styleguide 
[OSF91, SUN89], different user interfaces can be generated without modifying 
the description of the application
-- the styleguide-confirmity of the set of user interfaces that can be 
generated is ensured
-- with a layout-independent description of the tasks that the user can solve 
with the interactive application, a user guidance component can be generated 
automatically by analyzing the model and the tasks of the application


2 Plan-Based User Guidance

The user guidance component supports the user while working with the 
application by determining the current tasks of the user. If a task is 
recognized, a way is searched to solve it, and if such a way can be found, 
the user guidance component can help the user by:

-- generating dynamical textual on-line help that describes how the given 
task can be accomplished
-- generating an animation sequence that simulates the necessary user 
interactions to accomplish the given task

PLUG-IN is a user guidance component that is based on the above described 
method. It uses Tcl/Tk concepts to:

-- visualize a set of State Transition Diagrams (STDs) describing the states 
of the application and the actions the user can perform in the different 
states (denoted by directed arcs). As an example a STD for the ISDN telephone 
application is shown in figure 1

[figure 1]

-- communicate with the interactive application. By using the "send"-mechanism 
of Tcl/Tk it is possible for PLUG-IN to obtain information about the current 
state of the application and the used interaction objects of the application's 
user interface
-- generate the dynamical on-line help pages and animation sequences
-- simulate the generated animation sequences on the user interface. For this 
purpose the extended Tcl/Tk interpreter AniSh (Animation Shell) is used. With 
the set of AniSh-specific commands it is possible to simulate and visualize 
user interactions in a graphical windowing environment like the X Window 
System.

In contrast to other approaches to user guidance [Feh93, Mor94, Thi94], 
PLUG-IN generates dynamical on-line help pages based on the STDs in 
HTML-format that can be inspected with a WWW browser like tkWWW or 
NCSA Mosaic. Each dynamical on-line help page is typically divided into four 
regions and contains:

-- information about the current state of the application from the user's 
point of view
-- information about the set of possible actions the user can perform in the 
current state
-- for each of the possible actions: information about the necessary user 
interactions  to perform the action. If the user selects the button with the 
light bulb icon beneath the displayed text (see example below), PLUG-IN 
simulates the described interactions on the user interface with an animation 
sequence and generates a new on-line help page afterwards.
-- information about further documentation material, e.g. references to a 
hypertext version of the user manual of the application

As all operations the user can perform on the original user interface can also 
be triggered through the WWW browser, it can be regarded as an alternative 
user interface of the application. In contrast to the original user interface 
the goal of the WWW-based user interface is to guide the user during the work 
with the application. The information displayed helps the user to accomplish a 
given task. Furthermore, the user can learn how to interact with the original 
user interface through the means of the simulation capabilities of PLUG-IN.


3 An Example: Guiding the User of an ISDN Telephone Application

In our presentation we look at the user interface of an ISDN telephone 
application (see left side of figure 2) [Sie92] generated with our model-based 
BOSS-system [Sch94]. 

[figure2]

Depending on the current state of the application (in figure 1 this is the 
highlighted state "NoConnection" of the STD), PLUG-IN generates different 
on-line help pages. The generated on-line help page corresponding to the 
current state of the ISDN phone shown in figure 1 is displayed on the right 
side of figure 2. If the user selects the light bulb icon on the page, the 
described user interactions are simulated on the user interface. In this 
example PLUG-IN first changes the shape of the mouse pointer to provide 
visual feedback for the user, then moves the mouse pointer to the handset 
button on the user interface and finally selects the button by simulating a 
click with the left mouse button.

In the demonstration we will show how the user solves a complex task (e.g. 
establishes a conference while using the phone) with the dynamic support 
provided by PLUG-IN.


References

[Bal93]
H. Balzert: "Der JANUS-Dialogexperte: Vom Fachkonzept zur Dialogstruktur", in 
Softwaretechnik 93, 13(3), 1993
[Bod93]
F. Bodard, A. Hennebert, J.M. Leheureux, I. Sacre & J. Vanderdonckt: 
"Architecture Elements for Highly-Interactive Business-Oriented Applications", 
in EWHCI 93 Proceedings, eds: L. Bass, J. Gornostaev & C. Unger, 
Springer LNCS 753
[Feh93]
T. Fehrle, K. Kloeckner, V. Schoelles, F. Berger, M. Thies & W. Wahlster: 
"PLUS - Plan-based User Support", DFKI-Report RR-93-15, 1993
[Fol91]
J. Foley, W. Kim, S. Kovacevic & K. Murray: "UIDE - An intelligent User 
Interface Design Environment", in Intelligent User Interfaces, Addison-Wesley, 
1991, pp. 339-384
[Jan93]
C. Janssen, A. Weisbecker & J. Ziegler: "Generating User Interfaces from Data 
Models and Dialogue Net Specifications", in ACM Interchi 93 Proceedings, ACM, 
1993, pp. 418-423
[Mor94]
R. Moriyon: "Automatic Generation of Help from Interface Design Models", in  
ACM CHI 94 Proceedings, ACM, 1994
[OSF91]
Open Software Foundation: "OSF/Motif Style Guide Release 1.1", Prentice-Hall, 
1991
[Sch94]
S. Schreiber: "The BOSS-System: Coupling Visual Programming with Model-Based 
Interface Design", in Proceedings Eurographics Workshop Design, Specification, 
Verification of Interactive Systems, F. Paterno, editor, Eurographics 
Association, 1994
[Sie92]
Siemens AG: "Telefon Bedienungsanleitung Hicom Standard 300", Muenchen, 1992
[Suk93]
P. Sukaviriya, J. Foley & T. Griffith: "A Second Generation User Interface 
Design Environment: The Model and the Runtime Architecture", in 
ACM Interchi 93 Proceedings, ACM, 1993, pp. 375-382
[SUN89]
Sun Microsystems Inc.: "Open Look, Graphical User Interface, Application Style 
Guidelines", Addison-Wesley, Reading, 1989
[Sze92]
P. Szekely, P. Luo & R. Neches: "Faciliating the Exploration of Interface 
Design Alternatives: The HUMANOID Model of Interface Design", in 
ACM CHI 92 Proceedings, ACM, 1992, pp. 507-515
[Thi94]
M. Thies: "Planbasierte Hilfeverfahren fuer direktmanipulative Systeme", 
Infix, DISKI 67, Universitaet Stuttgart, 1994
