Ted Nelson's ZigZag technology
On this page, I try to briefly introduce ZigZag the way I see it. The
view point is technical, as the first applications of ZigZag
are only about to be ready for end-users. I've also tried to include links
to all important ZigZag sites on the net, as well as to a few relating matters.
If you would prefer information on using ZigZag, please refer to
ZigZag is a concept originally created by Ted Nelson for Xanadu hypertext system. It can be
applied to information systems - whole, or parts of: user interfaces,
databases, applications, the operating system. The major part of ZigZag
is the ZigZag space: a network of information cells, ordered
into ranks, cubes and linked clusters along multiple dimensions. All
data in the system is stored in this global space. Into this space,
several views can be created for the user and access provided for
programs in the system.
Altough Nelson has designed the concept independently from
prevailing pradigms in computing, it can be seen as drawing from many
well-established concepts, paradigms and theories:
- ZigZag space is a directed labeled graph, where the ZigZag
axiom holds for every dimension
- Space dimensions divide links into groups of (possibly cyclic)
lists. While most links build sequences, some are
more like hyperlinks between cell clusters.
- Every dimension is an unequivocal binary relation on the cells.
Thus the system has to do with relational databases.
- ZigZag can represent structures highly similar to
- Multidimensional database systems (OLAP) have
already a significant niche in business data modeling
- The system architecture is essentially one huge
Model-View-Controller setup where the space is the only
ZigZag is, however, a unique cocktail of old and new, a system
Nelson's opinions of computing as a target. Some ideas that are
special in ZigZag:
- Multidimensionality, without limits, is also present in the user
- Every piece of data is global (as a cell)
- There are as few hierarchies enforced as possible
- Spreadsheet paradigm: the user is right, the user decides
which way things are represented. Also, when you know the simple
basics, you know everything important.
- Gzz - functional
ZigZag-system, gaining features all the time, GPL-licensed, at the
moment written in Java
- Zigzag for
XML - WWW interface done using XML, currently supports only MS
ZigZag - the original prototype in Perl, shareware
Projects with similar goals
© 2000-2002 Tuukka Hastrup (Tuukka.Hastrup@iki.fi)