CHAPTER 15

On the Lunatic Fringe

For all their coolness as killer apps, Bravo and Gypsy only scratched the surface of the Alto’s vast capabilities. Although it was not the first machine small enough to be used by an individual—the LINC had been there before—the Alto was the first one deliberately designed as a general-purpose “personal” appliance: individualistic and infinitely customizable. The computer was no longer a machine to which man had to adapt, but one endlessly adaptable to every user’s needs.

The Alto’s mystique worked potently on its new owners, who anthropomorphized their machines like drivers of Volkswagen Beetles, painting them in bright colors and christening them with considerable ceremony. Kay named his first so-called interim Dynabook “Bilbo,” after J. R. R. Tolkien’s heroic Hobbit. John Ellenby, a Briton who was placed in charge of readying the Alto design for large-scale production, called his the “Gzunda” (“because it ‘gzunda’ the desk”). The graphics researcher Dick Shoup connected his to a color video terminal, creating the first color computer monitor, and Taylor got his rigged to beep out the opening bars of “The Eyes of Texas Are Upon You” whenever he received an e-mail message.

Linked by Ethernet to each other, to printers, and to a host of other devices such as video displays and organ keyboards, the Altos lit PARC’s creative fuse. Thacker had designed the first custom application, a program called “SIL” (for “Simple Illustrator”) that automated the process of laying out computer circuits and allowed schematics to be translated directly into printed boards. But scores more were right behind.

There were “Draw” by Patrick Beaudelaire and “Markup” by William Newman, which picked up where Ivan Sutherland’s “Sketchpad” left off by giving users the power to place freehand drawings directly onto the bitmapped screen. (Of course, where Sutherland’s program worked only on the lone TX—2 at MIT, these would run on any Alto.) There were programs to compose music and animation, to format text documents, and to assist the writing of more programs, and dozens of programs in Smalltalk.

Meanwhile the all-pervading Ethernet encouraged the spread of e-mail and consequently the development of “Laurel,” a program to simplify composing, reading, and filing e-mail messages. (A later version was dubbed “Hardy.”) This was a huge leap toward Taylor’s grail of the computer as communications device. “Computers didn’t communicate with each other then,” Thacker recalled. “Except at PARC.”

And there they communicated almost nonstop, a digital chatter that would be the envy of today’s Internet junkies. On the Alto network Xerox employees started the first on-line clubs, played the first networked computer games, even completed the first joint research projects without ever meeting their partners face to face. “At PARC I received my first electronic junk mail, my first electronic job acceptance, and first electronic obituary,” recalled one lab supervisor. Warren Teitelman once returned from a week out of town to find his electronic mailbox crammed with 600 messages.

All this activity plainly pointed to a future in which the computer’s functions would no longer be dictated by hardware, but software: standardized, commercialized, and boundlessly adaptable. Butler Lampson was one of the first to divine the possibilities. In 1972, even before the Alto took form and more than ten years before the advent of the IBM Personal Computer and the software and hardware industries it spawned, he set forth in a professional publication his “rather phantasmagoric” vision of a Utopian computer-enhanced destiny:

Millions of people will write non-trivial programs, and hundreds of thousands will try to sell them. Of course, the market will be much larger and very much more diverse than it is now, just as paper is more widespread and is used in many more ways than are adding machines. Almost everyone who uses a pencil will use a computer, and although most people will not do any serious programming, almost everyone will be a potential customer for serious programs of some kind…. Such a mass market will require mass distribution. Analogues of bookstores, newsstands and magazine subscriptions seem plausible, as well as the kind of mail-order and home improvement marketing patterns we have now.

Raised on time-sharing, most of PARC’s computer scientists had trouble getting acclimated to the experience of having computer cycles at their personal disposal. A few even felt a twinge of guilt the first time they turned their backs on an idle Alto, as though they were leaving food on the table while others starved. But for the first time in the history of computing, resources were abundant enough to waste.

