Glacial Erratics

My Plans for Purple Numbers

May 30, 2004

The last 24 hours or so of activity related to purple numbers has been very exciting for me. I've been sitting around for more than a year wondering when the concept might get some buzz. And now it has some and that's cool.    (835)

I have some personal hopes and goals for what I want to do with PurpleNumbers that I'd like to record for posterity.    (836)

In my world there are three types of content that have purple numbers. That which is stored in PurpleWiki's persistence system, that which is parsed by PurpleWiki but not stored there, and that which is made purple by some other means.    (837)

Goal number 1    (838)

Granular chunks of all three of those content types should be reachable by a domain and document independent identifier. By this I mean that the URL+anchor at which the content is found is not the identifer, just the NID (Node identifier).    (839)

This requires that content be generated with IDs that come from a networked service that can both provide a globally unique ID as well as resolve that ID back to the current (and possibly unstable) URL where the content is at the moment.    (83A)

Besides providing persistent identifiers pointing to granular content in a way that is more stable in the face of change than current possibilities, it also means that XPath or other tools can be used to transclude content from any source that has these sorts of identifiers.    (83B)

Note that I'm not saying anything about how the purple numbers are presented or how they are added to documents just that they are added, and that the identifiers have a certain nature.    (83C)

Goal number 2    (83D)

This one's quite a bit less generally applicable, but it describes a model of content on the internet of which I'm quite fond. Some might find it reminiscent of Xanadu.    (83E)

In the current release, PurpleWiki stores it's content in WikiText. Each chunk has a NID associated with it. Any chunk that does not have NID when the text is being prepared for a write to disk is given one. One of PurpleWiki's major coolnesses is that although it stores the content as WikiText, its in code representation is a parse tree that can be traversed in a variety of ways to create interesting views.    (83F)

NodaryPublic is a wiki page that describes an in-flight brainstorm from a few days ago of my plan to experiment with separating content, structure and the notion of document away from each other by keeping content in a pool, structure in a graph of nodes that point to elements of content in the pool, and documents as transients that point to single nodes of the tree that are used as starting points for view traversals.    (83G)

In this model everything is versioned, nothing is deleted, everything gets an id. Any node or element can be used as the starting point for editing. Any version of any node or element can be included by reference (transcluded) in anything else. All of it nicely indexed for easy discovery, of course.    (83H)

I'm not entirely sure what this will do. In my mind I see something not entirely unlike a wiki, but with less sense of a page, more granular versioning, and active reuse of content. I see it starting, much like PurpleWiki's TransClusion, as a single domain of content on one computer, and then expanding, from learning and experience, into something that works across networks.    (83I)

Is this practical? Maybe not. Does it cover trodden ground? Certainly. Where will it go? Dunno, but it sure seems interesting to me.    (83J)

Sending...