Microsoft: Learning to Play Nice in the OpenAjax Alliance

We turned the question on its ear a bit, asking Smith whether he foresaw a situation where OpenAjax implementations became dependent upon the tools with which they were developed. His answer surprised us: "Anything is possible, I'll put that on the table. But any solution is also possible as well. It is software, so it's incumbent upon the vendors and the members of the OpenAjax Alliance to work together to reduce or eliminate the potential problems that are caused by the lack of interoperability between the frameworks."
But then he steered the train back to its intended course: "The purpose of the OpenAjax Alliance as I understand it, the whole reason for its existence, is to prevent those types of things from happening, in the best way it can."
The Google Web Toolkit would have developers build their AJAX front ends and UIs using Java first, then let GWT translate those resources into XHTML/CSS/JavaScript. Microsoft has demonstrated similar functionality, but using tools that would instead employ XAML, the company's XML-based UI description language. There's quite a bit of difference between using Java and using XAML, so how will Microsoft be able to help the Alliance determine where the Hub ends and manufacturer-specific implementations begin?
Smith's answer was well thought-out, quite diplomatic, and still surprisingly informative about Microsoft's strategy. It began with the foundation that developers can choose to use Microsoft tools and still embrace Web standards: "With ASP.NET AJAX, we give you the opportunity to use 100% standard JavaScript, you don't have to use XAML, you don't have to use any managed code, you don't have to use Java," he told us. "You can develop the site using the standards that exist on the Web today that are on the Web today, and supported by every browser today, and get a great amount of functionality in doing so."
Which is nice. Of course, if Web developers are interested in doing more than standards would permit, then Microsoft will certainly help out.
"The benefit of our approach is, if you want to go that next level and go beyond the capabilities of JavaScript and the browser DOM that exists today," Smith told BetaNews, "then we offer WPF/E [Windows Presentation Foundation/Everywhere], which is our new technology for creating these rich Web experiences, rich interactive applications. By adopting WPF/E, you can still use your existing JavaScript knowledge, JavaScript expertise, and get the benefit of a richer user experience, again, that works across platforms and across all modern browsers."
Which is nice. Of course, if you really want to go all out and build superb applications, then let's haul out the big guns.
"Going one step beyond that, let's say that you are an existing managed code developer, whether you're building client applications or Web services using C#, or you're already using ASP.NET to build server-side Web applications," Smith continued. "You can reuse the same programming models, the same programming techniques, and the same tools that you've used in managed code development in the past to create these richer experiences using WPF/E. At some point, a lot of organizations want to bring their Web applications onto mobile devices or even outside the browser, and that's where WPF comes in. We start with standards-based Web sites using XHTML, CSS, JavaScript, we add WPF/E and you can still use JavaScript or you can use managed code to create a richer Web experience in the browser, and then you can go ahead and use the same programming model with XAML and managed code to go outside the browser and to other devices with WPF."
In case that went by too fast, Smith recapped the marketing model he'd just laid out, using the classic phrase coined by Radio Shack in the 1970s: "[We're] creating a good/better/best solution for developers, and allowing them to reuse the skills that they already have to build the types of application that make sense for them today, as well as to take that application forward in an unlimited way tomorrow," he said.
And if you've just joined us, "good" in this three-tier scenario is the standards-based approach. Customers begin with standards, and then voluntarily migrate to more Microsoft-specific tiers when they want to reuse their existing knowledge base. It's a clever concept: embracing intentionally developed standards while at the same time courting their users to implement the well-practiced standards that Microsoft just happens to oversee.
Finally, we asked Smith, what were Microsoft's expectations for the next 12 months of its Alliance membership. His answer evoked certain memories of his boss, CEO Steve Ballmer: "Starting from Day 1, our representative, Bertrand Leroy, and the rest of our organization were very, very emphatic that our top three wishes for the Alliance were interoperability, interoperability, and interoperability. We're still trying to get our legs underneath us. Bertrand's attended a few meetings already to get to know the people, and get to know what they saw as the most important features for the committees and initiatives to pursue, and decide how we can best plug in, how we can offer our resources in terms of engineering time and governance and guidance and training to help the efforts of the Alliance succeed. We're committed to participating and contributing in whatever fashion we can to drive those goals of interoperability with the other participants and other vendors on the Alliance."
"Interoperability" is one of those words which may, along with "standards," lose its original meaning in the course of everyday use. It once denoted being able to connect mechanisms together, supposedly so that they work together, in tandem, toward a common goal. In the modern era, governments, consortia, and standards bodies have taken on the tasks of trying to enforce interoperability while encouraging competition - or perhaps, enforce competition while encouraging interoperability. In a perfect world, both co-exist. But thus far, perfect worlds have yet to be produced by either governments or committees.
For the Web to go on existing, its engineers must have a common goal. Microsoft seems to be learning this. It doesn't want to give up its more self-oriented vision just yet. But hey, like Molly said, that's Microsoft. We all know that.