« Microsoft's New Win-Win Strategy | Main | Being Negative about Windows »

May 30, 2006



Wow. At first I though this was a joke, or maybe some delusional ramblings (like Dvorak), but you are actually serious about this.

First of all, the basics:

* Windows isn't popular because it's cool; it's popular because of the millions of apps that run on it. Any replacement for Windows would either have to run the millions of apps that already exist or would have to be cool enough to get a half-billion people to be willing to replace all their apps with new ones.

* Windows has about a half-billion users, most of whom are largely computer illiterate and administer their own computer. Even if there are 100,000,000 Windows experts out there, that still leaves 80% of the user base mostly clueless. Any system that would replace Windows will still have hundreds of millions of users who don't know what they're doing.

OK, so now that all of that's out of the way, let's see what history has to tell us:

* Back in the 1980s, Microsoft sold 3 different major OSes. First they ported Unix to microcomputers (Xenix). Then they came out with DOS for the IBM PC. When it became obvious that PC users didn't want Unix and needed more power than DOS, they came out with OS/2. When it became obvious that OS/2 wasn't going to meet future market needs, they started working on NT. When it came out, Windows 95 was mainly competing against Unix, OS/2, NT, and MacOS. MacOS was the only one of those which wasn't at some point a Microsoft product, yet they could not get users to stop using the damn Win9x product line for 10 years after WinNT was launched!

* Back in the 90s Apple realized that the original Mac architecture that dated back to 1984 was getting to be a real liability and started looking for replacements. Pink, Taligent, Copland, and Rhapsody should all sound familiar to Macophiles. In 1997, Apple bought NeXT, finally bringing out OSX over 4 years later. That's right, it took 4 years to rewrite MacOS on a Unix kernel. So how was Apple able to pull off the miraculous user migration from OS9 to OSX? Well, they had a compatibility layer for older apps, few people wanted to put up with the preemptive multitasking and 50s-era memory management of OS9, their user base had dwindled considerably by 2000, Mac users like buying the latest cool thing from Apple, and Apple simply stopped making hardware that would run the older OS.

All right, so now you are proposing that Microsoft should come out with an OS based on the Linux kernel without a Windows compatibility layer? Well, they already tried that -- it's called Linux! The reason people aren't abandoning Windows in droves is because Linux (or any other OS) doesn't run their Windows apps.

So let's say that they have to put in a Windows compatibility layer so that people with Windows apps will actually use it. Well, they already tried that too -- it's called Windows NT! The reason it took 10 years for MS to migrate users from Win9x to WinNT is that NT couldn't run nearly as many DOS apps (games in particular), it was slower on the resource-restricted hardware of the day, and users didn't like dealing with the security.

So let's say we have this magic combination of Unix and Windows compatibility. MS can't make OEMs stop making hardware compatible with the old Windows, and the old Windows isn't so hideously outdated that people don't want to use it. How, then, would MS make everybody switch?

So let's assume that MS could possibly make an OS so cool that a half-billion users all can't resist upgrading. You now have the same problem of having a half-billion uneducated users. You will still have security problems with viruses, Trojans, etc. Every OS has security problems (the terms "worm" and "rootkit" originated from Unix!), but only Windows has enough users to make the latest virus show up on the evening news. The fundamental problem is that no matter how "secure" you make the OS, there will always be the problem between the keyboard and chair. As I said before, even if you have a hundred million gurus, there's still 80% of the user population who has no problem entering their root password in order to see naked celebrity photos or listen to the latest CD. Hell, a lot of spyware is willingly installed by the user (like Kazaa or Comet Cursor).

I could go on, but the argument is moot. The problems you have with Windows aren't in the kernel. The Windows kernel (ntoskrnl.exe) on my XPsp2 system is barely 2MB. Microsoft could easily just stop shipping the Win32 subsystem with Vista and ship only the POSIX subsystem. It would be great at running Unix apps (if you recompile them, of course), but it wouldn't run Windows apps anymore. At that point it wouldn't really be Windows.

