17.56, Thursday 26 Jul 2001

ZigZag... hypertext implementation by Ted Nelson, from whose head sprung Xanadu. I've had an insight about this today, and I'd like to remember what it is, so I'm going to try and explain the application. This tutorial is surprisingly good, but I'll go further here.

ZigZag is like a spreadsheet but infinitely generalised. In a spreadsheet there are two dimensions, rows and columns. A cell is always in both of these two dimensions. In ZigZag a cell can be in many dimensions, but you're not limited to two. In the terminology of ZigZag, a cell also has a rank, which tells you how far along the dimension it is (this is like how far down a column you are in a spreadsheet). A dimension (essentially just a list of cells) can even loop round on itself, and a cell being in one dimension doesn't at all affect its ability to be in any place in any other -- there is no spatial quality in ZigZag. The final big generalisation is that you can declare dimensions yourself. There's a good indication of all of this in a diagram in the zzProperties section of the tutorial, but I really do recommend you read it all.

So how does this apply to hypertext? Xanadu and World Wide Web are both hypertext applications but Xanadu can do things like transpublishing, which in a very basic sense could mean that a block of text can be included from anywhere on the "web" (web in a generic sense, not the www) in another page -- that is, included live, so changes, annotations, micropayments for viewing and so on, are carried along with it. Now, this is an important bit: What Dirk is to World Wide Web, ZigZag is to Xanadu.

Really, that was important. A lot of what we do on the www is nodes-and-arcs, or words-on-sticks, or simply just the interconnectedness of all things. I promise you a lot of the stuff that's made you go "shit that's so cool" is just this. At it's fundamental level is a relationship I've called, in the past, the linkbit, which is the node/connection/node triplet (the www is actually simpler than this because it only allows for one kind of connection). Why is there a lot of this stuff around? Probably because the www itself works like that and it's infected our imaginations.

Now ZigZag, Xanada, and by implication the truer forms of hypertext (such as the Memex) are more far reaching than this -- they follow trails.

I'm just going to explain an alternative way of looking at ZigZag and then I'll tie it back in: Think of ZigZag as a collection of nodes. A dimension then is just a piece of string going through many nodes, and the rank just the order in which they're on this string. Or instead of string, read trail. The fundamental unit of a better hypertext is the trail, an expanded linkbit which is basically a node/connection/rinse-and-repeat list.

Trails are an useful navigational aid because you can follow other people's trails; you can see entry and exit points; you can construct a list of several pages leading to a greater understanding than just pointing at one. You can see where many trails merge, popular browsing routes, places off the beaten track maybe. Trails provide context.

So that's my insight: ZigZag is trails, and ZigZag isn't something special and on its own. It's part of a greater idea because the idea came from the same school of thought as Xanadu.

Why trails aren't happening on the www: Because although the W3C are working on new kinds of links, they're still based around the linkbit, just making the nodes more specific and the connection types more varied.

Why trails are happening on the www: Despite what I just said, they are coming about in a limited way. This harks back to something I said before about weblogs. Imagine all the posts in all weblogs in a single space. All the posts are nodes. Then a weblog is a trail through this place, ordered chronologically. In the words of ZigZag, a post is a cell, a dimension is a weblog, and the rank is the date. And this gives us ways forward: Think about when dimensions/trails cross and you could follow other people's routes. Categorising posts is just another way of setting dimensions, and commenting on somebody else's post is transpublishing. So we're getting there, in a fashion, and maybe it's possible to bring in trails by the backdoor with RSS and all the rest.

Another thought: Trails effectively turn the web into a map, instead of just a connected graph. And if it's a map, then we can use the universal interface. How would the web change if you could be at a page and navigate around by typing "follow interconnected_weblog" or "nearby"? Wouldn't that be a worthy addition to the Back button?