I think that the Xanadu failure (and it is a failure) has something to teach us — but I’m not sure why. As a first step, I want to analyze one of the more obvious problem. TransLiterature has a “standard”. I put the words in quotes because this reads like a combination of design document, polemic and history, with very little actual standard thrown in.
After reading the whole thing, I tried to reduce the actual standard to its component parts:
A content location is a URL to which ?xuversion=1.0&locspec:chararrange:<number>/<number> (where the numbers are in decimal notations) can be appended to. We call the result of such appending content URL, and we require that the following invariant hold:
Content(n,m) concatenated Content(n+m,l) should be the same as Content(n,m+l)
(As a subset of this invariant, note that the content pointed to by a content URL should never change.)
An EDL is a format which contains a list of strings, one per line.
- Content URLs
- The cent ASCII sign, followed by a type name [where is the list of types defined] followed either by the word to, and a list of Content URLs or the word from, followed by a list of content URLs, followed by the word to on a line on its own, followed by a list of content URLs (that’s called a clink)
As you can see, the EDL is ambiguous, in that its impossible to know where the last list of content URLs in a clink ends and the regular content URLs resume. I assume that all clinks must follow the regular content URLs, but nowhere is this spelled out. It’s also not obvious if it’s really one per line or just any-whitespace-will-do.
This standard could have been implemented by
- A Firefox extension on the client side, to read and display EDL files
- An Apache mod for supporting the Content-URL format
This standard could even have been implemented by
- …using the “Partial content” extensions to HTTP
None of this treats the issue of generating EDLs, of course, which is exactly the whole problem with Xanadu: while the reading part is trivial, HTML had (and still has) the advantage of being trivial to write by hand. I don’t actually think implementing this bit in JS would make Xanadu take off — but then it would be obvious it’s not taking off for good reasons…