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

Adam Bosworth article "Lessons Learned from the Web"



http://acmqueue.com/modules.php?name=Content&pa=showpage&pid=337&page=1

While he is primarily discussing conventional relational databases, I think that he makes several points which are relevant to the Xanadu Project as well. OTOH, some of the points also highlight important differences between Xanadu and conventional 'data management', and several of his criticisms of XML are in line with Xanalogical concepts, especially in regard to link metadata (self-describing links, 'time to live' markers, etc.)

His first 'lesson' (that text data formats are both more accessible and more scalable than binary data formats) is already a well-known principle among Unix programmers: outside of large database systems, binary data formats (as opposed to executables) are almost unknown in Unix, and for good reason. Note that human readability and editability is a key part of this: HTML works because anyone with a text editor and a little knowledge of the markup language can create a new web page; similarly, the fact that HTTP addresses are plain text and easily readable (at least for top-level addresses) has considerable impact on the accessibility of the web - to the extent that tools for shortening addresses, such as Snip URL (http://www.snurl.com), are quite popular as a way of making complex addresses more accessible. The implications of this for Xanadu are problematic, especially when taken in conjunction with lessons 6 and 7: because to is so fine-grained, Xanadu could not leverage these advantages even if a text format were used instead of a binary one. Given how Xanadu addresses work, reading a link would be a tedious exercise (how much useful information could a non-programmer get of out a tumbler address and a span of bytes?) and hand-editing out would be positively dangerous. Fine-grained chunking also presents scaling problems for distributed systems, and increases the coupling, both of which make the system both harder to use and more brittle. These are serious problems that are inherent in the Xanadu concept - without the ability to link to arbitrary data, it simply isn't Xanadu.

The point about staleness is an interesting one, with both positive and negative implications for Xanadu. The fact that Xanadu data is stored permanently, with only the data views getting changed, Xanadu should have no problem with this; however, the fine-grained nature of Xanadu links again becomes a concern, as updating local caches (something that is supposed to be transparent in Xanadu, invisible to the user and automatically balanced) for impermanent data would require considerable overhead for consistency checking - something that the Web simply ignores. By requiring viewer updates to be done semi-manually, and requiring the data sources to have a custom-built solution for 'server' updates, it forces attention to the issue - which far from being a limitation, is a benefit, since (as Bosworth points out) no one-size-fits-all solution could cover every case.

Lesson five, however, is very encouraging: it vindicates the basic concept of hypertext, that non-linear presentation is not only possible but natural once the technology to support it exists. While the web only hints at the potential of a truly powerful hypertext system, it does show that Xanadu's overall direction is the right one.

Not surprisingly, some of his criticisms of both XML and relational databases do apply to Xanadu as well, but hardly all of them: if there is one thing Xanadu documents are not, it's monolithic, and ordering is of no consequence in Xanadu either. Still, his arguments do raise issues that any future hypertext system - Xanalogical or otherwise - will have to consider.