Ted Nelson's ZigZag

ZigZag has been mentioned on LtU only in passing. I think it merits a story, although no personal opinion is implied.

I have always tended to disagree, but there is more and more to disagree with as the computer field gets worse and worse.

The world is unanimous about "computer basics" and "computer literacy". They tell beginners: computers are built around hierarchical directories, word processing, the Desktop, databases, the one-way links of World Wide Web.

Lies. All lies.

These things are, of course, the present reality. But they are no more true and natural than hamburger being the true and natural form of cows, or Central Park being the true and natural form of uptown Manhattan.

The ZigZag tutorial descibes the idea this way:

The ZigZag system is very hard to explain, especially since it resembles nothing else in the computer field that we know of, except perhaps a spreadsheet cut into strips and glued into loops.


Lists and Spreadsheets are rational ways of connecting things, but they have shortcomings. Hierarchical directories are a standard way of connecting things, but they have extreme shortcomings.

The ZigZag structure...is extremely simple but has remarkable properties.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

GZigZag, Gzz, fenfire, ...

On the downside, patent problems have caused open source implementations of these same ideas to be politely shutdown.
It's interesting to trace from GZigZag to Gzz to fenfire, and I've heard that's still not the entire story.
Shae Erisson - ScannedInAvian.org

What does it do?

What does it do exactly?

a cosmology for a different computer universe :)

It's not such much what it does, than the underlying vision that is important, I think.

Technically, ZigZag is a database and visualization/user-interface system for a subset of general graphs - the restriction is that a node may have only one incoming and one outgoing edge with a given edge label. So structures are organized as lists/strings of nodes, which makes it easier to visualize than general graphs, that can have any number of edges with a given label incoming/outgoing on a node.

