In the electronic documents laboratory at Xerox PARC,
we are exploring a mechanism for creating
arbitrary directed paths through one
or more electronic documents.
We call this mechanism scripting,
and we call the resulting documents scripted documents.
These paths and their associated actions are called scripts.
Scripts provide hypermedia capabilities
with an important addition.
The order of presentation of a script
helps users avoid getting lost in hypertext.
The scripting mechanism is very versatile.
Scripts can traverse new or existing documents
and can contain any combination of text, graphics, audio,
and action.
Their uses include audiovisual presentations,
program documentation and demonstrations,
informal communications, program development tasks,
and information organization.
The scripted document system is implemented
in the Cedar programming environment, where
it uses the capabilities of the Tioga document preparation
system and the Etherphone voice system.
In this videotape, Cedar runs on a high-performance personal
workstation called a Dorado.
A script has two parts, a set of entries
and a path that refers to those entries.
A path specifies the order in which
the entries will be played.
Each entry specifies a document location to display,
an action to perform, and timing information for pausing
before or after the action.
Here is a view of two multimedia documents
that contain text, voice, illustrations,
and color graphics.
The blue boxes indicate the set of script entries
in these documents.
The red script traverses both documents
to display entries A, C, and D. The second script,
shown in green, illustrates two points.
Scripts can share entries, and they can traverse the documents
in any order.
Script entries and paths are stored separately
from the documents in a public database.
Here we have a multimedia document
that contains a small portion of a narration.
At the beginning, there's a scanned picture
of a minor automobile accident in the French countryside,
followed by a discussion of the accident
with alternating lines of formatted French text
and English translation.
Each line of text contains a voice annotation,
which appears as a comic strip voice balloon surrounding
a character.
A voice annotation is a previously recorded segment
of digitized voice.
In this case, each annotation contains a spoken version
of that line.
The Scripts button at the top of the document
will list all of the scripts that start in this document
and allow us to create a control panel to edit or playback
a script.
First, let's playback the French script.
An automobile accident.
[FRENCH]
We can also play the English script.
Notice that the two scripts share exactly
the same first entry, which announces the title.
An automobile accident.
For some hours now, Mr. Bertin and his friends
have been traveling in the direction of Cannes.
The picturesque landscape delights Mr. Bertin.
To the left is the countryside of Provence.
The first two scripts stayed within a single document.
The next script visits multiple documents.
This time, we'll open it by typing a command in a command
window.
This script provides an introduction
to the Gargoyle interactive illustrator.
It will visit several locations in the Gargoyle tutorial
manual, where it will start Gargoyle and show it in action.
And it will also visit, the more detailed Gargoyle reference
manual.
Welcome to the Gargoyle Introduction Script.
Gargoyle is an interactive drawing program
for creating precise illustrations
in black and white or color.
Wait a moment while we retrieve the current version
of the system and start it.
We'll listen to the radio while we wait.
[CLASSICAL MUSIC]
This section explains how to draw equilateral triangles
using alignment angles and alignment circles.
The script will playback a sequence of Gargoyle commands
that perform the actions described in the text.
The Gargoyle reference manual is different
from the Gargoyle tutorial in that it contains
a complete catalog of all of the operations
that a user can do in Gargoyle.
Several new Gargoyle users have cut their teeth
on David Lance Goines constructed alphabet.
The B is especially nice.
That's the end of this short Gargoyle introduction.
Thank you.
Scripts provide two kinds of scripted locations,
tagged locations and absolute locations.
To illustrate tagged locations, Let's return
to the French dialogue document.
Tagged locations, shown as boxes around the characters,
can be found by the script system
even if they are moved to a new location in the document.
We can move the title of the script
to the middle of the document and start the script.
An Automobile Accident.
[FRENCH]
Notice that the script still performs its actions
in the same order and associates the same scripted locations
with those actions.
Thus, a document with tagged script entries
can be edited freely without disturbing its scripts.
Tagged locations work by actually modifying a document.
To create a script that includes a document that cannot be
modified, absolute locations may be used.
Absolute locations refer to a fixed location
in a particular version of a document.
Each script control panel contains a description
of a script, first a group of read-only fields showing its
unique identifier and the file in which it starts,
and then a group of editable fields--
its name, a field for a longer descriptive string,
and its path specification.
Entries have separate control panels.
A simple way to construct a new script
is to rearrange some existing script
entries by editing the sequence field of the script.
For example, let's create a new script
on the French dialogue that alternates
speaking French and English.
That's enough to illustrate the point.
An Automobile Accident.
[FRENCH]
For some hours now, Mr. Bertin and his friends--
[FRENCH]
--have been traveling in the direction of Cannes.
[FRENCH]
The picturesque landscape delights Mr. Bertin.
Now let's create a completely new script.
Dennis Arnon has asked me to review a paper on his Camino
Real computer algebra system.
I'll create a script that he can play
back later to hear my comments.
To create a new script entry, select a location in a document
and click Add Tagged in the script control panel
to add a tagged entry.
Recall that a tagged entry allows the underlying document
to be edited.
The new entry has been marked in the document
and added to the script, and we can
fill in its action and pause fields, as well as its name
and description.
I'll have the script start Camino Real
and turn the mathematics expression evaluator on.
Dennis can listen to the radio while he waits.
Now we name the entry and save it.
Now I'll add a voice annotation in section 4 of the document.
The script user interface has been
optimized to allow quick creation of scripts
that narrate.
A single button click can add and save
an entry whose action is to play the voice annotations
on the selected characters.
The voice can be recorded either before or after
the entry is created.
[BEEP]
I'd rather see a definite integral here, Dennis.
At the beginning of the document,
Dennis has referred to a recently completed paper
about the Etherphone voice system.
[BEEP]
That's all I have to say about your paper, Dennis.
Here's the final version of the Etherphone paper,
in case you'd like to look at it.
In referring to the Etherphone document,
I will use an absolute entry, because that document
is a permanent reference copy stored on a file server.
Now let's play the script back.
[CLASSICAL MUSIC]
I'd rather see a definite integral here, Dennis.
That's all I have to say about your paper, Dennis.
Here's the final version of the Etherphone paper,
in case you'd like to look at it.
Conditional scripts can tailor themselves
to a particular playback context.
A more general form of path is used,
namely an interpreted Cedar program
that contains entry names, which are indicated by a leading
percent symbol.
Script names can also be included
to play back whole scripts from within a containing script.
This example of a conditional script
greets the user appropriately for the time of day
and describes his or her pending mail.
Good afternoon.
Polly.
You have eight messages.
Conditions can be combined with user actions
to provide interactive scripts that allow users
to direct script playback.
For example, the slightly more complex version
of the greeting script asks the user
if he or she wishes to read the new messages,
and if so, starts the mail system.
Good afternoon.
Polly.
You have eight messages.
Scripts can traverse new or existing documents
to create audiovisual presentations
or organize information.
They are an example of the growing interest in mechanisms
for structuring hypertext.
Researchers here at PARC are continuing
to investigate scripted documents and other kinds
of active documents.