Document 11070333

advertisement
B'\
OBJECTLENS: A "SPREADSHEET"
FOR COOPERATIVE WORK
Kum-YewLal
Thomas W. Malone
Keh-Chiang Yu
September 1988
CISRWPNo. 187
WP No. 3043-89-MS
Sloan
90'sWP No. 89-071
Center for Information Systems Research
Massachusetts
Institute of
Sloan School of
Technology
Management
77 Massachusetts Avenue
Cambridge, Massachusetts, 02139
OBJECTLENS: A "SPREADSHEET"
FOR COOPERATIVE WORK
Kum-YewLai
Thomas W. Malone
Keh-Chiang Yu
September 1988
CISRWPNo. 187
WP No. 3043-89-MS
Sloan
90'sWP No. 89-071
•1988 Association for Computing Machinery
Permission to copy
<ll Or
rrjteft*! i$g'«nted
i{ g-jnted provided th«t the
or part of this
th» copesire
not m«deor
thii rT*teri»i
<
30y Without fee *ii
•"• COrnrrerc
«! *d»*nt»ge.
distributed for direct
coTirre'c »i
*d»*ft»ge. the
tf"» ACV copyright
copy'ight notice »nd the title of the
Publication and its datt
t^
Tt-*T copying i$
rj by permisson
appear, and notice is> given that
fof Computing
A«oc:*tiOn for
Computin, Machinery. To copy
bf permisi.on of the Association
OTh0rwA*
ranuhiiih r«nuir*c
othenw le, nr
or tn
»nd/Of tn*rifif
specific {"^rmittion
ptrmiuion.
to republish,
requires a
fee Anri/Ar
a f»»
Published
In
ACM Transactions on Office Information Systems, Vol
6,
Center for Information Systems Research
Sloan School of Management
Massachusetts Institute of Technology
October 1988.
OCT
4 1989
ftECEIVED
Object Lens:
A "Spreadsheet" for Cooperative Work
Abstract
Object Lens allows unsophisticated computer users to create their
own cooperative work
applications
using a set of simple, but powerful, building blocks. By defining and modifying templates for various
semistructured objects, users can represent information about people, tasks, products, messages, and
many
other kinds of information in a form that can be processed intelligently by both people and their
computers. By collecting these objects in customuabU folders, users can create their
summarize selected information from the
objects in table or tree formats.
aemiautonomous agents, users can specify rules
different
for
own displays
that
Finally, by creating
automatically processing this information in
ways at different times.
The combination of these primitives provides a
single consistent interface that integrates facilities for
object-oriented databases, hypertext, electronic messaging, and rule-based intelligent agents.
illustrate the
power of
this
combined approach, we describe several simple examples of applications
(such as task tracking, intelligent message routing, and database retrieval) that
this
To
we have developed
in
framework.
Acknowledgements
in this paper was supported, in part, by Wang Laboratories, Xerox Corporation,
General Motors/Electronic Data Systems, Bankers Trust Company, the Development Bank of
Singapore, and the Management in the 1990s Research Program at the Sloan School of Management,
MIT.
The work described
We would especially like to thank Ken Grant who suggested some of the earliest ideas that led to Object
Lens and Jin Lee who helped debug the most recent version. The Object Lens system and this paper
have also benefitted from conversations with Cheryl Clark, Kevin Crowston, Randy Davis, Frank
Halasz, Mitch Kapor, Stan Lanning, Wendy Mackay, Ramana Rao, Randy Trigg, David Rosenblitt, and
FranklynTurbak.
1.
INTRODUCTION
It is
common
in the
computer industry today
to talk
about the "next spreadsheet"~to claim that a
particular application will be the "next spreadsheet" or to
wonder what the "next spreadsheet"
will be
Usually the term "spreadsheet"
is
used in this context simply to connote a product
that embodies
some kind of design breakthrough and
is
very successful.
We
here on a more specific property of spreadsheet programs: They
(e.g., [Greif, 19881).
will focus
make
a restricted, but
nevertheless very flexible and useful, set of computational capabilities extremely easy to use.
course, possible to do
in a general purpose
But because doing these things with a spreadsheet program
language.
the
any computation a spreadsheet can do
number
of people
In this paper,
we
who can use computers
will describe
to
is
so
It is,
of
programming
much more
convenient,
do them increases by orders of magnitude.
an early prototype of a system, called Object Lens, that we believe
shares this property of spreadsheets:
It
makes
accessible to unsophisticated computer users a set of
computational and communications capabilities that, while limited, are quite flexible and useful for
supporting a wide variety of cooperative work activities.
In other words,
we use
the term
"spreadsheet" here, not to connote financial modeling or constraint languages, but to connote a
flexible infrastructure in
their
which people who are not professional programmers can create or modify
own computer applications.
In the remainder of this paper,
we
will (1) describe the
show how these ideas are realized
in Object
key ideas used
Lens features, and
in the design of Object Lens, (2)
(3) illustrate
the flexibility and
usefulness of these ideas in several examples of cooperative work.
1.1
Three views of Object Lens
Before proceeding,
it is
useful to point out three
ways of viewing the Object Lens system:
(1)
Object Lens
is
the "second generation" of the Information Lens system. Object Lens
based on our
is
experience with using arid enhancing the InTormation Lens (Malone, Grant, Turbak, Brobst
1987; Malone, Grant, Lai, Rao,
coordination.
A
ver>- large
&
&
Cohen,
Rosenblitt, 1987), an intelligent system for information sharing
number
of the
enhancements that we and others have suggested
and
for the
Information Lens are included in Object Lens. Like the Information Lens, Object Lens uses ideas from
artificial intelligence
and user interface design
their computational agents can process
and
generalization of the Information Lens.
It
to
it
represent knowledge in such a
intelligently.
way
that both people
Object Lens, however,
a significant
is
potentially goes far beyond the Information Lens in the
kinds of knowledge that can be represented and the ways that information can be manipulated.
Object Lens
(2)
is
a user interface that integrates hypertext, object-oriented databases, electronic
messaging, and rule-based intelligent agents. Object Lens does not include
these difTerent classes of systems, but we have been surprised at
diverse capabilities can be integrated.
how
The key contribution
all
the capabilities of all
cleanly a large portion of these
of Object Lens
thus not the
is
completeness of its implementation, but the integration of its user interface. Since the capabilities of
these diiTerent kinds of systems are no longer separate applications, each capability
than
(3)
it
would be alone, and the resulting system
Object Lens
is
is
is
more useful
unusually flexible.
a knowledge-bated environment for developing cooperative work applications. In the
original Information Lens system,
scheduling, project
we developed
specific applications for information sharing,
management, and computer conferencing. From the viewpoint of knowledge-based
systems, these applications only included knowledge about different types of messages:
information the messages contained and the kinds of actions they could evoke.
contrast, can include explicit knowledge about
meetings, products, and companies.
We
with these diverse kinds of knowledge
many
the kinds of
Object Lens, in
other kinds of objects, such as people, tasks,
expect that the flexible tools Object Lens provides for dealing
will significantly increase the
ease of developing a
range of applications. This last view of Object Lens, which emphasizes
focus in this paper.
meeting
its flexibility, is
much wider
our primary
2.
KEY IDEAS
One
of the most important characteristics of Object Lens
is
that
it is
a semiformal system.
semiformal system as a computer system that has the following three properties:
automatically processes certain information in formally specified ways;
easy for humans
(3) it
to process the
same
or other information in
(1) it
We define a
represents and
represents and makes
(2) it
ways that are not formally
Sf)ecified;
it
and
allows the boundary between formal processing by computers and informal processing by people
to be easily changed.
Semiformal systems are most useful when we understand enough
some, but not
all,
of the knowledge relevant to acting in a given situation.
useful in supporting individual work,
is
computer system
Such systems are often
and we believe they are especially important
cooperative work where there are usually
where there
to formalize in a
usually also a very large
some well-understood patterns
amount
of other knowledge that
in supporting
in people's behavior,
is
but
potentially relevant but
difficult to specify.
In order to create such a flexible semiformal system, the knowledge
exposed
to users in
a
way
that
is
embodied
in the
both visible aj\d changeabU (cf, Turbak, 1986). That
system must be
is,
users must be
able to easily see and change the information and the processing rules included in the system.
Object Lens, there are three key ideas about
(1)
"Passive" information
is
how
to represent
and expose knowledge
In
to users:
represented in semistructured objects with template-based
interfaces;
(2)
"Aggregate" information from collections of objects
is
summarized
in customizable folders;
and
(2)
"Active" rules for processing information are represented in semiautonomous agents.
we
In the remainder of section 2,
expose knowledge to users in a way that
is
both visible and changeable.
to
Detailed descriptions of the
in section 3.
system features are
2.1
an overview of how these two components allow us
will provide
Semistructured objects
Users of the Object Lens system can create, modify, retrieve, and display objects that represent
many
physically or conceptually familiar things such as messages, p>eople, meetings, tasks, manufactured
and software bugs. The system provides an interface
parts,
to
an object-oriented database
in the sense
that (1) each object includes a collection of fields arnl field values, (2) each object type has a set of
actions that can be performed upon
it,
and
(3)
the objects are arranged in a hierarchy of increasingly
specialized types with each object type "inheriting" fields, actions, and other properties from its
"parents" (see Dittrich
a
TASK
object
may have
&
may have
fields like
Year and Advisor
Dayal, 1986, Shriver
Name, Phone, Address, and Job
present in
to the fields
all
objects in Object Lens, like
a field
is
fill
in as
much
or as
messages
little
in the
objects (e.g.,
Template -based user
in
may add
fields like
MESSAGES) have
more
detail below,
we
Information Lens, are semistructured in the sense that
information in different fields as they desire and the information in
not necessarily of any specific type (e g
2.1.1
Some
object
PERSON object
saving and sharing objects, and we are currently exploring
remote databases.
users can
objects.
STUDENT
,
ways
to
and a
1986). For example,
and Deadline; a
them (eg Answer and Forward). As described
facilities for
our interface
title;
PERSON
have provided rudimentary
The
Wegner, 1987, Stefik & Bobrow,
fields like Requestor, Performer, Descnption,
specialized actions defined for
to link
&
interfaces.
,
it
may
be free text, such as
"I
don't know").
Users can see and change objects through a particularly
natural form of template-based user interface.
These interfaces have a number of
virtues.
For
instance: (1) they resemble forms, with which users are already familiar, (2) they conveniently inform
users about the fields contained in an object and about other iiiformation such as the likely
alternatives for different fields, and (3) their use
is
consistent across
many
different kinds of objects.
We
will see
below how this interface approach, which was used for messages and rules
Information Lens, can be easily generalized to
2.1.2 Relationships
objects by inserting
fields of a
objects.
different kinds of objects.
Users can easily see and change the relationships among
and deleting links between the
Task object might contain links
who requested
when
among
many
objects.
Task object,
who
numbers) about the people involved with the task.
We
objects to each other provides a rudimentary hypertext
which a link appears
2.1.3
objects.
to
will
perform the task.
will be easy to get
it
an extensive review of hypertext systems).
For instance, the Requestor and Performer
Person objects that represent, respectively, the person
to the
that the task be done and the person
the user looks at the
in the
We
will see
Then,
more information
for instance,
(e.g.,
the phone
below how this capability of linking
system as a special case (see Conklin, 1987, for
will see
below how
it is
also possible for
an object
to
be displayed as an embedded template inside the original template.
Tailorable display formats. Users have several options for changing the ways they see
For instance, they can
easily:
(1)
suppressed, (2) rename selected fields, and
select
(3)
which
fields will
specify the default
be shown and which will be
and alternative values the system
presents for individual fields.
2.1.4
Inheritance hierarchy for objects.
The
creation and modification of type definitions
simplified by arranging object types in an inheritance hierarchy (e.g., Stefik
&
Bobrow, 1986).
is
New
types of objects are defined as specializations of existing object types, and they automatically "inherit"
all
properties of the existing objects except those which are specifically "overridden." Since most of the
information about
new
object types can thus be "inherited" from existing types, rather than having to
be re-entered each time, creating new object types becomes simpler.
definition
is
object type.
changed
later, the
Also,
when an
object type
changes are automatically "inherited" by the specializations of that
2.2
Customiiable folders
Users of Object Lens can group collections of objects together into special kinds of objects called
Folders.
For instance, folders can be created
directory), tasks
(eg, those completed, those
(group>ed according to topic or urgency),
displays to
to be
and
summarize the contents of objects
for
groups of people
done by you, those
to
project teams,
company
be done by others), messages
Users can also easily customize their own
so forth.
in a folder.
(e.g..
For instance, they can select certain
fields to
be displayed in a table with each row representing an object in the folder and each column
representing a
field.
They can
also select fields from which the links
between objects
will be
used
to
create a tree (or graph) display with each object represented as a node in the tree and each link in the
selected field represented as a line
2.3
between nodes.
Semiautonomous agents
Users of the Object Lens system can create rule-based "agents" that process information automatically
on behalf of their users (see Crowston
&
Malone, 1988,
for
an extended discussion of agents). These
agents provide a natural way of partitioning the tasks performed automatically by the system. As we
agents can be "triggered" by events such as the
will see below,
new
Eurrival of
an
object in a specified folder, the arrival of a pre-specified time, or
When an
agent
is
triggered
new
mail, the appearance of a
explicit selection by the user.
applies a set of rules to a specified collection of objects.
it
satisfies the criteria specified in a rule, the rule p>€rforms
some prespecified
action.
If
an object
These actions can
be general actions such as retrieving, classifying, mailing, and deleting objects or object-specific
actions such as loading files or adding events to a calendar.
The agents
in
Object Lens are "autonomous" in the sense that once they have been created, they can
take actions without the explicit attention of a
however,
in the
sense that
(a)
own.
(e.g.,
user.
they are always controlled by a
be easily seen and changed by their
user for action
human
human
by leaving the object
user),
and
(b)
they
They are only "semiautonomous,"
human
may
user (that
is, all
their rules can
oflen "refer" objects to their
in the user's inbox) rather
human
than taking any actions on their
2.3.1
Descriptions. Since agents and rules are themselves objects, users can see and modify
them with the same template-based user
the criteria for
when
which the rules apply.
type.
by objects
to
A description
is
simply a partially
embedded
which the original object
embedded description
include an
is
used
for all other
kinds of objects. To specify
a rule should act upon a given object, users create descriptions of the objects to
Descriptions can also include
satisfied
interface that
filled-in
template for an object of a particular
descriptions that specify characteristics that
is
linked. For instance, a description of a
of the Person
who
will
perform the task.
must be
Task might
These embedded
descriptions (like those in the Rabbit system [Tou et al, 1982]), allow users to easily specify object
retrieval operations that are equivalent to "joins" followed by "selects" in a relational database.
3.
SYSTEM FEATURES
In this section,
we
will describe in
them with simple examples
The Object Lens system
is
more
detail the basic
(see Lai [1987] for
implemented
more
system features of Object Lens and illustrate
details about an earlier version of the system).
in Interlisp-D
on Xerox 1100 series workstations connected by
an Ethernet. The system makes heavy use of the object-oriented programming environment provided
by Loops and the built-in text editor, Tedit. Except where otherwise noted, everything described here
has been implemented, but
many
features have not yet been extensively tested.
As
of this writing, the
basic mail handling capabilities have been used regularly by two people in our development group for
about 6 months and the other
3.0.1
Terminology:
facilities
Objects
have received limited testing.
and
Before proceeding
templates.
it is
helpful to clarify
some
terminology concerning objects and templates. First, we distinguish between object types (or "classes")
and
specific object instances (e.g., see Fikes
&
Kehler, 1985).
We use
the term object type to refer to a
kind of object (such as Person or Task) and the term object instance (or simply "instance") to refer to a
specific
example of one of these object types
distinction
both.
(eg., "Joe
between object types and object instances
Smith or "Task No.
is
not critical,
we use
17"). In contexts
where the
the term objects to include
8
We
also use the
term template
any semi-structured
in
two ways
collection of fields
to
mean
always capitalize
and
we use
Most of a
field contents.
the term template to
object type definition.
user's interactions with Object
(When we
we
use Template in this specialized sense,
For instance, users can change the display format for
it.)
mean
Second, in the Object Lens screen displays, we use the word
Lens are based on such templates.
Template
First, in a general sense,
all
will
Person objects by
editing the Template that defines the Person object type.
3.1 Editing
Figure
1
instances
shows a template
text or bitmaps in
any
an instance of a Person. Using the built-in text
for
field.
In addition,
when
users click on a field
likely alternative values for that field appears in a pwp-up
other objects or just text strings.
automatically inserted in the
representing
the user
the
Add
(a)
Kum-Yew
name with
field.
the link should be made.
menu
the mouse, a
of
menu. The alternatives may be links
to
Selecting one of these alternatives causes the alternative to be
For instance, the figure contains a link
To
Lai's supervisor.
from the
can insert
list
at the top of the
After a link
is
to the
Person object
insert links to objects that are not in the alternatives
positions the cursor at the place in the template where the link
Link option
editor, users
window, and then
inserted, clicking on
it
(c)
is
to
be inserted,
list,
(b) selects
points to the object to which
with the mouse causes the object
it
points to to appear on the screen.
In the current version of Object Lens, users can insert any combination of text, numbers, links, and
bitmaps
in
instance
is
checked
any
field.
closed or
for valid
when
done when the editing window
certain kinds of processing are done. For instance, the
below for descriptions of rules and
with more restrictive
probably be impossible
action.
is
To and cc
addresses before sending messages and the "move to" field in rule actions
for valid folders (see
may experiment
Then, in some cases, type checking
to
t>'pe
folders).
enforcement
for the
fields are
is
checked
In future versions of Object Lens,
in certain fields.
For instance,
even insert something other than a folder in the "move
it
we
should
to" field of a rule
Figure 2 shows a slightly more complex template; this one
fields of this
template
Bug
The
object itself.
We
fields in the template.
Bug
to
To
new
Bug
1)
or as
(i.e.,
new
create a
just like the rest of the
to other objects
should be
(as in Figure 2).
like those
shown
new person
in Figures
1
object, users click
and
mouse
Figure 3 shows the Templates currently
new message, users click on
object type, users click (with the middle
Template for the "parent" object type (see Figure
2, will
the Template for the type
on the Person Template.
appear and the user can
mouse button, instead
This causes a
3).
alternative actions that can be performed on a Template.
When
the user selects this action, a
properties of its "parent."
and other properties
Then users can add
One
new Template
fields to the
fill it in.
of the lefl one)
menu
to
is
created with
or change
on the
appear showing
of these actions
new Template
is to
Create a
all
the fields and
its
display format
(see below).
In the current version of Object Lens, all Things have three fields:
All objects inherit these fields, though as discussed below,
their display. For instance.
be Text.
object. In this
new object types
new
subtemplate.
Bug
instance of an object type that already exists, users click with the
the Template) for that object type.
Then an object instance,
To
a link to a
template contains an embedded template
embedded templates
of message they wauit to create; to create a
Creating
object, the
is
Request message. One of the
embedded template can be edited
included in our system. For instance, to send a
3.3
Fix
Instances
create and display a
on the definition
Bug
below how users can specify whether links
displayed as link icons (as in Figure
3.2 Creating
to the
fields in this
will see
a
be fixed and the value of this field
showing a link
case, instead of simply
for the
the
is
is for
Messages rename the Name
some
Name, Keywords, and Comments.
objects
field to
rename these fields or suppress
be Subject and the Comments
field to
10
3.4
Changing the display format and other properties of object types
To change the display format
defines the object
when they
click on the
can change
displayed,
t>'pe.
(a)
(c)
which
Users make these changes by selecting actions from the menu that appears
Template
(as
shown
in
Figure
3)
with both mouse buttons. In this way, users
fields of the object are actually displayed, (b) the
when new instances are
link icons (see Figure
1)
or as
created,
and
(e)
embedded templates
All the changes
also add or delete fields from a template.
of the fields that are
whether the links in a
made
to
of a field, then the
new name
will be
shown when any
field
should be
In this mode, users can
(see Figure 2).
a template are applied to old
instances of an object type as well as to newly created ones. For example,
We
names
the alternative values that are displayed for each field, (d) the default values that are
displayed in each field
shown as
or other properties of an object type, users "edit" the Template that
if
the user changes the
name
old instances are redisplayed.
anticipate that this system will be used with a core set of object types shared by the users in a
group and that the
Other users
or change
fields in these tj-pes will be modified only
will be able to
its
by an "authorized view administrator."
change the display format of these types (eg., suppress the display of a
name), but they would not be able
users would, however, be able to create their
these types they could add and delete
we have proposed a scheme
new
for letting
own
to delete or
add
fields to these "official" types.
field
All
types as specializations of the official types, and for
fields as desired.
Elsewhere (Lee
&
Malone, 1988a, 1988b)
an arbitrarily large number of groups share
overlapping sets of type definitions in arbitrary ways.
One
specialized types created by one group can be interpreted by
p>artially
of the key ideas of this scheme
members
is
that
of another group as instances of
the most specific "ancestor" type that both groups share. For instance, a "Student" object created by
one group might be interpreted as a "Person" object by another group that does not have a definition
for "Student."
3.5
Folders
As noted above. Object Lens users can group
called Folders (see Figure
7).
An object
collections of objects together into sp>ecial kinds of objects
can be added
to a folder in
two ways:
(1)
automatically, as the
11
result of a rule action, or (2)
manually using the Add Link action from the "Others* submenu on the
In both cases, the folders will contain links to the objects, not the objects themselves.
folder.
Therefore, the
same
object can appear in
more than one
folder.
Other actions
moving, copying, and
for
deleting both objects and links are described below.
Object Lens currently provides two formats for displaying the contents of folders:
Tables show the values of selected fields from the objects contained
7a shows a folder that contains objects representing people with the
directory.
want
Users can easily
tailor the
have included in the
to
format changed
table.
and
trees.
For instance, Figure
in the folder.
fields
tables
displayed for a simple office
format of these displays by selecting from a
For instance, Figxire 7b shows the same
folder,
menu
the fields they
but with the display
to include a difTerent set of fields.
Trees are graphs that show the objects in a folder and the links that connect these objects. Just as
users can select the fields to be shown in a table, they can also select the fields from which
shown. For instance. Figure 7c shows the same folder again, but this time
"Supervisor" field selected as the one from which links are displayed.
in.
liiJis will
be
tree format with the
In this case, the display
resembles a simple orgarvization chart. In the current version of Object Lens, only the links in one
field at a
to be
time can be displayed in a tree. In future versions, we plan to allow links from multiple fields
shown with the links from
different fields being displayed as different types of lines
(e.g., solid,
dotted, etc.).
When
a
folder.
folder is created, the user
The user
fields to
though
new
show
all
is
then allowed
in a table or
folders
unexpected type
tables and trees.
is
to
when
is
asked to select the default object type to be contained in the
choose from the fields of this default object type
selecting the fields from which links will be
have default object types, no
strict type
inserted into a folder, only the fields
it
checking
is
when
shown
enforced.
If
selecting the
in a tree.
Even
an object of an
shares with the default type are displayed in
12
3.8
Performing actions on objects
In addition to editing the contents of objects, users can also perform pre-defined actions on them.
The
actions that can be performed at any time depend on two primary factors: (1) the type of object being
acted upon, and
3 6
Some
(2)
the context in which the action
Object specific actions
1
Each
is
invoked.
object type has a set of actions that can be performed on
of these actions are "inherited" directly from the "parents" of the object type. Others
modified or added specLHcally for this object type.
Hardcopy and Save that can be performed on
subtypes).
addition,
(Some of these
more
be
For instance, there are some actions, such as
all objects (i.e., all
actions, such as Hardcopy, are not yet
instances of Thing and all
implemented
for all object types.)
its
In
specialized types of objects have other actions defined for them. For instance, agents
have a Run action that triggers them
action that changes
them from
to start
running, and folders have a Change Display Format
table format to tree format or vice versa.
In a few cases, the object specific actions depend, not just on the type of the object, but also on
For instance, messages created on the
local
are implemented as special cases.
However, we would
mechanism
for representing state-specific actions
to users. In
some ways,
this
CN^-'inograd,
its state.
workstation have a Send action, and messages received
from elsewhere have actions such as Answer and Forward. So
Coordinator
may
it.
mechanism would be
far these state-specific actions
like to
on objects
experiment with a more general
and perhaps making
this representation accessible
a generalization of the conversation
manager
in the
19S8) which restricts the types of messages that a user can send at a given
point in a conversation, based on the conversation state.
3.6.2 Context specific actions.
There are some actions that can be applied
to
but which can be invoked only from certain contexts. The primary contexts are;
(like the
object,
one
and
in
(4)
Figure
1), (2)
from a link icon
from a folder that contains the
for the object.
object, (3)
any kind of object,
(1)
from an editor
from a rule operating on the
13
For instance, when an object
Close,
is
being displayed in an editor, there are several kinds of actions, such as
Move, and Shape, that apply
to the editing vrindow.
Other actions
in
an editor include:
Link, (insert at the current cursor position a link to another object selected by the user),
(close the
When
window without saving any of the changes made
an object
Show (open an
is
since the
window was
and
(b) Select (select
the item for
some
(b)
Add
Cancel
last opened).
displayed in a folder, other context-specific actions can be applied to
editor on the object),
and
(a)
it,
such
as:
(a)
later folder action such as
Delete Selection).
The
actions that can be applied to an object by rules are discussed in Section 3.7 below.
that can be applied to link icons include:
Show
The actions
(open an editor on the object), and Delete (delete this
link to the object).
3.6.3
Displaying and invoking actions. Users invoke the above actions in slightly different
ways depending on the context
one in Figure
(like the
editor,
and
all the
1),
in
which the object
then several of
its
is
displayed. If the object
is
displayed in an editor
most common actions are shown across the top of the
other actions are shown in a
menu
that pops
up when the "Others* action
is
selected.
When
a link to an object
actions in two ways.
showing
is
displayed (either as a link icon or as a row in a table), users can invoke
First, if users click
all possible actions
button invokes the most
on the link with the middle mouse button, a
menu
on the object. In addition, simply clicking on the link with the
common action. For instance, clicking
with the
left
pops up
left
mouse
button on a row in a table
Selects the object for subsequent folder actions, while clicking with the lefl button on a link icon inside
an
editor
Shows the object in another window on
3.7 Creating agents
the screen.
and rules
In some cases, agents can take actions automatically on behalf of their users. For instance. Figure 4
shows an example of a simple agent designed
to
help a user process incoming mail.
When an
agent
is
14
triggered,
New
to objects in the
Mail folder and
retrieved to the workstation, the mail
the user's
The agent
applies a set of rules to a collection of objects in a folder.
it
New
Mail folder and these
is
triggered by the arrival of
new
New
Links trigger the agent.
to the
an "IF"
in
Figure 4 includes several rules, one of which
field (predicate)
objects which are
'THEN" field
and a
(action).
is
shown
in
is an.
when mail
On
into
A
rule contains
of the rule
is
to
other
a description, a sp>ecial kind
The
THEN part of the
Action object.
To construct the IF part of a
rule, a user (a) clicks
menu
selects "Descriptions" from the
on the IF
presented, and then
field
(c)
with the middle mouse button,
selects
embedded template, and the user can then
must appear
in particular fields for
complex specifications
parentheses
(i.e.,
more than one
for a field
fill
then
all
an object
to satisfy the rule.
To
the
sj>ecify
menu
the
menus
THEN part of a
specifications
to
object
is to
rule, a user
of alternatives presented.
to" field of the agent).
needs
fill
in
in the Information Lens,
must be
some
field).
or, not,
If specifications
in the other
and
appear
satisfied at once for the rule to succeed
As
more
(i.e.,
template-based editors in
listing likely alternatives for a field are available in editing descriptions.
matched by the IF part of the
"Apply
As
can be constructed by combining strings with and,
specifications in diiTerent fields are implicitly and-ed).
Object Lens, pop-up
an
in the fields in this description to specify the values that
arbitrary Boolean combinations are possible within a
field,
(b)
an object type from the tree of
object types presented. This causes a description of the appropriate type to be inserted in the rule as
in
is
the Hour.
Both these parts of the rule contain links
shown as embedded templates. The IF part
applied
new messages
Figure 5
of template that describes a set of instances in terms of the valuesof their fields.
rule
is,
is
In the current version of Object
Lens, two other kinds of automatic triggers are available: Daily at Midnight, and
The agent shown
Figure 4
That
mail.
program automatically inserts links
in
simply clicks on the
THEN
These actions are applied
field
to the
and selects an action from
"current object" (the object
rule) in the context of the "current folder" (the folder specified in the
In
fields in the
some cases (such as the "Move" action shown
embedded template
here), the user also
for the action (e.g., the field sf>ecifying
where the
be moved). The actions currently implemented in rules include the following: "copy" (add
the current object to a dLfTerent folder without removing
it
from the current
folder),
"move" (add the
15
current object to a difTerent folder and delete
from the current
folder),
it
from the current
(remove the object
folder), "delete"
and "add keyword" (add the specified keyword
to the
Keywords
field of the
In addition, rules can invoke object specific actions, including the actions that apply to all
object).
objects such as "hardcopy"
We
and "save".
view the addition of more rule actions (and possibly the
refinement of the rule syntax) as one of the important directions for our ongoing research.
The
rules are applied in the order in
which they appear in the agent's rule
Users can create
folder.
extended reasoning chains by having some rules set characteristics of objects (using the Add Keyword
action)
which other rules
3.7.1
Embedded
test (by
checking the Keyword
descriptions.
depend only on information contained
With the
field).
capabilities
in the objects to
we have
described so far,
desirable, however, to be able to specify rules that also
field,
the
names of all
In Object Lens,
it is
whether the string
a user wanted to
messages from vice presidents, the rule would have
to include in the
draw upon other information by having descriptions embedded within
knowledge base that
3.8
The
shown
in Figure 6 will be satisfied if the
that includes "vice president".
in the
often
the vice presidents.
possible to
title
It is
if
other descriptions. For instance, the rule
person with a job
itself.
depend on other information contained
elsewhere in the knowledge base. For instance, in the Information Lens system,
From
must
which they are being applied. For instance, a
rule about a message can depend only on information contained in the message
specify a rule that applied to all
all rules
From
field of the
message
is
To apply
the
this rule, the
same as the Name
message
is
from any
system checks
to see
of any Person object in the
satisfies the description.
Navigating through the system
starting point for navigation through the Object Lens system
that shows whether the user has
(1)
the Object Lens Icon, a
new mail waiting and includes a menu item
basic folders included in the system).
include:
is
The system
to
Show
folders accessible through the
Basics
Show
window
(show the
Basics action
a folder containing all the other folders in the system, (2) a folder containing all the
16
Templates defined
(4) a folder for
in the
each object
Mail folder, into which
we have designed but
containing
system (Figure
t>-p€
containing
new mail
all
a folder containing all the agents defined in the system,
the instances of that t>-pe in the system, and
retrieved from the mail server
and
(7)
New
the
(5)
automatically inserted. In addition,
is
not fully implemented two other folders:
objects in the system.,
all
3), (3)
(6)
Everything, a virtual folder
Orphans, a virtual folder containing
which no
all objects to
links exist.
These basic folders provide users with convenient starting pwints
for locating
any object
In relatively small systems, users can browse through these folders directly.
expect that users will
certain criteria.
It is
let their
agents search through the system folders
and other objects they most often use, and
(b)
system.
In larger systems,
to find objects that
own customised
also possible for (a) individual users to create their
folders that contain the folders
in the
we
meet
"directory"
application developers to
create folders containing the objects used in their application.
3.9
One
Saving and sharing knowledge
of the important research directions
different
ways
for people to
we plan
to
pursue in the Object Lens system involves
save and share the kinds of knowledge described above. For instance, we
are currently experimenting with linking Object Lens to a remote database server that contains large
shared relational databases. This work
is still
Object Lens will be significantly enhanced
version of Object Lens,
3.9.1
if it
we have preliminary
knowledge that meet some, but not
all,
an early stage, but
at
of the needs p>eople will have in this area.
all
(or a collection of objects in a folder) at
(or the folder).
This action uses the
the underlying Loops and Lisp systems to store the objects in
form that can be reloaded
at
In the current
solutions to the problems of saving and sharing
time by f>erforming the Save action on the object
saves
clear that the usefulness of
includes access to shared databases.
Saving knowUdge. Users can save an object
commands from
it is
any time. There
the instances in the workstation.
is
also a "Save" action on the
file
permanent
main Object Lens
any
package
files in
a
icon that
17
The
potential disadvantages of this approach to saving knowledge are that (1)
actions to save objects to
permanent storage and
requires explicit user
it
requires all knowledge used by the system to be
(2) it
loaded onto the local workstation. Sharing remote databases will, of course, help solve these problems,
For
but we expect that systems like Object Lens can be of value even without shared databases.
example,
many
users are already accustomed to explicitly saving their work in applications such as
word processing, and even
this task
can be simplified by creating agents
to
run periodically
(e.g.,
every
night) and do automatic backups of selected objects.
3.9.2
Sharing knowledge by sending messages. There are two ways users of Object Lens can
share objects with each other:
subsection,
we
(1)
by sending messages, and
discuss sending messages; Ln the next,
Lens user sends a message, the message object
system.
Any connected
a user sends a
embedded
it is
it is
object is converted into (indented) text in the
that are not expanded
(e.g.,
that are
When
In this
an Object
and read
this textual message.
When an
added as a new object in the receiver's knowledge base.
message containing an embedded
received by Object Lens users.
files.
files.
converted into text and sent via the existing mail
by any receivers who are not using Object Lens and
when
discuss transferring
electronic mail users can receive
Object Lens user receives the message,
When
is
we
by transferring
(2)
When
object that is expsinded (as in Figure 2), the
message
(b) is
in a
form that
(a)
can be easily read
reconverted into another embedded object
a user sends a message containing embedded objects
shown only as
the message in place of the link icons, but these
link icons), the
names of the
objects are included in
names are not resolved back
into link icons at the
receiver's end.
One
intriguing research direction here involves
how
to
communicate embedded
objects in such a
that they can be resolved into pre-existing objects at the receiver's end. For example,
message contains a link
to a
person object,
it
would be nice
for the receiver's
if
system
way
the sender's
to
be able to
automatically resolve this link into the receiver's object representing the same person.
3.9.3
transferring
Sharing knowledge by transfering
files.
As described above,
it is
files.
The second way
easy for users to store on a
for users to
file
share objects
is
by
server the current state of a
18
Other users can then load these
set of objects.
Saving and loading these
workstations
that a
common way
and job
titles
for users to
keep current versions of shared information such as names, addresses,
and periodically distribute updates
these updates could be done in several ways:
periodically store the current versions on a
(1) the
file
messages announcing the availability of
have agents that automatically load the
files
files
is
object
is
loaded.
To help
actions for agents to use.
solve this problem,
With
messages that specify changes
that
make
Distributing
the maintainer could explicitly send out
(2)
containing updated objects and the other users could
in
such messages
ofTicial
(e.g.,
Comments
a rule might load all
maintainer).
that any changes the users have
field) will
be lost
made
when
we are currently investigating more
this approach, the official
maintainer
to their local copies
a
new
version of the
specialized updating
will be able to distribute
in particular fields of particular objects.
update
Users can then set up agents
these updates automatically under most conditions, but under certain conditions the user
might be notified before the update
changed by the
user). In
some
is
made
(e.g., if
the field about to be modified has previously been
cases, the user might
also be notified (e.g., if someone in the user's group
4.
version of
server and the other users could have automatic agents
announced
of objects (eg., any notes they had added in the
official
"maintainer" could have automatic agents that
update" messages from the
potential problem with this approach
someone maintain the
to other users in the organization.
that periodically load the most recent versions, or
files specified in "Official file
own
can often be done automatically. For example, we expect
files
of people in their organization will be to have
this irJbrmation
One
create (or update) the objects in their
files to
is
want
to
have the change made automatically but
changing phone numbers).
OTHER APPLICATIONS
In this section,
we
will give
more examples of how the above features can be combined
variety of cooperative work applications.
to
create a
19
4.1
Task tracking
One frequently mentioned
capability for coop>erative
the tasks people are supposed
f-o
instance, such systems can help
do
What
&
Winograd
answer questions
do? Are any of these tasks overdue?
It is
(e.g.,
work applications
like:
tasks have
I
is
the ability to keep track of
Flores, 1986, Sluirer
What
& Cashman,
1984).
tasks have other people requested
requested other people to do for
For
me
to
me?
a straightforward matter to support capabilities like this in Object Lens. For instance, the
system
already includes message types for action requests and commitments. Even in the Information Lens,
it
was possible
to
automatically sort these messages into folders according to
task, which project
it
involves,
and
so forth. In the Information Lens, however, the
a folder's contents shows only the standard message header fields:
more about the
tasks, individual
who
messages have
to
to
is
perform the
summary display of
From, Date, and Subject. To see
be displayed, one at a time.
messages within a folder can easily be summarized by displaying whatever
In Object Lens, the
fields the user chooses.
For example, Figure 8 shows a table display of action request messages that includes the action
deadline.
4.2 Intelligent
As we have
message sorting: Engineering change notices
described in more detail elsewhere (Malone et
al, in press),
an intriguing example of a
cooperative work problem involves disseminating information about changes in product specifications
(often called "engineering
change notices")
to the appropriate people in
an organization.
It
was
already possible in the Information Lens to sort engineering change notices according to the contents
of fields such as Part Affected, Type of Change,
additional knowledge to do even
more
manager
is
Severity.
intelligent sorting.
uses a doubly embedded description to select
reporting to a particular
and
all
responsible.
In Object Lens,
it is
possible to use
For instance, Figure 9 shows a rule that
change notices that involve parts
for
which anyone
20
4.3
Database retrieval
There are clearly many cases
in
both individual and cooperative work
when
it is
useful to be able to
automatically retrieve from a database objects that satisfy certain conditions. Object Lens provides a
simple way
to f)erform
database queries: Users can simply create agents that scan the objects in one
and insert links
folder
to
selected objects into another folder.
The rules
agents specify the
in the
criteria for selecting objects.
For instance, suppose you wanted
project
to find all the technical
staffmembers who were assigned
to
both the
code-named "Dragon" and the one code-named "Lancelot." Figure 10 shows a rule that would
retrieve all such people.
"systems programmer",
particular job
title is
Instead of listing
etc.),
all
the technical job titles by
the rule includes an
on the technical, as opposed
name
embedded description
to the
to
("software engineer",
determine whether a
managerial or administrative, career ladder.
In addition to this general interface for database retrieval,
we have
feature in Object Lens for determining the recipients of messages.
also
With
implemented
a specialized
this feature, descriptions (like
that shown in the IF field of Figure 10) can be embedded in the To and cc fields of a message. Then,
when
local
the message
is
sent, these descriptions are automatically applied to all the
knowledge base and the resulting people are inserted
senders
to create distribution lists that are
in the
To and
Person objects
cc fields.
in the
This feature allows
dynamically computed at message-sending time based on
the current information about people in their data base (see Zloof, 1981 for a similar capability).
4.4
Hypertext
As noted above,
it is
a straightforward matter to use
Object Lens (eg., Halasz, Moran,
&
many
of the features of a hypertext system in
Trigg, 1987; Garrett, Smith,
&
Meyrowitz, 1986; Delisle
&
Schwartz, 1986). For instance, our system currently contains an object type called Text that displays
only two
fields:
Name
objects as desired.
and Text. The Text
field of a
Text object can contain links
to as
many
For example. Figure 11 shows a sample Text object that contains links
and bibliographic citations as well as
to
another Text object.
other
to people
21
In addition to the usual benefits of h>-pertext systems, Object
Lens derives additional benefits from
integration of hypertext with other database, messaging, and computational capabilities.
instajice, in
to
order to insert a link to another node in a hypertext system, a user must
which the link
be used
criteria.
to
first find
its
For
the node
made. In Object Lens, the database retrieval capabilities described above can
will be
automatically find objects (such as i>eople or bibliographic citations) that satisfy certain
Then
links to these objects can be inserted into the text.
hypertext systems that
links to an object.
not yet included in Object Lens
is
We
would
like to
implement
is
One desirable
the ability to
this capability as
some
feature found in
show and
follow the incoming
another action available on
all
objects.
Even though the relationship between Object Lens and previous hypertext systems
focus of this paper,
it is
interesting to observe that Object Lens apf)€ar3 to have
is
not the primary
some
functionality in
at least four of the seven areas that Halasz (1987) listed as being needed in the next generation of
hypermedia systems (search and query, computational engines, collaborative work, and
5.
tailorability).
CONCLUSION
In this paper,
we have
described a system called Object Lens that integrates facilities for hypertext,
object-oriented databases, electronic messaging,
provided by this system,
work applications.
We
we
Object Lens
is
it
will be relatively easy to create a
to test the generality of the
framework further by implementing more
it.
an example of a semiformal system, a system that represents knowledge
both people and their computational agents can process intelligently.
power and
wide variety of cooperative
have shown several such applications here, and an important focus of our
ongoing research will be
applications within
believe
and rule-based agents. Using the basic primitives
fiexibility of this
system results from
its
We
in a
believe that
way
much
that
of the
choice of primitives (semistructured objects,
customizable folders, and semiautonomous agents) and from the template-based interfaces that
these primitives both visible and changeable by inexperienced computer users.
make
22
REFERENCES
An
Conklin.J. (1987). H>'p€rtext:
&
Crowston, K.
introduction and survey.
Malone, T. W. (1988)
Paper No. 2008-88, Center
for
/fffCompuier,
Computational agents
vol. 20,
to support coopjerative
no
9, pp. 17-41.
work. Working
Information Systems Research, Massachusetts Institute of Technology,
Cambridge, MA.
Delisle,
N &
Schwartz, M. (1986). Contexts
on Office Information Systenu, 5
Dittrich, D.
&
(2),
-
a p>artitioning concept for hypertext.
ACM Transactions
168-186.
Dayal, U. (Eds.) (1986).
Proceedings oftht International Workshop on Object-Oriented
Database Systems, Asi\om&i,C A.
Fikes, R.
of the
&
Kehler, T. (1985). The role of frame-based representation in reasoning. Communications
ACM, 28,
90A.
Garrett, L. N., Smith,
K
E.,
&
Meyrowitz, N. (1986). Intermedia: Issues, strategies, and tactics
design of a hypermedia document system.
in the
Proceedings of the Conference on Computer-Supported
Cooperative Work, Austin, TX, December 3-5, 1986, 163-174.
Greif,
I.
(1988).
Computer-supported cooperative work:
description), Proceedings of the
Washington, D. C,
May
Breakthroughs
for user acceptance (Panel
ACM Conference on Human Factors in Computing Systems (CHI
S8),
16-18, 1988.
Halasz, F. G. (1987). Reflections on NoteCards: Seven issues for the next generation of hypermedia
systems. Communications of the
Halasz, F. G., Moran, T.
ACM Conference
45-52.
P.,
&
ACM, 31
Trigg, R.
H
(7),
836-855.
(1987).
NoteCards
of Human Factors in Computer Systems
in a nutshell.
(CHI -hGI
Proceedings of the 19S7
S7), Toronto, Ontario, April 5-9,
23
Lai, K. Y. (1987).
S. thesis,
Lee,
J.
Essays on Object Lens;
A tool
for supporting information sharing.
Unpublished M.
Sloan School of Management, Massachusetts Institute of Technology, Cambridge,
&
Malone, T. W. (1988a).
How
MA.
can groups communicate when they use difTerent languages?
Translating between partially shared type hierarchies. Proceedings of the
ACM Conference on Office
Information Systems, Palo Alto, CA, March 23-25, 1988.
Lee, J.
&
Malone, T. W. (1988b). Partially Shared Views:
that use dilTerent type hierarchies.
Institute of Technology,
A scheme for communicating among groups
Sloan School of Management Working Paper, Massachusetts
Cambridge, MA, September, 1988.
Malone, T. W., Grant, K.
R., Lai,
K. Y.. Rao, R.,
&
Rosenblitt, D. (1987a). Semistructured messages
are surprisingly useful for computer-supported coordination.
ACM Transactions on Office Systems, 5,
115-131.
Malone, T. W., Grant, K.
R.,
Turbak, F. A., Brobst,
S. A.,
&
Cohen, M. D. (1987b).
Intelligent
information sharing systems. Communications of the ACM, 30, 390-402.
Malone, T. W., Grant, K.
intelligent
system
R., Lai, K. Y.,
for information
Rao,
R.,
&
sharing and coordination.
support for work group collaboration, Hillsdale, N.
Shriver, B.
&
Wegner,
P. (1987).
Rosenblitt, D. (in press).
J.:
In
The Information Lens: An
M. H. Olson
(Ed.),
Technological
Erlbaum.
Research directions in object-oriented programming, Cambridge,
MA: MIT Press.
Stefik,
M.
&
Bobrow, D. G. (1986, Spring). Object-oriented programming: Themes and variations. AI
Magazine, 40-62.
24
Suzanne
Sluixer,
IEEE 1984
procedures.
Spring,
Tou,
& Cashman, P
M.
XCP:
An
exf>€rimental tool for supporting ofTice
Proceedings of the First International Conference on Office Automation, Silver
MD: IEEE Computer
Society, 73-80.
Williams, M. D.. Fikes, R.
F. N..
(1984).
intelligent database assistnat.
E.,
Henderson. D.
A.. &.
Malone. T. W. (1982).
RABBIT: An
Proceedings of the National Confererice of the American Association of
Ar/j/IciaZ/o/eJ/jgence, Pittsburgh, Pennsylvania, Augfust 18-20.
Turbak,
M.
F. A. (1986).
Grasp-
A
visible
.i
and manipulable model for procedural programt. Unpublished
Department of Electrical Engineering and Computer Science, Massachusetts
S. thesis,
Institute of
Technology.
Winograd,
T. (1988).
Computer Interaction, 3
Winograd, T.
design.
Zloof,
&
A
language/action perspective on the design of cooperative work.
(1),
3-30.
Flores, F. (1986).
Understanding computers and cognition:
A new
foundation for
Norwood, NJ: Ablex.
M. M. (1981). QBE/OBE:
(May),
Human
5.
A
language
for office
and business automation. IEEE CompuUr 14
25
Altemab Ves for Job title
Undergraduate Student
Masters Student
Ph.D. Student
Professor
Dean
Add Link
Close
Cancel
Name:
Kum-Yew
Job
title:
Delete
*Others*
Lai
Student
E40-138
Telephone N umber: 253-3 865
Office:
_
.
rpFRToTT
I
Supervisor: iTnomj^ ^.1Alon<^
Projects: Object Lens
Keywords:
Comments:
Figure
editor.
1.
Objects can be edited with a simple template
Fields can include text, graphics, or links to
other objects.
26
w
27
*A****^rf.*ji*dirt^^***j^*A**A**J^******yrfijrf.t*j^*i
Close
FOLDER: Temp?iate s
1
I
1
1
M^.jdbMajdhAj^rfrf^^rfij^^^^^j^jiAj^jajjdyb*^rfj^.t*j»iaiMi*jrf^rf^tAj^iiAAAj.>^j
1
1
Zoom Out
Cancel
Zoom
I
I
M
I
I
I
I
I
Others*
In
[TEMPLATE:
[TEK.1PLATE:
:!
] e nt
pEMPLiiTE:
|TEh.1PLATE:
|^1^^tlnq
TEMPLATE;
TEMPLATE:
[TEMPLATE:
~*min3ir
TEMPLATE:
jTEMPLiTE|-':tion
" ""1
p"la T
M«jnmgProposaj
"]/_ T E
•]u*r| \
F.
':
LjTEMPLiTE-
E:
Bu'3 Fiv
Len; Bug
.g^l"^3
ITEMPLaTE.
IPuDli cation
Fi
1
-
P.e.ju^rj
d
announceme
ITEMPLATE;
jrVYT Article
TEMPLATE-
TE^-IPl-ATE:
Thing
y Lenj
MJi'iitinq
Me'itmq
y
TEMPLATE:
i'j>nraiij.tj.:ir
template''^"
\
TEMPL-TE:
Moth:*
MlTEMPLATE:
M LA
Fi < ijnn
I;
P
T E
TE
Mew Lenj
^T
TEMPLATE'
network Di?cu?.'ion
unc e
•
Sysoul
iterri
ITEMPLATE
IConferenre Openei
empl^tT^"^
I
I
TEMpT^^rE^""^""^!
M P Ui T E
T E
t-iertinq
acceptjinca
Eui] Fix
Commitment
K Te^pl^^"^"""]
iComrnit tn en!
[TEMPLATE
iFoiOer
TEMPLATE
IP
in
fTEMPL^TE
1
JoD Title
i
.
Figure 3.
'
.
.'.
'
'
i
.
.
'
'
.
.
i
.
i
.
i
.
'
i
.
.
i
.
1
.
1
1
1
1
1
1
1
1
1
1
1
I
I
i
.
i
n
1 1
Object types are defined by
-nnoun:
Ll.'^TTpla'^
Announce ment
^1eetm]
TEMPLATE'
1
I
I
.
a
i
.
i
.
i
.
i
.
i
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
set of Templates
1
1
1
m
;>>
28
1^1
I
I
I
I
^ ]^ "0]>
ill
a
C
T]
0)
a.
w
(70
-<
c
£
"i
3"
re
'ti
-^
3 <
n 3
-1
Ck
•Ii
n
r
3 '2.r...
re
it
*»
"1
re
u5'
>
<
:r
re
a
3
0)
•a
3"
(jo
Q
re
C
3
Q.
r
n
01
re
D
CO
n
o
n
n
o
s
co
o•
O
3
,-» i-B
_<
-^
1-1
i
5
COO
ill
c
-^
o -•o
^3
^,1
-i
3-
O^Oi
<
••
1/1
I—
<-•
re
ao
—4
ill
CD
r.
2"
a
3
!—•
a.
(I
CD
•O
re
o
<
3 -H
MO
3
O
--
"
-J
-5
3
O
o
CO
o
3
03
ooo
< < <
f* (^
iTB
GOO
o
1
i—cro
a
"^
c
1/)
ii ::
c
3G
3"
re
9
u3
to
it
L
29
Cancel
Close
Add Link
Delete
Gtheri
RULE:
Name:
If:
ACUGN REQUaSJ
Alternative 3 for ActJdn Deadline
DatG;
Tomorrow
This week
From;
A5.3P
'.'.'he
llf<lf»tll*fT1T1IIf»I
never
To:
A<:lton DcBdltne: Today,
Tomorrov
Keywords:
T«xl;
Then:
WOVE
To:
Figure
5.
FOLDEFi;
Urgent
Rules describe the objects that will satisfy them and
specify what action to perform on those objects.
30
Add Link
Cancel
Close
Others*
Delete
Name:
If:
fviESSAGE
Date;
la:
From:
PERSON
Name.
Job
vies preaident
titie:
Cllice:
iGi^phonG Number:
Supervisor:
Projects:
Keywords:
Comments:
cc;
Keysyords:
Text:
Then:
f^OVE
folDER:
To.
I
I
I
I
I
I
I
M
I
Urgent
I
I
I
I
I
I
I
I
I
I
I
MM
t
T
I
I
T
M
I
<
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
Rules can use embedded descriptions to
create complex queries.
Figure
6.
I
I
I
I
I
t
l
31
Show Next
Cancel
Close
Delete Selection
^Others*
FOLDER: People
Name
•Job
title
Supervisor
Vice-ores ident
Director
Manaaer
Rov Keii-rl
Charier ijrav
Marv Willvams
K.aren Fox
Frank Menaul
fiVbfi.b'-.irr
Software Enrjineer
Software Enoineer
Hurvitz
Maurice Gilman
Eric Stavris
Susan Menano
Li ia
Sviteriis
Procirainmer
Manager
M ri
fit
1
m
itra1
1
Ve
A
s s
t
Robert Penta
Rov Kessel
Charles Grav
Charles Grav
Marv Williams
Marv Williams
Karen Fox
Charles Grav
Eric Stavris
^^T^m M M
Show Next
Cancel
Close
I
I
I
I
I
M
I
Delete Selection
*Others*
FOLDER: People
Name
Rov Kessel
Charles Grav
Marv Williams
Karen Fox
Frank, Menaul
Lisa Hurvitz
Maurice Gilman
Eric Stavris
Susan Menano
Office
t)l2- ?50
1312- 250
014- 990
014- AlA
014- 990
014- 990
019- 490
014- AlA
019- 490
M
I
I
I
I
I
Telephone Number
57 0793
C7
_
5915
57-4S21
57-2219
57-5315
57-6174
557-3430
"""
6174
ITT'TTTTTTTTTTTTTTT^'TTTTT^TTTTTT^TTTT^T^^^rm
I
I
I
I
I
I
I
pm^T»"rTi
Users can select which fields to display
in tables that summarize a collection of objects.
Figures
7
a,b,c.
32
Cdncel
Close
Zoom Out
Zoom
*Others*
In
Superv isor
PEP,
iijfj'
Enc
1
:t.»vrij
CFF
^
i-.fi'
I
JCFP.-arj1
-usin
ICFF
-^|^J
PER
C
E
p.
i
O
r
i'
H
c Eft
i
or
J'
P
E
P.
i
Mary
O
r f
VVillij
I
}.AtnAr\>i
1
;Orj-
pTpToTT
1
,
.
..,. ..,.,
,,,,
,,,.,..
.
...
,
,
,
,
,
,
.
,
... .
,
......
..,.
Please select object (or its link)
Show Next
Cancel
Close
Delete Selection
Others
FOLDER: To do
Subject
LP Visit
Comments on o.aoer
I
Can Daws
Thesis i3uestion
CSCW paper
Figure
8.
From
Elesie Brown
Wendv Mack a
Ele::e Brown
J n t a e Lee
David Rosenblitt
1
Action Dead ine
1
15-0ct-83
15-0ct-88
15-0ct-83
25-0ct-33
12-NOV-S3
Tables can be used to summarize selected fields
from Action Request messages.
3A
Close
Cancel
Add Link
Delete
Others*
If:
ENG,N£ERiNG CHANGE NOJiCE
Subj€<:t:
Date;
From,
<:<:.
ignore Alter;
Fart atl^cted;
PART
Name,
Fart number;
Subsystem;
Eng ineer
responsible;
FERSON
Name,
Job
titie;
Ollt<:e;
leiephane Number;
Supervisor, Kevin Crowston
Froje<:ts;
Key\>ords;
Comments;
Keyvsords;
Comments;
Type
al <:hange;
Reason
for <:hange;
Se\/enty;
Key\>ords;
Des-oription ol -change;
Then:
MOVE
la;
FOlDEF.
Our .jrcnip'r ECrij
Rules can include multiple levels of embedded descriptions
that refer to linked objects throughout the knowledge base.
Figure
9.
35
Close
Add Link
Cancel
Delete
Others*
Name:
If:
PERSON
Name;
Job
tttie:
JOa HJLE
Name:
Altennatives for Career ladder
Salary range:
Exempt /Nart-Gxempt:
Career ladder: Technical
Techfiic-il
M.3 nog-? rial
Adminiitfcitive
Keywords:
Comrrtents:
OHi<:e:
Telephone Number:
Supervisor:
Dragon
Keywords:
Proje<:t3:
3.
Lancelot
Comments:
Then:
copy
FOLDER^
To. Drajon
Figure 10.
9,
I
Lancelot teennicai pir.^\4
Agents can retrieve all the objects from
satisfy certain criteria.
a
database that
36
Name:
Text:
Camp David negotiations
At Camp
^ David, President Sadat
'
»i
.
of
.
Eovpt
Mil.
i
FEF, iON'
agreed
and Prime Minister Begin of Israel
a plan that would return the Sinai to complete Egyptian
sovereignty and, by de militarizing arge areas would stil
i;
)
to
l
TTtT
assure
would
]
ll£lillliilt»Il2J)
The Egyptian flag
everywhere, but E gyptian tanks would be_
Israeli security
fly
"
.
(
B
nowhere near
Figure 11.
to other
[From
Israel.
Q*- CITATION;!
Q
to Yts
I
nmq
]
Hypertext documents can Include links, not only
text passages,
but also to other object types such as
people and bibliographic citations.
O
/
i
u
66
Date Due
MAR. 0-
-
;jUL02199|S
Lib-26-67
MIT
3
LIPBARIE?;
TQ6D OOSbTSa?
Download