The ZigZag-for-personal-computing vision, as I understand it, is to represent all information using interconnected graph structures, and to offer different visualizers and mini-applications that know how to display or manipulate different structures (as opposed to today's unconnected files and black-box applications). So where today's OSes offer folders and files as structure, a ZigZag system offers a much more fine grained structure.

Here's a new article by Ted Nelson. This page from the GZZ project has some info and screenshots. The Fenfire project seems to be a continuation of the ZZ ideas, but this time with RDF graphs.

Overall, ZigZag is quite similar to the Semantic Web. The prospect of interconnected information without application boundaries is very nice.

roughly Turing machine + Spreadsheet

The GZigZag implementation had cells that were connected to each other in arbitrary ways. You could have a standard spreadsheet, or you could have a cube, a ring, strips that stuck out away from everything else, or whatever.
Each cell could hold data or code or whatever and the GZigZag scripting languages usually used the cells like a turing machine tape.
You could do a lot with that, such as emulate TheBrain, wikis, or any sort of personal 'web'.
Writing code for GZigZag was mind-bending and informative.


Any code examples one can look at?


Ted Nelson handed me one of the original diskettes, wrapped in a triangular origami pouch of grey letter paper (complete with egregious claims and a high-contrast image of Ted's face). It was at a party in the Presidio of San Francisco, and he demonstrated it to partygoers by showing how you could set up a genealogical database using its N-d spatial rotation from link axis to link axis.

He said that he imagined a chair with two joysticks: one navigated the 2-D space you saw on the screen, and the other controlled which relationships the X and Y axes represented. It is quite a novel interface, and could be useful for LDAP browsers or other database query tools.

I still have the paper triangle, but the diskette seems to have slipped out long ago.

A Fantasy, A Musical, A Place Where Dreams Come True.

As I recall, Ted Nelson is the hypertext guy—he spent years developing a hypertext system Xanadu which was never completed, then got beaten to the punch by Berners-Lee and his WWW.

Ted Nelson's hypertext

Ted Nelson invented the term "hypertext". Xanadu took a long time. It was eventually released under the name Udanax as free software.

WWW, by the way, is a bastardization of hypertext, according to Ted, and having been graced with his wisdom more than once, I agree. WWW is missing a lot of the nice things of real hypertext, such as visual connection between linked articles.

It is a sad story. It is an infuriating story.

I met Ted Nelson the first time in, I think, February of 2000. Tuomas Lukka had invited him to visit our University, and I went to listen to Ted's lecture series. It was mind-blowing, but also so far out that I didn't really get it. He did demonstrate his early ZigZag demo with the genealogy database to us, and one thing I remember clearly is his distrust of "geeks bearing gifts" - in his opinion, technical people made software all wrong (he wasn't talking about the internal organisation, but on the user experience).

The next summer I joined Tuomas Lukka's research project as a research assistant. The goal was to implement Ted's ZigZag in Java - and the project was called, you guessed it, GZigZag. At first, it was quite fun, and we had quite a lot of fun with it and with Ted, who was the "director" (think of the movie director) of the project. My contributions to GZigZag were, in addition to code, sketches of GZigZag-based programming languages, the Greek Clangs, which never materialized; a redesign of the cursor mechanism, a design for accessing past versions, experimental versions of a ZigZag transfer protocol, and the name "Storm" which has since taken a life of its own (I think some of my code is still there in Storm). A writeup of a talk I and Benja Fallenstein gave on Clangs in the First ZigZag Workshop at HT'01 is Totally Different Structural Programming: Programming Languages in ZigZag.

The GZigZag project did not materialize Ted's dream system as fast as he liked, so he withdrew his support. At first it just meant that he wasn't participating in discussions as much as he used to. At some later time he asserted his trademark (he had earlier given his permission to use it), and we changed the name to Gzz. Around the same time I was burning out, partially due to Ted's distrust and a large part due to project internal chemistry problems. I bailed out on the project in the end of 2002.

Some time after my departure from the project, Ted asserted his ZigZag patent. The project was forced to abandon all ZigZag related stuff; it was reformed as Fenfire by salvaging those innovations that were not inseparably linked to ZigZag and using RDF as the new core. I hear that's not the last bit of trouble from outside parties the project has run to, but I cannot discuss even the little that I know in public. Suffice to say that even Tuomas burned out on the project eventually.

You can read more of the project's history in the project milestones document.

In summary: I admire Ted Nelson for his ingenuity, and I despise him for his actions in this case. I will never trust him as a project partner again, and I want nothing to do with ZigZag anymore, though I recognize its intrinsic coolness.

Phew, sorry for the rant :)

An injured ego?

Too bad this "one-note samba" fellow can't find another idea to push. Perhaps it was humiliating and even traumatic to have been in the forefront of hypertext development when the WWW came home to roost. But that's a chicken too big to be ignored and, like many other people, Ted Nelson should have moved on by now.

Ted Nelson's life appears to be like the movie "Groundhog Day", wherein the protagonist relives the same day again and again. In Ted Nelson's version, his contributions to hypertext are repeatedly relived; in each iteration others' attention, approval and credit are sought. Perhaps someday he will be released by the gods who control his infinitely-looping universe.

Wired published The Curse of Xanadu. Mr.Nelson was not pleased and called the article "libelous" as noted in a later inteview by the Cyberspace Report Orality and Hypertext: An Interview with Ted Nelson (a URL of a recording of the full interview is available on that page). A telling passage from the interview:

CR: You've obviously been at one point a visionary...

TN: At one point? When did that end?


The Xanadu® project did not "fail to invent HTML".  HTML is precisely what we were trying to PREVENT-- ever-breaking links, links going outward only, quotes you can't follow to their origins, no version management, no rights management. -- Ted Nelson

For those interested in Xanadu, the Xanadu Australia site is a good starting point.

"What do you think of a worldwide hypertext system?" - "I think it would be a great idea."

How to win big

Isn't is a "worse is better" kind of thing, really?


An excerpt from an interview about the first days of the web with TBL's partner, Robert Cailliau:
[TBL] said that you really intended that the implementation be as much an editor as a browser, but somehow got lost along the way. That was your intent?

Yes, and I think in retrospect the biggest mistake made in the whole project was the public release of the Line-Mode Browser. It gave the Internet hackers immediate access, but only from the point of view of the passive browser--no editing capabilities. The NeXTStep version was much more powerful. And it was much more elegant. It was quite depressing, having to step back and say, ""I have to port this to a PC?""

Maybe without this "mistake" we wouldn't have the web today...

Yes, the web is the better product

IMHO, what Nelson considers as missing features in the web are important non-features that contributed to its usefulness and popularity. Especially the one-way, no-permission-required linking -- which Xanadu did not have. All of Xanadu's features can be super-imposed on the web by other means, and only when actually needed.