Strategic Developer: Why Microsoft should open XAML

08.08.2006
Our marketing-driven and future-oriented IT industry doesn't like to remember its own history. It's surprisingly hard to recover the historical context of current events. Happily, though, there's one developer-oriented Microsoft online property with a memory. Channel 9 (http://channel9.msdn.com/), the video/podcast/screencast guerilla arm of the Microsoft Developer Network (MSDN), has been active since March 2004, and so far, what's posted to Channel 9 stays on Channel 9. That's how I found this wonderful juxtaposition:

Exhibit A: "Avalon, and Longhorn in general, is Microsoft's stake in the ground saying that we believe power on your desktop locally, sitting there doing cool stuff, is here to stay." -- Joe Beda, Microsoft's lead developer for Avalon, April 2004 (http://www.infoworld.com/4365). Source: Channel 9.

Exhibit B: "A 5+ year ship cycle for a project can't be seen as anything but a sign that something is horribly wrong. When I was on Avalon we kept talking about building an API for the next 10 years. Apparently, when Avalon ships there will be 5 years left on that clock." -- Joe Beda, Google engineer, August 2006 (http://www.infoworld.com/4366). Source: Joe Beda's EightyPercent.net.

In his recent blog entry, Beda goes on to accept partial blame for the excruciatingly slow progress of the Windows Presentation Foundation, Avalon. The idea, he admits, was to "go big" and "build something only Microsoft can build." (At one point in the Channel 9 video the interviewer asks Beda how many programmers were assigned to Avalon. Tellingly, he declines to answer.)

With 20/20 hindsight, Beda wishes things had been done differently: a smaller team, incremental releases. And he holds out some hope for the awkwardly named Windows Presentation Foundation/Everywhere (WPF/E), the lightweight, portable, .Net-based "Flash killer," that I discussed in my interview with Bill Gates (http://www.infoworld.com/3274) from the 2005 Professional Developers Conference.

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."