Longhorn: Will Microsoft keep the door open?
The future of extensibility...
http://www.eightypercent.net/Archive/2004/05/18.html#a185I'm not sure what to think about Longhorn yet. On the one hand, it looks like
it will potentially be a truly revolutionary new version of Windows that has all
kinds of new potential built into it.
On the other hand, it looks like it could be made into the most proprietary
operating system ever. One in which only Microsoft can extend or do anything
meaningful to it.
Windows has historically been pretty good about letting developers mold it. If you didn't like something in the way Windows ran or if Microsoft didn't think of some feature, you could add it in. Windows OSes have always had all kinds of hooks in there for developers to tap into to add features to the base operating system. Without these "holes", anti-virus programs would be virtually impossible to do and we would never have had instant messaging (which hooks into the mouse and keyboard to see if you're active).
But Longhorn could go either way. Microsoft has made occasional noises that "nearly half of reported crashes are caused by third party programs". As if that is a bad thing. One would hope that all crashes on Windows were the result of third party programs and not bugs in the OS itself. But this leads me to worry that maybe Longhorn will be Microsoft's way of closing the door on everyone. Longhorn could be simply an application launcher with a "take it or leave it" philosophy behind it. I suspect the Linux advocates of the world hope very much that Microsoft's "security" initiatives end up killing extensibility since they would be the primary beneficiary of such a move.
The new compositor is the source of much of our excitement but also a lot of my fear. If the Windows desktop is rendered much like a game is today in DirectX, all kinds of things become doable. Fears that customization might "slow down your computer" become moot. But customization requires openings in the OS at a sufficiently low level where developers can extend the feature set of the operating system. And that's where I worry. Will Microsoft take the time to put this kind of thing in there.
For example, in Longhorn's alpha, when you hit Alt-Tab the open windows actually show up shrunk and rotated and you can quickly pick your way through it. That's pretty cool. But imagine if I, as a developer, want to have hot keys that do other visually appealing things to the windows. Say I want to have a mode where inactive windows are gray scaled. Or maybe have Windows key-I scale the inactive windows by 50%. I'm just making things up here but I, as a developer, want to be able to add that kind of functionality into the OS. We can do this on Windows XP (but it's not practical from a performance point of view - no compositor).
The same is true on skinning. Will Longhorn be as visually customizable as Windows XP and before? It's way too early to tell but hopefully Microsoft will keep the door open to those who want to put in the work to make Windows look and feel however they want. With the compositor, third parties could potentially create entirely new ways of doing the user interface. I'm not talking XAML, we're talking ways where companies or individuals can customize the entire OS at once (I have mixed feelings about XAML, I don't want my apps as poorly designed as many websites I visit!).
I think XAML and other technologies are good, but I want users to have the ability to control the overall look and feel of their own computers. That's why I'm into skinning in the first place - I want to be able to decide how my computer works because I know how I work.
And for those who thinking skinning is some toy or some hobby, don't kid yourself. Next time you buy a new computer or a new piece of hardware that comes with custom software, notice how much of it is "skinned" with its own custom UI. Make no mistake, without programs like WindowBlinds and DesktopX and Litestep and Winamp, I am quite certain that this whole move to programs with their own branded customized interface design would never have happened. One of the major innovations in computer software over the past year can find its roots in the whole customization "niche" (a niche of millions of active users).
So that's where I stand with Longhorn. On the one hand, I'm very excited about its possibilities. But on the other hand, I worry that I'm going to be locked into having to use it exactly as Microsoft decides I can use it. I want to be able to use alternative shells, have desktop objects and widgets, skinned windows, integrate more functionality into my Start bar or Longhorn dock, etc. I suspect all these things will become possible. I just want to make sure that it doesn't require massive effort to do it and that on day 1 when Longhorn is released, I am able to do all sorts of neat new things with Longhorn that didn't necessarily originate out of Redmond Washington.


! Only large corporation CIO idiots are going to do that. And the bugs? The security holes? Oh, please, this is going to be disaster for the entire IT community! And a blessing for Linux!