Microsoft could make all the "Next Generation" technologies it wants, but the hard part (the part that takes a long time) is making those technologies compatible with Windows so that people will actually want to use them.

Gary Wisniewski

Great comments, Gabe. I do actually agree with most all your points. The compatibility issues as well as user adoption issues are a significant reason why MS feels that they "must" do certain things. MS has to release a new OS this is actually the "path of least resistance" compared to sticking with an old release. Reversing the trend is important.

The compatibility layer issues are also important. While I advocate that MS "rewrite", "don't port", my last post in this series will lighten up on this a bit. My main concern with compatibility layers is that sometimes they provide so much of a crutch that a new OS almost looks crippled. Rosetta is such an example right now. You can buy a new MacBook, which is supposed to be about 6 times faster than the old Powerbook G4. But, Photoshop runs 4 times slower on the new hardware!

I believe compatibility is not an absolute. The requirement that "a billion apps need to run as is" is making it harder and harder for MS to move forward. Risks have to be taken that SOME apps will not run, and of course the challenge is to decide which, why, and when that will occur.

Most of your points are about the obstacles to scrapping and replacing, not about the benefits. It is these very obstacles that held up companies like WordPerfect and Ashton-Tate and Lotus and allowed their products to be replaced. All three of them felt that there was "no compromise" about what they had to do to satisfy their users. All three believed that their existing user base was their most important asset. They all felt that they had such dominance that there was no possibility that another product would woo their users away so long as they "kept delivering a compatible upgrade path".

My primary assumption is based on the idea that Windows will continue to become slower, and larger, and harder to deliver so long as the compatibility requirement is imposed. And, that other products will continue to increase in appeal. And, that at some unexpected and surprising point, a competitor will release a product that, for the first time, is a viable alternative and it will be so dramatically better that there people move in masses away form Windows. That has happened repeatedly. That is the end for Microsoft. And, to think that Microsoft is "invincible" is an error that no business can afford to make.

If the Microsoft dream is that on the Starship Enterprise, crew members can still run their old DOS applications from 4 centuries ago, then something is very wrong. Somewhere the line must be drawn.

But, your comment is great. Don't get me wrong, I don't think any of this is easy.


I'm still skeptical. Windows is, almost by definition, that which runs Windows applications. The more compatibility that MS leaves out in order to streamline the system, the less "Windows" it becomes.

As far as I can tell, though, backwards compatibility does not make the system measurably slower or larger, just harder to deliver. I think it's safe to say that it's actually new features that make the system larger and slower. If you don't want new features, why upgrade?

Now you may have a good point here, but look closely at history. MS remade Windows as WinNT, released as version 3.1 in 1993. It was late, fairly slow, and had lots of missing features. Version 3.5 came out in 1994, 3.51 in 1995, and 4.0 in 1996, with each version being faster and more featureful than the last. Apple remade MacOS as OS X, released in 2001. It was late, fairly slow, and had lots of missing features. They released 4 more versions over the next 4 years, with each version being faster and more featureful than the last. I think it's a safe bet that any redesign of Windows would be late, slower than the previous version, and be missing many features.

You also make a good point about Lotus, Ashton-Tate, and WordPerfect. If you look at why they failed, you'll see that it was mostly because they botched their only successful product. When that product stagnated (1-2-3 and WordPerfect just made Windows wrappers around their old DOS programs; dBase IV was dead in the water before Windows was even an issue), it was the end. Compatibility wasn't the issue. In fact, Word and Excel succeeded in spite of (and because of) having to be compatible with WordPerfect and 1-2-3. If MS is smart, they are constantly looking back on their former competitors and taking steps to make sure they don't end up in the same position. If you look at Excel, to this very day pressing the slash key activates the menu because that's how Lotus worked.


Hmmm...I just read that ZDNet "article" with the dubious title "Why Windows is less secure than Linux". Did you notice at the very end where he says "This is a blog entry not a news article."?

Also, that's a very bad example for security purposes. For one thing, it doesn't indicate if they're for the same features. If the IIS graph includes an analysis of more features, it should be more complicated. Also, there's nothing to say whether the difference is Windows vs. Linux or IIS vs. Apache. Maybe you'd be just as secure if you ran Apache on Windows, in which case it would be IIS that's insecure rather than Windows.

