PDC, for Professional Developer's Conference, is designed for developers (i.e. nerdy people like me). It's where Microsoft is going to show off the cool stuff that it has in store for developers in the coming years. What I'm going to try to do is explain what is happening and how it affects regular users. The things being shown today will one day be things everyone has to live with. Today was the first day.
A lot of what was shown today at PDC is hard to describe since it was so
visually oriented.
Managing your stuff...
What Microsoft hopes to do is make Longhorn much easier to manage your
"stuff" than before.
In fact, one way to describe Longhorn is the OS that is designed to make
dealing with "stuff" easier. To do that, Microsoft has to solve THREE problems:
Problem #1: Our screen resolutions are too small at present
to allow for flexible interfaces. There just aren't enough pixels on screen to
provide that kind of capability. And worse, everything at present is bitmap
oriented. Skinning, as we know it today, involves working with bitmaps. Bitmaps,
as any skinner can tell you, don't scale very well. They are designed for a
specific resolution.
Problem #2: Our data is not stored in a very effective way.
It's still based on concepts from DOS and before.
Problem #3: It is too hard to write software that
interconnects with non-local devices. Particularly in a secure way.
Some of the goals of Longhorn...
Microsoft's solution to this comes in the form of Avalon/Aero,
WinFS, and Indigo.
Aero is the name of the actual interface. Avalon is the video technology
underneath that lets developers create interfaces in VECTOR format. Anyone who's
used flash, corel draw, or other vector based drawing packages knows their
advantages. Imaging skinning in 2006 -- instead of .PNG files, you'll draw them
up as a vector, export them with Adobe After Effects and have a UI that fits in
with the OS but also is designed around what your app is trying to do.
Products like Object Desktop will
hook into Avalon to allow even more flexibility and customization.
WinFS makes getting to your data much much easier. Imagine your whole file
system as an SQL database. WinFS is a layer ontop of NTFS so it's not a file
system in its own right.
Indigo is really a set of APIs and services that make it much easier to write
software that can access non-local devices. But let me explain a bit more on
this because Indigo touches on where Microsoft is going with its entire OS
concept that the keynotes didn't really focus too much on:
Traditionally,
Windows has been made up of APIs. APIs are really just built in function calls
that do set things. Microsoft is taking the concept of API a step further by
providing services in the form of APIs. They are
blurring the distinction between what an API is and what a service is. This is
especially true with Indigo where this "API" . In their demo they showed off
how easy it was to write an app that could publish text to a blog.
A lot of what Longhorn is is re-imagining what the OS should be like. They
are, in many respects, starting over. For that reason, things are designed to be
cleaner. For example, 2D and 3D are merged together into a single API. The
sytsem won't distinguish between the two. This means that driver makers won't
have to divert resources. They can focus on just making sure their 3D is good.
Microsoft got this idea because as they've read through bug reports, they've
discovered just how much pain users run into due to poor video drivers. nVidia
and ATI respond with how much of a pain it is to write drivers for Windows at
present. Longhorn addresses that.
Now, all that cheerleading aside, Microsoft has some challenges ahead of it.
How are they going to do all this in 2 years? I definitely don't want to see
this rushed. I hate to say this but Windows 2003, based on our experience so
far, is not an improvement over Windows 2000 server. And Longhorn is a much
bigger jump.
So what does it mean for people who want to customize their PCs? It's too early to tell but it may be a mixed bag. On the one hand, DEVELOPERS will be able to much more easily customize Their own programs. But at PDC, Microsoft's mantra is "managed code". Basically a layer on top of Win32 that developers are expected to use for new applications (i.e. .NET). If Microsoft doesn't provide ways for third parties to extend the OS feature set, it may become increasingly difficult for users to customize their own OS. I don't think I'd like that. It would be the worst of both worlds -- where all my apps are "skinned" to look different but I don't get to decide what "skin" they use.
More to come...