Windows Presentation Foundation Everywhere
Home Tutorials Reviews Weblog
Feature: Windows Presentation Foundation/Everywhere is cross platform XAML
Motivation: Why would Microsoft make its WinPF cross platform ?

Windows Presentation Foundation is the core windowing and display framework within the upcoming Vista operating system (due out latter half of 2006). XAML-eXtensible Application Markup Language - a clone of XUL and SVG, is the XML resource definition base to WinPF, code name Avalon. Avalon will drive all of Microsoft's next generation of Visual display software for standalone, browser based and even embedded or mobile applications. Here is Microsoft's own description of WinPF:

"Powerful 3-D graphics hardware that is now standard in most modern computers is today somewhat underutilized outside of gaming and a few specialist business applications. The Windows Presentation Foundation sets out to take full advantage of these capabilities as a platform for building rich, immersive user experiences.

The Windows Presentation Foundation is a next-generation presentation subsystem that unifies a whole range of output services: user interface, 2-D and 3-D drawing and imaging, document-based printing and rendering, speech, and audio and video services. By providing a single framework based on managed code for all these services, the Windows Presentation Foundation makes it possible to build new rich user experiences."

The important point to note in this description is the commitment of Microsoft to a GUI delivery system that is totally media savvy:
"user interface" - GUI support for classic 2D and now new 3D elements. Not only does Microsoft emulate Mac's Aqua but goes one better by putting in foundation for 3D in GUI. Avalon is a subset of Microsoft's current 3D API, DirectX. Avalon will run DirectX in sub-windows; but otherwise the two do not directly interact (they cannot write to the same surface)and developers will have to choose which to use.
"2D and 3D drawing and imaging" - both vector and bitmap plus vector+bitmap combos like complex 3D surface textures, etc. This is the graphic markets dominated by Adobe, Apple, Autodesk, Corel, Macromedia and many others. These vendors now have to contend with the idea that basic APIs have now been made a part of the operating system. Sound familiar to any former Netscape browser users ?
document based printing and rendering - this is the world dominated by Adobe PDF and Macromedia Flash paper. Adobe's major cash cow, Acrobat PDF now has Metro company.
speech - Microsoft has made some major head fakes towards this market but still let IBM and others deliver most of the trial products in this market.
audio and video services - add animation as specialized portion of video. Microsoft has steadily improved the quality with compressive power of its Windows Media Player such that it is a major contender in the underlying technology.It also lines up directly against Adobe, Apple, Macromedia as primary competitors in the animation and video marketplaces.

So built into the Vista operating system and its GUI (or user experience) capabilities are going to be sophisticated multimedia smarts. Hence Microsoft's name for the PC Desktop - Smart Client. This is hard core. This is the basic Microsoft effort to make the PC desktop still the center of the Information Processing universe - not Servers and the myriad client devices hanging off of them, not Web Services, but Smart Clients on the desktop.

Expression Suite

With the announcement of Expression Suite and its core 2D and 3D developer tools, Microsoft declared two things. First, it is deadly serious about these movements into the graphics market places. Second, it will be able to do a lot of self provision of the basic capabilities required for WinPF. Read our companion review of Expression Suite here for details; but we have to give pretty high marks to Microsoft for purchasing and polishing the basic vector, bitmap, animation and 3D technology that comprises the basic suite. These are certainly not polished and fighting competitive tools. But there are enough ground breaking innovations to maybe leave Microsoft in "just good enough" position to ride the power of desktop and application dominance into very competitive positions in the multimedia marketplace.

