PDC: And now, Avalon
Avalon: Not just a cool thing, a necessity
Today was the 4th and final day of the Microsoft Professional Developer's Conference in LA. If you were there, things were a lot quieter than previously. Most sessions had to do with creating software with all the new goodies.
There's a myriad of new techs to make it both easier for the developer and
more convenient for the user with regards to software. There's what I believe
was called "One-Click" which, all hype around it is really about trying to make
it much cleaner to use software on your system that you can get rid of.
I'm not referring to my notes so it may not even be called One Click for you
nit-pickers. ![]()
So today I wanted to talk more about Avalon and XAML because those are two technologies that are going to really change the way people use computers. In English, what I mean is these two technologies are what will mark the obvious difference between say running Windows XP or previous version of Windows and Longhorn.
Now, before I go into that, I want to say a couple things about desktop
customization. Writing about technology is always difficult because many people
who are "into it" suffer from "smart person syndrome". Because they are
reasonably bright, they think they know everything. I suffer from it myself. But
knowing about it is the first step right?
From reading email and reading some
comments on my blogs, I've concluded one thing: People who aren't into
customizing their computer really don't seem to have a clue just how popular
desktop customizing is.
So let me enlighten those people who think customizing Windows is some "ultra small" niche. WinCustomize, a leading Windows customization site has its stats available on Hitbox.com. Bear in mind, this is just one site. There are others (Customize.org, XPThemes, Deskmod, Skinbase, LotsOfSkins, etc.) whose sole reason for existing is to make it easy for people to "tweak" Windows their way.
In just the month of October, about 2 million unique visitors came to WinCustomize.com. The installed base of just WindowBlinds, a program that "skins" the Windows GUI is somewhere between 4 to 8 million users. That rivals the installed base of MacOS X (which counts me as a user). WindowBlinds is also one of the top 25 most popular software programs in downloads on Download.com in history. That doesn't even count the popularity of DesktopX, CursorXP, ObjectDock, and IconPackager which regularly show up in the top 50 most popular downloads worldwide. In addition, sites like Neowin.net have gained immense popularity and have a thriving community of people who like to enhance their desktops to match their own styles.
In other words, those who are content with Windows just the way it is shouldn't assume that everyone is that way. They certainly do represent the majority but not only do millions of people like being able to mold Windows, but a lot of innovation comes from those seeking to add new features to the OS (instant messaging, additional icon views, different UI concepts, etc.).
Here below is "TreeView", one of the features of Object Desktop. It adds a new "view" to Explorer. Ever wonder why developers haven't added more "view" options? Because it's a pain. But with Avalon and WinFS, the need combined with the potential of more ways of displaying data and information become apparent.
Now, where this really comes home in Longhorn is in the form of Avalon (and WinFS).
Here's the deal: In Windows XP, developers are severely limited in what they can do visually because GDI is slow. It's slow because unlike Direct3D, it isn't able to easily take advantage of the latest and greatest in video card features.
But Avalon will. In Longhorn, the entire desktop will be running via the equivalent of Direct3D. The kinds of effects currently reserved for games will become doable in Longhorn. With windows as meshes and bitmaps reserved to being textures and vectors leading the way, all kinds of cool things are possible. But whether those cool things become probable has a lot to do with what Microsoft ends up doing.
There is no doubt that individual programs will be able to do remarkable
things visually. One can almost imagine the cool media programs that will become
possible with Longhorn. With XAML, creating a cool user interface on your
program will be independent of the underlying code logic. It'll be testable
without having to jump through the kinds of hoops we have to do today. And
it'll be similar in ease to creating a nice web page. Now, I've already
stated that I'm not sure that's a good thing. Take a fresh look at websites on
the net and consider whether you want programs to behave like that. ![]()
What excites me about Longhorn is the idea of being able to make use of all that cool technology to do things that no one has thought of yet across the entire system.
For example:

This is WindowFX, today. On a good video card you can make all your windows sway around as you move them. Microsoft has shown similar things being able to be done in Avalon. But will effects that Microsoft hasn't thought of be possible? And I'm not talking about where they have a UI for plugging in exported meshes or some proprietary msstyles type content. I mean will developers be able to imagine new things and be able to use Avalon to implement it to every window on the system.
Think about it, with Avalon, we could, in theory, develop software that allows schools to view the entire UI as an open book with pages and all content fitting inside. Or maybe add a widget to windows that allows us to resize them so that they actually rescale rather than resize.
Avalon is, as a software developer who is into this stuff, the most exciting thing on Windows -- ever with WinFS being the only thing that rivals it and both take place in Longhorn.
Why Avalon is important
But gee-wiz factor aside, there are some important reasons why Avalon is not only going to be cool but absolutely necessary: Resolution.
Today we think of resolutions in terms of pixels. I'm running at 1440x1050 right now (laptop). Others may run at 1024x768. Why do we know these things? It should be irrelevant. Instead, we should be thinking in terms of inches or at least in terms of what is comfortable on our eyes.
But right now, that's not really an option. Run at say 1600x1200 and things get pretty small. Turn on "Large Fonts" and some programs get a bit wacky. And all large fonts does is change the desktop DPI from 96 (default) to 120. What's wrong with that? Well, a decent laser printer does 1200dpi. Kind of pathetic if you think about it. Our "state of the art screens" are not even doing 1/10th the clarity of a $300 laser printer on paper.
But by 2006, things change. The age of standard 24 inch flat panel displays running at what we would today call 3072 x 1728 (that's a 16 x 9 format btw) will be common. But don't count on being able to make much use of such a nice setup if you're running Windows XP. Because at that resolution, your icons will be tiny, text will be tiny, things will be hard to read. Because you'll be stuck at 96dpi. And if you change it, get ready for all kinds of apps to have problems.
But on Longhorn, you'll be able to instantly adjust your display to be any level of clarity you want and your apps will "scale" smoothly. Anyone who's played Warcraft III and changed resolutions is actually getting a taste of that. In the game, Warcraft III, changing resolution doesn't make the map bigger, instead, it makes the units and other parts sharper, more defined.
That's why there's a lot of talk about vectors. A bitmap gets jaggies when you resize it. Vectors, on the other hand, don't really care. The system will be rendering in real time, like Quake or Unreal does today but instead of it being a game, it'll be your user interface looking similar to what it does today but slicker, more polished, more detailed.
Avalon is one part of Longhorn that is a necessity. You'll probably be reading a lot about how Windows XP is going to dominate the decade. It will. But Longhorn is going to become a must-have not because of Microsoft marketing but because of hardware. You will need longhorn to use the next generation displays.
That is why Microsoft can be assured that Longhorn is inevitable. Anyone
buying a monitor in 2006 is going to need it if they want to run that monitor at
its fullest. Which is ironic because this fact is likely to be the least
discussed because right now, in 2003, we can't really imagine screen resolutions
of 3000x2000. We still live in a world where 1600x1200 is a pretty high
resolution and the typical resolution is 1024x768. Someday we'll all sound like
geeks talking about screen resolution in terms of "pixels". Which means a lot to
me, because well, I won't be so lonely then. ![]()