Tesler went back to the Stanford AI lab, hoping he could find something
to do there that was more "real" than advanced research. The
lab manager, Les Earnest, was interested in computer typesetting,
a nascent technology at the time, and assigned Tesler to develop
a "document compiler," something that could format text and
generate footnotes, tables of contents, indexes, and bibliographies.
So in 1971 Tesler wrote a piece of software that would allow users
to tuck formatting commands inside normal text as they typed,
like inserting a parenthetical expression. When the computer
displayed or printed text coded in this manner, it would adjust
the text as instructed—boldface or italic, for example—and
hide the instruction. This software, called Pub, was one of
the first, if not the first, of what would become a "markup language with embedded
tags and scripting." The best-known such language today is
Dynamic HTML, used in Web design. Pub was distributed through
the ARPANet, a precursor to the Internet, and widely used
in universities.
Tesler continued to check in with PARC, and at the end of 1971, Xerox
offered him a job in the On-Line Office System Group, then
building an ambitious distributed operating system for office
applications. Tesler was interested in personal computers,
so the project didn't thrill him. And he thought the offered
pay was too low. So he turned PARC down. Again.
More than a year went by. It was early 1973, and PARC
was in the thick of developing what would be the first personal
computer, the Alto. It made Tesler yet another job offer,
and this time he didn't refuse. He would split his time between
the Office System Group and Alan Kay's Learning Research Group.
One goal
of the Learning Research Group was to develop Smalltalk, the
first dynamic object-oriented programming language—the
first language, that is, designed to create programming entities
that had characteristics and attributes that could be passed
on to other entities. A generic "job" entity, for example,
might have such attributes as a salary, a department, and
health benefits. Another entity, such as "manager," could
be created, automatically inheriting those attributes and
gaining additional ones, such as supervisory duties or security
clearances. Smalltalk back in the 1970s contained almost all
of the concepts in today's enormously popular Java language.
As one of Tesler's first tasks at PARC, he and a co-worker wrote
a paper on the future of interactive computing, which for
the first time talked about cut-and-paste as a way of moving
blocks of text, images, and the like. It also described representing
documents and other office objects stored on the computer
as tiny images—icons—instead of as a list of names
[see photo, "Iconography"].
Today, icons are everywhere—as folders, documents, and the trash
can or recycle bin for deleted files. The radicalness of the
concepts is apparent only when you understand that, in those
days, opening up a document required knowing—and typing
in—its exact name and document type.
Before Tesler arrived, the Office System Group had already formulated
some ideas about how they expected users to interact with
computers. Their concept was based on the three-button mouse
and depended heavily on the use of modes. In a mode-based
system, you first tell the computer what type of thing you
are going to do, and then you do it. So if you want to insert
text in a document, you put the computer in insert mode, select
your insert point, type in the text, and then exit the insert
mode. If you want to delete, you put the computer in delete
mode, select the text to be removed, execute the deletion,
and exit the mode. It could take weeks or months to become
proficient in the use of the system, but at the time, practitioners
believed nothing much simpler than that could offer as much
power to the user.
"I was aghast," Tesler says. He reasoned that ordinary users wouldn't
invest more than a few minutes in learning a user interface
and that they would lose track of modes, risking deleting
instead of inserting, for example, with potentially disastrous
results. But Tesler found few allies among his colleagues,
who, incredibly to Tesler, felt that a moded interface was
intuitive.
Meanwhile, PARC hired Sylvia Adams, now Sylvia Amundsen, a secretary
whose previous high-tech experience had been limited to the
IBM Selectric typewriter. When she arrived for her first day
of work, Tesler recalls, "I grabbed her. I didn't want her
to get contaminated by some word processor that we were using."
He sat her in front of a blank computer screen and gave her a printed
page of text that he had marked up with corrections. "See
this text?" he asked. "Pretend it's on the screen. And see
these proofreading marks? Your job is to make those changes
on the screen. How would you do it?"
"Well," she said, "I have to insert something there, so I would point
there, and then I would type what I wanted. And to delete
this, I would draw through it." Tesler took notes as Adams
invented, in effect, the modeless user interface for text
editing.
Then Tesler had her use the moded system in use at PARC. She hated
it; she got stuck frequently in the wrong mode and had trouble
getting out of it. She proved his theory that it was a bad
system for a nontechnical beginner.
The test was enough to convince Tesler's boss, Bill English, to allow
Tesler to work on an alternative to the moded interface. As
he developed it, he continued his user experiments, regularly
grabbing "civilians" from the building lobby—delivery
people, friends picking up employees for lunch, anybody without
computer experience. Tesler sat them down in front of a computer
screen now running prototype software and asked them to edit
text.
"They were such novices," Tesler recalls. "With one couple, the
first thing they said when looking at the crisp text on the
screen was, 'You get really good TV reception in here.'"
After writing a simple text editor called Mini Mouse, he went on
to develop Gypsy, a modeless text-processing system that was
the first to use many now-familiar elements: the cut-and-paste
function to move text, a fill-in form to enter search terms,
selection of text by holding down a mouse button and dragging
the cursor through it, bold and italic type styles, and what-you-see-is-what-you-get
printing. Tesler coined that phrase and other now-common terms
[see http://www.spectrum.ieee.org for more].
Gypsy also first implemented click-to-open
files; previously, the only way to open a file was to type
its name and the Open command. Gypsy was never commercialized,
but it was used for years to edit manuscripts at Ginn and
Co., a textbook publisher then owned by Xerox. Tesler went
on to develop other pathbreaking text-formatting software,
but none of it made it to market.