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