Dare’s $100
By Robert Sayre under AJAX on 19. March 2006Dare Obasanjo has a great post on allocating resources for XML, HTTP, and REST. The idea is that Don Box has given you an engineering budget, and you’re not allowed to steal money from the Web Services department. It goes like this:
You have $100 engineering dollars to spend. No matter how many millions we’d actually wind up spending, we use $100 as an easy number for people to keep in their heads.
There are well over $100 dollars worth of features you want.
The challenge is in determining how to spread the $100 in a way that produces with the most aggregate value.
I find myself in near-total agreement with Dare, except that I would take all that C# money and spend it on IronPython. This is lesscode, and we don’t believe in 48-character method names that VisualStudio autocompletes for us. :)
I find it particularly interesting that he allocated $40 to “better support for consuming XML in the browser.” Well, what a coincidence. I’ve been spending some time sheparding a JavaScript SAX interface through the Mozilla process. Now, I certainly don’t have any decision-making power, and I don’t speak for Mozilla, but wouldn’t it be cool if Microsoft exposed SAX to JavaScript? That could speed up a lot of AJAX. MSXML SAX objects are already available to client code as ActiveX objects, but you can’t write a ContentHandler in JavaScript for Internet Explorer. Bummer. Why not? AJAX developers are getting pretty good at event-driven code.
Harry Fuecks:
That $40 on XML and browser seems like money wasted. Hardly anyone is using XML in AJAX – JSON and other approaches (The AJAX response: XML, HTML, or JSON?). The point there is XML’s platform independence has no value to a browser, given cross domain restrictions – AJAX is about specific relationships between a Javascript client and a single domain name (i.e. a single server-side platform).
Better take that $40 for fixing browser HTTP auth and supporting logoffs.
In fact looking at Dare’s spending plan, it’s not pretty.
The next $30 would be better spent on teaching developers the details of HTTP. .NET already has HTTP support. Let’s not hide it all behind a bunch of “keep developers dumb” APIs
Then that $20 – how about spending that on introducing some flexible data types instead - the sort that allow you easily represent “ad-hoc” XML structures, for example.
Finally that $10 – well perhaps this could go to adding E4X to IE?
comment at 20. March 2006
Robert Sayre:
I don’t understand the argument. Most people use JSON, so we should live with DOM forever?
comment at 20. March 2006
Harry Fuecks:
Sorry - was being too terse. In verbose form that should have read;
So we’re in agreement – approaches like JSON and similar (e.g. Google suggest simply returns some Javascript which, when evaled, executes a local callback function) are preferable as you get immediate access to your data structures, vs. fighting with DOM. There’s probably also a performance gain.
comment at 20. March 2006
Robert Sayre:
Right. I want other ways to use XML that aren’t DOM, and I don’t see what this has to with JSON.
comment at 20. March 2006
Dan:
I’d love to have something this as an option over the JS SAX interface:
The ElementTree iterparse Function
It will be standard python soon so the Iron Python folks should get right on it ;-)
comment at 20. March 2006