In the fall of 1960, during his second year of graduate school, Ted Nelson found out about computers, and not a moment too soon. He was drowning in his own information, carrying around an already monumental collection of barely collated notes about his abundant dreams and schemes. He found out about Vannevar Bush’s paper and embraced the idea that he could use a computer to keep track of his own prodigious stream of thoughts and sketches.
Ted was disappointed to discover that there were no computers equipped or programmed to perform such a service. Down the road at MIT, the first time-sharing computers were only beginning to be built. But Ted needed a storage and retrieval system to keep track of his notes, and it seemed like such an obvious way to use computers as aids to creative thought that he set out to create such a program himself. Twenty-three years later, he admitted: “It seemed so simple and clear to me then. It still does. But like so many beginning computerists, I mistook a clear view for a short distance. “
The Harvard course in computer programming that Ted took in 1960 used the only computer then available at Harvard, the IBM 7090 at the Smithsonian Observatory. As a term project, Ted decided to write a machine-language program that would enable him to store his notes and manuscripts in the computer, to change and edit drafts in various ways, and produce final printed versions. Somewhere around the forty-thousandth line of his program, it dawned on him that his first estimates of the magnitude of the task — and the amount of time it would take to establish it — had been overoptimistic.
Nelson’s inability to create something even though he was able to clearly envision it is not unusual in the software world. The problem is so widespread that one of the unofficial rules of computer programming (known in some circles as “Babbage’s Law”) is: “Any large programming project will always take twice as long as you estimate.” Even though the simplest of the text-handling capabilities he specified in 1960 were to become, in the hands of other programmers, the software spearhead of office automation in the 1980s, Nelson went far beyond simple text manipulation in the program he set out to write for his term project.
Like Doug Engelbart, whose work he had yet to learn about, Nelson yearned for more than a lazy man’s typewriter. They both wanted the freedom to steer their thought paths in new ways. And Ted especially desired the prerogative of changing his mind. He wanted the freedom to insert and delete words and move paragraphs around, but he also wanted the computer to remember his decision path. One of the specs was for something he called “historical backtrack,” in which the computer could quickly show him the various earlier alternative versions of his ever-changing text.
“Alternative versions”? From a place to store notes to a tool for sculpting text, his term project had now landed him in even more wondrous science-fiction territory, a place where it was possible to think in terms of parallel alternatives. Of entire libraries of parallel alternatives, and automated librarians to perform the most tedious of searches in microseconds. Why should we abandon any thought at all? Why not just store every variation on everything and let the computer take care of sifting through it when we want to view something?