This site runs best with JavaScript enabled.

The Pattern Language of Project Xanadu

Last tended on June 16, 2020
🌱 Seedling

I've mentioned Project Xanadu before in my note on the Short History of Bi-Directional Links.

It's infamous in the technology community as a sixty-year project that never quite launched. An infinite tale of unfulfilled promises and dashed dreams. There is however a working demo with a few of its features here (takes a minute to load).

But Xanadu's failure to mature into a widespread, useable commercial product is perhaps the least interesting thing about it.

The most interesting part of Xanadu is its Pattern Language.

A Pattern Language is a set of flexible, reusable solutions to common design problems. Identifying and recognising these patterns gives us a framework to craft solutions with.

From my notes on Pattern Languages

As a collection of design solutions, Xanadu's patterns suggest how we might construct relationships between pieces of data on the web that lead to whole new ways of thinking and seeing.

They're deeply relevant to problems we're wrestling with today.

  • How do we structure information and build relationships between pieces of data that help us see them across contexts, and clarify understanding?
  • How do we build systems that allow people to collaborate on shared documents without losing authorship? How do we credit and compensate authors based on their contributions?
  • How do we bring ideas and data from other sources into conversation with our own, while leaving a clear trail back to the origin?

Curiously enough, many of these patterns are showing up in modern manifestations.

Blog themes built with Gatsby, TiddlyWiki, and Jekyll are beginning to look an awful lot like those original Xanadu demos and prototypes.

Indie projects like Roam, OneGraph, and make some of its core features possible for the first time.

We're finding ways to backwards engineer the original spirit of Xanadu into the existing structures of the World Wide Web.

The Patterns

1. Visible Links

Ted Nelson, the inventor of Xanadu, has many gripes. One in particular is what he calls "jump links" - the very kind we all use around the web today.

Clicking a hyperlink is a bit of a gamble. It jumps you somewhere unknown. You find out when you get there.

Nelson wasn't keen on this surprise version of linking. Visibility of where the link connected to was essential in Xanadu.

One of the original UI mockups for a "Xanadoc" with visible links between text blocks

Link previews that contain excerpts of the destination page hint at this solution. You get to see where you're headed to before you decide to jump.

They're fairly common at this point. The Open Graph Protocol helped fuel this pattern by making it easy to generate preview cards in social media feeds.

Wikipedia added hover previews in 2018 Wikipedia page previews announcement

Among the digital gardening community, creators like Andy Matuschak have popularised the pattern on personal websites and blogs.

Andy's notes system featuring link previews

Previews aren't quite the same as physical links between parts of a page though. You lose the fine-grained associations between specific paragraphs and lines.

A few members of #roamcult have been leaning into this association with Xanadu, and taking it to the next level. Azlen Elza recently managed to craft up this crazy demo inside of their Roam Research database:


Coming Soon

Feel free to bug me on twitter to finish writing this.

2. Parallel Documents

3. Transclusion

4. Bi-directonal Links

5. Version Control

6. Annotation

7. Copyright & Micropayments

The original Xanadu vision was ambitious. Unreasonably ambitious. The above feature list is a small selection.

Perhaps you sense the problem.
Solving all the things all at once gets tricky.

Instead, what we're now seeing is the ad-hoc, decentralised manifestation of Xanadu in bits and pieces.

People are building Xanadu without knowing what Xanadu is.
Which is the essence of a good pattern language; true patterns evolve naturally within systems, and are found rather than crafted. Christopher Alexander's The Nature of Order goes deep on this principle

In the grand scheme of things, 60 years isn't an extraordinary amount of time to spend solving a problem. It's about 0.09% of history since humans first started creating symbolic cultural artefacts Using La Pasiega Cave in Spain as a relative marker - 65,000 y.a.

Who knows, maybe Xanadu can still happen (if you clap for it) ✨

Want to share?

Join the newsletter

For weekly notes on visual thinking, ethical technology, and cultural anthropology.

Maggie Appleton © 2020