PDC thoughts on Longhorn Overview

Published on Monday, October 27, 2003 By Brad Wardell In OS Customization
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...