tecosystems

On XMLHTTPRequest and Native XML Stores

Share via Twitter Share via Facebook Share via Linkedin Share via Reddit

As Coté noted, I’ve been taking a look recently at the XMLHTTPRequest technology enabled in most of today’s browsers. For the less technical readers out there – and I know there are a few marketing/PR types lurking 😉 – the object essentially allows the browser to query an XML datastore located on the server (web or otherwise), and pull down information to be rendered into HTML.

Why am I interested in this weird, rather underhyped browser widget? Mostly because it’s an elegant way way to extract information server side and present it – in sophisticated fashion – client-side. Ok, if I’m being honest it’s also because I’m studying up for my Bosworth/Bray Cabal entrance exam and because there’s nary a mention of SOAP. But at the end of the day it’s basically just a simple way to make browser applications more intelligent, without adding the usual client overhead.

As it turns out, in addition to some of the folks on my blogroll, several prominent technology companies are also exploring the potential for this object. Notable among them, Apple and Google.

What can be delivered with XMLHTTPRequest? A great many things, as it turns out. Take iTunes, for example. I’ve complained in the past about the walled garden nature of the music store, bemoaning the lack of an ability to easily extract information from it in link form for dissemination. I always wondered why Apple chose that path, but as we learn here or in more detailed fashion from Bray here, iTunes is essentially a set of XML documents that are custom rendered at presentation time, and thus are less linkable than, say, an HTML page. But with XMLHTTPRequest, one could essentially query the same sources, pull the information down to be rendered in HTML, as this Apple developer’s example shows us. Note to Apple: be nice to see something actually done with that.

As for Google, their new Suggest [1] project – the talk of the blogosphere, at least last week – is powered by…you guessed it, a combination of DHTML, Javascript and XMLHTTPRequest (as noted by Simon above and Joel here).

The catch to this approach? Well, I’m sure the programmers out there can think of several, but the one I’d note straight off would be scale. Nothing that can’t be handled, of course, but a bit of a different design metaphor that shifts some load back onto the server.

The opportunity? Well, again, there are many, but if I was an XML datastore provider like iPedo, Sleepycat, Software AG, or soon, IBM, I’d be looking for iTunes-like sexy opportunities out there to get developers excited.

What’s most interesting to me? The cross-platform nature of the technique. IE has XMLHTTPRequest – and indeed pioneered it – but so do Firefox and Safari. This means that any solution provider who elects to can support virtually anyone on any platform. I think Coté’s right – there is a book in here somewhere, though not for me.

[1] I’m generally no fan of Google’s Official blog – it tends to be about as useful as a press release and sound like one too, but the Suggest announcement here is the rare exception. It’s an interesting backgrounder on how the tool came about on some of Google’s 20% time.