Windows Vista

Well, the news is out. Interesting choice of name.

Look for Beta 1 on August 3. There are a few of us here working hard to get it in your hands. :)

Update 07/27/05 11:58 am: It’s out! To address Jason’s question, this beta is for MSDN Subscribers.

Henry Blogs!

Henry Hahn is online! (Okay, he’s actually been online for almost 2 months, but I only found out today) Henry is a great resource for Avalon layout questions, and he’s already hinted that he has a whole slew of samples hanging around that he’s aching to share with the community.

There is No Application Model

One of the whimsical things that members of the Avalon Application Model team like to say is that “Avalon doesn’t have an application model.” If that is truly the case, have we utterly failed at our jobs? Should we just go home now? Or perhaps take a vacation until Avalon ships?

Rene MagritteWell, not quite. Unfortunately that long vacation may need to wait until after we ship. ;)

In fact, the absence of what many think of as a traditional application model is the result of a deliberate decision that was made back in the early days of Avalon. One of the things we have intentionally tried to do is avoid making cumbersome decisions about window management, application data, UI model, server-client interactions, and other aspects of development that are often associated with an “application model.” Our guiding principle is to keep the app model low policy, and to stay out of your way.

As such, we’ve aimed to provide a set of application-level services that developers can opt into as they choose. A few examples:

  • The Application object is a convenience for developers, which provides some object model for window management, starts and stops the message loop, enables simple system interaction, and enables storage of app-wide state (either via the Properties collection or by providing custom properties when sub-classing).
  • We provide a built-in framework for navigation, so that it’s painlessly simple to create an application that can be browsed like a website (think TurboTax or Microsoft Money). App authors may choose to use this UI metaphor exclusively, limit it to certain aspects of the app (e.g. wizards), or not to use it at all.
  • There are multiple options for storing app state: storing files on the filesystem, using Isolated Storage, using .config settings, using cookies, or even (gasp!) the registry.

Other examples abound, but the above should give you an idea of the types of decisions we made.

I love this simple model, because it doesn’t impose any unnecessary constraints. We don’t assume to know too much about how you want these things to work, we just give you some simple tools that you can opt into and customize at will. We also know that there will be scenarios where a much more specific application model is required. However, these will be verticals, and any Avalon customer should be able to write her own application framework that is suited to her specific needs.

Ashish on Avalon Deployment

Ashish, one of my fellow Avalon AppModel PMs, has posted a good summary of Avalon’s deployment options. If you want to know all about distributing powerful client applications using slick web-like deployment, or creating rich browser applications that use the power of the platform, Ashish is your man.