Jon Udell proves again why he's my favorite technology journalist with his piece Why Microsoft should open XAML where he writes

The WPF/E runtime won’t implement all of XAML (XML Application Markup Language), a .Net language tuned for declarative application layout. But “the portion of XAML we’ve picked,” Gates told me, “will be everywhere, absolutely everywhere, and it has to be.”

“Everywhere” means the kind of ubiquity that the Flash player enjoys on Windows and Mac desktops, and to a lesser extent on Unix and handheld devices. And it sets up an arms race between Adobe and Microsoft, each giving away razors (that is, players) in order to sell blades (development tools).

Here’s a crazy idea: Open-source the WPF/E, endorse a Mono-based version, and make XAML an open standard. Why? Because an Adobe/Microsoft arms race ignores the real competition: Web 2.0, and the service infrastructure that supports it.

The HTML/JavaScript browser has been shown to be capable of tricks once thought impossible. Meanwhile, though, we’re moving inexorably toward so-called RIAs (rich Internet applications) that are defined, at least in part, by such declarative XML languages as Adobe’s MXML, Microsoft’s XAML, Mozilla’s XUL (XML User Interface Language), and a flock of other variations on the theme.

Imagine a world in which browsers are ubiquitous, yet balkanized by incompatible versions of HTML. That’s just where RIA players and their XML languages are taking us. Is there an alternative? Sure. Open XAML. There’s a stake in the ground that future historians could not forget.

When building rich internet applications today, the primary choices are AJAX and Flash. The reason that these are the two primary choices versus other options like Java, ActiveX, XUL, etc is their ubiquity. And AJAX is typically preferred over Flash because it doesn't require expensive development tools and there is the perception that AJAX is less proprietary than Flash.

Any technology that aims to compete with Flash and AJAX, has to be cross platform (i.e. works in Firefox and Internet Explorer at the minimum) and ubiquitous. Ubiquity can be gained either by taking advantage of the existing technologies within the browsers or by ensuring that the process for getting the runtimes on user's machines is seamless for end users. I have no doubt that Microsoft can eventually get development platforms ubiquitous on Windows. Earlier this week, I was reading a number of blog posts from people who tried out Windows Live Writer and don't remember anyone complaining about needing to have the .NET Framework installed to run it. It took a few years but it seems the .NET Framework is now on a majority of PCs running Windows if those blog posts is any indication. However it's taken a couple of years for that to happen.

If WPF/E is meant to be used in the same situations that AJAX and Flash are used today then it needs to give developers better advantages than the incumbents. If it was ubiquitous and cross platform, that would still just get it in the door. Jon Udell's idea to make it an Open platform on the other hand may take it to the tipping point. At the end of the day, Microsoft should favor building the ecosystem of rich internet applications that are accessible from Windows PCs than competing with Adobe for dollars from selling development tools for rich internet applications. This seems to be a better strategy to me. 

Disclaimer: The above post contains my own opinions and does not reflect the intentions, strategies, plans or thoughts of my employer


Sunday, August 20, 2006 9:48:28 AM (GMT Daylight Time, UTC+01:00)
Agreed, generally. But I heard a lot of people complaining that Windows Live Writer didn't run on a Mac. Isn't that (at some level at least) a complaint about .NET (as opposed to - say - an AJAX or Flash version)
Sunday, August 20, 2006 5:40:22 PM (GMT Daylight Time, UTC+01:00)
I'm not sure what Jon means when he says "open source XAML". I have trouble grokking it on several levels. Replace "XAML" with "HTML" and the statement still makes no sense. Now, if he means move ownership of XAML to a standards body, that's another thing. I think it can still flourish as a de facto standard.

Also his argument indicates a slight lack of understanding of just what XAML is. XAML is a declarative markup language used to denote .NET objects. WPF and WPF/E use it to construct UI. Windows Workflow uses it to... you guessed it, orchestrate workflows. The XAML that WPF and Workflow use have nothing in common, save for the fact that each serves to represent underlying .NET objects. To me that is sufficiently open. You can declare your own XML namespace or have XAML map to your CLR namespace and assembly and use it for whatever you want.

Dare, I agree with your meta point that ubiquity will just get WPF/E into the door. There're other things it needs to offer to stay relevant, compete and be widely adopted.

To the previous commenter, I don't see Microsoft delivering on a Windows Live Writer for the Mac. As a free tool that works with Microsoft and 3rd party blog providers, I see it as incentivizing Windows. It makes one's Windows experience worthwhile. And that makes economic sense.

Standard disclaimers apply: these are my personal opinions and in no way reflect those of other individuals on my team or my employer.
Sunday, August 20, 2006 5:59:44 PM (GMT Daylight Time, UTC+01:00)
Jon never says Microsoft should 'Open source XAML'. He explicitly says Microsoft should "Open Source the WPF/E runtime, endorse a Mono-based version and make XAML an open standard".

Jon knows enough about the lingo and nuances of the software industry to know to avoid saying something as meaningless as 'Open source XAML'.
Comments are closed.