Few people at PARC were as devoted to the machine as Alan Kay. It was as though this was what he had been waiting for all his life—indeed, it had virtually been built to his personal specifications. And when it appeared, he was fully prepared to take advantage of it.

Among the Tom Sawyers Kay was known for wielding the most beguiling paintbrush in the building. No one evangelized more convincingly on behalf of ideas he found compelling, whether they were his own or belonged to others. Kay proselytized out of necessity. The experience of emerging from grad school with a four-hundred-page thesis describing a machine that could not be physically realized had sent him into a psychological tailspin. An old tendency toward depression, spurred by his inability to execute, reasserted itself.

“Right about that first year at PARC, under psychotherapy, I discovered I was confusing my talent with my temperament,” he said. “I didn’t have the temperament of a programmer. I realized I needed a group.”

This epiphany resembled that of a poet suddenly finding his voice. Like all the self-educated, having once grasped an idea Kay was impatient to move onto the next. He was a man of bifurcated nature, simultaneously a peerless formulator of theory and an instinctive craftsman with a short attention span. Having spent decades as an intellectual lone wolf, Kay redirected his gift for communicating enthusiasm toward the goal of attracting followers, often at the university lectures for which he was much in demand. It helped that he could size up a potential disciple in a split second, and that technical aptitude was not a prerequisite.

“After I would give a talk there would always be a fair number of people who would come up at the end with special stars in their eyes. At that stage nobody really knew how to do this stuff anyway, so I tended to hire people who could buy into the romance of the whole thing, because you could go a really good distance on romance.”

Inside the building it was impossible to pass within a few yards of Kay’s door without sensing a gravitational tug. Perhaps his most important recruit was swept into his orbit that way, never to leave. Dan Ingalls had come to PARC on a temporary contract to help George White set up the SDS Sigma 3 he had acquired for his work in speech recognition.

“My office ended up across the hall from Alan’s,” Ingalls said. “I kept noticing that I was more interested in what I was hearing across the hall than in the speech work I was hired to do. These conversations I was eavesdropping on were all about open-ended computer science stuff, which I was interested in. One day I walked over and said, ‘Hey, what are you up to?’ And that led to his talking about his whole picture of personal computing and how one might make a simple job of a lot of the important things through some new language.”

Alan Kay on a tear through Ideaspace was a very formidable force. Ingalls hastened to finish his job for White, then cadged himself a full-time appointment across the hall. Kay had not been daydreaming when he told Ingalls about his plans for a new computer language. What he had in mind would become perhaps the first project in his life he would see through to fruition. Dan Ingalls, it turned out, was the person he needed to make it happen.

By mid—1973 Kay’s so-called “Learning Research Group” numbered eight. They were so miscellaneous in their skills and credentials that Bob Taylor took to calling them, not entirely facetiously, “the lunatic fringe.”

Ingalls brought along his friend Ted Kaehler, who had also come to help George White with his speech recognition project but found Ideaspace more interesting. Diana Merry’s route was even more random. A transplanted Iowan with little programming training, she got a job as secretary to Gerald Lucovsky and John Urbach, managers in the General Sciences Lab.

From the first, however, Merry was entranced by Taylor’s work and the other mysterious goings-on “down the hall among the computer folks” where she spent most of her free hours, as she recalled later. Eventually Taylor managed to get her transferred to a job as Jerry Elkind’s assistant.

One of the office machines there was an elaborate electric typewriter that could do minimal text formatting through the application of a complicated sequence of keystrokes. No one ever utilized the beastly device’s capability except Merry, who was caught at it one day by Alan Kay.

“You’re a programmer!” he exclaimed.

“No kidding,” she said.

Impressed by the natural skills of this secretary smuggled over from the physics lab, Kay gave her a few hours of rudimentary training. After that it was a relatively simple matter to get her assigned to his group.

