Essays

evergreen

A Short History of Bi-Directional Links

Seventy years ago we dreamed up links that would allow us to create two-way, contextual conversations. Why don't we use them on the web?

We're all very used to the mono-directional link the World Wide Web is built around. They act as one-way pointers we follow in a linear sequence.

While we can link to any site, the destination page hasn't a clue we've done so.

We set up all these single direction paths, trying to signal relevance and context, only to have the other side completely ignore our efforts.

Our monolinks are trying to establish relationships in vain.

We're starting to look around our mono-linked environment, and wonder why it's so hard to surface relevant, contextual relationships.

Manually interlinking content takes an awful lot of human curation and effort. Effort we should probably slog off onto our systems.

✶ Enter the bi-directional link ✶

A bi-directional link has social awareness - it knows about other pages or 'nodes' that point to it, and can make them visible to people. This means we get a two-way conversation flowing between our web locations.


Bi-directional links are not new

The idea of the bi-directional link goes all the way back to 1945, when dreamed up the machine.

Vannevar outlined this hypothetical gadget in an essay in The Atlantic called . He wanted a system capable of "associative indexing... whereby any item may be caused at will to select immediately and automatically another... [so that] numerous items have been thus joined together to form a trail."

This essay turned out to be a foundational document for the ideologies that directly led to both the internet and the Web. Vannevar was one of the key movers and shakers rallying folks to help build the original internet infrastructure. He coralled folks at MIT, the US Department of Defence, the National Science Foundation and various research labs like the Standford Lincoln Lab, Bell Labs, the RAND corporation, and Xerox PARC to get involved.

Suffice to say, the guy was driven by a belief that enabling people to connect information and share knowledge would expand the scope of human understanding. The Memex was one idea of how that might manifest in material form.


Vannevar's evocative description of the Memex is especially impressive given that digital computers had only come into existence 5 years earlier. Most were still the domain of large military operations like Bletchley Park, and seen as inconveniently large calculators.

Implementing a wildly interactive computational personal knowledge base wasn't much of an option.

So the idea went into hiberation, and didn't resurface until the idea of personal computing began blooming in the sixties and seventies. , an unlikely film director and sociologist, stumbled into a series of computing lectures and began to imagine how graphical interfaces might reinvent the way we write and connect ideas. He took inspiration directly from Vannevar's essay, and in 1965 when he coined the term hypertext to describe his vision for a sprawling network of interlinking information.

Nelson planned to implement these hypertextual dreams in his perpetually-imminent Project Xanadu.

The Xanadu project was a hypertext system that imagined that every sentence, block, and page would be part of a vast bi-directionally linked network.


You'd be able to trace information back to its origin the way current web links do. But you'd also be able to see who had referenced, remixed, and expanded off that original. The full expands far beyond just bi-directional links to include features like , but we won't dive into it all here.

Suffice to say, Xanadu didn't pan out.

Instead we got the less fancy, but far more real and useable World Wide Web that currently does not support bi-directionals on an infrastructre level.

While Sir Tim Berner's Lee debating their pros and cons back in 1999, there is an obvious design issue with letting two-way connections flow freely around the web.

If every site that linked to yours was visible on your page, and you had no control over who could and couldn't link to you, it is not hard to imagine the Trollish implications...

Figuring out how we might filter, moderate, and set permissions around link visibility turned into . The .

It became clear implementing the Web with simpler mono-directional links was the right thing to do, given that its creators wanted universal adoption. Lots of people are still mad about it. Let's not venture too far down that historical wormhole.

The TLDR is technology is hard.

Until and we're all immersed in the universe of multi-linked, version-controlled nodes of remixable micro-content (that somehow solves the problems of permissions and moderation), there are still plenty of ways we can resurrect the possibility of bi-directional links on the web.


Bi-direction Linking in Personal Digital Gardens

Most of the design issues with adding bi-directional links to the global web were related to moderation and permissions. However, adding them within the bounds of a single website with one author sidesteps that problem.

There's been a flurry of interest around bi-directionals among people involved in the movement.

Much of this was originally sparked by . Go have a good browse through them.

There's plenty to admire here. But the key part of this system that creates interlinked context is the "Links to this Note" section at the bottom of each post.

Anytime Andy links to another one of their notes on the site, it'll pop up as a related note at the bottom of the page. This is the bi-directional dream.

It gives us a way to navigate through these ideas in exploratory mode, rather than navigating a hierarchy of categories on a main index page.

Since it's all contained within a single-author site, our Spammish-Troll-risk factor is at a comfortable zero.


Building Your Own Bi-Directionals

That's all very cool, but how are you supposed to build bi-directionals into your own site? Thankfully, setting up your own public gardening bi-directional Memex doesn't involve Xanadu.

One fantastic option for non-developers is based around a personal wiki system called . Anne-Laure Le Cunff wrote up an easy-to-follow guide to getting .

For those of us here for the hyper-customised, over-engineered JavaScript solution (that would be me 🙌), the community has a number of active gardening enthusiasts building themes and plugins.

I built mine using Aengus McMillin's . Aengus has documented the theme well and it's not too challenging to implement (as long as you're comfortable in JavaScript and React).

I also curate a list of tools for on this


Bi-Directional Linking with WebMentions

While I argued that Web-wide bi-directional links are unlikely to happen at a global scale, there's a way you can add bi-directionals to your personal website that picks up on references anywhere on the web.

are an piece of web infrastructre the community has done a lot of work to advocate for. The W3C gave the recommendation status in 2017.

The system notifies a URL whenever that site is mentioned elsewhere on the web. You're then able to show that mention and its contents on your site. It's essentially an opt-in bi-directional linking system.

Plenty of folks have written useful guides on how to add these to your site. Here's one for any , one for , one for . In fact there's a whole list of implementation examples on the you can look through.

Want to share?