The most innovative browser, please step forward (...not so fast FireFox)
Wow! Its mind boggling sometimes how quickly misinformation can spread across the web...especially when said information has an anti-Microsoft sentiment.
Recently, a customer sent my company an article entitled "New Web Software a Challenge to Microsoft" (http://news.yahoo.com/s/ap/20051023/ap_on_hi_te/software_on_the_web). Within 24 hours, this article had spread to thousands of sites, including the CNN home page.
For those that haven't read it yet, I must warn you before you do. Don't bother with the grain of salt...go ahead and eat a whole box of it. For those who are interested, let me summarize. Essentially, the article states that Ajax provides a level of application responsiveness not seen before on the web. This application responsiveness makes it possible to port applications which mimic traditional Microsoft "powerhouse" applications such as Office in functionality to the web. This, in turn, is a threat to Microsoft. To quote one of the article's sources, product manager Alexei White, "[Ajax] definitely supports a Microsoft exit strategy". While I agree that Ajax is a good way to create extremely responsive web applications, I certainly disagree that this is in any way a negative development for Microsoft.
Before I go on, I must point out that the article has several glaring technical inaccuracies and terminology confusions which make it rather clear that the writer is writing from more of a layman perspective. These technical inaccuracies are ultimately forgivable. After all, in the software industry (and especially Ajax), the difference between accurate and inaccurate is subtle and often confused by seasoned developers. However, even this aside, what can not be left alone is the inference that Ajax represents a "threat" to Microsoft.
In reference to Ajax, one point has to be made (and is only briefly mentioned in the article). The history/development of "Ajax" is nearly completely thanks to Microsoft. To illustrate this, let's examine the history of Ajax (source: my recollection combined with some USENET archive searches...ok not exactly hard evidence but anyone is welcome to point out any inaccuracies they find :).
Major milestones in the life of "Ajax"
-
1997 - Microsoft releases a development methodology called "remote scripting". (By the way, there is VERY LITTLE DIFFERENCE between Ajax and remote scripting, which was created almost 9 YEARS PRIOR to Ajax. They both involve making an out-of-band request to a webserver to acquire some small part of data for the purpose of client-side use. The initial Microsoft library used a Java Applet as the object which made the asynchronous request. Also around this time, some clever developers figured out a way to do a similar out-of-band request using a hidden IFRAME element).
-
1999 - Microsoft, seeing the limitations in tying the "remote scripting" technology to a dying & insecure technology (Java Applets) introduces the XmlHttpRequest object in IE5 as a future replacement for it. In 6 years, this is to become one of the major callback workhorses in most Ajax libraries.
-
2000 - Mozilla becomes the second major browser engine to support this technology by adding their version of the XmlHttpRequest object.
-
2001 - Microsoft uses "remote scripting" techniques in Outlook Web Access (4 years before Gmail).
-
2005 - In February, Gmail and Google Maps begin to enter the public consciousness as hugely successful applications.
-
2005 - A few weeks following this, the developer of the applications coins the acronym "Ajax" for the underlying technology of these applications.
-
2005 - Opera finally adds XmlHttp support as a result of the success of Gmail and Google Maps.
One is hard pressed to find many examples of where this technology wasn't pushed forward by Microsoft. In fact, Microsoft often pushed this technology to the derision of the Internet populace in general. When remote scripting was introduced, there were complaints of security holes, proprietary technology, etc. When they introduced the XmlHttp object, the same complaints resurfaced, as well as allegations of being more concerned about introducing new technology than properly implementing W3C standards. (http://en.wikipedia.org/wiki/Features_of_Internet_Explorer).
Now that we have traced the historic milestones up to today, I could see how one could accept this brief history and still say "Well, they may have pioneered what became Ajax, but they did not capitalize on it TODAY and, much like Frankenstein's monster, it now stands poised to destroy them." (Ok, forgive the literary license I took there. You get the idea).
Well, that's a fair point, if it were true. Unfortunately, it isn't. The brief history written above highlights a calculated plan by Microsoft to achieve exactly what we are seeing right now with Ajax. For the past 10 years, while thousands of companies have come and gone, Microsoft was truly shaping the course of the world wide web by changing the browser from a simple text renderer to a complex application host. How do we know this was their intention? Well, Bill Gates said it himself in 1999 (http://www.microsoft.com/billgates/speeches/09-15devdays.asp).
"But at the heart of this is a new generation of applications, applications that run on a server, but take advantage of the rich capabilities of all the PCs and other devices that are out there. And Microsoft's success has always been keyed off of providing developers with tools to build the best applications. And so, in this new age of Internet applications, we're taking all of our developer pieces, and advancing them to make it as easy as possible to build these applications."
~ Sept 1999
And now that the "revolution" is started, no company is in better position to capitalize on these types of applications:
-
Ajax applications, since they are counter to the typical HTTP request/response protocol, can be extremely complex to write. Microsoft has put forward the only serious development platform (Visual Studio .NET) to create this level of application.
-
ASP.NET 2.0 provides built-in "Ajax" support to any server control created in the library.
-
With Atlas, Microsoft has created a sophisticated Ajax framework implementation.
So, while these new companies fight to capitalize on a market (Office) that Microsoft dominated for the past 15 years, Microsoft has been busy laying the groundwork for what will be the next generation of Internet innovations. Ajax is no threat to Office or Microsoft in general. There are free Office suites out there (OpenOffice) and a myriad of free web-based Word & Excel equivalents and yet Office still does very well. To quote Scott Guthrie in the aforementioned article:
"Ultimately when you want to write a word processing document or manage a large spreadsheet, you are going to want the capabilities ... that are very difficult to provide on the Web today."