Saturday, November 3, 2007

Shakespeare and XMLHttpRequest

Prologue:

Year: 1597 (Elizabethan Era)

Juliet:"What's in a name? That which we call a rose, By any other name would smell as sweet."

(Wily Billy) Shakespeare
Romeo and Juliet (II, ii, 1-2)

****************************

Everybody speaks about AJAX – one cool thing about AJAX is the name. Compare it with C++, PERL, HTTP, WWW and you will understand what I mean.

If the cornerstone of AJAX, viz. X comes from XMLHttpRequest, it was inexplicable to me why it contains XML in the name where the response payload need not be XML.

Answer came from the root of XMLHttp object – Alex Hopmann, member of the team who introduced it in IE for Outlook Web Access in Microsoft, Apparently the reason for the name was a trick on the Management to cram in the feature into IE at the last moment, using the gaining popularity of XML.

Imagine the conversation in MS.

Outlook Team: Buddy, I want a new feature AsyncHttpRequest into IE – can you do it?

IE Team: Not so easy as we are under a tight schedule. I don’t think we can get it approved from Product Management at this time.

Outlook Team: Don’t worry about that. Pass it as XMLHttpRequest. As they say, add XML and no one will ask questions.

IE Team: Will that work?

Outlook Team: Sure. How do you think they got the MSXML across?

IE Team: Won’t users ask questions why XML?

Outlook Team: Quote Shakespeare. No one will ask anymore questions.


***********************

Epilogue:

The court gave the verdict in favour of Microsoft in the case filed against MS in what can be called as the biggest Internet scandal of cheating Developer Community with a XMLHttpRequest object that had nothing do with XML. The judge also advised the Attorney not to mention Shakespeare again lest he be tried under contempt-of-court.

4 comments:

Alex Hopmann said...

Just wanted to clarify a couple of things- we were the Outlook Web Access team which was part of Exchange, not Outlook. And we built the XmlHttpRequest component ourselves but needed to ship it in IE. Since MSXML was a separate component already shipping with IE it was convenient to get the XML team to let us include the code in their component.

Also, for what its worth there is technically support for parsing results directly to XML so there is a tie, although its rarely used. Very few people do it now, but it can actually get you progressive download support in a way you can't get with text/html access (similar to what people can get with JSON).

Kaar Megam said...

Thanks Alex for the clarification. I will correct the factual errors.

Though I understand the advantages of using XML and XMLHttpRequest (getting XML data is more useful for a AJAX application than small taglets), it doesn't justify the name.

Anonymous said...

Keep up the good work.

best electric cigarette said...

well now a days IE is more like of a useless browser full of bugs :(