GZigZag is an implementation of ZigZag, an abstraction invented by Ted Nelson. GZigZag is being developed by Hyperstructure Group at the university of Jyväskylä, Finland, in collaboration with Nelson.
What is ZigZag?
ZigZag is a way of representing the structure of information. Compared with the previous ways, ZigZag is very different, for example the concepts of 'file', 'folder' and 'application' are abandoned. Because of this a bit of fantasy, creativity and an ability to forget previous knowledge is needed in order to understand ZigZag.
A ZigZag structure consists of cells and dimensions. A cell is the basic unit of information of a ZigZag structure. Cells containing related information can be connected with each other along dimensions, the number of which is unlimited. A ZigZag structure is separate from its visualisation (= the way the data is presented on the screen), which means that a ZigZag structure can have many visualisations designed for different purposes.
Even though a ZigZag structure is separate from its visualisation, a ZigZag structure is not separate from other ZigZag structures. Every piece of information stored in a digital device using based on ZigZag is in the same space: the same cells can be connected on several dimensions created for different structures. For example, the cells containing the names of one's relatives can be connected on dimensions created for a family tree structure, an address book structure and a photo album structure.
What are the advantages of ZigZag?
Based on the definition given above, the main advantages are summarized here shortly:
- Because a ZigZag structure is separate from its visualisation, different visualisations can be build for different users. For example an information structure designed for teaching purposes can have different visualisations showing different information for beginners and for more advantaged learners. Different targent audiences, such as children, senior citizens or handicapped people can easily be catered.
- Because a ZigZag structure is separate from its visualisation, the same structures can be used (without modifications) in different digital media, varying from cellular phones to PC to immersive virtual reality systems. Only the visualisations are different and can be constructed to take full advantage of the medium in question.
- The cell and connections mechanisms of GZigZag can provide for seamless co-operation between different devices.
- Because the same cells can be used in several ZigZag structures, updating information becomes faster. In the current computer systems the same information is stored in several places in separate files and the user has to update the change in every file. A user of GZigZag only updates a certain piece of information once and the changes can be seen everywhere.
- Cells and dimensions allow a more flexible way to arrange the information than the conventional file and folders model. A user of GZigZag can connected related information in any structures, based on her associations.
- It appears that it is considerably easier to write new visualizations using ZigZag than e.g. CORBA, as adjusting to a new data structure expressed in terms of cells and dimensions is easier than adjusting to a new API.
Future of GZigZag?
Our goal is to facilitate the production and arrangement of information by creating, as Nelson expresses it, "a high-power personal and media system, with editing and presentation systems that expand the state of art".
Currently we have a working GZigZag on the Java platform, and in the near future we are focused on developing
- Clang, a cellular language , which makes programming easier
- A network protocol for exchanging cells between computers enabling synchronizing information between a laptop and a desktop or remote collaboration with different users
- Virtual structures, which enable any data, such as Web pages and conventional databases, to be seen through the ZigZag structure
- Porting ZigZag to different devices, for example PDAs and virtual reality
- Some applitudes, e.g. an e-mail, a digital image processing and a text editing applitude
GZigZag is a free software project: the source code is released under the LGPL license and everyone interested is welcome to join our mailing lists. "Patches", as people of the free software community say, and any other ideas of developing the system are gladly accepted.
We are also looking for partners (universities, companies etc.) interested in developing GZigZag. Please contact lukka@iki.fi..