Then there was Adele Goldberg, an educational technology specialist from the universities of Michigan and Chicago with fiery red hair and a turbocharged thought process (“Adele we described as speaking at ninetenths of a Lampson,” Merry recalled). Kay filled out the team with, among others, people like Tesler, whom he shared on a roughly fifty-fifty basis with Bill English until after Gypsy was finished, when he joined LRG full-time; Chris Jeffers, the childhood friend and “chief of staff”; and interns and summer students who strayed into his orbit with that telltale shimmer in their eyes.

Kay reveled in his people’s eclectic backgrounds, which did not always include work toward a doctorate. “A doctoral thesis is anything you can get three faculty members to sign,” he would say in their defense (quoting Ivan Sutherland, who had been a signer of his). Or: “Point of view is worth eighty IQ points.” He did not care if his recruits had doctorates—although he certainly employed a high percentage of academically gifted scientists and engineers—but he monitored their points of view meticulously.

Like Taylor, he believed strongly that a lab’s success depended on a shared vision. But he was determined to avoid Taylor’s tendency toward militaristic discipline. The Learning Research Group’s dogma sprung from Alan Kay’s mind as surely as CSL’s did from Taylor’s or Lampson’s, but the lab’s ambiance was less like an Army barracks than a bohemian party where the guests all happened to concur in their host’s choice of wine.

No corner of PARC generated anything like the Kay group’s free-wheeling mania. “It was an amazingly seductive environment,” recalled Merry. “I was there late at night all the time. People were so full of ideas and excitement, and of course everybody knew more than anybody else about how the world was supposed to be.”

Socially the Learning Research Group was also PARC’s most cohesive unit. “There was just a wonderful, personal feel to the group that spoke really of caring about one another and supporting one another,” Merry said. Kay strived to build collegiality by sponsoring annual team “offsites” at a favorite retreat, the seaside resort of Pajaro Dunes located south of Santa Cruz, a couple of hours by car from Palo Alto. Here they could spend three or four days together on unstructured tours of Ideaspace, the pressures of work carefully relegated to the background. Later in time and inspired by Kay and Jeffers, the more musically inclined group members took to engaging in ragged lunchtime jam sessions (“We played poorly but with great zest,” recalled Goldberg, the house clarinetist)—including Ingalls on flute and Merry trying to keep up on a trumpet she had rarely touched since high school. “There used to be an old joke that we really didn’t care whether a new recruit could do any computer science, what we really needed was a bass fiddle,” she said.

Even back home, Kay recalled, the group spent much of the daytime “outside of PARC, playing tennis, bike-riding, drinking beer, eating Chinese food, and constantly talking about the Dynabook and its potential to amplify human reach and bring new ways of thinking to a faltering civilization that desperately needed it (that kind of goal was common in California in the aftermath of the Sixties).”

Loose as the group’s structure was, everyone understood where the intellectual power lay. It was in the combination of Alan Kay and Dan Ingalls. They were yet another PARC partnership, like Metcalfe/Boggs and Lampson/Deutsch, that was unlikely, implausible, and uncannily powerful. Ingalls filled a role in Kay’s professional life no one else had seemed willing or able to undertake. He was Alan’s reality filter. It was no secret that Kay’s ideas tended to embrace about 200 percent of what was technically practical. But there were few people around willing to sift through the whole sandbox to identify the pragmatic parts. As Lampson recalled, “Alan would come around and say, I want to do x and y. You would ask him four questions about how this is actually going to work and you’d discover that it isn’t actually going to work. So at CSL we’d say, ‘No, we don’t want to build that.’”

But Ingalls was an instinctive master at picking out the subset of Ideaspace that was actually doable, and doing it. Even before the first Altos were designed and built, Ingalls had started working on one such subset. By the time the machines were finished, his efforts had yielded the masterpiece of computer science called Smalltalk.

Smalltalk would make Kay’s reputation more than Ingalls’s, but Kay never forgot who transformed it from idea to reality.

“Nobody would ever have heard of me,” he said later, “if it wasn’t for Dan Ingalls.”

 

