Slashdot Mirror


Heads Roll As Microsoft Misses Vista Target

A reader writes: "Business version is on time, but the company won't make the key holiday consumer sales season. After another delay in the release of its Windows Vista operating system, Microsoft last week put a new executive in charge of future Windows projects and replaced several other managers. The changes are designed to better align Microsoft's desktop and Internet software teams and get products to market faster." There's also a NY Times piece that discusses why Windows has been so slow (to come out). Worth the reading.

31 of 386 comments (clear)

  1. NYTimes Article Access by eldavojohn · · Score: 5, Informative

    Either go to CNet's Hosting of the article or use this login.

    Username: slashdot25
    Password: Slashdot

    The article in its entirety if you want to read it here:

    Windows Is So Slow, but Why?

    By STEVE LOHR and JOHN MARKOFF
    Published: March 27, 2006
    Back in 1998, the federal government declared that its landmark antitrust suit against the Microsoft Corporation was not merely a matter of law enforcement, but a defense of innovation. The concern was that the company was wielding its market power and its strategy of bundling more and more features into its dominant Windows desktop operating system to thwart competition and stifle innovation.

    Windows 95 had 15 million lines of code. That grew to 18 million lines by the time Windows 98 launched, above. Windows XP, released in 2001, has 35 million lines of code.

    Eight years later, long after Microsoft lost and then settled the antitrust case, it turns out that Windows is indeed stifling innovation -- at Microsoft.

    The company's marathon effort to come up with the a new version of its desktop operating system, called Windows Vista, has repeatedly stalled. Last week, in the latest setback, Microsoft conceded that Vista would not be ready for consumers until January, missing the holiday sales season, to the chagrin of personal computer makers and electronics retailers -- and those computer users eager to move up from Windows XP, a five-year-old product.

    In those five years, Apple Computer has turned out four new versions of its Macintosh operating system, beating Microsoft to market with features that will be in Vista, like desktop search, advanced 3-D graphics and "widgets," an array of small, single-purpose programs like news tickers, traffic reports and weather maps.

    So what's wrong with Microsoft? There is, after all, no shortage of smart software engineers working at the corporate campus in Redmond, Wash. The problem, it seems, is largely that Microsoft's past success and its bundling strategy have become a weakness. Windows runs on 330 million personal computers worldwide. Three hundred PC manufacturers around the world install Windows on their machines; thousands of devices like printers, scanners and music players plug into Windows computers; and tens of thousands of third-party software applications run on Windows. And a crucial reason Microsoft holds more than 90 percent of the PC operating system market is that the company strains to make sure software and hardware that ran on previous versions of Windows will also work on the new one -- compatibility, in computing terms.

    As a result, each new version of Windows carries the baggage of its past. As Windows has grown, the technical challenge has become increasingly daunting. Several thousand engineers have labored to build and test Windows Vista, a sprawling, complex software construction project with 50 million lines of code, or more than 40 percent larger than Windows XP.

    "Windows is now so big and onerous because of the size of its code base, the size of its ecosystem and its insistence on compatibility with the legacy hardware and software, that it just slows everything down," observed David B. Yoffie, a professor at the Harvard Business School. "That's why a company like Apple has such an easier time of innovation."

    Microsoft certainly understands the problem, the need to change and the potential long-term threat to its business from rivals like Apple, the free Linux operating system, and from companies like Google that distribute software as a service over the Internet. In an internal memo last October, Ray Ozzie, chief technical officer, who joined Microsoft last year, wrote, "Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build and test, it introduces security challenges and it causes end-user and administrator frustration."

    Last Mon

    --
    My work here is dung.
    1. Re:NYTimes Article Access by David+Off · · Score: 3, Funny

      > Microsoft executive Goldberg bristles at the notion that little innovative work has come out of the Windows group since XP.

      Yes outrageous, litte innovative work has come out of Microsoft since Clippy!

    2. Re:NYTimes Article Access by ndogg · · Score: 4, Interesting
      Seems like poor design decision s have caught up with them.
      It was one design decision: backwards compatibility.

      I'll readily admit that I don't much like Microsoft or their software, but they must be commended upon their due diligence on this one aspect. A lot of software from Windows 3.0 can still run on XP.
      --
      // file: mice.h
      #include "frickin_lasers.h"
    3. Re:NYTimes Article Access by Jugalator · · Score: 4, Interesting

      As a result, each new version of Windows carries the baggage of its past. As Windows has grown, the technical challenge has become increasingly daunting. Several thousand engineers have labored to build and test Windows Vista, a sprawling, complex software construction project with 50 million lines of code, or more than 40 percent larger than Windows XP.

      "Windows is now so big and onerous because of the size of its code base, the size of its ecosystem and its insistence on compatibility with the legacy hardware and software, that it just slows everything down," observed David B. Yoffie, a professor at the Harvard Business School. "That's why a company like Apple has such an easier time of innovation."


      I'm not so sure this is really why this time, or that it's the only reason...

      People paying some attention to the Vista development may notice that during build 5000, Microsoft did basically a 180 turn and decided to throw out the new foundation of managed (.NET) code on an XP SP2 based kernel, and rather go with the Windows Server 2003 kernel. This required such massive rewrites that to the end user experience, the project was essentially restarted. This happened in September 2004, just less than 2 years ago. And people wonder about the feature cuts and delays. ;-)

      MS did a major goof up in planning with this OS, and they're paying the price now. Just imagine if they could get the two years or so spent on developing on the wrong kernel and with an invalid design philophy back (it was later found out that .NET code sucked too much in performance to be usable). This time could be spent on making... well, how about WinFS? ;-)

      --
      Beware: In C++, your friends can see your privates!
    4. Re:NYTimes Article Access by hey! · · Score: 4, Interesting

      From the sound of that, this may be the last major Windows release. The Windows name may carry on but it will be the end of Windows as we know it.

      Well, what is Windows as we know it?

      The windows natural market position is this: it's the world's dominant desktop operating system, the one that almost every worktation, no matter what it is used for, is almost certain to use. But it's not anymore, because Windows has an identity crisis. It's been seen by Microsoft as a lever they could use to enter and dominate new markets, such as home entertainment. It leads to a lack of focus.

      Consider Apple: You have a choice of two operating systems from them Mac OSX 10.4 (Tiger) and Mac OSX Server 10.4.

      From Microsoft: XP Home, XP Pro, XP Media Center, XP Tablet Edition, XP Pro 64 bit Edition, Windows Server 2003 and of course the embedded/mobile versions (Windows Mobile and Windows 2000 Core OS) which arguably don't count.

      The thing is, Apple is doing everything with vertical integration that Microsoft is trying to do. They've just drawn the lines around projects differently. I wonder, though, whether this makes the difference.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    5. Re:NYTimes Article Access by Ucklak · · Score: 5, Insightful

      They don't have to backward compatible anymore. They are a frickin software company for one, #2, they own a fricking VM company (VirtualPC) that is responsible for Windows on the Mac.

      They're claiming this 'backward compatible' mantra so that they don't lose the current corral of developers, from Tier 1, 3rd party, and fan boys.
      If they change their OS so that backward compatibility no longer works, they feel they risk losing everyone to the competition, whatever it is.
      Mac did it in 2000 and kept backward compatibility through whatever method it is that kept Mac Classic on all OSX's through the Intel changeover.

      I was actually looking forward for the originally planned Longhorn with WinFS and such but not this Vista crap.
      I stopped being a MS fanboy with the announcement of XP activation but I realize them for the juggernaut they are and I respect that.

      I don't see why they can't come up with a new OS and include legacy support in VM mode. Today's hardware can handle it. Vista is just smelly trash.

      --
      if you steal from one source, that is plagiarism, if you steal from many, well, that's just research.
    6. Re:NYTimes Article Access by QuietLagoon · · Score: 3, Insightful
      It was one design decision: backwards compatibility.

      "Integrating" applications into a monolithic operating system does not help at all. It may have helped Microsoft to win the browser battles, but it is causing Microsoft to lose the ability to keep Windows as an ongoing OS.

    7. Re:NYTimes Article Access by gonzoxl5 · · Score: 5, Funny

      From the sound of that, this may be the last major Windows release. The Windows name may carry on but it will be the end of Windows as we know it.

      Curtains for Windows ?

    8. Re:NYTimes Article Access by ookaze · · Score: 3, Insightful

      It was one design decision: backwards compatibility

      Of course this is BS. What of the complete turn over when they discovered that .NET was too slow, not tailored for big projects ?
      So much for .NET being so fast to develop with, being so good, with a little speed penalty, like so many fanboys rant about every time (yes, here on /.).
      I guess all the other OS people that tirelessly pointed all of that out were right after all, and that the Windows camp was the home of the zealots.
      It's going on with this BS about backwards compatibility. Excuse me ? I experienced first hand the change in the multimedia framework API, the drivers not working anymore (even a driver for a joystick converter, yes, a joystick converter, does not work anymore !!), the apps and games not working anymore (some working but very badly, needing lots of care and hacky patches), ...

      but they must be commended upon their due diligence on this one aspect

      BS.

      A lot of software from Windows 3.0 can still run on XP

      And a lot don't work anymore. So what's the point ?

    9. Re:NYTimes Article Access by nmos · · Score: 3, Insightful

      They don't have to backward compatible anymore. They are a frickin software company for one, #2, they own a fricking VM company (VirtualPC) that is responsible for Windows on the Mac.

      Well, in fairness backword compatability is the main thing that their customers care about. Normal people don't buy a computer to run the OS, they buy it to run their apps. If a customer's existing software won't work on a new OS they might just as well start looking at a different OS or, more likely just stay with the old system for a while longer.

    10. Re:NYTimes Article Access by apoc.famine · · Score: 3, Funny

      What are you talking about....Microsoft would have to be insane to create a bunch of different versions of Vista. I mean, it would be a nightmare trying to support the different features of each, educate customers about the difference between them, make sure your software worked on all of them, etc. And besides, when you need to program all the features for the high-end version anyway, customers would realize that you're just selling them a crippled product, and refuse to buy it.

      Multiple crippled versions of an OS....that would never work...

      --
      Velociraptor = Distiraptor / Timeraptor
  2. You may joke about it, but by Anonymous Coward · · Score: 4, Funny

    with millions of customers still running on that old version of Paint this is no laughing matter.

  3. Unfixable by ozmanjusri · · Score: 5, Insightful
    I don't think Microsoft can salvage this. they've locked themselves into selling a monolith in an environment when a modular, easily and frequently updatable system is needed.

    I'd love to see the major corps get behind a push to reimplement the Windows APIs (IE, Wine or similar) so all OSs could run Win32 executables. Then the big MS lockin would be over and we users could have some choices.

    --
    "I've got more toys than Teruhisa Kitahara."
  4. So...wait... by grasshoppa · · Score: 3, Insightful

    Let me get this straight

    1) MS is rewriting key components from the ground up ( tcp/ip for one ).
    2) They are pushing for a faster and faster release cycle
    3) They are replacing managers working on vista.
    4) DRM will be built into vista

    Yeah huh. If it's all the same to you guys, I think I'll stick with xp on my home system ( just recently upgraded, btw ). Vista sounds like it's going to be a painful upgrade for the world at large, and I'd rather not experience that if at all possible.

    --
    Mod me down with all of your hatred and your journey towards the dark side will be complete!
  5. Why the delay? by Giant+Ape+Skeleton · · Score: 4, Funny

    Why's it taking so long? Because, unlike previous "new versions" of Windows, this is not just a cosmetic overhaul but a complete redesign of the OS from the kernel up! Also, as somebody else mentioned, updating the mspaint.exe codebase is proving quite problematic :)

    --
    The difference between stupidity and genius is that genius has its limits.
    1. Re:Why the delay? by clbell · · Score: 5, Insightful

      Yes, it's a complete redesign from the ground up. That's why the same crummy registry concept is there, why the control panel looks exactly the same with many of the same icons, why dll hell still exists to some degree, why programs are still installed in the same way, why the explorer process requires 100MB vs 20MB in XP. The way apps are installed and managed in OS X is so obviously superior that MS would be stupid not to copy it during a complete redesign. Should I go on? A complete redesign, I HOPE, would involve streamlining code/operation and killing some of it's demons. Vista does neither. What MS have done is rewritten some of the modules and added a lot of new modules, which is why Vista has 15 million lines of code (or so) more than XP. It's a much more complex OS...and not in a good way.

  6. Re:Deja Vu? by porkThreeWays · · Score: 4, Informative

    here and here. It's comical really. The first story goes on and on and on how lean Microsoft has become with their new development process. Obviously little has changed. It's also comical that their solution to these sorts of things always seems to be a management shakedown. A shakedown doesn't really help anything if there is a deeper problem. In reality, it will probably just result in further delays.

    --
    If an officer ever threatens to taze you, say you have a pacemaker.
  7. Microsoft Innovates by David+Off · · Score: 3, Funny

    > Vista was also held up because the project was restarted in the summer of 2004. The new work, Microsoft decided, would take a new approach. Vista was built more in small modules that then fit together like Lego blocks, making development and testing easier to manage.

    Wow, Microsoft discovers modular design and good interfaces 30 years after the rest of the world went that way.

  8. Wife wont get Vista For Christmas by aka_big_wurm · · Score: 3, Funny

    I am so sad now that I cant get her Vista for Christmas, I am sure may other of you are and in same boat. Because Vista was the Must have gift this year.

    The truth is that MS is trying to get this on right, and waiting to ship Vista untill its done, at the same time they are being honest with us about ship date and features. Funny we bash them for shiping buggy programs and then bash them for holding back a buggy program.

  9. Mty suggestions by MECC · · Score: 5, Insightful
    Find Dave Cutler, who MS hired along with a team to built NT:
    From Dave regarding NT:
    • "If any of you break this build, your ass is grass, and I'm the lawnmower." -- David Cutler to his programmers during the development of NT
    • "I won't pollute it [NT] with crap!" -- Cutler to Bill Gates, upon being told that NT was to have an OS/2 "personality" as an alternative front-end.

    Or, get someone with a trackercord of delivering a modern OS. Like Maybe Linus.

    Or, hire Christopher Walken as a Project manager

    --
    "We are all geniuses when we dream"
    - E.M. Cioran
    1. Re:Mty suggestions by Junks+Jerzey · · Score: 4, Interesting

      Or, get someone with a trackercord of delivering a modern OS. Like Maybe Linus.

      Is *anyone* qualified for this? Linus, for example, just works on the low-level Liunx kernel. Vista is a kernel + the .net runtime + graphics layers + GUI + DirectX + user-level applications that ship with the OS.

    2. Re:Mty suggestions by meringuoid · · Score: 3, Informative
      Or, get someone with a trackercord of delivering a modern OS. Like Maybe Linus.

      What the hell does Linus know about delivering a modern OS? He's a Unix kernel guru. I doubt the kernel is what's giving Microsoft problems.

      Now, maybe they could get in touch with RMS instead? After all, the OS based around Linus's kernel is mostly of his creation... Or maybe not. Though it would be amusing to read the reports in the news of Windows users' heads exploding the day after they find that their new Windows shell was in fact xemacs.

      --
      Real Daleks don't climb stairs - they level the building.
  10. Misleading Headline by Aqua04 · · Score: 5, Insightful
    I think the headline of the article is a bit misleading. From what I have read, I don't think "heads are rolling" at Microsoft yet. They have restructured, which they do about once or twice a year anyway, but the problem of multiple layers of general managers and layer upon layer of Vice Presidents remains.

    If you read some of the postings on the minimsft blog, you see that Sinofsky has been brought in to streamline things, but the question abut what to do with all the legacy management overhead still remains.

    They have so many people which they promoted up over the years that they'll need to figure out how to flatten the organization whilst thinking about what to do with all these people in middle management. That'll be the interesting question in the coming years, I think.

  11. Dare I Say It... by eno2001 · · Score: 5, Insightful

    Netcraft confirms it! Windows OS is dying! ;P

    Seriously, I spent some time last night reading through a Microsoft employee's blog discussing this very issue. While it might sound like big trouble in little China, it's likely to be well glossed over by their PR campaigns. Heads will roll at MS, but not the right ones. The big guys there will say that this was the work of either an "astroturfer" who doesn't even work for MS, or a disgruntled employee who really didn't have a grasp on the business end of things. In other words Ballme and company will be saying, "nothing to see here, move along".

    As a side note, I found one of the comments on that blog particularly insulting. Someone had the audacity to say that Microsoft is becoming more and more like DEC. This couldn't be furthest from the truth. DEC was run by the engineers, meaning that the entire company was nothing but engineers. No suits. No business men. Just pure brain. That's why DEC's systems pretty much defined the phrase "just works". MS isn't even close. They tried and they got Cutler to design NT. But then they threw out everything that he had laid out in NT when they hit 2k for business reasons. If you want a great OS, you forget about business reasons. If you want to run a great business, then you need to accept that there will always be compromises and you'll always have a subpar product when compared to the output of pure engineering. Them's the breaks folks. That's why the FOSS world outshines Microsoft at every turn in terms of design and doesn't really make much of a dent business-wise. And it's why MS is so successful as a business but can't create an OS that you'd trust your life with.

    --
    -"...bad old ideas look confusingly fresh when they are packaged as technology" - Jaron Lanier (Digital Maoism on Edge.o
  12. Ray of Light by digitaldc · · Score: 3, Insightful

    In an internal memo last October, Ray Ozzie, chief technical officer, who joined Microsoft last year, wrote, "Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build and test, it introduces security challenges and it causes end-user and administrator frustration."

    Well Ray should know, he does work there.
    I think in Microsoft's desire to be the everything of operating systems, they have bitten off more than they can chew. They need to re-think their strategy and aim to a secure, less-complicated and smaller operating system. Then later, they can release a huge Vista at a time of their choosing.

    --
    He who knows best knows how little he knows. - Thomas Jefferson
  13. Re:Cutting off your toe to spite your face by VikingThunder · · Score: 4, Informative

    Actually, if you remember, there is no 60% code rewrite. That was some BS Smarthouse made up, and everybody else sourced it.

  14. It's Their Development Model by segedunum · · Score: 5, Informative

    Plain and simple. I remember when Windows 2000 came out, and that was hyped to the hills as the most secure and high quality Windows that was really going to replace Unix everywhere. Funnily enough, the hype sounded like Vista now. There was an article in 1999 that described their development process, how they were redesigning Windows for security, (just like with Vista!) and God, is it a mess. It is just a massive production line where code is committed by programmers with little regard as to whether it will conflict with changes other people are making. It gets shipped off to the testers, they test some build, OK it and then another team commits code that breaks it in the next testing cycle and build. They then rinse and repeat this process until it seems to work. Small wonder they need so many programmers and people involved as well as the huge amount of time that takes.

    I hate to bring up Apple, but look at their OS. They've put an awful lot of features into their software, with less programmers and with much more of an idea of what they want to achieve - and I think that last point is the key. It just sounds as though some marketing people at Microsoft have been moving the goalposts shouting "Right, we need seven versions to extract more money!", "Oh right, now we're doing media!", "We're doing 3D eye candy!", "We're doing TV!", "We want support for new DRM hardware to please film studios!", "We want integration with some pointless app for social networking!" etc. etc. It seems to me that no one has drawn up a set of proper requirements for Vista. I get the Vista betas through MSDN, and honestly, I just cannot see how they couldn't have achieved where they got to now by evolving from Windows XP SP 2 and 2003 in a far shorter timescale and then building other products and components on top of it when it got finalised.

    Two-fold, on top of that, I'm also convinced that because of all those teams putting code into Windows, and having Windows interoperate tightly with other components and products and vice-versa, Microsoft are having very serious integration and communication problems. What's that saying? Nine women can't have a baby in one month? It seems as though Microsoft's "let's just throw programmers at it" strategy is doomed now and post-Vista, and they're going to have to work out what they're going to do. The big problem is, Microsoft don't know how to develop any other way, and changing a few managers around will change nothing.

    Computers that do speech? Intelligent systems? A digital home? Media systems running Windows? Flat touch-screen panels running Windows in every area of your house? On top of developing a base version of Windows, Office, development tools.....all inter-connected?! Fat chance. There's no way they'll be able to co-ordinate that kind of development complexity with the kind of absolute reliability that's demanded there. Windows still has a future, obviously, but I'm sorry to tell Microsoft that they're not going to be leading us into this new brave world they think we're going to buy into.

    1. Re:It's Their Development Model by ivan256 · · Score: 3, Insightful

      Yes, look at Apple, and you'll see the real reason why Microsoft is missing deadlines. Really. I'm not being sarcastic.

      The guy who wrote that blog post yesterday hit on it too and he didn't even realize it:

      "I was upset at missing the back-to-school market. Now we're missing the holiday sales market. All of those laptops and PCs are going to have XP on it."

      Yup. What's the price for Microsoft's failure to deliver? Nothing. They get the cash anyway. The only downside to this latest slip is the unusually high amount of publicity it's getting.

      But, you say, if they keep slipping competition will catch up... Well, maybe, but not this decade. There is nobody even close.

      Apple? Please. Businesses won't pick a platform that locks them into a single vendor's hardware anymore, and most home users won't buy anything without a 35% sticker on it (does Dell ever sell stuff at full price?). Even if they found a way around those problems, history will show that they're really good at blowing it.

      Desktop Linux? Nope. It's got two permanant and fatal flaws. No huge marketing department, and no goons breathing down OEM and channel partner throats.

      Microsoft's development model, their schedule, their everything is based on the fact that there is no financial incentive for success, and no financial disincentive for failure. They'll fire people, or whatever, but nothing will prompt the kind of change that needs to happen there until they have some serious competition. And we should be glad. Their failure to deliver creates jobs for software and operating system engineers outside the Redmond area.

  15. Time to switch OSes? by Randall311 · · Score: 3, Insightful

    These last few days of delay announcements at MS after 5 _years_ of development are really making them look incompetent from a business point of view. Though I highly doubt management "shakedowns" will help speed up the development process. The problem here, as has been mentioned before, is Microsoft's unwillingness to let go of the past. Do you remember when they announced that IE was a "mature product" and didn't need to be developed any further? I mean, did they think time would just sit still for them? Would Ford stop designing the Mustang because "It's a mature car"? Microsoft's IE6 is now the laughing stock of Internet browsers, and rightfully so since it's been neglected so badly. Maybe we'll see vast amounts of improvement with IE7, but I'm not holding my breath. At least MS now understands that development can never stop unless you plan on just dropping a product permenently.

    Even after Microsoft wised up to their development blunders like IE, they still have a near unmanagable beast in 50+ million lines of codebase. The #1 weakness that Microsoft has is it's refusal to drop legacy support out of it's products. It may even lead to their undoing. They have allowed feature after feature to snowball into the massive clusterfuck that Windows currently is. In order to meet the demands of the future, Windows will have to simplify. I know it sounds like that is a step backwords, but think about it. How did Apple make such a successful product in OS X? They blew up OS 9 and started from scratch with a proven codebase. That is what Windows needs to do to keep up. Only after Microsoft ditches the i386 legacy and bloat that's suffocating them, will they get some much needed breathing room. Apple had to take a big step back to get ahead to where they are today, and I'm sure it wasn't easy for them, but it's already paying massive diviends. Imagine how wonderful it would be for everybody in the long run if MS took this same approach. Windows has turned into a massive out-of-control beast that has everything including the kitchen sink in it, with about 7 different variations of home and office OSes that are enough to confuse anyone in the industry, let alone the poor consumers who have to figure out which version of Windows best suits them.

    That said, there is really only one roadblock for switching to Linux full time (at least for me), and that is the fonts. I've tried everything from grabbing the MS fonts from my Windows partition, to any combination of AA and/or hinting and DPI resolution I can think of. The fonts just come up weak IMO. I know a lot of you love the fonts in Linux and just wouldn't have it any other way, but I guess I have a different opinion then most of you out there. Windows and OS X fonts look about 100 times better to me. Say what you want, but when I boot up into Windows after spending a few hours in Linux, it's like cleaning a layer of grease off of my glasses.

  16. It was one bad decision, but NOT compatibility by WebCowboy · · Score: 4, Insightful

    Microsoft did not get into this mess because of its relentless pursuit of total, perpetual compatibility. As most people know, while a lot of effort has gone into compatibility the simple fact is that the current version of Windows is no more compatible with its legacy products (windows 3.x, dos) than Linux or OS2--it uses the "Windows on Windows" virtual environment to run 16-bit legacy code, and XPs compatibility with Win9x/Me games, etc. was more of a bolt-on than something that permeates into the core of XP. The result is that Windows is remarkably compatible but not totally so (any 16-bit Windows/DOS program that relies on communications ports for example will crash in NT/2000/XP). The large compatibility layer has resulted in a bloated, crusty registry and APIs that would only be purposely designed like they are by crack addicts. However, although this makes Windows a sometimes-frustrating environment to program at lower levels it is not what makes it nearly unmaintainable even by behemoth Microsoft.

    The REAL poor design decision was electing to create a tightly integrated system. This was the root cause that made other questionable choices at Microsoft (compatibility and "Featureitis") difficult or impossible to correct. When Microsoft wanted to bundle its web browser with Windows it decided to take IE (which wasn't ingtegrated with Win95 at all initially) and sprinkle its libraries in the system directory and link a whole bunch of other components to it...to the point that even the GUI shell will not operate without IE components. It threw the GUI and all these drivers into kernel space. It made one big monolithic, multi-million-LOC pile of crap and justified it by doing it in the name of a "seamless user experience" at a good level of performance.

    There is no excuse for this now--we have machines powerful enough to host full-featured virtual machines that can run self-contained copies of legacy OSes, so if customers really (often foolishly) want to run software that is over a decade old to do important things then they can take that route. The sad thing is that political reasons rather than technical reasons prevent Microsoft from taking the proper course of action. Microsoft should've "pulled an Apple" right after the release of XP and immediately set about developing a totally new OS as different from the NT-based XP as NT was from DOS (and the Win9x/Me derivatives). Apple smartly got out to market faster by building its foundation on open software.

    The problem is MS is probably loathe to heavily depend on open source for its flagship product, and the problem is that Apple beat them to the most viable BSD-licensed option. Since MS has been asleep at the wheel there for far too long, they have two difficult options ahead: Firstly, they could bite the bullet and plan the first major, post-Vista Windows release around a BSD-licensed UNIX core as Apple has already done. MS would be risking a lot by doing this as they become less differentiated from Apple than before--can MS out-class Apple on the UI front, or maintain enough legacy Windows compatibility to keep its customer base? Second, they could try and engineer a new kernel/core system themselves and bolt on chunks of updated Vista as componenets. This could take longer than the first option but it is a made-at-MS solution. In the meantime competitors will have even more time to catch up.

    Basically, Windows as we know it is fast approaching the end of its life cycle. I personally don't think it is really sustainable for even one more major release after Vista. Although this presents a great opportunity for Linux-based and OS X systems I don't think it is the nail in MS' coffin just yet. I figure that with the kind of shake up that looks possible to occur in the next few months at MS that in around 2010 we'll all be eagerly anticipating the release a completely new Microsoft OS--with a very UNIX-like architecture (holy shades of XENIX batman!) under the hood but something very 21st centurey on top.

  17. Re The Missing Fun Factor by parabyte · · Score: 3, Insightful
    IMO another big problem is the missing fun factor. If you have ever looked at the windows source code, most of the 50 Mio lines of code is extremely ugly and boring.

    Most of the code looks like this:

    1) Setup & Initialize

    Get an interface here, claim some memory, find another interface over there, register own functionality here and there, try something else in case something has failed until you succeed or run out of options

    2) Delegation and Fallback

    If some particular module is not available, fall back to other implementations, reformat the data, manage lifetime and ownership, synchronize with some other activities, and then delegate the call to some other interface

    3) Error Handling and Recovery

    After each call, perform error checking, pass back the result to the caller, potentially reformatting it again, or raise some exceptions or create new higher level error codes from lower level error code you got

    4) Cleanup

    When it is time, either because some reference count went zero, some termination function was called or a garbage collector comes by, free all resources claimed so far, deregister references downstream and upstream

    The whole code is full of hungarian notation type casts, macros and microsoft specific language extensions, and the flow control statements are mostly branches. You are already lucky if you may write a loop that does some actual work, even if it is just collecting stuff from multiple calls.

    And then, if you look at APIs, there are much more parameters and much more options than e.g. in UNIX counterparts, and many options are not orthogonal, so you are entangled in a web of obscure semantics almost everywhere. And you do not have one API for the same stuff, you got a shitload of them: Win32, WinMM, GDI, ATL, OCX, MFC, COM, DCOM, ODBC, ActiveX, DirectX, XNA and tons of product specific APIs. It is already a nightmare to decide which API to use, but to support them all in a bug-by-bug compatible way is programmer's hell. It is like travelling with a hospital ship full of corpses that are not completely dead and need to be kept alive by a team of doctors, high doses of painkillers and cardiopulmonary and dialysis machinery, just in case someone needs them because he speaks this ancient lanuguage noone else but these living dead understands.

    With .NET, Microsoft did a good job at API design, but it is of no immediate help, it is just another API that has to be supported with all the other legacy APIs, so .NET does not reduce, but increases overall complexity and does not perform as well as the other APIs. Another problem with .NET is the lack of maturity, still requiring major changes on all levels, resulting in huge compatibility nightmares between different versions of .NET.

    But even if Microsoft would throw away everything but the kernel and .NET, I still would not jump on it because I do not like to be locked in on a particular platform; I want to be able to run my Software in MacOS and Linux and have a chance to port it to some hardware or OS that does not exist yet.

    If I were in charge at Microsoft, I would try some of the Google philosophy: Do not be evil, and give the people something they can like:

    1) A solid, simple well documumented and rock solid foundation that manages device I/O using a small set of calls with clear semantics: open, close, read, write, ioctl seem to sufficient to do a lot

    2)Choose the right atomic elements: Bytes, Characters, Numbers, Strings, Pixels, Images, Audio Samples, 3D-Polygons and video streams and make them first class citizens throughout the whole operating system.

    3) Implement all APIs people seem to like in a rock solid, feature complete and efficient manner: OpenGL, gtk, POSIX etc.

    4) Invent some new own cool High-Level APIs and frameworks and make sure they are available on Linux and MacO

    --
    Without order, nothing can exist. Without chaos, nothing can be created.