Sunday, April 17, 2011

Xanadu vs. the web: Part V - Fail.

This is the least pleasant segment to write.  Xanadu the architecture and business model are interesting to write about.  They may not have panned out, but they deserve to be studied and kept in mind.  It's never good to assume that the present way of doing things is the only or best way.  Xanadu provides alternatives that, if not viable, are at least worth thinking through.

However, there is a sadder side to the story: Xanadu the software project, which by any reasonable standard has been an unmitigated failure.  In particular, it never shipped anything of consequence.  Gary Wolf's piece, which again Nelson has strongly disputed, at least seems to square with the lack of notable Xanadu applications.  Autodesk founder John Walker's assessment of the four years and millions of dollars spent when Xanadu was affiliated with his company and given ample resources -- much more, for example, than were used to found Autodesk itself -- corroborates this.  Xanadu had literally become a footnote.

Looking through the various Xanadu websites, I can't say I've turned over every stone, but I've only managed to find three tangible results:
  • A Windows demo dated 2007 that I haven't yet run because I don't have a suitable Windows box handy at the moment (and frankly, given everything else, I may never run)
  • A Python script called the Transquoter
  • A link to a site not directly affiliated with Xanadu but clearly influenced by it.
  • [Since I wrote this, Xanadu has put up a demo of the UX, showing several texts side by side with the ability to jump from one to another.  Judge for yourself.  For my money it's not that much different from browsing Wikipedia or TV Tropes, despite the different visual presentation -- one could easily imagine a web browser with a browsing mode that looks like this.  Still, it is something tangible, and kudos to Xanadu for that.]

The Transquoter seems indicative of the overall state of things.  It essentially takes a list of links in a file and pastes their contents together.  Each quotation gets its own highlight color when moused over, and each quotation is a link.  The links in the file are of a special form, with query parameters indicating which version of the document in question to use and what range of characters to extract from it.  These both assume the stable "write once, never edit" model of documents that Xanadu uses.  The scheme would work for, say, Wikipedia articles, if you were careful to link to a particular version, but not for a lot of other things.

Never mind, though.  A sample is provided.  The sample links exclusively to Nelson's sites.  It's Nelson's content, Nelson's chosen servers and an officially blessed Python script.  Nonetheless, the links don't work.  The script generates plausible-looking links, with version and charrange parameters saying what to look for, but the servers just ignore them and serve the whole page.  The whole point of this transclusion thing, I thought, was that when you navigate from one occurence of the content to another, you actually get to that content in its context, not to the document it came from with no indication of where that content might be.


OK then, suppose you have a server that actually understands the syntax of the links.  Perhaps one that can take a link anywhere on the web, perhaps cache a copy of it to ensure stability, and serve that page up, showing the quoted text, suitably highlighted and in context.  Not something I'm inclined to work on personally, but certainly feasible.  How do you put together the document that references it?

You put together a text file containing an "edit difference list".  The only edit difference supported seems to be directly pulling in a quote by giving the position of the first character in the source document and a size in characters (working around HTML tags as needed).  No tool is provided for, say, highlighting some text in your browser and dragging it into a document-in-progress.  But hey, you can use any text editor you like to produce a list of specially-tweaked URLs to give to the script on the command line, to get an HTML file to upload to your site.


There's a principle in software engineering of "eating your own dogfood," that is, using your own tools wherever possible.  For example, Linux became "self-hosting", meaning that further development of Linux was done using Linux systems, at an early age.  Becoming self-hosting is a major rite of passage for many kinds of tool, particularly compilers.  Among other things, it's a fairly convincing demonstration that the tool can be used for something real.

Does use the transquoter?  Not as far as I can tell.  If it did, there would probably be a real editor.

OK, enough.  At some point this is just piling on.

The most plausible demonstration of how Xanadu might work comes not from within Xanadu, but from Jason Rohrer's token_word system which Nelson mentions.  It attempts to show what a payment system based on Xanadu's pay-per-first-access model would look like.  You can even put in real money via a PayPal account, though fortunately the first 50,000 "tokens" are free.  [I can no longer find a running version of token_word.  Its developer, Jason Rohrer appears to be developing video games now, though there is quite a bit of other interesting stuff on Rohrer's SourceForge site, including some material on token_word -- D.H. Oct 2018]

There are documents on the site, though not very many, and you can construct new documents by writing text or by pulling quotations in from other documents in the system.  The process is inconvenient but doable: To extract quotes you put <q> and </q> tags around the text you want to quote in an edit box and push a button. Then you put <q n=""> into your own text — use <q 0=""> for the first quote you extracted, <q 1=""> for the next ... Stone-age tools, but I can forgive that here because 1) the site looks to be fairly old and done as a spare-time project by one person, 2) other parts of the demo, particularly tracking how much text you've accessed, work and 3) the stone-age axe at least has a handle and a blade.

Have a look around if you like.  At least it's something.  It's the kind of demo that, if there were more of them and they had together been developed into a prototype system, might have gotten people to take the project seriously.  Personally, I believe I got enough of the flavor to see that I would prefer not to access documents in such a way, even with a slicker interface, but that's a good thing.  Allowing people to make that kind of determination is exactly why we have demos, and it's what puts the site light-years ahead of the transquoter, which would probably leave most people scratching their heads.

Xanadu has been around as a concept since the 1960s.  People have devoted years of their lives to working on it.  Millions of dollars have been spent.  In that time the entire computing industry has been turned upside down multiple times.   [Did I really say that?  Well, the technology, at least, has undergone major changes.] Thousands of new companies have emerged, some even surviving.  Billions of lines of code have been written.  Protocols have been defined.  Apps have been written and shipped, fortunes made, lost, remade.  Even taking into account the inherent architectural difficulties of the Grand Scheme, even if every word of Wolf's story is absolutely accurate, even taking into account code lost at various stages during the development of the project, it still boggles the mind just how little there is to show for it.

1 comment:

faizzhaikal said...

wow is this blog the best