Of course if you look at the charts at http://blogs.msdn.com/michael_howard/archive/2004/10/15/242966.aspx you'll see that IIS 6 has had exactly 2 security advisories in the past 3.5 years, compared with Apache 2.0.x which had 28. And while that may be a Microsoft blog, it's current data from Secunia.



I do not agree with the compatability argument at all. A typical user only needs something that has the same UI and feel of Windows. The underlying architecture is not seen by them.

A typical home user would buy Windows, and Microsoft Office, some games, and use a couple of other smaller applications such as Adobe Reader. The only way this compatability argument would stand is if the typical user dearly holds on to 10 different applications from the 1990s that no longer have any developers to update them. This simply is not the case at all. If people want to continue running software designed for XP, they can keep running XP! Developers can use the years of cross over to redesign the underlying code of their apps, while keeping the same feel if they wish.

In terms of organisations needing backward compatability from a cost perspective (the cost of having to redesign everything), and also demanding an improved Windows, well that is more of an argument. But as the performance of computer hardware rapidly increases, it makes compatability layers more practical. Computers these days already give maximum productivity. There is not much more to improve on when you can access a database instantly. So it is not like there is a need to make the absolute most efficient use of modern hardware advances.

I know of no legitimate reason why Microsoft has to retain backwards compatability with every new release of Windows.

Having said that, I don't have any knowledge to be commenting on whether the Windows codebase is irreversably complex spaghetti code and needs to be scrapped. I am merely pointing out that backwards compatability is not a reason to keep the existing codebase.

There are some signs of FUD in these articles. Such as the notion that Windows is becoming slower over time. These elements leave me a bit skeptical. But on the other side, Microsoft are not leaving me feeling "confident" (one of the Vista marketing words I think?) at all.


Even if the architecture was flawed, and it was redesigned, I am wondering what benefit it would have, apart from being "ideal".

I doubt a consumer OS is ever going to be very secure. A company delivers a product that people want. If you look at how people approach the security of their homes, in many countries people don't even bother locking their doors every time they leave the house. All that is usually protecting a house is a few doors and some glass windows. So really, I think that Windows XP pretty much meets the security expectations of most people. The reason Windows is popular would not be even greater reasons if the OS was redesigned. If redesigning improves speed in every single area by 3%, that is absolutely nothing and already wiped out by the next Intel chip that comes out. If redesigning improves security by 20%, the OS is still insecure. 20% means nothing. You would need to gain a huge increase in this area for it to be significant. Taking the consumer OS or the Internet out of the equation would do this much more effectively.

How is Microsoft going to tell shareholders: Hey we are going to spend a billion dollars on something that gives no benefit to the consumer, but it will make the diagrams much neater.

I think what gets lost in all of these technical debates is the purpose of the product to the consumer.

Maybe Microsoft is better off concentrating on delivering value to the consumer, rather than designing the perfect OS that serves no additional purpose.

On the other hand, maybe redesigning the OS could drastically improve security and benefit the end user? I don't know.


Anyway I think Microsoft are going to scrap the codebase eventually and replace it with whatever they are researching. I think they will have a much better system that is pretty much light years ahead of anything that is currently available such as Linux, and will be based on all of the lessons they have learned. But that will be a long way off, and is not extremely urgent. My first reactions to your series of posts was that Vista was a complete waste of time and we deserve something better. But after thinking about it, I would say that refining 2003/XP was the best option at this time.

Maybe in about 6 years we will have a new codebase.

The comments to this entry are closed.

My Photo


  • Blue
    I am primarily a verbal person, and love abstract relationships and philosophical challenges. I'm also a visual person, but so often it's hard to get that part of me to reveal itself. Photography has been the tool to help me do so.



  • http://feeds.feedburner.com/TrialByFire
Blog powered by Typepad
Member since 07/2004

Blog Map

Email Subscription

  • Powered by FeedBlitz