[comp.groupware] Even more on Prescient Agents

mcgregor@hpsmtc1.HP.COM (Scott McGregor) (03/22/90)

Another chapter on Prescient Agents...

System Externals

The major external features of our system are the the enhanced window
manager system menu, the links pop-up menu, the ad hoc link creation
mode, the link attributes dialog box, and the WebLenses, including the
neighbors menu list, the ToDo list manager and the node and arc
representation.


Graphical User Interface Features

Our system was designed to require as little additional learning from
experienced computer users as necessary.  Our target environment was
for users of the X Windows Motif window manager (mwm).  The Motif
window manager normally provides a RsystemS pull down menu associated
with each window on the desktop.  From this menu you can normally
access abilities to resize, move, iconify, etc.  the current window.
We added a new capability as an additional menu item, which allows you
to traverse or create new links from the object underlying this
window, to other objects.

Neighbors Menu Lists 

When the link item is selected, an
additional window is displayed that lists a menu of neighbor objects
which are associatively linked to the currently selected window.
Clicking on an existing item causes the related object to be
"re-animated" using the proper edit or display method for data of this
type.  (See figure 4).

New Links 

The menu also contains a button which will allow you
to create a new link.  New links can be created in two ways.  If the
destination of the link is an object with a currently visible window,
then the user can merely mouse over to the other window (the sprite
changes to a cross-hair image) and then click.  In this case the
system will automatically compute the underlying object and other
attributes of the link according to a set of user definable rules.  It
is also possible to fill in the blanks on a dialog box and thereby
specify a link to an object which is not currently visible. (See
figure 5).

Non-Blocking Dialog Box 

When the user creates a new link, a
dialog box is displayed which allows the user to specify labels and
attributes of the link.  Defaults for each frame are created
automatically according to user specified rule sets, and it is common
to immediately dismiss the box by confirming the pre-filled values.
However, the dialog box is non-blocking and can be left around to
bemanually modified at any other time, so that labelling can be
deferred.  This is important Figure 4 Figure 5 because links are
usually created as a by-product of work in progress and having to
interrupt this work to specify attributes at creation time can be
distracting from the main task.


Rule-based Agents

Invisible agents can also be run to create links automatically in the
background as work is done.  Agents are controlled by user configured
rule sets. In the software development domain, we had an agent that
could be run every time a user edited a source file--the agent would
scan for RincludeS references in the source and automatically create
links to the referenced include files.


Prescient Agents

The most important of the invisible agents are the prescient agents
which build links according to rules concerning the spatial and
temporal co-location of windows on the screen.  These can be used to
automatically intuit the need for a link between a source file and the
associated design diagram whenever both appear on the screen at the
same time. Much more detail needs to be given about the appearance of
prescience that comes from this approach based upon co-locations and
co-temporality, especially about where it is successful and where its
limitations exist, but this will have to be left to a more in-depth
article on this aspect.


WebLenses

In addition to the neighbors menu list, there are additional ways of
viewing the link database.  These are called WebLenses.  One WebLens,
the Graph WebLens, allows the entire transitive web of associations to
be displayed as an active node and arc diagram.  Objects are displayed
as node buttons and links are displayed as arcs.  This was
implemented using the XmGraph motif widget which our team originally
developed.  Objects can be re-animated by clicking on the nodes, link
attributes can be inspected by clicking on links, and links can be
created and destroyed by editing the representation.  More should also
be said about these organizational tools such as the ToDo list and the
Agenda list than can be explained here.


Graphical WebLens and Filters

For most work the Graph WebLens is overkill.  Rich association webs
grow quickly and soon the webs are too complex to manage.  In most
cases, the neighbors men's provide much less complex views which are
far more useful.  However, sometimes (such as when trying to determine
the full impact of a 2-line change to one program) there is no
substitute for such a richer view.  Nevertheless, it is usually
helpful to reduce complexity by hiding or filtering out nodes and
links which are not of interest.  WebLens filters allow
characteristics of links and nodes to be specified in order to focus
simply on those which match or to hide those that match.

ToDo list and Agenda list 

Another very important set of
WebLenses are the ToDo list and Agenda List WebLenses.  These are
simple menu lists, but selecting one item on the list does not merely
re-animate one particular object, it re-animates all the objects in
that context.  This is useful if you want to be able to return to the
same screen set up you had two months ago when you were working on one
project (a typical ToDo list use). (See figure 6).  In meetings, this
can be useful for managing switching between multiple presentations (a
typical Agenda list use).  (See figure 7).

Auto-Encapsulation

Prescient systems can be created to be evolutionary by providing an
encapsulation feature.  This can be done by creating and associating a
new object with existing executable files (which act as methods) and
data files on which they act (private data stores).  (See figure 8).
In some environments this would require a one-time manual change for
each new artifact to be created.  However, by using a session manager
(see section to follow), we can monitor existing commands to the base
operating system and automatically register them as they are used.  We
call this auto-encapsulation and it allows the system to learn the
objects that the user uses without the user having to instruct it.
This is analogous to other learn-by-doing systems and to the way Radar
learned about his commander.  Radar learned to recognize contexts as
his commander did work; his commander did not define and explicitly
manipulate these contexts by name beforehand.  With most computer
systems today it is just the opposite.

Self Awareness

One of the novel aspects of prescient systems is that they appear to
be self-aware.  When a user's action changes the state of the system,
the system not only initiates the user's request, but the prescient
session manager notes the action and the corresponding change.  This
allows the system to notice changes to the current context by noting
additional new windows added to the current display (spatial and
temporal co-location) which could be introducing a new artifact into
the context, or could be indicative of a switch to a new context.  The
session manager can then use this information to pre-fetch other
related artifacts or to pre-fetch a new context.  The prescient
session manager also notices if any of the artifacts are shared with
other collaborators and can then determine if there are any shared
contexts with that collaborator that should be pre-fetched (see figure
9).


Multimedia

Because a system for managing artifacts becomes more valuable as it
manages more artifacts, we felt that it is important to support not
just text, but computer generated and scanned in graphics, animations,
digital voice, and video.  It must be easy to capture such non-textual
information or people won't bother.  People will often do a voice
annotation of some text or animation that they won't take the time to
write about.  Or they will scribble a note on a piece of paper but not
re-type it in.  These are still valuable artifacts, so it is desirable
to bring them into the system for the historical and communication
record.  Th's a nearby scanner or microphone can lead to easy capture
of more valuable artifacts.  (See figure 10).  Of course some of the
searching capabilities must be changed when dealing with non- textual
artifact: you can't do text matching style string searches.  You will
still have the associative link paths, however. Additional searching
capabilities such as fast forwarding or indexing on voice and video segments 
could add more value.  It may indeed be true that people will be moderately 
deterred from accessing such media, but this is okay, an equilibrium
will form naturally between the difficulty in locating a particular
piece of information and its value to the task at hand.

More to come...
Send comments to Scott McGregor
mcgregor@limbo.intuitive.com