Now Apple and the graphics vendors will have something to say about this. But I suspect that Microsoft has lured enough graphics ISVs into the WinPF fold (even though like utility, word processing, project management, and accounting ISV shops - they will eventually become Microsoft VARS - and have to resell and extend Microsoft's Windows leading leading graphic apps to stay alive). Apple will certainly position itself as a rich alternative to Microsoft to end user and ISVs; but Steve Jobs was first to cross the Rubicon of competing mightily with his own ISVs with GarageBand and Final Cut Pro among Apple graphic and audio offerings. So graphics ISVs are between a rock and a hard place as to which OS to support.

Designers, Designers, Designers

But Expression Suite is designed to generate enthusiasm for Vista and the desktop client. And where to do that best - but of course designers, designers, designers!. This is the one group that Microsoft has not directly offended in some fashion or another other than aesthetically. The Redmond thinking must go something like this: Once designers, designers, designers start using Expression Suite they will drag back into the fold the somewhat reluctant developers (VB6, .NET broken promises, IE and Web standards major broken promises, all those Windows Server reliability and then security problems, etc, etc). Expression Suite is designed to allow designers and developers to work closely together through direct connect to Visual Studio.

It is no accident that both Quartz-Web Designer and Sparkle-Interactive Designer have strong ties to Visual Studio - able to exchange projects at the file level (but how easily is still up in the air) while sharing XAML based components and GUI APIs. If done well, this could be a distinct competitive advantage to Microsoft. Quickly - name 3 great IDEs for each of JavaScript, PHP, PERL, Python , and JSP. In contrast, few would argue that Visual Studio may be colossal, but its JavaScript/JScript and ASP.NET support are distinctly better than second best which is either Macromedia Dreamweaver or Activestate Komodo.

Thus, strong visual drag and drop design plus interactive debugging of RIA-Rich Interactive Applications using XAML and Expression Suite designs could put Expression Suite on par or better than Macromedia Flex, Flash and Director, Adobe Acrobat Designer, BEA Weblogic Workshop, IBM Rational System Developer, etc, etc.

So a lot is at stake in getting Expression Suite, Vista and the latest Visual Studio out to designers and developers. It does not help that major analyst houses are saying that both Vista and Office 12, which will come out with Vista, will have significant learning curves. And for this and other reasons, Vista and Office 12 are predicted to see some of the slowest adoption curves in Microsoft's history. Microsoft probably knows this and hence Windows Presentation Foundation/Everywhere.

Windows Presentation Foundation / Everywhere

Here is Microsoft VP Jim Allchin's introduction of WPF/E at Redmond's PDC2005 conference:

"The other piece of the Windows Presentation Foundation, and as Bill said, this used to be called 'Avalon', this framework, it's an extensible environment where you can sub-class the controls that we provide, or you can write brand new controls. You can use a declarative mark-up language called XAML, or you can use a procedural language, and we can do the rest for you.

Now, wouldn't it be nice to have a subset of this on devices so you could target them, or how about other systems? Well, we've been asked, and we're introducing something called WPF/E, the Windows Presentation Foundation/ Everywhere. Now, this is very early work, but the concept is that we're going to create an interactive experience on devices and the PC. It's a strict subset of the Windows Presentation Foundation. It's a lightweight download. The programming model is XAML, but instead of procedures like C#, we're going to use JavaScript. You have access to all the WPF tooling that you current[ly] have [in WPF/E]."

So Microsoft is making available a strict subset of WPF/Avalon that runs in JavaScript so that you can port Windows presentation Foundation to other devices and platforms. Think Mac, Linux, Solaris and any OS supporting JavaScript and XML. Hunhhhh? Microsoft, the king of proprietary, giving away the Vista jewels?

It gets more interesting as breakout sessions describe WPF/E used on broad array of devices such as various tablets, PDAs, and mobile devices. Unfortunately a careful search through both MSDN and Microsoft's central website did not divulge any more details about WPF/E. No place to download the bits, no schedule for beta availability, no documentation on functional specifications nor getting started.

But the Blogger and development community certainly did react to the announcement. See postings here and here and here. There is a range of reactions from open skepticism to impulsive enthusiasm. Having seen such Microsoft and joint venture cross platform development projects as MFC for Unix, DCOM, and .NET for the rest of us - appropriately named Mono, I will have to be put in the "I am from Missouri" ranks. I will believe it when I see it and even then I will expect that it will be jury rigged such that it runs best in Windows only.

But clearly one can see the direction here. WPF/E is designed to fill the gap to create cross platform excitement, development and interest in Avalon and XAML. During the long ramp up period anticipated for Vista and Office 12, WPF/E may be the only game in town generating excitement for Vista. I really don't see Adobe/Macromedia supporting Avalon and XAML in a big way unless they get some concession from Redmond or can work some XSLT magic to convert XAML to SWF (but Microsoft may beat them first in the other direction). Other vendors will may go to XAML; but the way Microsoft is treating its project management, BI, utility ISV partners must send a shiver through prospective adopters of Vista. So a vibrant new development community might be engendered by a free/nominal charge WPF/E and Expression Suite. Time will tell; but clearly Redmond has at least set up the old mathematical proof situation - Microsoft has at least designed with WPF/E the necessary (but not yet sufficient) conditions for better graphics software development on Vista.

(c)Jacques Surveyer 2005


Top of Page  Home  Tutorials