Kay always claimed to get his best ideas in the shower. Conveniently, Building 34 had a shower in the basement. More expediently, it was never in use during his most productive time of the day—from four in the morning, when he typically came to work, until about eight, when the rest of his team would start drifting in.

Emerging from the basement one morning, he came upon Kaehler and Ingalls in a hallway bull session about “how large a programming language would have to be to have great power,” as he recalled the scene. In a flash Kay posed a dare almost as audacious as the one Thacker had accepted from Bill Vitek.

“With as much panache as I could muster, I asserted that you could define the most powerful language in the world in a page of code. They said, ‘Put up or shut up.’”

Kay’s challenge was grounded in his convictions about what a programming language should accomplish. Languages are much more than mere programs: They are blueprints for the thought process itself, software for the computer and its programmer. Almost from the moment he had encountered his first computer, Kay understood that the hallmark of a great system must be its simplicity. Only then can one be certain it has been fully distilled down to its essentials.

For him, writing a program tight enough to fit on a page had two chief virtues. It forced him to pare it to the bone, and it suited his sense of mental geography. By allowing the structure of the language to be absorbed in a single eyeful, he could show how all its individual components were interrelated pieces of the whole.

Over the previous few years this striving for simplicity had led him to reexamine all the ideas about programming and computer architectures he had absorbed during his ad hoc studies in the Air Force and at Utah. The challenge from Kaehler and Ingalls provoked him to sit down and arrange his thoughts on paper.

Traditional programming languages make a distinction between data and the procedures acting on them: The programmer defines a set of data variables as, say, the integers 3 and 4, then operates on them with the procedure “+” to produce the result “7.”

Simple enough on its face. What dissatisfied Kay about this sort of structure was that as the data got more complex and the operations proliferated, the program’s complexity quickly got out of hand—even if the desired answer was still the single integer 7.

Using a traditional language to send Seymour Papert’s display turtle along a random path would require a programmer to summon all his or her knowledge of the convoluted routes by which data wend their way through the computer, get crunched, translated, and rearranged, and lay them out on paper—just to get a simple picture on a screen!

These systems also ran into trouble when the variables defined something other than numbers—the names “John” and “Mary,” say. If one sent “+” to operate on them, the computer would almost certainly crash out of pure confusion. (How does one “add” words?) You would actually need to define John and Mary as some form of number that told the system how to “+” one to the other so the desired answer would result—“John, Mary,” perhaps.

Kay’s goal was to create a language that enabled the programmer to arrive at a simple result by a simple path, regardless of the complex operations taking place beneath the surface. He called this “hiding the details.” After all, one does not need to know how a television works to be able to switch it on and find one’s favorite show—why should it be necessary to know all the details of data and procedure to map a simple image to a computer screen?

His solution was to invent an entirely new syntax of computer programming based not on data and procedures, but discrete modules of programming code called “objects.” Objects can be thought of as black boxes, like the television set. They combine data and the procedures that will work on them, and are manipulated by sending them “messages.” Just as clicking the “on” button of a remote control sends the TV a “message” to turn itself on, in Kay’s system one sends the object “3” the message “+ 4.” The object knows to interpret that as a simple addition, and returns 7.

This may seem complex at first. But in contrast to traditional languages, object-oriented programming becomes relatively simpler as the data and operations become more complex. The reason is that the underlying calculations always remain hidden within the object, never needing to be explicitly invoked by the programmer. The object “John,” for example, needs only to be sent the message “+ Mary” to know that “+” in this context can mean only one thing: to append “Mary” to itself after a comma.

Although Kay drew the principles of what became known as “object-oriented programming” from several well-known languages and computer systems, his system left many traditionally trained programmers befuddled from the start. It was as if one tried to invent a new literary language using conventional English words but devising radically new rules of meaning. The individual words would look familiar, but the way in which they related to each other in a sentence would seem impenetrable—until the reader decoded the new rules, that is.

