October 28, 2003
And now the tea
My first reaction to Avalon, on reading about it last night in the conference magazine was, "Is that it?" It looked like little more than an extensible, XML-based format for bad old resource files. Today's demos and talks, of course, told a very different story.
Avalon is a unified presentation layer for traditional user interface (controls and forms), documents (such as HTML or PowerPoint) and "media" (images, animation and video). You can define Avalon applications either declaratively using XAML (Extensible Application Markup Language) or procedurally in the same way as Windows Forms. The declarative style supports inline code or code-behind a la ASP.NET.
(In fact a good way to envisage XAML is "ASP.NET for Windows." A XAML document plays the same role as a Web form, defining the page content and structure. The codebehind defines the application logic and event handling.)
Properties can be very rich. For example you can declare a property to be an "animation collection" which means Avalon will vary the property over time. Rob Relyea showed a logo fading in during startup by "animating" the opacity. Or a background colour property turns out to be shorthand for a brush, and you can make it a gradient or pattern brush just by breaking out the property declaration.
It is all vector-based, so rotation and zooming are extremely easy -- just set a transform property on an individual element or a container.
Documents -- whether fixed-format a la Acrobat or flowed a la HTML -- are first-class objects in Avalon. Paging and reflow are natively supported.
Avalon also offers "authoring" or design support. No more writing code for grab handles, drag-and-drop rotation, etc. You just put the objects on a design surface and specify which operations are allowed (move, resize, rotate) and the framework does it for you.
Media support looks impressive. The demo showed video being faded out, rotated and run in the background while a UI ran over the top. A silly novelty, but technically impressive. They're being a bit cagey about the level of hardware required to make this stuff run as smoothly as the demos though.
There is a nice visual styling feature. Rob Relyea demonstrated how to completely change the appearance of a set of radio buttons while retaining their behaviour. More mundanely, you can apply named styles to multiple objects a la CSS.
If anything I worry that Avalon makes it too easy to do your own wacky formatting and layout. Expect an outbreak of self-consciously clever applications full of looked-cool-until-you-had-to-look-at-it-for-half-an-hour colour schemes, distracting animations and bizarre redesigns of the common controls. (Good grief, it could be madder than the old VB1 days.) That said, the diversity of Web site designs may have trained users to no longer expect a unified look and feel, and I guess we'll have to rely on natural selection to take care of the worst excesses.
I'll try to organise my thoughts on Avalon a bit more as the week goes by (and when the wireless LAN isn't falling over... and I'm not running out of power... aargh). In the meantime, it is looking to deliver most of what appeared in the tealeaves and more besides.
TrackBack URL for this entry:
Listed below are links to weblogs that reference And now the tea:
"Expect an outbreak of self-consciously clever applications full of looked-cool-until-you-had-to-look-at-it-for-half-an-hour colour schemes, distracting animations and bizarre redesigns of the common controls."
This is always happens when you give developers more power and functionality (think of Frames, the Blink Tag, Java applets) ... they'll try it out, then they'll get used to it, and things will go back to normal.
Posted by: Filipe Fortes at Oct 29, 2003 7:26:25 AM