Building stuff on top of stuff

at XML 2003
We had a really interesting conversation with Adam Bosworth last week. Adam elaborated on the model of distributed query that I first heard him sketch out in his XML 2003 keynote. The focus then was on the (not-yet-announced) Alchemy -- an idea that will have to play out sooner or later, but whose initial open source implementation at BEA became a mystery when Adam moved over to Google. In our conversation last week, the focus was instead on the notion of a network of "queryers and servers" in which the access paths to data look more like what humans do when they traverse the web than they look like what databases do when they consult their indexes.

Clearly XML is a key enabler of this network, and in this two-minute clip Adam explains how and why RSS, in particular, provides the necessary traction:

It's like Lego. When I was a small kid I used to play with these blocks, and build these very complicated buildings with my sister. And the buildings were all made out of very simple blocks. The fact that they all plugged into each other was what made Lego so amazing. The reason I went to XML in the first place was to try to make it easier to plug things together, but nonetheless the right way to think about XML at this point is that each block has an extraordinarily fine-grained machined shape to each knob that extrudes from it. And to plug another block on top of it you have to get a receptacle for exactly that shape, give or take a little bit.

The cool thing about RSS, as people are discovering, as people like Bloglines are showing, as people like Feedster show when you can do a query and syndicate the query into Bloglines, is that the blocks start to be able to plug into each other because pretty much everyone can extrude something where they understand enough of the shape and how to consume it, and they in turn can extrude that shape, again like the Lego block where you can plug a little knob into the bottom of something and out comes the knob at the top.

So that gives you a way to build stuff on top of stuff, and I think that's really exciting. That's sort of what I've been waiting for, for quite a while, ever since I started working with Jean Paoli and Tim Bray and others on this stuff, was not just a way to exchange data, but for certain standards to emerge that everyone could agree on that would be lingua francas. There's still additional information that might be carried along, but there has to be enough shared grammar for it to work. Whether it's intentional and it's Dave Winer's genius, or whether it's partly luck, or whether it's a combination so it doesn't matter, I think this has turned out to be one very useful lingua franca for plugging things into things.

InfoWorld has a pair of SOA (services-oriented architecture) events coming up in May which I'm helping to plan. Here's one question I'd like to put on the agenda. As a language of contracts, SOA involves complex shapes. But as a Lego system, it's about simple shapes. Where's the sweet spot?

Update: I went back and dug up my initial report on Alchemy, from an earlier Gillmor Gang show. Listening to this 3-minute segment -- in which I try to explain Adam Bosworth's notion of injecting data intelligence into the browser -- reminded me why this is a thread we ought not lose sight of.

Former URL: