Use a taxi to bring XML to the web
Tim Bray is a man to reckon with in XML circles, not only because he's been instrumental in formulating all kinds of XML specifications or because he helped spur early development of XML tools and technologies. He's also a man to reckon with because his vision of what XML is and can do for the Web is not easily constrained, and because he sees the big picture very well indeed, no matter how closely he may also watch certain portions of the XML landscape.
For a case in point, here are some pointers to some recent presentations and articles Tim Bray has put together, that define the focus for this week's tip. I urge you to visit these reports and read about these topics in more detail if what you read here interests you:
- "Taxi to the Future,"
- http://www.xml.com/pub/a/2001/03/14/taxi.html recounts Bray's entire TAXI architecture, and includes pointers to some cool examples
- "A Web Less Boring," by Edd Dumbill recaps and summarizes Tim Bray's recent keynote address at GCA'sXML Europe 2001 conference in Berlin on May 23 at http://www.xml.com/pub/a/2001/05/23/bray.html
For my part, I want to share Bray's TAXI architecture with you, and explain why I think it's a key model for future Web development.
TAXI stands for transform, aggregate, send XML, and interact. The idea is that data can be stored in any kind of format (probably XML, though other forms are acceptable). When data access occurs, the key is to transform it into some kind of representation (definitely XML) that browsers can handle, but also to grab enough such data (this is where the aggregation comes in) so that clients receive sufficient information to move around in on the client side. That aggregated XML data is then sent to an XML-aware software tool which could be, but doesn't have to be, a Web browser where local logic, controls, and the aggregated data give users something they can interact with meaningfully without having to interact with a server to see every new display. It's a beefed-up version of the client/server model, in that the client takes on more functionality and manages more local data, very much in keeping with the kinds of memory, storage, and CPU capacity found on most modern desktops nowadays.
Bray's presentation at XML Europe plays on this theme in that he rightfully observes that too many Web sites look and act exactly the same these days, and that meaningful development of powerful, usable user interfaces seems stalled in a simple two-dimensional space. What TAXI permits is a design approach and it's no magic bullet, because figuring out how to aggregate data and deliver the right kinds of datasets to users is far from intuitively obvious that lets the data and user needs dictate how data is structured, delivered, interrogated, and presented to those who need it. It's a big change from the notion of the atomic server transaction, servlets, or Active Server Pages approach, where what makes sense for server interaction tends to slavishly drive user interaction.
Bray's model (and the historical computing analysis that leads to the model in the Taxi piece is worth the price of admission all by itself) opens up new possibilities that many kinds of Web sites could really benefit from. Careful reading and thinking on this topic is advised, because it stands on its head much of what passes for good site design, particularly in the division of labor and access between servers and clients. I'll be thinking about this, too, and I'm sure will have more to say on this topic in weeks to come.
Ed Tittel is a principal at LANWrights, Inc., a wholly owned subsidiary of LeapIt.com. LANWrights offers training, writing, and consulting services on Internet, networking, and Web topics (including XML and XHTML), plus various IT certifications (Microsoft, Sun/Java, and Prosoft/CIW). Send an e-mail to Ed at firstname.lastname@example.org if you have questions on this or other XML topics.
Did you like this tip? Send us an email to let us know. We want to know what you think.
This was first published in May 2001