Welcome to Pete Brown's 10rem.net

First time here? If you are a developer or are interested in Microsoft tools and technology, please consider subscribing to the latest posts.

You may also be interested in my blog archives, the articles section, or some of my lab projects such as the C64 emulator written in Silverlight.

(hide this)


Pete Brown - 13 October 2005

The last couple days of the PDC were spent single-tracking through the Windows Presentation Foundation (WPF, formerly known as Avalon) and Microsoft Expression sessions. Later in the evening on Thursday, I spent a good chunk of time with Ian Ellison-Taylor and other folks from the Microsoft WPF team at the "Ask the Experts" session. My thanks to Ian for spending so much time discussing the history, direction and some specifics of WPF and XAML.

The Case for XAML

The eXtensible Application Markup Language (XAML) is an XML-based file format used for defining classes, and arbitrary data and events associated with those classes. WPF uses XAML extensively to define UX elements, including shapes, animations, bitmaps, event handlers, resources, styles, templates, controls and others. I originally sold XAML short, thinking it to be the equivalent of HTML for WPF forms applications. It's much larger than that.

XAML has rapidly become An Important Spec for developers to know and understand. Not only is it the UX spec for WPF, but it, and its subsets, are used by Office 12 for file stores, in XPS for documents and printing, and by third parties for their own file formats. If you need a persistent data format for your application, definitely look at XAML to see if it fits your needs.


In WPF, XAML can be compared and contrasted with SVG and other standards. While I am not intimately familiar with SVG, I have been told that they are similar, but that XAML is much larger, even when taken only in its WPF context.

Just about everything in WPF can be represented either via code, or via XAML. While code may be a fun way to get into it at first, the more project-friendly approach is to define your UI - your View - using XAML, and concentrate the code on the logic. This provides a clear separation of duties, and allows for sincorporating pecialized UX designers into your team.

In WPF, XAML is used to define UX classes, positioning, styles, animation, video, graphics etc. If it is in the UX, it can likely be expressed via a node or attribute in the XAML schema.

I'll post more on XAML and WPF as I move forward with both. In the mean time, here are a few useful XAML links:

posted by Pete Brown on Thursday, October 13, 2005
filed under:      

Comment on this Post

Remember me