You are an idiot if…

…you believe Microsoft is actually going to have a completely rewritten Operating System before Bill Gates dies (which might be 20 to 40 more years).

Unfortunately journalists, like this one in Software Development Times, love to make it seem that Microsoft is working hard on a new, completely rewritten, operating system that will solve all the world’s problems.

Let me assure you they are not. At least not one that’ll be productized before my 10-month-old son sees his 10th birthday.

So, what is the Midori team doing?

Well, THAT is an interesting question that I’d love to ask Eric Rudder.

Here’s my theory: it’s a forcing function on the .NET team.

See, Bill Gates wants to make it possible to use a LOT more .NET in operating systems. That’s really what went wrong with Longhorn, er, Vista. Gates tried to make too much of the operating system dependent on .NET and .NET just wasn’t ready for an operating-system-level deployment/use case yet.

It was like trying to build a 100-story building, getting to level 50, and noticing that the thing is starting to lean. They had to tear it all the way down, put a new foundation in, and rebuild. That’s what happened to the Longhorn team. The fact that Vista got done at all is a pretty amazing engineering feat that software engineering schools should be studying for years.

Anyway, how would it be a forcing function? Well, by building an OS completely in .NET they can discover where .NET is deficient. They can use it to bug the .NET team to improve that system until they get it good enough to use it underneath a new operating system.

Let’s say it takes them 10 years to iterate through all the things that .NET needs to do to become a real operating-system-level platform/language. Imagine then that Microsoft could roll that stuff into a version of Windows. Wow, wouldn’t that be useful to have rafts of the OS all built on .NET and hosting a new kind of .NET app?

Imagine writing drivers in .NET code. Or networking infrastructure. Or other things deep down inside the OS.

Now we’re getting someplace.

One other reason a total rewrite wouldn’t be done? Bill Gates believes strongly that you shouldn’t break old apps. Lotus 123 still runs on Vista. As long as Bill is around they won’t break those old apps. A total rewrite would break all sorts of apps.

Anyway, what do you think Microsoft is up to?

