What TedNelson always kept whining on and on and on about. Damn but I want one.
Referential editors are to text editors what BlackAndWhite is to computer Solitaire. The former are interactive tools made for computers. The latter are crap imported wholesale from another medium to a medium that's wholly and completely unsuited to it.
Text editors (and word processors are included) are made to edit a STATIC page of text. Right away, that's two concepts that have no place in a computer. The concepts of the "page" and the utter absurdity that is changing something that's fundamentally unchangeable.
A referential editor lets the user add to a history of changes. A "document" is no longer the last version of the text, but the entire history of versions, and all the derivative documents, and all the relationships between all of these.
A referential editor would allow someone to write a smut-filled story, define an R-rated version by overwriting key passages, and let a proofreader fix all of the mistakes common to both versions OnceAndOnlyOnce.
The only problem is, there are no referential editors.
This is the point at which I want to curse interaction designers for failing to define "referential editor" in sufficient detail to inspire us imaginationless programmers to recognise that "referential editor" is an itch worth scratching. Maybe this Wiki's pet interaction designer would stoop to, I dunno, designing a referential editor for us instead of wasting yet more bytes insulting the very people who might implement it? -- DaveVoorhis
TedNelson even made a (non-working) demo of one at some point and presented it to great acclaim. The idea of a referential editor is at least 20 years old. -- rk
RK: can you provide some links to Ted's work? tnx
Xanadu was supposed to have a referential editor, which Nelson never got around to making. Instead, he's wasted his time on ZigZag, which nobody understands what it's supposed to be good for. -- RK
I struggled to understand it briefly at one point, by mixing interacting with it and re-reading his "explanations" repeatedly, and as I recall I eventually got the impression that he was trying to design a UI to interact with a high dimensional space, 2 dimensions (selectable from N dimensions) at a time. If so, that might be handy for something or other, but his descriptions sure are opaque, and I don't recall him saying what the application area was, specifically.
I have the vague feeling that I've seen a ReferentialEditor somewhere, but since I can't remember one specifically, maybe it's merely old memories of thinking about what Nelson espoused in that direction. I'm pretty sure he discussed parts of the idea in ComputerLib/DreamMachines?, published mid 1970s.
Have to agree that they be very useful for a lot of things. -- Doug
I want a ReferentialEditor too, a ReferentialObjectEditor? in fact. And I have spent some time to think about such things too. One of the open questions in this areas is, how to differentiate between copy and link on the UI. Obviously both must be possible. Sometimes you want to change all instances of the document (say you choose to rename your main character) and sometimes you want to change only one instance (say you want another character say some sentence). And then there is the question of handling granularity: Obviously it could go down to the letters, changing one letter changes all of them (granted, mostly not useful, but think of symbols instead). Changing words can be more useful (as in the character name example above). Reusing sentences, paragraphs, sections is already done with text block tools sometimes (but then these text blocks are separate entities). The question remains: How do you indicate what is a link and what a copy? And how do I make a copy into a link and vice versa?
Something that I want in a referential editor is the ability to find out all the times when a selection was edited. Sortof a reverse-index of changes.
You will get it, if TransparentVersioning? is available.