Beyond
supplying his three yellow
sheets,
Lampson s contribution to
the
making of Bravo exemplified his
way
of casting his influential net
over
dozens of
PARC
projects simultaneously. Having outlined the
program's basic building blocks for a
like-minded
collaborator, he let
Simonyi do most of the heavy
work, but
stuck around
to
be his guide,
mentor,
and
sounding board—
as though
implementing his own even
more elevated form of meta-programming.
"What
Butler contributed
was the will,"
Simonyi said later, "and what
I
contributed was that I agreed
with him. I
certainly discussed everything
with him.
I
was the active person driving
it and I
drove it by asking him
questions."
Among Lampson's fundamental
ideas was a
critical algorithm for holding an entire document efficiently
in memory
through the use of "piece
tables." These had been first
developed by
a programmer
named Jay
Moore. Instead
of treating each
letter
or
character
in a text
as
an individual bit in memory, the piece table
algorithm
viewed a document
as
an
arrangement of text blocks (or "pieces"). Inserting a sentence in the mid
dle of
a document converted the
file from
one piece to three
—
call them
A, B,
and
C,
corresponding to the insert
and
the blocks preceding and
following it.
These
did not have to
be
contiguous in memory,
as
they
were
on
the
screen; it was only necessary for
the
computer to memorize a
map
—
the piece table
—
that would allow it
to
find all the pieces in data
storage and assemble them in the
proper order
for display or printing.
It
is self-evidently easier to
handle a document
file divided into a few
large pieces than one in which
every character
has to be manipulated
individually, just as it is easier to carry
a
dozen eggs home in one
box
than
to cradle
them individually in one's arms.
The
result was
a
tremendous
savings
in computing resources. Even if the writer wanted to do something drastic like transpose the end and beginning of the document, the
pieces stayed where they were. Only the piece table changed, so the
sys
tem would know that the pieces henceforth had to be read not as
A-B-C,
but as
C-B-A.
Minimizing the movement of bits within memory allowed users to
create more complex documents—
as
long
as
a piece would be stationary, why not make it heavier, so
to speak? As
he refined and enhanced
Bravo, Simonyi figured out how
to encode
such characteristics as fancy
typefaces, odd margins, and
page
numbers. Eventually he had Bravo
polished to the point that
it
could reproduce a document on the Alto's
bitmapped screen almost exactly as it would appear printed out.
The
user could see displayed underlining, boldface, italics, and fonts
of
various styles and sizes
—
a capability that became known by the signature
phrase of the comedian
Flip
Wilson's sassy character Geraldine:
"What
You
See Is What You Get,"
or
WYSIWYG,
pronounced
"wizzy-wig."
Simonyi was right in predicting that nothing would underscore the
Alto's unique virtues like a powerful and flexible word processing program. Bravo was the all-purpose answer to the question of what a personal computer did:
It
magnified
the productivity
and
creativity
of
every user.
"It was the killer app, no question," Simonyi recalled.
"People
would
come into
PARC
at
night
to write all kinds of
stuff,
sending letters, doing
all personal correspondence,
PTA reports, silly
little newsletters, anything. If you went around and looked at what
the Altos
were doing,
they
were all in Bravo."
PARC
personnel with access
to
the
Altos
found their
popularity soaring on
the
outside.
Friends
writing
Ph.D.
theses would
beg for permission to come in and type their work into the system.
Then
they would hit a button and get a gorgeously printed copy from the
lasers.
But
Bravo
still had serious shortcomings.
It
looked every inch like a
program written by engineers for engineers:
The
commands
were
complicated, difficult to learn, and prone
to
being misapplied. The marvels of
WYSIWYG
notwithstanding, the screen image appeared flat and uninviting to the ordinary user. Critics derided the
display as
little more than a
"glass teletype" that failed to take advantage of the Alto's brilliant graphical capabilities. If
Bravo
were truly to be embraced by users outside
PARC
and the confraternity of research scientists, it would need a more
creative and accessible user interface, a screen format that would render
the program and its daunting menu of commands and capabilities intelligible to the average person.
It was not by accident that Lampson and Simonyi had given the
interface short shrift. They figured they would have their hands full
getting the program to work, much less making it look pretty. "When
we built Bravo," Lampson recalled, "we made an explicit decision that
we would not work on the user interface. We said, that's going to be
too hard and we don't have the resources."
Fortunately, down the hall in the Systems Science Lab the two other
misfits of this story had been approaching the issue of text editing from
the opposite direction. Larry Tesler and Tim Mott were deeply involved
in the design of just such a user interface. What they did not have, but
CSL now did, was a decent word processing program to hang it on.
Almost from the moment Larry Tesler joined PARC as a recruit from
the Stanford Artificial Intelligence Lab, he felt out of place. His main
job was to write software for POLOS, the "PARC On-Line Office System," which was Bill English's scheme to reengineer Doug Engelbart's
interactive multimedia system using the superior resources that Xerox
money could buy. The work was being handled by a group of engineers
English had raided from Engelbart, and they went at it with all the
quasi-religious enthusiasm they had once felt working for the great
man himself.
What made Tesler feel like a stranger was a rather fundamental disagreement he had with his colleagues: He thought POLOS was ridiculous.
Larry Tesler had never worked for Doug Engelbart. Not having partaken of the master's heady wine, he was troubled by POLOS's complexity. As imported from Engelbart's lab, the system required users to
learn a dizzying array of commands and key sequences involving the
mouse, keyboard, and—especially frustrating—a bizarre device known
as the "keyset." This was a pad with five unlabeled levers, resembling
the steno machines one saw in courtrooms. Pressing the keys in various
combinations could give you any letter of the alphabet and a wide
range of specialized commands—impressive enough as an engineering
achievement. But Tesler could not imagine why anyone would want to
use such an esoteric gadget.
Two other features of POLOS also offended him. The first was its timesharing heritage. POLOS was based on the ancient principle that computers were so expensive they had to be shared. The system was designed
as essentially a pool of Nova minicomputers linked by cable to video terminals in every office. A user logging in at any screen would automatically
be assigned an idle Nova out of the pool, which would serve as his or her
"personal" computer until the required task—typing a letter, parsing
fields in a database, or performing an engineering study—was done. But
no one would "own" an individual machine, nor would there be any guarantee that in periods of high demand one would not have to wait for a
Nova to get free.