143 thoughts on “You are an idiot if…

  1. You are an idiot if you believe Microsoft anyone is actually going to have a completely rewritten general purpose Operating System before Bill Gates dies ever.

    Fixed that for you.

  2. You are an idiot if you believe Microsoft anyone is actually going to have a completely rewritten general purpose Operating System before Bill Gates dies ever.

    Fixed that for you.

  3. Robert Scoble: “… an emulator would break thousands of apps and cause many others to run really crappy. I’ve run Windows on VMWare and Parallels. I hated it. Even though it ran it was slow and buggy on both and tons of apps wouldn’t run at their full potential. ..”

    Robert Scoble needs to try this again. I’ve got Windows XP running on VMWare on two cores of a four core Mac Pro right now, and I’ve never seen it crash, “run buggy” or “crappy” or fail to run a software application. (If you’re talking about applications that have special hardware needs – e.g. machine tool controllers – you might have a point.)

    I don’t know what it means for an application to fail to “run at their full at their full potential” means, and I wonder whether Scoble does either; If he means speed, he should write “speed.” Two 2.6GHz processors may not be standard hardware now, but it will be in a year or so.

    Virtualization works today, and it works well. There’s no reason why MS couldn’t use it successfully on a future, non-Windows OS.

  4. Robert Scoble: “… an emulator would break thousands of apps and cause many others to run really crappy. I’ve run Windows on VMWare and Parallels. I hated it. Even though it ran it was slow and buggy on both and tons of apps wouldn’t run at their full potential. ..”

    Robert Scoble needs to try this again. I’ve got Windows XP running on VMWare on two cores of a four core Mac Pro right now, and I’ve never seen it crash, “run buggy” or “crappy” or fail to run a software application. (If you’re talking about applications that have special hardware needs – e.g. machine tool controllers – you might have a point.)

    I don’t know what it means for an application to fail to “run at their full at their full potential” means, and I wonder whether Scoble does either; If he means speed, he should write “speed.” Two 2.6GHz processors may not be standard hardware now, but it will be in a year or so.

    Virtualization works today, and it works well. There’s no reason why MS couldn’t use it successfully on a future, non-Windows OS.

  5. New Os Smew OS

    Working with engineers, managing IT projects / programs, servicing business needs I can tell you that what matters to the boots on the ground is reliability, security, ease of technological configuration / resiliency / adaptability.

    No one talks about killer apps from anyone anymore, not MS, not Apple, nada.

    In marketplace terms, what happened is that Microsoft dominated the corporate desktop, successfully killing off companies like Borland and Lotus. No one will finance the execution of new concepts if there is even the whiff that MS will, sooner or later, engage that niche as an internal product.

    So, we have stagnation due to an absence of competition.

    The smartest thing Microsoft could do, and I have said this for years, is to dismember itself – return to the small team / dedicated lab structures and funding that were its path to success back in the DOS and Windows 95 days.

    As for writing network drivers in .NET, how does one secure that implementation? Seriously. Massive security holes exist in all .NET deployments. Built-in lock-down features such as automated and fully self contained component (.DLL, .exe, .com, registry and memory) CRC checking to make hacking and splicing vastly more difficult have been around for more than two decades, yet, still, .NET has not integrated these techniques nor does this product have any plans to do so as far as I can tell. Nor does VISTA.

    I wont even get started on aspects other than Security.

    What is Microsoft doing, you ask? Waiting to react to some external competitor that no longer exists and is highly unlikely to pop up, is my answer. Meanwhile, just tooling along and marking time, as directed.

    Harsh, you say? Harsh is me saying that the worlds #1 OS, seven years after 9/11/2001, is still the #1 Security Threat to the US Government, due to its extremely poor internal security.

    Harsh is me saying that I single-handedly wrote apps more than ten years ago that did internal CRC checking on themselves, and that were thus vastly more secure, ten years ago, than any commercially available product shipped by Microsoft today.

    So, hey, lets not get harsh.
    :)

    Larry

  6. New Os Smew OS

    Working with engineers, managing IT projects / programs, servicing business needs I can tell you that what matters to the boots on the ground is reliability, security, ease of technological configuration / resiliency / adaptability.

    No one talks about killer apps from anyone anymore, not MS, not Apple, nada.

    In marketplace terms, what happened is that Microsoft dominated the corporate desktop, successfully killing off companies like Borland and Lotus. No one will finance the execution of new concepts if there is even the whiff that MS will, sooner or later, engage that niche as an internal product.

    So, we have stagnation due to an absence of competition.

    The smartest thing Microsoft could do, and I have said this for years, is to dismember itself – return to the small team / dedicated lab structures and funding that were its path to success back in the DOS and Windows 95 days.

    As for writing network drivers in .NET, how does one secure that implementation? Seriously. Massive security holes exist in all .NET deployments. Built-in lock-down features such as automated and fully self contained component (.DLL, .exe, .com, registry and memory) CRC checking to make hacking and splicing vastly more difficult have been around for more than two decades, yet, still, .NET has not integrated these techniques nor does this product have any plans to do so as far as I can tell. Nor does VISTA.

    I wont even get started on aspects other than Security.

    What is Microsoft doing, you ask? Waiting to react to some external competitor that no longer exists and is highly unlikely to pop up, is my answer. Meanwhile, just tooling along and marking time, as directed.

    Harsh, you say? Harsh is me saying that the worlds #1 OS, seven years after 9/11/2001, is still the #1 Security Threat to the US Government, due to its extremely poor internal security.

    Harsh is me saying that I single-handedly wrote apps more than ten years ago that did internal CRC checking on themselves, and that were thus vastly more secure, ten years ago, than any commercially available product shipped by Microsoft today.

    So, hey, lets not get harsh.
    :)

    Larry

  7. Microsoft might be writing a new OS, but most likely for Internet based applications. So instead of you installing every single app (Outlook, Excel, Word, Access, etc) you’ll be accessing it via a web browser, and most likely it’ll be ran from a set top box in your house in front of your TV, so while you are watching your fav show or something, you can pull up the web browser, and it can look up related topics to what you are watching, or something to that effect, basically merging your computer, tv, and life all into one. Not to mention pulling your tv signals onto your phone over a broadband connection.

    I doubt MS will rewrite an entire OS just to move ahead in the game or to start a new path in technology. Most likely they’ll write this new OS just for developers, basically open source. But who knows, this is Microsoft, they were the ones to pioneer a standardized driver system (DirectX) and also forge ahead in new technologies and force everyone to move with them (Windows 2000, XP) So we’ll have to wait and see.

  8. Microsoft might be writing a new OS, but most likely for Internet based applications. So instead of you installing every single app (Outlook, Excel, Word, Access, etc) you’ll be accessing it via a web browser, and most likely it’ll be ran from a set top box in your house in front of your TV, so while you are watching your fav show or something, you can pull up the web browser, and it can look up related topics to what you are watching, or something to that effect, basically merging your computer, tv, and life all into one. Not to mention pulling your tv signals onto your phone over a broadband connection.

    I doubt MS will rewrite an entire OS just to move ahead in the game or to start a new path in technology. Most likely they’ll write this new OS just for developers, basically open source. But who knows, this is Microsoft, they were the ones to pioneer a standardized driver system (DirectX) and also forge ahead in new technologies and force everyone to move with them (Windows 2000, XP) So we’ll have to wait and see.

  9. Actually, this is what they are going to try to do. Computing from the cloud.

    With the .net framework installed in you machine, you can add .net controls to a web page and if viewed thru Internet Explorer the controls will run. They basically give you the look and feel of the OS but in a web page and you don’t have to compile all that AJAX in the browser to get that interactivity.

    So far less code is embedded in the OS and more of it can be delivered thru the browser and yet you will have the options for you to add them to your online application but deliver them thru the browser.

    And yes, these types of .net apps can interact with the local OS on your machine just like embedded software programs do.

    So, instead of having a version of Windows installed on your machine, you have the basic needs to get the machine booted and then the rest is delivered thru the browser.

    Microsoft has been pushing this to developers for years, but you have to run IE for the controls to be recognized.

    This would make Windows more secure because MS would control their GUI from their servers and updates would no longer be so invasive of constantly necessary.

    If you want to learn more about this, Google “microsoft thin client”

  10. Actually, this is what they are going to try to do. Computing from the cloud.

    With the .net framework installed in you machine, you can add .net controls to a web page and if viewed thru Internet Explorer the controls will run. They basically give you the look and feel of the OS but in a web page and you don’t have to compile all that AJAX in the browser to get that interactivity.

    So far less code is embedded in the OS and more of it can be delivered thru the browser and yet you will have the options for you to add them to your online application but deliver them thru the browser.

    And yes, these types of .net apps can interact with the local OS on your machine just like embedded software programs do.

    So, instead of having a version of Windows installed on your machine, you have the basic needs to get the machine booted and then the rest is delivered thru the browser.

    Microsoft has been pushing this to developers for years, but you have to run IE for the controls to be recognized.

    This would make Windows more secure because MS would control their GUI from their servers and updates would no longer be so invasive of constantly necessary.

    If you want to learn more about this, Google “microsoft thin client”

  11. i’d really like you to do more of these blog posts. you know, one that doesnt contain the word friendfeed or twitter that often, and that focuses on heavy prediction concerning something i bit bigger than a sub 500.000 user site :) (i don’t want you to become cringley, though..) :D

  12. i’d really like you to do more of these blog posts. you know, one that doesnt contain the word friendfeed or twitter that often, and that focuses on heavy prediction concerning something i bit bigger than a sub 500.000 user site :) (i don’t want you to become cringley, though..) :D

  13. It seems to me that we are indeed discounting the future here. .Net or not, when running on 16GB 16 CPU computer of not so distant future, who would care?

    I think standartization of hardware needs to happen, and the sooner the better. Then you wouldn’t need 300 different drivers for every little device. Anyone remembers how cumbersome it was to connect anything to computer, before USB?

    This trend should continue into CPU, Audio, motherboards and other things. So that you could reasonably make everything work together without “translating” every little command to work differntly, depending on which brand of Audio card you have in there.

    I believe Microsoft is seeing that also, hence the recent “we will talk to hardware guys” hint.

    However, I am not so sure they see the computing model transformation happening 5 years or so down the road, when your mobile phone/device will become the only computing gadget you ever need. Capable of everything and anything your old clunky desktop could do. That is the solid rewrite opportunity, and if they don’t start now (or last year), they will definitely miss yet another computing transformation.

    Sadly, though Apple has the technological edge here, I am not the one to agree with their “user is stupid” philosophy. Yes, many are, but some aren’t. And the ratio between “clueless” PC users to “power” users will keep shifting at an ever accelerating pace, as the new generation grows up, just like my 4 year old, with wireless Internet-connected laptop on his plastic table from “Little Tikes”.

  14. It seems to me that we are indeed discounting the future here. .Net or not, when running on 16GB 16 CPU computer of not so distant future, who would care?

    I think standartization of hardware needs to happen, and the sooner the better. Then you wouldn’t need 300 different drivers for every little device. Anyone remembers how cumbersome it was to connect anything to computer, before USB?

    This trend should continue into CPU, Audio, motherboards and other things. So that you could reasonably make everything work together without “translating” every little command to work differntly, depending on which brand of Audio card you have in there.

    I believe Microsoft is seeing that also, hence the recent “we will talk to hardware guys” hint.

    However, I am not so sure they see the computing model transformation happening 5 years or so down the road, when your mobile phone/device will become the only computing gadget you ever need. Capable of everything and anything your old clunky desktop could do. That is the solid rewrite opportunity, and if they don’t start now (or last year), they will definitely miss yet another computing transformation.

    Sadly, though Apple has the technological edge here, I am not the one to agree with their “user is stupid” philosophy. Yes, many are, but some aren’t. And the ratio between “clueless” PC users to “power” users will keep shifting at an ever accelerating pace, as the new generation grows up, just like my 4 year old, with wireless Internet-connected laptop on his plastic table from “Little Tikes”.

  15. I agree Robert

    Why would Microsoft rewrite a successful Os for a long time. People griped about about 95 98 and xp. Now that Vista is out people gripe even more.

    Older apps don’t work, it hogs memory and my favorite the User Account Control is annoying me. If Apple did twice as much, people wouldn’t bat an eye.

  16. I agree Robert

    Why would Microsoft rewrite a successful Os for a long time. People griped about about 95 98 and xp. Now that Vista is out people gripe even more.

    Older apps don’t work, it hogs memory and my favorite the User Account Control is annoying me. If Apple did twice as much, people wouldn’t bat an eye.

  17. I think Vista gets a failing grade when it comes to backwards compatibility. The Windows team made so many breaking changes in Vista in the name of security. One of the biggest blunders of Vista in this area is it’s inability to run IE6.

    I’m sure we’d all like to see IE6 go away, but for many businesses who have built web apps on the IE6 platform (that didn’t change in years when it was around), they’ve found that their web apps don’t work in IE7. So, for them, Vista is not an option.

    It seems that Microsoft is in a bit of predicament. Their current OS suffers from backwards compatibility issues, and people will not move to it because of that, yet it keeps all of the baggage of being built upon an aging and obsolete design. When you think about it, Vista gives you all the disadvantages of a new OS while giving you all the disadvantages of an old OS. Microsoft has completely gotten it backwards with Vista.

  18. I think Vista gets a failing grade when it comes to backwards compatibility. The Windows team made so many breaking changes in Vista in the name of security. One of the biggest blunders of Vista in this area is it’s inability to run IE6.

    I’m sure we’d all like to see IE6 go away, but for many businesses who have built web apps on the IE6 platform (that didn’t change in years when it was around), they’ve found that their web apps don’t work in IE7. So, for them, Vista is not an option.

    It seems that Microsoft is in a bit of predicament. Their current OS suffers from backwards compatibility issues, and people will not move to it because of that, yet it keeps all of the baggage of being built upon an aging and obsolete design. When you think about it, Vista gives you all the disadvantages of a new OS while giving you all the disadvantages of an old OS. Microsoft has completely gotten it backwards with Vista.

  19. Breaking past APPs is not that scary a thing with nowadays virtualization technologies. You could put in some virtual environment to simulate the previous OS so that old APPs still have a place if you need them. MS is not going to let compatibility issues bother them forever.

  20. Breaking past APPs is not that scary a thing with nowadays virtualization technologies. You could put in some virtual environment to simulate the previous OS so that old APPs still have a place if you need them. MS is not going to let compatibility issues bother them forever.

  21. Lol! as a matter of fact bill gates put a challenge to big giants like yahoo, etc to come up with an effiecient operating system of their own that can take the market, especially become favourite of the house wives. Lets see if they can beat that.

  22. Lol! as a matter of fact bill gates put a challenge to big giants like yahoo, etc to come up with an effiecient operating system of their own that can take the market, especially become favourite of the house wives. Lets see if they can beat that.

  23. Transcript of the conversation interceded between Jon DeVaan and Bill Gates:

    Jon DeVaan: “Hi ..”
    Bill email (subject): “Have u tried Vista, what’s the matter with the performances?”
    Jon DeVaan: “Nvidia, Ausus, ..”
    Bill email (subject): “And what’s about us..”
    Jon DeVaan: “Nvidia, Ausus, ..”
    Bill email (subject): “We have no responsibility?”
    Jon DeVaan: “Maybe..”
    Bill email (subject): “What?”
    Jon DeVaan: “.Net Sir”
    Bill email (subject): “Aaaaaaahhh.. .Neeeet!”
    Bill email (subject): “Don’t disclose it!”
    Some days later..
    Bill email (subject): “Let’s the guys of the research starts a new OS. And wWe’ll go to check what .Net is and what is not too, ah-ah-ah!”

  24. Transcript of the conversation interceded between Jon DeVaan and Bill Gates:

    Jon DeVaan: “Hi ..”
    Bill email (subject): “Have u tried Vista, what’s the matter with the performances?”
    Jon DeVaan: “Nvidia, Ausus, ..”
    Bill email (subject): “And what’s about us..”
    Jon DeVaan: “Nvidia, Ausus, ..”
    Bill email (subject): “We have no responsibility?”
    Jon DeVaan: “Maybe..”
    Bill email (subject): “What?”
    Jon DeVaan: “.Net Sir”
    Bill email (subject): “Aaaaaaahhh.. .Neeeet!”
    Bill email (subject): “Don’t disclose it!”
    Some days later..
    Bill email (subject): “Let’s the guys of the research starts a new OS. And wWe’ll go to check what .Net is and what is not too, ah-ah-ah!”

  25. The app-compat issue is easily solved: spin up an isolated, hardware virtualized instance of Vista/XP/whatever, whenever you need it. What else are we going to do with all those other processor cores not being used?

    There are very few technical hurdles left to achieving this reality. Given this to be true, I no longer buy the argument that you *can’t* rewrite from scratch because of app-compat issues.

  26. The app-compat issue is easily solved: spin up an isolated, hardware virtualized instance of Vista/XP/whatever, whenever you need it. What else are we going to do with all those other processor cores not being used?

    There are very few technical hurdles left to achieving this reality. Given this to be true, I no longer buy the argument that you *can’t* rewrite from scratch because of app-compat issues.

  27. This is not some deep secret, there’s plenty of publicly available info on Midori on the web.

    There’s a project called “singularity” at MS which is basic research into the fundamentals of operating systems. How programs message each other and the kernel, how process isolation works, how APIs and API calling should work, etc. This is not an OS in any sense, it’s a mock system designed for exploring certain questions in OS design. All of the most popular OSes currently in use inherit a great deal of design fundamentals from older OSes, in a very real sense modern OSes are still working with the same design tradeoffs (in performance, robustness, development complexity, etc.) made in the 1970s. Singularity is research into how to gain advantage from revisiting some of these fundamental OS design decisions. It’s not the core of an OS, it’s not a kernel, it’s a research tool.

    Midori takes that research one or two steps further, building on the Singularity work to explore what consequences some of the Singularity results have for OS design and application development. Additionally, Midori looks at how it might be possible to make some of these new OS design concepts practical, and to merge them into future operating systems that people actually use. Fundamentally this means they are working at showing that these concepts are feasible to build into operating systems and have practical benefits, which will give them the credibility necessary to convince the folks in the Windows division to take these ideas seriously and start merging some of the features into new versions of Windows.

    Midori is not some super secret Skunk Works project which designed to surprise the whole world with a revolutionary new OS to replace Windows. Unfortunately, Midori has become the object of a great deal of rumor mongering which has resulted in every manner of claim being made about it, without any shred of backing. Midori will shine your shoes and walk your dog automatically, it will be a cloud computing OS, it will “replace” Windows, it will be “web-centric”, etc, etc, etc. Most of these are ridiculous claims.

    FYI:
    The Singularity public web page:
    http://research.microsoft.com/os/singularity/

  28. This is not some deep secret, there’s plenty of publicly available info on Midori on the web.

    There’s a project called “singularity” at MS which is basic research into the fundamentals of operating systems. How programs message each other and the kernel, how process isolation works, how APIs and API calling should work, etc. This is not an OS in any sense, it’s a mock system designed for exploring certain questions in OS design. All of the most popular OSes currently in use inherit a great deal of design fundamentals from older OSes, in a very real sense modern OSes are still working with the same design tradeoffs (in performance, robustness, development complexity, etc.) made in the 1970s. Singularity is research into how to gain advantage from revisiting some of these fundamental OS design decisions. It’s not the core of an OS, it’s not a kernel, it’s a research tool.

    Midori takes that research one or two steps further, building on the Singularity work to explore what consequences some of the Singularity results have for OS design and application development. Additionally, Midori looks at how it might be possible to make some of these new OS design concepts practical, and to merge them into future operating systems that people actually use. Fundamentally this means they are working at showing that these concepts are feasible to build into operating systems and have practical benefits, which will give them the credibility necessary to convince the folks in the Windows division to take these ideas seriously and start merging some of the features into new versions of Windows.

    Midori is not some super secret Skunk Works project which designed to surprise the whole world with a revolutionary new OS to replace Windows. Unfortunately, Midori has become the object of a great deal of rumor mongering which has resulted in every manner of claim being made about it, without any shred of backing. Midori will shine your shoes and walk your dog automatically, it will be a cloud computing OS, it will “replace” Windows, it will be “web-centric”, etc, etc, etc. Most of these are ridiculous claims.

    FYI:
    The Singularity public web page:
    http://research.microsoft.com/os/singularity/

  29. > For example, in managed code you can’t manipulate pointers, so you can have all your processes and the kernel sharing the same address space, running in kernel mode, without worrying that one of the programs is going to behave badly and corrupt memory belonging to the kernel.

    Not to get geekish, but you’re overstating the benefits and ignoring the costs. Yes, there are system calls where the cost of switching address spaces and protection domains is significant, but for a running system, it isn’t because most calls do enough work that the switch cost is negligible.

    And, you still have to manage/control managed applications even if they’re running in the same address space. It’s not enough to avoid corruption, you’ve got to control usage as well. (You probably even want to manage addresses for VM efficiency.) Separate address spaces help with some of these things.

    It’s unlikely that there’s any advantage when it comes to data for OS calls and IO, but that argument would require some actual numbers.

    The key point remains that this is old stuff.

  30. > For example, in managed code you can’t manipulate pointers, so you can have all your processes and the kernel sharing the same address space, running in kernel mode, without worrying that one of the programs is going to behave badly and corrupt memory belonging to the kernel.

    Not to get geekish, but you’re overstating the benefits and ignoring the costs. Yes, there are system calls where the cost of switching address spaces and protection domains is significant, but for a running system, it isn’t because most calls do enough work that the switch cost is negligible.

    And, you still have to manage/control managed applications even if they’re running in the same address space. It’s not enough to avoid corruption, you’ve got to control usage as well. (You probably even want to manage addresses for VM efficiency.) Separate address spaces help with some of these things.

    It’s unlikely that there’s any advantage when it comes to data for OS calls and IO, but that argument would require some actual numbers.

    The key point remains that this is old stuff.

Comments are closed.