I thought this was well-known? Microsoft invented it for OWA but didn't realize what they had. A few years later other people realized how transformative it was and evangelized it. Other browsers added compatible implementations. The rest is history.
It is amusing to see the take in Avalon since we now know how that turned out. His complaints about HTML/JS/DOM are spot-on but it turns out the solution was to improve HTML, JS, and the DOM.
I'd actually find an Avalon post mortem more interesting. I remember it being the big new thing to replace all things and then it just vanished into obscurity.
We were doing XMLHTTP like communication at a startup back in the early 2000's, by making use of a Java Applet and the communication JavaScritp/Applets.
I imagine we weren't the only ones doing that before XMLHTTP was born.
Regarding Avalon, I have been doing quite some consulting projects (WPF and UWP) in the last three years, and at least on the markets I move on, there are plenty of greenfield projects. :)
I don't know the situation, but I think that you have it backwards when you say "didn't realize what they had." If what they had was a progenitor to XMLHttpRequest, a feature which almost single-handedly broke the Web, they probably were trying to cram it back into Pandora's box before anyone noticed.
XmlHttpRequest is an awesome innovation from the point of view of the software development community as a whole.
But from a Microsoft shareholder's point of view it was a disaster. XmlHttpRequest and ContentEditableDiv (known back then as DesignMode) ushered in Web 2.0 and Web 2.0 ended Microsoft's dominance of the software industry by making Windows irrelevant.
> But from a Microsoft shareholder's point of view it was a disaster.
The disaster is not in inventing the next technology, because if you don't someone else will do so anyway. The failure is failing to exploit what you invented before anyone else does.
But that's inherently difficult to do. Large organizations are usually oriented towards rewarding and incentivizing what makes them money today.
It's easier to be a real start-up than an internal startup at a large company, because it's hard to duplicate real-world market incentives internally.
> What Web2.0 did is that it removed the need of certain type of desktop software.
The commonly held belief at the time was that Microsoft's dominance rested in large part on that desktop software. Think how hard it would be today if you wanted to start a new mobile OS (let's call it "windows phone") years after entire software ecosystems have been established for iPhone and Android.
It's safe to say that Microsoft is not the shining star they once were. If we were to pick a single moment in history that lead to their undoing, I think this would be it.
> BTW if Microsoft didn't invent XmlHttpRequest, somebody else had done it.
"Somebody else" didn't have the market share IE did. Something that was incompatible with IE at the time was a non-starter. What's remarkable about this story is that when Microsoft saw the browser coming in the Netscape years, their entire strategy was to head that shit off by ensuring that their own browser become market dominant so that they could keep the web in a place that wouldn't hurt MS.
After all that effort, the anti-trust suit, etc, etc... and they'd gotten themselves in the place where they controlled the future of the web, it was some random developer at Microsoft itself that invented the very thing which was their undoing.
> If we were to pick a single moment in history that lead to their undoing
I always find these sorts of comments interesting.
Microsoft is a very different business than say other failures who you could point to a single event (Kodak, Word Perfect, Lotus Software, Myspace)
Remember, Microsoft have over $100 BILLION in cash[0].
You could perhaps cherry pick certain parts of the business. But I remember the stories of how they made more money from Android than Windows Phone[1].
Microsoft has a long, LONG way to fall before I would say they have failed.
> If we were to pick a single moment in history that lead to their undoing, I think this would be it.
That was a pivotal moment but I would pick 2005/2006 when they decided to stop investing in Windows Mobile. The same period that Apple was secretly inventing the iPhone.
Recall that at the time Java was set to make Windows irrelevant. Microsoft had a massive success, via XML, in derailing this future.
To explain a little, the Sun position was "use Java to write everything; then it all talks together nicely". But folks realised they could use XML to tie different pieces together and relegated Java to the server. Yes, there were other other ways to interop, eg CORBA, but they were ugly, expensive and heavyweight.
I get a bit paranoid that some high schooler who will be the world's next Bill Gates is reading your post and think, "hmm, I've got to keep a lookout for any of my developers building XmlHttpRequest-like technology that paves the way for my future monopoly to get busted up prematurely!"
Imagine if someone in Microsoft had a clue and was able to constrain the browser to being a simple scripted document viewer? I'm convinced suppressing client-side web application development would have lent the Windows OS a few more years of platform and developer mindshare dominance!
Imagine if someone in Microsoft had a clue and was able to constrain the browser to being a simple scripted document viewer? I'm convinced suppressing client-side web application development would have lent the Windows OS a few more years of platform and developer mindshare dominance!
...and the web might have turned out to be a bit less user-hostile and inefficiently resource-consuming than it currently is today, which might not be so bad after all.
The sentense about GMail using XHR before Googe Suggest is wrong. GMail and Google Maps used iFrames, but not XHR in the first few years, and started to use XHR only in 2006+.
The first time I used dynamically loaded XML in the browser was in 2000, but it wasn't XMLHttpRequest -- it was in Flash.
Flash 5 came out that year, and the player was ubiquitous at something like 98% market penetration (it was preloaded by both Microsoft and Apple).
That was the first release that included real ECMAScript-compatible ActionScript, and it also had APIs for asynchronously fetching XML data. IIRC implementing it on a server was somehow tricky, but it was my first taste of a true rich client in the browser.
Reduced to 5 sentence for those who don't want to read the whole post.
`
How we actually shipped XMLHTTP It was one thing to have this cool component we could use to talk to the server, but we still weren't in any position to use it in the shipping product yet.
Which is the real explanation of where the name XMLHTTP comes from- the thing is mostly about HTTP and doesn't have any specific tie to XML other than that was the easiest excuse for shipping it so I needed to cram XML into the name.
The beta shipped and the OWA team was able to start running forward using the beta IE5, while Shawn fixed a number of bugs through the ship day of IE5.
Actually shipping the thing required help from many more people that I've mentioned so far.
The lesson to take out of this thing is to appreciate the importance of shipping and having the patience to let something succeed.
It is amusing to see the take in Avalon since we now know how that turned out. His complaints about HTML/JS/DOM are spot-on but it turns out the solution was to improve HTML, JS, and the DOM.