June 28, 2008 3:44 PM PDT
Windows could use a rush of fresh air
Beginning as a thin veneer for older software code, it has become an obese monolith built on an ancient frame. Adding features, plugging security holes, fixing bugs, fixing the fixes that never worked properly, all while maintaining compatibility with older software and hardware--is there anything Windows doesn't try to do?
Painfully visible are the inherent design deficiencies of a foundation that was never intended to support such weight. Windows seems to move an inch for every time that Mac OS X or Linux laps it.
The best solution to the multiple woes of Windows is starting over. Completely. Now.
Vista is the equivalent, at a minimum, of Windows version 12--preceded by 1.0, 2.0, 3.0, 3.1, NT, 95, NT 4.0, 98, 2000, ME, and XP. After 6 years of development, the longest interval between versions in the previous 22-year history of Windows, and long enough to permit Apple to bring out three new versions of Mac OS X, Vista was introduced to consumers in January 2007.
When IT professionals and consumers got a look at Vista, they all had this same question for Microsoft: That's it?
Just after Vista's birth, Kevin Kutz, a manager at Microsoft, issued a cranky statement in February 2007, "In Response to Speculation on Next Version of Windows," announcing that the company could not say anything about post-Vista Windows "other than that we're working on it."
The internal code name for the next version is "Windows 7." The "7" refers to nothing in particular, a company spokeswoman says. This version is supposed to arrive in or around early 2010.
Will it be a top-to-bottom rewrite? Last week, Bill Veghte, a Microsoft senior vice president, sent a letter to customers reassuring them there would be minimal changes to Windows' essential code. "Our approach with Windows 7," he wrote, "is to build off the same core architecture as Windows Vista so the investments you and our partners have made in Windows Vista will continue to pay off with Windows 7."
But sticking with that same core architecture is the problem, not the solution. In April, Michael A. Silver and Neil MacDonald, analysts at Gartner, the research firm, presented a talk titled "Windows Is Collapsing." Their argument isn't that Windows will cease to function but that the accumulated complexity, as Microsoft tries to support 20 years of legacies, prevents timely delivery of advances. "The situation is untenable," their joint presentation says. "Windows must change radically."
Some software engineers within Microsoft seem to be in full agreement, talking in public of work that began in 2003 to design a new operating system from scratch. They believe that problems like security vulnerabilities and system crashes can be fixed only by abandoning system design orthodoxy, formed in the 1960s and '70s, that was built into Windows.
Unfortunately, this willingness to begin with an entirely new foundation is not located within the Windows group but in Microsoft's research arm, where scientists and their heretical thoughts are safely isolated. Last April, Microsoft publicly unveiled the five-year-old research project, called "Singularity." It is nothing more than a neat academic exercise, not a glimpse of Windows 7.
"Singularity is not the next Windows," said Rich Rashid, the company's senior vice president overseeing research. "Think of it like a concept car."
If Microsoft thinks it is too late to actually use Singularity or something like it, the company should take heart from Apple's willingness to brave the wrath of its users when, in 2001, it introduced Mac OS X. It was based on a modern microkernel design, which runs a very small set of essential services that make the system less vulnerable to crashes. But the change forced Mac users to buy new versions of all their existing Mac applications if they were to run speedily on the new system. It has paid off in countless ways, though, including some that could never have been anticipated at the time: just pick up an iPhone, built with the same code base.
Apple did not have to build a microkernel from scratch. It relied on more than a decade of development work performed by engineers at Next Computer, Steve Jobs' start-up of the late 1980s and early '90s. The engineers at Next, in turn, drew upon microkernel research by computer scientists at Carnegie Mellon University.
In some crucial ways, however, Microsoft would enjoy advantages in developing its own "Windows OS X," as we might call it, that Apple did not: the power of today's quad-core machines and sophisticated virtualization software would allow older software applications and hardware peripherals to be used indefinitely with little or no performance penalty, making a clean start far easier for customers to accept.
A monolithic operating system like Windows perpetuates an obsolete design. We don't need to load up our machines with bloated layers we won't use. We need what Silver and MacDonald speak of as a "just enough" operating system. Additional functionality, appropriate to a given task, can be loaded as needed.
Microsoft should not wait to begin work on the big switch; it will take many, many years to prepare. Apple had the helpful goad of desperation. Avadis Tevanian, who worked on microkernel research as a PhD student at Carnegie Mellon, then on the Next operating system, followed by nine years at Apple where he oversaw the transition to Mac OS X, recalled how the decision was made when Apple's market share was stuck at 3 percent and the company was losing money. I asked Tevanian if he thought Microsoft could pull off a similar switch.
"Perhaps, but I don't know if it has the intestinal fortitude," he said, "At Apple, we had to. It was a matter of survival."
Microsoft should move its researchers into the heart of its systems development team. Windows OS X, a just-enough operating system built from scratch, is a product likely to be crucial to its future, too.
Entire contents, Copyright © 2008 The New York Times. All rights reserved.


