Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

This book is about a contest that most people do not remember happening.

In the late 1980s and through the first half of the 1990s, several different ideas competed for what it would mean to put information into networked machines. The contest had technical dimensions — different protocols, different data models, different ways of naming things — but underneath the technical dimensions were different ideas about what a computer was for, what reading was, what writing was, and what the relationship between an author and a reader could be when both were sitting at terminals connected to the same wires. The web won that contest. It won so completely that within a decade the word “online” effectively meant “on the web,” and within two decades the word “computer,” for most people, effectively meant “a thing you use the web through.”

Won is the right verb. The web did not arrive in an empty room. It arrived in a room already full of working systems, some of them older than the web by twenty years, some of them younger by only a season. It beat them. It beat them for real reasons, some technical, some social, some economic, and it is worth being clear-eyed about those reasons because the alternative is to slip into a kind of grievance literature that mistakes nostalgia for analysis. This book does not want to be that. The premise of these chapters is that the systems the web displaced were proposed by serious people, were used by real users, solved real problems, and made real claims about what networked computing should be. Some of those claims were wrong. Some were right but premature. Some were right and remain right, and have been quietly buried under twenty-five years of layered abstractions that solve the same problems less well.

The through-line of the book is a single observation: the document was lost to the application, and authorship was lost with it. In every system this book treats — Bush’s Memex, Engelbart’s NLS, Nelson’s Xanadu, Atkinson’s HyperCard, the academic hypermedia tradition from Brown to Southampton, the literary hypertext canon at Eastgate, the knowledge-base lineage from PARC to Carnegie Mellon, Gopher and WAIS and Usenet and email and Plan 9 — there was a working assumption that the unit of computing was a piece of writing, that the person at the terminal was both a reader and a writer, and that the system’s job was to make that reading and writing more powerful. The web inherited some of this. The web was, in its first form, a document system. Tim Berners-Lee’s original 1989 proposal at CERN was a document system. The first browser, written on a NeXT in late 1990, was an editor as well as a reader. But the web did not stay a document system. Within a few years the document was a vehicle for an application, and within a decade the application was the point and the document was incidental scaffolding. Authorship — the ordinary act of a person making something readable that other people can read — became a specialist skill again, the way it had been before printing.

This is what was lost. Not the protocols, not the file formats, not even the specific features like two-way links or transclusion or stack scripting, though those losses are also real. What was lost was the assumption that a person sitting at a computer would naturally make things, and that the things they made would be first-class objects in the system, addressable and durable and combinable with other people’s things. That assumption was load-bearing for the systems in Parts II and III of this book. The web kept it, formally, for about five years. Then the browser ate the document, and the platform ate the browser, and what we ended up with is a world in which roughly five billion people consume software through a small number of glass rectangles, and almost none of them write anything that survives a server migration.

The book has five parts.

Part I is the frame. It argues that “won” is the right verb, sketches what hypermedia was supposed to be from Vannevar Bush forward, and sketches what the internet was supposed to be from the earliest packet-switching proposals forward. Both visions are older than most readers expect. Both were specific about the kinds of work they intended to support and the kinds of social relations they assumed. The web kept some of this and discarded a great deal.

Part II covers the hypermedia alternatives — the systems that proposed answers to the question “how should networked text behave” that were not the answer the web gave. Xanadu, the system Ted Nelson has been proposing in some form since 1960, with its insistence on two-way links, transclusion, version permanence, and a coherent rights model. HyperCard, the most-used hypermedia system in history, which made stack-based interactive media a thing ordinary Mac users built in the kitchen. NLS and Augment, Doug Engelbart’s actual proposal for augmenting human intellect, of which the world remembers the mouse and forgets almost everything else. The academic hypermedia tradition — Intermedia at Brown, Microcosm at Southampton — which took linking seriously as a research problem and produced systems that the web’s designers either knew about and rejected or did not know about and reinvented worse. The literary hypertext canon — Storyspace, Eastgate, Michael Joyce’s afternoon, Shelley Jackson’s Patchwork Girl — which proved, before the web existed, that nonlinear writing was a real literary form and not just a technical curiosity. And the knowledge-base lineage — NoteCards at Xerox PARC, KMS at Carnegie Mellon — which framed hypermedia as a tool for thought rather than a tool for publishing, and whose ideas now resurface in Roam and Obsidian and Logseq twenty-five years later.

