Battle for AJAX Dominance Heats Up

It's sometimes difficult to keep track of whether the names Microsoft chooses to call things are real product names or code names - sometimes the latter is arguably better. But after several months of referring to Microsoft's implementation of Asynchronous JavaScript as "Atlas," the client-side rendition of the product will end up being called "Microsoft AJAX Library."
Microsoft announced this decision, reported by BetaNews last week, in a blog posting by ASP.NET general manager Scott Guthrie. There, he also said the server-side implementation will be known by the characteristically non-romantic moniker, "ASP.NET 2.0 AJAX Extensions."
The news arrived just prior to the announcement by of a group of Microsoft's competitors in the AJAX field, including Google, IBM, Mozilla, Opera, and Red Hat. Together, their OpenAjax Alliance is taking on 27 new member companies, some as new to the standards business as greeting card producer American Greetings.
Yesterday, the Alliance made official Sun Microsystems' membership, which that company had announced in June.
The stated goal of the OpenAjax Alliance (with a lower-case "Ajax") is "to serve as an industry catalyst so that an Ajax-enabled Web 2.0 can happen as quickly as possible." Judging from the way these battle lines are shaping up, Web 2.0 could end up looking a lot more like Web 1.0 than previously thought.
Asynchronous JavaScript and XML is the latest tool -- and, some would say, the most efficient one yet devised -- for delivering client-side functionality through the Web. Unlike the original implementations of embedded JavaScript in Web pages, AJAX enables a page to request XML documents from the server while it appears in the browser, without having to request an entirely new HTML page or content. Thus, a server can deliver content as it is requested, rather than pre-loading it.
This is why Google Earth doesn't have its users download the whole Earth; users stay on the same page, while the map moves and changes under it. Responses from the Web server can change not only the content, but the layout (the Document Object Model, or DOM) of the containing Web page on the client.
What's more, the AJAX engine can respond to user interaction with controls on the page without having to report that interaction to the server. So far, this has been the most efficient and most securable model for delivering controls through the Web that can be managed completely on the client side.
While it was arguably Google that did the most, the soonest, to popularize this concept, Microsoft quickly responded in June 2005 with its first Atlas experiments. In a very short period of time, Atlas became the focus of an entire division's efforts, helping to catapult Ray Ozzie to his current role as Chief Software Architect, unseating Bill Gates.
After devoting an entirely new string of development conferences (MIX '06) to the subject of smart-client Web programming, Microsoft's AJAX implementation is now featured prominently on every page of Windows Live Search, whose 1.0 edition went live two weeks ago.
On the other side of the battle, IBM has been instrumental in the formation of the OpenAjax Alliance, though Google's membership is perhaps the endorsement that developers view as most important. The addition this week of Sun Microsystems is also important, though, since Sun has been viewed through history -- at least off and on -- as a steward of JavaScript, even though it didn't create the language. Netscape was the first to institute it, though ironically Microsoft helped one version of it become an international standard, leading to the name ECMAscript. But "AEAX" just doesn't sound as good.
The Alliance's contribution to the client-side library will be called the OpenAjax Hub, whose 1.0 version the Alliance said yesterday it will release early next year (Microsoft's AJAX 1.0 library could come before that). Rather than a complete implementation, this Hub will consist of open-source code that addresses how members' unique versions will agree to handle key interoperability issues.
The four areas the Hub will concentrate on, according to the Alliance, are: 1) collision checking, which refers to how browsers will know, when parsing the page, where HTML code stops and Ajax code begins; 2) toolkit loading, which could enable a small developer to create snap-ins for any Alliance member's Ajax coding environment; 3) markup mixing, another critical parser issue; and 4) event management, which refers to the set of user interaction events to which Ajax code can respond.
With those four issues -- perhaps more to come -- worked out among Alliance members, they can each be free to pursue their own unique approaches to both client-side libraries and server-side development environments and delivery systems. IBM has expressed interest in this, and it's almost inconceivable that Sun won't follow suit.
The big question mark, however, concerns Google. Since the group's formation last February, it has been one of its more silent members, although perhaps no single company has done more to develop and popularize the language. Its current online applications are based on Google's own implementation of the language library.
So the fact that this implementation is freely available as the Google Web Toolkit, may officially make Google competitors with Microsoft in the software development field, along with applications and Web services. Despite Google's soft-spoken attitude, this could become the front of the next software development battle, enabling other Alliance members such as IBM, Sun, Red Hat, and SAP to perhaps wait things out on the sidelines.