[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

Re: [xanadu] Proposed naming of addresses solution

Re-reading my first reply (written late last night), I've noticed that there were a few lost trains of thought there, but no matter. What has occurred to me is that an example of how Xanadu works - both inside and outside - is called for. This is how I understand it works, though I'd be glad to get any corrections on it from those who know the system better.

Let's say you are writing a proposal for, I dunno, a new research grant. You need to write a proposal, which would have to include data from your recent work, and links to appropriate bibliographical material.

OK, so you open up your editor, and start writing the proposal. You enter the title, which creates a trace which Xanadu then saves, along with an anchor link to it in the global document space for your workstation. (I can't for the life of me recall what the rather arcane terminology that the Gold group came up with for these things was, so I'm sort of making it up as I go along - please bear with me) It also creates a trail to a virtual link - which in turn points to the parent link - that your editor can use to manipulate the document with. It is this trail which actually gets changed, *not* the trace or the anchor. The trail contains not only the link to the anchor, but also the uptake point within the trace, and how much of the trace to use.

When you have your title, you decide to set it to use a 14pt sans-serif font. The editor marks the original path to the trace as a branch off of the current trail, creates a trace for the font meta-data and adds a path to it, puts the path to the original trace at the end. The font is not considered a part of the actual data, note, but rather part of how it is to be displayed.

You then continue with the paper itself, adding a new paragraph; the start of the new paragraph is indicated by another type of meta-data link. The new paragraph itself is saved as a new trace with it's own anchor link, which the trails gets modifies to have a path into. Partway through editing this, you decide you don't like the wording of something, so you go change it. The old path gets marked as a branch, and the trail is modified so that the path to the paragraph only spans a part of the whole trail, then another trace is created for the new material, followed in turn by a second path into the old version of the paragraph spanning the part after the edit.

Note that it is the editor (both the program and the person) which chooses where to create new traces and paths; the Xanadu server is creating them for the editor, but doesn't impose any particular method of chunking the data into traces. An editor program could be written to work like a conventional editor, going through the whole editing process and waiting until the user hits 'save', then dropping the whole document into Xanadu as a single large trace. Conversely, it could save every single keystroke and mouse action the user enters, to be re-played like some deranged macro recorder when the document is to be viewed. Both of these approaches are wasteful and contrary to the Xanadu spirit, however, the former being very coarse-grained and lacking the history information which is so crucial to Xanadu, the latter absurdly fine-grained and resulting in data bloat. Each program - or even different settings within a program - determines how fine-grained the hyperdata should be, as appropriate to the application.

Now, then, let's say you need to add bibliographic information as you are going along, including links to the bibliography at each reference. Rather than creating some page in the document directly, which you could unintentionally overwrite or which you would have to add page breaks to or whathaveyou, you can instead open up a second editing window, create a separate document for the bibliography, and add a link in the first one that will, when displayed later, will show the bibliography as part of the published document, but which the editor keeps out of your way while you are working on it. Whenever you need a link to a section of the bibliography, you select the linked section in the bibliography, then go back to main document and tell the editor to insert a hyperlink to the particular path at that location. The link is just like all of the other links, *but* the display information for the link says something like, 'don't transclude the data here, just put a hyperlink to it with such-and-such meaning of indicating the link here and have it trigger on so-and-so event'. You could set the hyperlink up to open the trace or document, or to transclude it on the fly when the link is triggered, or various other actions of your choosing.

Let's also say that you have to include some data from a spreadsheet someone else created on a different machine somewhere, and you have access to a public link leading to that data. Now, as far as Xanadu is concerned, the spreadsheet data isn't any different from the data in your text document. Presumably, if the spreadsheet was designed in a Xanalogical fashion, each cell is stored as a separate trace. You can choose to put a path to the whole spreadsheet trail (including the tabular layout), or to individual cells, or even to just a part of the data in a cell. Note that this will point to the data that is in the spreadsheet at the time you create your document; to have it point to the current version of the spreadsheet, so that it is automagically updated as the spreadsheet is changed, you would put a sort of indirect link - let's call it a 'path marker', though I think the U.Gold name for it was 'sensor' or something similar - which points instead to the spreadsheet trail as a structure, not the specific traces in it, and uses whatever trace the cell *currently* leads to.

Now, I've been talking about these links as if they are unidirectional, but that's not actually the case. A Xanadu link is 'bi-visible', which is to say, it links the trace to the trail as well as the trail to the trace. If you (or someone who has permission to see your document) go to a trace which you've linked or transcluded and views the links that are attached to that trace, they would see your document as one of the links, and could follow that link back to your document.

When you are finished with your document, you then choose who has permission to view it. Like everything else, this can be as fine or coarse grained a you wish; if part of the document is to be visible to only certain people, it can simply hide those parts, or blank them out, or do whatever you want it to do if someone without permissions for that section views the document.

I hope that this has clarified more than it has confused. Comments and corrections welcome.

First Speaker, Last Eristic Church of Finagle and Holy Bisexuality
Episkopos of the Dr Benway Lives for Your Sins Cabal
"The Opposition is the keystone of the Establishment."