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.
(click to zoom)
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.