Part III covers the internet alternatives — the protocols and architectures that proposed answers to the question “how should networked services be structured” that were not the answer the web gave. Gopher, which thought the right abstraction was a hierarchy of menus and would have given us a very different relationship to navigation. WAIS, which treated search as a peer service rather than a centralized index, and which knew in 1991 most of what the rest of us learned in 2010 about why centralized indexes are dangerous. Usenet and FidoNet, the federated-by-default community systems that distributed conversation across thousands of independent servers and worked, for two decades, without anyone being in charge. Email, which is the only one of these to have survived, and which survived in compromised form for reasons worth examining. Plan 9 from Bell Labs, which proposed that the entire network should look like a filesystem and that every operation should be a file operation, and which we mostly ignored because Unix was good enough.

Part IV is about how the web won. It is not an attempt to take the win back. It is an attempt to be specific about which choices mattered and why they mattered. The choices that gave the web its shape — statelessness, uncoordinated URLs, lossy one-way linking, view-source, a permissive layout model — were not obvious at the time, and several of them were specifically rejected by competing systems for what looked like good reasons. They turned out to matter enormously. The chapters in this part treat the technical decisions, the commercial inflection through Mosaic and Netscape, the politics of standardization across the IETF, W3C, and WHATWG, the accidental dominance of JavaScript as a runtime, and the platform decade in which a small number of companies absorbed most of what the rest of us thought we were building.

Part V is about what is being recovered, and what is not. Some of the lost ideas are coming back. Local-first software is recovering data ownership at the architectural layer, treating the user’s machine as the canonical store and the server as a cache rather than the other way around. ActivityPub and the IndieWeb are recovering federation, slowly, in a form that has to negotiate with platforms it did not design for. Markdown and static site generators and the Gemini protocol are recovering the document as a first-class object, at least for the people who want one. Roam and Obsidian and Logseq are recovering personal hypermedia at the desktop layer, with bidirectional links and block references that would have been familiar to the NoteCards team in 1985. The dynamic document tradition — Bret Victor’s explorables, Observable, Jupyter, Glamorous Toolkit — is recovering the idea that a document can also be a computation, which is older than the web. But some losses are not being recovered, and the last chapter tries to be honest about which.

A word on what this book is not.

It is not a history of the web. Several good ones already exist; Tim Berners-Lee’s own Weaving the Web, James Gillies and Robert Cailliau’s How the Web Was Born, and the more recent oral histories collected at the Computer History Museum all cover that ground better than a single book trying to cover a much wider field could. It is not a defense of any one of the alternatives. Ted Nelson has been defending Xanadu for sixty years and does not need help. It is not an attack on the web. The web has been one of the most successful pieces of public infrastructure in the history of the species, and its success is real. And it is not a roadmap for replacing the web. There is no replacement coming. What is coming is a slow accretion of recovered ideas on top of, around, and underneath the web, and the value of being clear about what was lost is that it makes that accretion legible — it lets us name what local-first is recovering, what ActivityPub is recovering, what the static renaissance is recovering, instead of describing each recovery in isolation as if it were novel.

A word on accuracy.

The systems in this book existed. The people in this book existed and most of them are still alive. The papers, the protocols, the products, the lawsuits, the licensing disputes, the funding decisions — these are matters of record, and where the record is uncertain the book says so. I have tried to avoid the temptation that haunts this material, which is to make the past more coherent than it was. The people who built NLS did not know they were building NLS until they were building it. The people who built Xanadu have, in some sense, never finished building Xanadu. The web was not designed to win; it was designed to solve a specific problem at CERN and then it kept being useful for other problems, and the people who built it were as surprised as anyone when it became the substrate for civilization. Calling any of this “designed” understates the contingency. Calling it “inevitable” insults the people who were trying, in good faith, to build something different.

The argument of the book, then, is simple. The systems that lost lost for reasons. Those reasons are worth knowing. The things they were trying to do are still worth doing, and some of them are being done again, in new clothing, by people who in many cases have no idea they are repeating an attempt. The point of recovering the history is not to relitigate the contest. It is to give the recovery somewhere to stand.

The first part begins with the verb.