[HN Gopher] A Gentle Introduction to Ted Nelson's ZigZag Structu...
___________________________________________________________________
A Gentle Introduction to Ted Nelson's ZigZag Structure (2002)
Author : breck
Score : 68 points
Date : 2021-05-19 15:25 UTC (7 hours ago)
(HTM) web link (www.nongnu.org)
(TXT) w3m dump (www.nongnu.org)
| dang wrote:
| Seems like this is the first real HN thread about this, but it
| has come up in comments over the years, including by people who
| worked on it:
|
| https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...
| nabla9 wrote:
| Lukka and others wanted to bring Ted Nelson's dream into reality
| using open source (GZigZag). Ted Nelson fucked them over. After
| giving permission he suddenly started to assert trademark and
| patent rights.
|
| "It is a sad story. It is an infuriating story." http://lambda-
| the-ultimate.org/node/233#comment-1715
| mindcrime wrote:
| FWIW, some portion of what was Xanadu apparently finally made
| it to the OSS world. See:
|
| http://open.xanadu.com/
|
| I haven't looked at it much, so not sure quite what the state
| of it all is.
| astrange wrote:
| I wasn't expecting a site from 1999 from that "finally".
| tangentstorm wrote:
| Happily, Nelson's patent has finally expired. :)
|
| https://patents.google.com/patent/US6262736
| joshgrib wrote:
| I was thinking this was a data structure, but based on the
| patent it's actually more a user interface design to explore
| data
|
| > What is claimed is:
|
| > 1. A method for visualizing data on a display, comprising:
|
| > ...
|
| In other words it seems like it could replace a spreadsheet
| as a way to explore data, but not _necessarily_ by storing
| the data any differently
| Greek0 wrote:
| Brief summary, please correct me if I'm wrong.
|
| A ZigZag structure is an undirected graph. Nodes are arranged in
| an n-dimensional space. For each coordinate axis, every node can
| only have _one_ edge in the plus-1-along-coordinate direction,
| and _one_ edge in the minus-1-along-the-coordinate. I.e. no
| diagonal connections, and max one connection in each "cardinal
| direction" (+ and - in n dimensions = 2n directions).
|
| In its simplest form, a ZigZag structure can be an n-dimensional
| grid, where each node is connected to its direct neighbors in the
| grid. In 2D, that would give you a spreadsheet. However, ZigZag
| can do more: you can have loops along any axis, e.g. a
| spreadsheet where the columns "wrap around". Furthermore, ZigZag
| supports looping the columns of only one particular row: a normal
| 2D spreadsheet, except that row 13 only has 4 columns, and those
| columns are wrapped up in a loop. You could also have sparse
| grids - where nodes are missing, and the edges skip over the
| missing node.
|
| The idea is to have something that _locally_ , if you look only
| at the surrounding nodes, always looks like a neat n-dimensional
| grid. But the _global_ topology can be totally whacky.
|
| I have no idea what you would use such a thing for.
| jerf wrote:
| "I have no idea what you would use such a thing for."
|
| Presenting graph-structured data in a way that the graph has
| sufficient restrictions on it to be representable usefully in a
| UI.
|
| In some sense all data structures are just restrictions on
| graph data structures. So why not just use graphs directly more
| often? Because the full freedom of graphs can result in a lot
| of situations that are pathological for both algorithms and
| UIs, such as graphs that mostly have one node connected to one
| node, except suddenly there's a node with 1,000,000
| connections, which raises obvious UI issues.
|
| To the extent this is not used today, it's probably because in
| the end it's still too general and has been outcompeted by all
| the other UI widgets we have that take more advantage of all
| the menagerie of local structures we have identified. It turns
| out that we are generally willing to do the work to create
| specialized representations for those things. We do lose some
| generality, but, again, we seem willing to do the work to
| specialize, so it all mostly works out. Only a very few people
| are out there working with data with so little such specialized
| support that they are reduced to working with raw graphs
| directly, and they already mostly have no choice but to learn
| to deal with the graphs directly and would be as frustrated
| trying to jam them into this structure as they would any other
| structure that restricts graphs.
| aphextron wrote:
| >I have no idea what you would use such a thing for.
|
| This can be said for pretty much all of Ted's work. Interesting
| and thought provoking, nonetheless.
| cjohnson318 wrote:
| > I have no idea what you would use such a thing for.
|
| Ditto. Every few years I look at this again, and I never can
| figure out what to use it for. At any rate, yours is a very
| good summary, thank you.
| lou1306 wrote:
| > The idea is to have something that locally, if you look only
| at the surrounding nodes, always looks like a neat
| n-dimensional grid. But the global topology can be totally
| whacky.
|
| That sounds similar to the mathematical definition of a
| manifold: something that _locally_ looks like an Euclidean
| space, but _globally_ isn 't.
| herodoturtle wrote:
| > The idea is to have something that locally, if you look only
| at the surrounding nodes, always looks like a neat
| n-dimensional grid. But the global topology can be totally
| whacky.
|
| Reminds me of those "Choose Your Own Advenuture" children's
| novels from the 80s.
| rendall wrote:
| Thank you for summarizing. I wasn't even sure I wanted to read
| this, but now I'm sure I do.
| codebje wrote:
| It sounds exactly like a DikuMUD zone, where each place has an
| exit to another place in four cardinal directions plus up or
| down, but those exits do not need to be symmetrical. Loops,
| warps, multiple exits into the same place. The graph is not
| necessarily even connected as portals and triggers can teleport
| you into otherwise unreachable places.
| chipotle_coyote wrote:
| That's more or less what I was thinking -- in fact, every
| text adventure system I'm aware of, going all the way back to
| mainframes and microcomputers in the 1970s, implement a
| version of this. Nelson's "cells" are rooms, and
| "connections" are exits.
|
| Many of the oldest microcomputer ones, like Scott Adams'
| adventure games (and from your description, DikuMUD), are
| _exactly_ what 's described here, except as you note, with
| more than four directions: typically there are either six or
| ten (adding NW, NE, SW, SE to N, W, E, S, Up, Down), and I
| remember some that added "IN" and "OUT" as unique exit names.
| Other systems allow an arbitrary number of connections
| defined within the node, such as MUCK rooms or links between
| Twine nodes. Basically, these are multi-cardinal linked
| lists.
|
| At risk of editorializing, I get this sort of feeling from a
| lot of my encounters with Ted Nelson's work: he and his more
| ardent defenders are very, _very_ insistent about how
| visionary he is, but I often come away with "that's neat but
| not terribly practical" or, like here, "aren't these new
| names for stuff that already existed?" (Also, about 100% of
| the time I read about the history of his work, I'm left with
| "he would have had something there if he'd been willing/able
| to play nicely with others.")
| cjohnson318 wrote:
| This helped me understand the dimensions better:
|
| http://profs.etsmtl.ca/mmcguffin/research/zigzag/
| vincent-toups wrote:
| Gonna be honest: everything about this screams "inescapable
| morass."
| winkywooster wrote:
| Here's a video of Ted Nelson describing the idea:
| https://www.youtube.com/watch?v=n22A-Say7do
| gota wrote:
| Wait, I just glanced at the material - is this someone
| (re/independently) inventing graphs?
| uxp100 wrote:
| No, but also not just someone, Ted Nelson. I highly recommend
| Geeks Bearing Gifts or Computer Lib/Dream Machines. He is a
| crank, who has never been involved in a successful software
| project as far as I am aware. He is also great.
| prionassembly wrote:
| Every crank is a visionary, but not every visionary is a
| crank.
|
| Some visionaries prove to be prophets and seers. Some have
| ideas that are bogus. Due to the nature of visionary ideas,
| this is most of the time unknown -- e.g. Julian Jaynes's
| bicameral mind.
|
| A crank is a visionary whose ideas are knowably bogus: e.g.
| Rupert Sheldrake. (A charlatan is unlike a crank because he
| has no idee fixe, no vision -- he moves opportunistically. A
| conspiracist is similarly unlike a crank because it bites at
| anything that moves.)
|
| Whether Ted Nelson is a crank is left as an exercise for the
| reader.
| cratermoon wrote:
| See Nelson's paper "A File Structure for the Complex, the
| Changing and the Indeterminate"
| https://andymatuschak.org/files/papers/Nelson1965.pdf
|
| Edit to add: I just noticed that the last update to that page
| was in 2002. When I hit the box about CSS, Mozilla, Netscape
| Navigator 4.7, and WML I did hard double-take.
| DennisP wrote:
| It's 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"
|
| http://lambda-the-ultimate.org/node/233#comment-1706
| feanaro wrote:
| zzstructures are both graphs where you can have many edges (of
| different types) between any two nodes and a method of visual
| presentation and navigation of that structure.
| JKCalhoun wrote:
| Sort of.
|
| From Wikipedia: "He coined the terms hypertext and hypermedia
| in 1963 and published them in 1965."
___________________________________________________________________
(page generated 2021-05-19 23:01 UTC)