The CSL programmer Warren Teitelman, a world master of the language Lisp—a key source of Kay’s ideas—was one who found Smalltalk perplexing at first. “People were used to thinking about programs in terms of instructions and imperatives. If you thought in those terms you had a lot of difficulty with Smalltalk. When you looked at it, your first reaction was, OK, I sort of understand it, but where does the work get done?”

 

Having been challenged by his teammates to define a language on a page, Kay emerged after eight days of 4 A.M. to 8 A.M. struggle with a blueprint in hand for this new language with an unassuming name. Smalltalk was compact enough to define itself in a page of code (although as it grew more comprehensive, the pages got bigger and Kay’s handwriting more minute). It was slow, because it placed an unusual workload on the computer. But it was astonishingly flexible.

Because anything could be an “object,” whether numeral, word, list, or picture, Smalltalk lent itself especially well to representing graphic images on a computer display. That became evident even in the days before the Alto was ready. The Learning Research Group tested their embryonic system on Novas equipped with their big, lumbering character generators and turned out new typefaces and half-tone bitmaps by the score. Once the Alto came along, this process picked up speed as Kay’s group enhanced Smalltalk with graphical capabilities that exceeded anything else being developed at PARC.

In fact, Kay was so impatient to get his hands on the Alto that he did not even wait for the first fully engineered models with printed circuit boards to come off the production line set up in El Segundo, like the rest of the labs. Instead he requisitioned six machines to be built with the same clumsy and unreliable wire-wrapped circuitry used in the original two prototypes, which he proceeded to install in the basement of Building 34. The idea was that he could get them cheaper and faster, even if they turned out to be flaky in operation and hard to maintain. He also ordered these first Altos with the low-end option of only 96,000 bytes of memory, rather than the maximum 128,000 bytes. The first machines also came with a 2.5-million byte, or 2.5-megabyte, storage disk. (By comparison, today’s household and office PCs often come with at least 32 or 64 million bytes of memory and four to eight billion byte storage disks.)

Under this miserly configuration Smalltalk ran painfully slowly, in part because the full-screen display alone consumed 64,000 bytes, leaving almost nothing for the program kernel. By the time Kay recognized that he had engaged in a false economy and tried to scrounge a few high-performance models out of turn, the machines were such a sought-after sensation that no one would let him cut in. “Forget it, Alan,” admonished an amused Ed McCreight. “You’re the one who screwed up.”

But once Kay finally got all his machines retrofitted with adequate memory, Smalltalk fulfilled all its developers’ expectations. While the CSL engineers busied themselves with programs to format the same dull text-heavy documents as fast as they could make the Altos run, the lunatic fringe worked the machines’ graphical capabilities to the bone. A typical Learning Research Group program was no blob of black-on-white text but a carnival of drawings, half-tone photographs, even animated pictures. “Objects mean multimedia documents,” Kay would say. “You almost get them for free.”

As a result, the group’s programs tended to favor the artist over the scientist. An LRG engineer named Bob Shur had programmed, with Thacker’s help, a musical synthesizer capability into the Alto that allowed the machine to output twelve real-time voices at once, an astonishing capability for a machine of the Alto’s scale.

Then, in the fall of 1975, Ted Kaehler, although no musician himself, developed a program called “Twang.” This was a visual interface to a number of music synthesizer programs that could capture, compose, edit, and replay music on the Alto. Twang used a nontraditional notation, black bars of differing lengths and locations to indicate differing tonic and rhythmic values, that deliberately resembled the perforations on a player piano roll. Twang was unusual in that it worked virtually in real time. All previous computer music programs, including the pioneering “FM” developed by John Chowning at Stanford, had to be compiled, meaning that several hours of programming and debugging were necessary to produce a five-minute riff. That was unnecessary with Twang, with which one could compose and program a polyphonic passage with as many as eight voices almost as fast as one could hit the keys on an attached piano keyboard.

 