Stand by for a re-tread of Vista in Windows 7. Their only hope will be that they slim down the number of pre-loaded services enough to make it quick, and spend the next year-and-a-half stream lining the processes they need to have loaded to run well (as well as get rid of some UI bloat and annoyances). They will then have a "respectable" product, but still not the one they need to move into the future with the flexibility in code design that the *nix's do.
Microsoft can't start over. They've forgotten how. More importantly, they are unwilling to shoot application compatibility in the head, even when it's critical to do so, and when a freebie of XP running under a VM (heck - they OWN a virtualization technology) would suffice, and would let them truly start over again. Windows 7 is truly Windows Vista warmed over. Perhaps it will be better. But at it's heart, it will still be Vista, and Microsoft will have to market the bejeezus out of that release to get people to mentally separate it from Windows Vista.
I'm betting, if Microsoft did what you suggest, they would have five years to catch up with the current security and compatibility level. By then, fifty percent of their user base, that otherwise would have stayed wth Windows, would have moved to other platforms. Does that make business sense?
Does staying in a lifeboat with a big hole in the middle make sense when everyone else around you is moving to higher ground?
Also, 'When Apple ditched it's codebase in favor of a new one... their user base was composed mainly of early adopters not caring much about compatibility...' Are you kidding? At the time, the user base was mainly publishing houses, advertising agencies, recording studios etc. who care about nothing but maintaining their existing processes. It was not an easy transition.
Lastly, that boatload of applications you claim to 'care about', how many of those do you use on a daily basis? 10? How many of those are already cross platform? How many started on the Mac in the first place? Photoshop etc.?
Beg to differ. Apple customers always cared about compatibility, but only compatibility that makes sense. That's the key difference between Microsoft's approach to backwards compatibility and Apple's approach. Microsoft points to that arcane DOS program and says, "Wow, look, it still runs under XP or Vista!"
Mac OS X, up until Leopard, always had the ability to run Classic Mac programs. The compatibility layer that Apple developed was ingenious - basically, it was a built-in virtual machine that simulated a classic Mac. But instead of worrying about perfect compatibility, Apple focused on what was important and what was doable given their limited resources.
Turns out, by PRIORITIZING needs, Apple made the transition relatively painless. Sure, a minority of users ******* and whine because some obscure program didn't make the transition, just as a small tiny fraction still thinks Apple betrayed them by dropping Classic support in Leopard.
The thing is, Apple was willing to do what was right even when it made a small group of users angry because it advanced the platform by light years for everyone else. Jjust look at all the benefits Apple made when it switched from PowerPC to Intel - I doubt most people today even realize that Macs used to NOT run on Intel processor because the transition happened so seamlessly.
Could Microsoft successfully migrate Windows to a wholly different processor architecture while allowing 90% of existing apps to run unmodified?? Because that's essentially what Microsoft needs to do, and they don't even need to switch processors, but as the article noted, MS doesn't have the guts because it's afraid of pissing off the 1% of users who shake an angry stick at 99% compatibility.
Meanwhile, Apple has gained 3-4% marketshare while the house of Windows is burning down.
Apples has it easy. It is the only hardware manufacturer that needs to support it's own OS. And how many business and end-user applications does Apple have to support vs the number in Windows?
Windows is the OS that runs a lot of business-critical applications like POS, even ATMS, etc.
But as much as Microsoft would want to make radical changes to Windows, it has to do it in a very responsible way.
And vitaboy, so you think the switch from PowerPC to Intel is significant? Windows runs on Intel32, Intel x64, Itanium, AMD64, used to run on DEC Alpha. Moving from one processor family to another is "easy" compared to shifting to a code base that would have a radically different API. And wow, what an achievement, Apple has gained 4% marketshare (very good really since it nearly collapsed to 0% if not for a timely save by a 150M dollar Microsoft cash infusion into Apple.
So you see, it's not that easy...
Compatibility and the loyalty of its developers is what lead to Windows current market-share. I agree that it's also the very thing that "maybe" pulling itself down today. But I'm sure, Apple or any other OS vendor wouldn't mind to have that kind of problem.
Any one with a business head would know. Apple is the king of marketing and when they get the content like the IPOD it's over.
I think that MS needs to remove all compatabity pre Windows 2000 and make it GUI more independable of tasks unlike Vista which can hang on GUI now. It would be nice to see them KILL Win32 as I use X64 only.
Last reason MS can't rewrite is the governments and lazy devs. Most devs wouldn't support it and MS can no longer create competing software.
The "ancient frame" your referring to is Windows ability to run on so many different types of hardware. It is also the ability to maintain an API for developers that slowly migrates across generations of technology(i.e. 16-bit, 32-bit, 64-bit, DOS, Windows, .NET. This is why Windows is running on most pc's in the world.
"Adding features, plugging security holes, fixing bugs, fixing the fixes that never worked properly"
Give me a break. What do you think all these Mac OS X releases are?
"foundation that was never intended to support such weight"
Again... what are you talking about? Even XP clearly supported the "weight" of doing so many things the MAC OS X will never do.
"Windows seems to move an inch for every time that Mac OS X or Linux laps it"
Suggesting Linux laps Windows is...rediculous. Yes, Mac has always led in the user inteface, but even this may be short lived. If you look under the covers of Vista you find a vector based graphics system that is hardware accelerated just as games are today. You can bet Windows 7 and all the application developers are going to learn alot and be able to deliver compelling user intefaces on top of that 3 yr. old ancient foundation called WPF.
Windows 7 refers to the major version number of windows. NT 4.0, Windows 2000 (ver. 5.0), XP (ver. 5.1) (Vista ver. 6.0). You can type "ver" at any command prompt to see this info.
The only thing I agree with in the article is the fact Windows does too much. However your suggested fix of "starting over" is wrong as others have pointed out. Take a look at Windows Server Core 2008 and you see they are already moving in this direction of delivering a more modular Windows.
It's always such a pain to have to configure new machines and remove the unnecessary (or security compromising) "always has been, and will be a part of Windows." Leave those stuff on a server at Microsoft that people can download if they need to, but deliver a slim basic install.
I don't see the point of MS prodding users to newer and newer versions of Windows. If someone wants to buy 98 SE, 2000, or XP, then let them instead of trying to twist their arm into buying something they don't want.
Case in point--Microsoft already has a stripped down version of Windows - Windows Fundamentals for Legacy Computers. But can most people buy it? No you can't because it is only available to enterprise subscribers of its software assurance program. Yet, this would have been the ideal version of XP to sell to users of older computers (you know, those still using Win 98 SE).
But because MS feels it has to respond to (choose one: Netscape, Yahoo, Google, Apple, etc.) it sells a default Windows install that is so stuffed with unwanted bits that compromise security and performance.
Gets your Windows group back into the OS business and out of the "platform for other stuff " business
Basically, that was the way DOS worked with command.com being the core and anything else being loaded as needed. The benefit is compactness and speed.
Speed and compactness are apparently what Apple is shooting for with next years Snow Leopard upgrade. The direction of the consumer market seems to be towards compactness (Think IPhone and IPod). A small, "'just enough' operating system" is perfect for that market. To be part of that market, and not just the business market, Windows has to go on a diet.
I find it funny how some of these same trolls that crap on Windows for bloat also crap on it for compatibility. You can't have it both ways. Their spin is always based on such double-speak.
Ya know, in 1983 I thought it would be cool to put the digital music from CD's onto solid-state storage that could be plugged into players. I should have patented that one...
-
by Mr. Dee
June 30, 2008 6:54 AM PDT
- I am sorry, but there is a lot of misinformation and bias in this article. Mac OS X's heritage upon which it is built is even older than NT itself. Development on NT started in late 88 when Microsoft hired Dave Cutler, so NT is probably one of the youngest Microkernels next to Linux which was developed around '91 by Torvald. There is also confusion between the code bases, Windows NT is completely different from Windows 9x/3x/1x. The only similarities they shared were version names and API's for those legacy applications you speak of. Microsoft does not need to rewrite Windows, they can clean it up, just like they did for example with the release Windows XP Professional x64 where they removed things like AppleTalk, POSIX compliance and NetBEUI. You must remainder just like Linux or Unix, NT was designed in mind to be a portable OS, in fact during its development it was specifically targeted at different platforms such as PowerPC, Alpha, MIPs, the Intel processor it targeted had to be emulated. So I would revise your analysis before dooming Windows. A lot of the work over years has been targeted at componentising much of Windows where vital components like the Network Stack, graphics don't create lots of dependencies. Rumors are much of the built apps for instance will be optional. Vista's only regret is, it made necessarily architectural for security and took a long time to reach market. Microsoft could even move legacy compatibility to a virtualized stack where old apps work normally on newer versions of Windows without a hitch.
-
Reply to this comment
-
-
See all 41 Comments >>