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
current implementations.
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
conceptual graphs.
- 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
model.
ZigZag is, however, a unique cocktail of old and new, a system
meeting
Nelson's opinions of computing as a target. Some ideas that are
special in ZigZag:
- Multidimensionality, without limits, is also present in the user
interface
- 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.
Major documentation
Current implementations
- 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
IE5
- Xanadu
ZigZag - the original prototype in Perl, shareware
Writings
Related
Projects with similar goals
http://www.iki.fi/Tuukka.Hastrup/zigzag/index.html
© 2000-2002 Tuukka Hastrup (Tuukka.Hastrup@iki.fi)