While Merry, Ingalls, Kaehler, Tesler, and others engaged in the grown-up activity of implementing serious Smalltalk tools on the Alto, Kay decided to make good on his original claim that Smalltalk would be a language simple enough for children to use. In the summer of 1973 he and Adele Goldberg assembled a group of eager preadolescents and started teaching them how to program. The effort would shortly lead to another of Kay’s painful run-ins with PARC management.

These were not average youngsters. Goldberg started with an advanced class of seventh-graders at Palo Alto’s Jordan Road Middle School, which served an upper-middle-class neighborhood a mile or so from the Stanford campus. Once or twice a week the kids came up the hill by bus or bicycle to Building 34, to be escorted to a roomful of Kay’s original wire-wrapped Altos down in the basement.

Goldberg loaded these with an inspired Smalltalk program she called “A Box Named Joe.” Joe, an outlined square, was a direct descendant of Seymour Papert’s LOGO turtle. With a series of one-line commands the seventh-graders could make it appear on the screen, turn on its side, grow larger or smaller, or disappear. By arraying the commands in a sequence, they achieved rudimentary animation.

The encounter was mutually enlightening. Although these youngsters had for the most part grown up in privileged and brainy homes, they were surprised to come across grownups so guilelessly interested in their burgeoning intellects.

“When you’re a kid, adults either don’t want you around, or when you ask a question they give you a lecture,” recalled Marian Goldeen, then twelve, the daughter of a Palo Alto piano teacher and a businessman. “But they weren’t like that. Adele was pregnant, but she looked a lot younger than someone I thought would be working with computers.”

The scientists, some with young families of their own but few with teenagers around the house, found it eye-opening to deal with twelve-and thirteen-year-olds who grasped the basics of programming instinctively. One weekend Goldeen, who was an honor student in mathematics but had never programmed a computer, went home armed with a few pointers from Goldberg and coolly returned with a full-blown paint program, complete with a menu of varied shapes from which the user could select a custom “brush.” Two older students contrived programs that wrote out musical scores or drew circuit diagrams, junior versions of Twang and SIL.

A few semesters later Kay attempted with characteristic audacity to broaden his experiment. The program coordinator at Jordan Road Middle School had arranged to make a room available to the PARC researchers, and Kay decided to furnish it with a working Alto. Unhappily, spiriting an Alto off the PARC premises was an outrageous violation of Xerox rules. Kay dealt with the implications by the simple stratagem of keeping management uninformed. Late one night he and Adele Goldberg drove up to the loading dock of Building 34 in her station wagon, the only vehicle anyone owned large enough to carry the cargo.

“Isn’t this illegal?” she asked nervously. Stop worrying, Kay replied. He would take the heat.

Of course, it was impossible to keep the Alto’s presence at a Palo Alto public school secret. Inevitably, news of the escapade reached a furious George Pake.

Painfully aware of Kay’s value to the research center, Pake had always treated him tolerantly, if condescendingly. “Alan’s irrepressible,” he would say. “You can’t keep him under control.” Even Xerox’s post-“Spacewar” strictures on unauthorized press statements had not stopped Kay from granting a steady stream of illicit demonstrations and brazen interviews, of which some of the latter provoked outrage back in Stamford. The California magazine New West once quoted him as saying that Xerox “doesn’t understand” computers and its executives “really don’t have any idea what I’m doing here,” forcing Jack Goldman to reassure his fellow Xerox executives in writing that “Dr. Alan Kay is a recognized outstanding scientist in his field, albeit somewhat native and unorthodox in his dealings with the press.” (“The article is a piece of undistinguished journalism and the author apparently enjoys sniping at large establishments,” he added.) Kay complained his quotes were fabricated.

Pake had once hoped that appointing Harold Hall as SSL chief might help rein in Kay; after all, Hall had raised five kids, four of them boys. “I thought, he’s a father figure and he can help to bring Alan up,” Pake said later. But Hall’s discipline did not take. It was shortly after he was succeeded as SSL director in 1975 by the somewhat more accommodating Bert Sutherland that the Jordan scandal erupted, with Kay once again involved in a first-class transgression.

Goldman happened to be on the scene to deliver the obligatory dressing-down. As Pake looked on, he berated Kay and Jeffers for violating Xerox security and exposing a proprietary program to the world.

“The shit really hit the fan,” Kay remembered. “Goldman tore a strip off me and Chris.” But once Goldman had contented himself with playing the bad cop, he let the experiment go on. As Kay recalled later, he turned to Pake and curtly commanded, “Let them do it!”*

 

Through 1973 and 1974 the Alto’s remarkable power and potential made LRG’s creative environment “a computer hacker’s dream come true,” as Ingalls recalled. “We’d go out for lunch and beer and say, ‘Wouldn’t it be great if you could do this or that?’ Then we’d come back to PARC and in an hour or two do the thing we’d said would be so neat. And then we’d give a demo and show it off to our compadres in the CSL.”

The partnership was a complementary one, largely because Kay’s lunatic fringe always approached the Alto’s capabilities along completely different lines from the Computer Science Lab. For CSL the issue was how rapidly they could move data through the machine, whether it was Bravo text or Thacker’s design schematics. For LRG it was how to display the same data in the most mind-blowing, dynamic way.

“Our mission was to really make this hardware do what it was supposed to do,” recalled Kaehler. “Make it suitable for kids, flashy and wonderful, really responsive. And CSL was more concerned with hard-core computer science issues. They wound up not making that many innovations in the interface. We knew we couldn’t design hardware like them, but we could make the interface much more interactive.”

They worked like orchestra members composing and rehearsing a symphony at the same time. The day might start with Kay bursting in on Merry and Kaehler, interrupting their hard work on some module of code. He would scrawl some new idea across the lab’s ubiquitous whiteboards until they were covered with boxes filled with other boxes and arrows pointing to yet more boxes with pointers across to new boxes and so on. Kay was determined above all to squeeze every ounce of functionality out of the Alto bitmap. The display screen, he proclaimed, was small only in terms of its physical dimension. In terms of its graphic flexibility, it was colossal. From that standpoint, why should the user be prevented from, say, drawing a picture on the screen using a mouse and a paint program while simultaneously drafting a memo describing the procedure?

The answer, unfortunately, was that the Alto’s 8½-by-11-inch screen encompassed just so much physical real estate—the space of a single sheet of writing paper. That limitation, as it happened, led directly to one of their most important contributions to the look of the computer screen—the concept of overlapping windows.

The idea began by thinking of the screen in terms of a physical desktop. People in offices got around the same problem of too much paper and not enough room, Kay reasoned, by piling pages on top of one another. The analogous procedure would be to pile up small images on the screen—perhaps in some way that allowed the user to keep track of how many sheets, or projects, or windows, were open at once and to summon the most important one instantly to the top of the pile.

As usual, Kay was formulating a concept in Ideaspace and asking his team to implement it in reality. Although they knew how to tile the screen with multiple boxes, even overlapping ones, moving these boxes around or shifting one or another to the top placed enormous demand on the processor. The Alto complained in the only way it knew how, by performing the procedure at a glacial crawl.

For several weeks Kaehler worked principally on the overlapping-windows puzzle. The team had a system for showing when one of them had hit the wall on a coding problem and needed to hand it off. This was the “hot potato”: One of them would walk into another’s office with the figurative object held gingerly in cupped hands, then drop it into the next one’s lap. Kaehler, having hit the wall on overlapping windows, dropped the hot potato into Ingalls’s lap one day in the fall of 1974, and he solved it.

The solution came in the form of a brilliant feat of coding Ingalls called “BitBlt,” an abbreviation of the term “bit boundary block transfer” that was pronounced “bitblit.” BitBlt was a way to shift whole rectangles, or blocks, of the bitmap from one location to another in a single operation. It enabled the system to bypass the tedium of delving into memory, locating all the components of the rectangular image, and changing them one by one; and thus cut out most of the computation that had made full-bitmap procedures so slow. Suddenly graphical changes on the display were faster, more direct, and in computing terms vastly cheaper.

Like the wheel or the gothic arch, BitBlt was one of those discoveries that was nonintuitive in advance, obvious in retrospect, and ultimately adaptable to an infinity of uses. For the first time text could scroll up or down—or across the screen—at lightning-fast speed. You could draw a square and fill it with a hound’s-tooth pattern, then push it across the screen until it disappeared off the side. Or make a copy of some part of the screen, save it, and display a new image in its place. This was the key to overlapping windows, for a part of the screen that was temporarily hidden (one window beneath another, for example) could now be called swiftly back into view, as though a page hidden halfway down a stack of papers was pulled out and transferred to the top. “You now had the illusion of a separate layer of screen display, which people weren’t doing before,” Ingalls said.

Kay’s group labored to make this striking new capability more than merely an intriguing oddity. They worked BitBlt operations into their developing user interface until the actions of creating and manipulating multiple windows, each one running a different program, seemed exactly as effortless as shuffling papers on a desk. Then, in February 1975, they let CSL know there were a few things they wanted to show them.

The team prepared for the demo like actors auditioning for a shot at Broadway. Taylor’s engineers could be a harsh audience, scornful of programs that placed glitz above speed and efficiency. That was why CSL’s ideal was still Bravo, which responded to commands instantaneously and was as exciting to look at as a page from the phone book.

When the moment arrived Ingalls seated himself at an Alto in the beanbag room. Lampson, Thacker, Deutsch, and most of the rest of CSL were there, along with a few engineers from the other labs. Ingalls started by creating a few windows and loading them with various programs: One held a drawing, another a block of Smalltalk code, the third a lengthy block of text. His cursor wandered over the metaphorical desktop with fluid ease, pausing to draw a line here, add a word or phrase there. As his audience watched in rapt fascination at a display that had become as supple as a living creature, Ingalls almost forgot himself. “We were just going along, giving our demo, not thinking about the fact that we were doing something nobody had ever seen before.” He was deep into a routine cut-and-paste editing task when he heard a voice shout, “Hey!”

Ingalls paused. Peter Deutsch was on his feet, pointing at the screen. “Did you just do what I thought you did?” he said.

Only then did Ingalls realize what had happened. In the midst of the edit he had instinctively pressed the middle button of his mouse. As if from nowhere, a small rectangle had appeared on the screen listing several commands. Ingalls had selected “cut” and released the button, whereupon the tiny rectangle instantly disappeared (along with the selected text to be deleted). It was something they called the “pop-up menu,” the forerunner of a device common to almost every Windows or Macintosh program today. “It flashed and disappeared,” he recalled. “That was really a wonderful moment, and it was all done in a half a second.”

In the instant it took for the menu to pop onto the screen and off again, the entire audience comprehended not only the power of BitBlt but its practical application in a world of average users. “Everyone in that room walked out in a daze,” recalled Smokey Wallace, who had been hired from Englebart’s lab to help design a commercial office system using PARC technology. He recognized immediately that what he had just seen would be an indispensable element of anything he could put on the market. The very next day he showed up in Ingalls’s office. “Tell me all about BitBlt,” he said.

The PARC user interface, with its overlapping windows, mouse clicks, and pop-up menus, had entered computing history. More than twenty-five years and many engineering generations later, it remains the indisputable parent of the desktop metaphor guiding the users of millions of home and office computers. “From that moment on,” Wallace said, “nobody ever looked back.”

 

* Neither Goldman nor Pake recalls Goldman’s concluding remark as Kay tells the story. But the Altos were permitted to remain at Jordan, on the condition that they were first carted back to PARC to be formally “checked out.”