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?

  • Editor

    Hello Robert. Did you not see where Worthington quoted a Microsoft executive saying that there was no development schedule? Did you even read the entire story, or are you just bloviating?

  • Mike Woodhouse

    Isn’t the legacy-app “problem” something that’s going to be handled by virtualisation? Once we have a swanky new not-Windows we’ll just run the old stuff in Windows under the supervision of a hypervisor.

    Seems pretty simple to me (hah!)

  • Mike Woodhouse

    Isn’t the legacy-app “problem” something that’s going to be handled by virtualisation? Once we have a swanky new not-Windows we’ll just run the old stuff in Windows under the supervision of a hypervisor.

    Seems pretty simple to me (hah!)

  • Dave

    I’ve said in other forums that I don’t think there will be another successful new-from-scratch, general purpose OS from anyone. Ever. The last one was Windows NT. Completely — or even mostly — replicating the functionality of Windows or OSX (which was pretty much a tweaked BSD Unix + a new GUI + a Mac OS 9 compatibility layer) or Linux (which was a Unix workalike) is just too much work. Only Microsoft could afford to do it, and they have a major financial interest in not doing it. And Linux and the BSDs are sucking up all the oxygen for open source projects.

    Besides, if you really want a new, custom OS for some reason, it’s too much easier to just start from a base of Linux or BSD Unix, which is already there and free to use.

  • Dave

    I’ve said in other forums that I don’t think there will be another successful new-from-scratch, general purpose OS from anyone. Ever. The last one was Windows NT. Completely — or even mostly — replicating the functionality of Windows or OSX (which was pretty much a tweaked BSD Unix + a new GUI + a Mac OS 9 compatibility layer) or Linux (which was a Unix workalike) is just too much work. Only Microsoft could afford to do it, and they have a major financial interest in not doing it. And Linux and the BSDs are sucking up all the oxygen for open source projects.

    Besides, if you really want a new, custom OS for some reason, it’s too much easier to just start from a base of Linux or BSD Unix, which is already there and free to use.

  • http://galaxyspectrum.com/ Public Relations

    Microsoft’s direction will be dependent on the evolution of the PC.

    Imagine the technology 10 years from now? How about 40 years from now?

    Imagine mobile technology advancing so as to cut in half the usage of the PC – like cell phones and VOIP have affected landlines.

    In terms of the LOTUS analogy about breaking old apps – perhaps a powerful Virtual ware or middle ware will be added on the OS – that will act as a client SOA to allow anyone to access and integrate with those old apps.

    Also, Microsoft will have to invest in the SAAS trend that can only get bigger.
    They will probably focus on integrating the concept in their software so everything is accessible and editable at all times – then synched.

    40 years from now – their may be a new language to replace .NET.

  • http://galaxyspectrum.com/ Public Relations

    Microsoft’s direction will be dependent on the evolution of the PC.

    Imagine the technology 10 years from now? How about 40 years from now?

    Imagine mobile technology advancing so as to cut in half the usage of the PC – like cell phones and VOIP have affected landlines.

    In terms of the LOTUS analogy about breaking old apps – perhaps a powerful Virtual ware or middle ware will be added on the OS – that will act as a client SOA to allow anyone to access and integrate with those old apps.

    Also, Microsoft will have to invest in the SAAS trend that can only get bigger.
    They will probably focus on integrating the concept in their software so everything is accessible and editable at all times – then synched.

    40 years from now – their may be a new language to replace .NET.

  • Pingback: Prize fight: Scoble vs. Worthington, who wins? « Tech Bits and Bytes

  • http://blogs.zdnet.com/microsoft Mary Jo Foley

    Hi, Robert:

    What SD Times’ story (and my previous coverage on Midori — http://blogs.zdnet.com/microsoft/?p=1466) both noted is that the origins of Midori is Singularity, Microsoft’s managed code OS which is not Windows-based. Singularity was written from scratch and didn’t use Windows as the core.

    Microsoft is looking ahead — as it should be — to what comes after Windows as it exists today. Near term, Windows 7, Windows 8. Longer term, it’s Midori (unless the project never makes it out of incubation). Windows is big and bloated; starting over with something new is needed. And virtualization will allow MS to carry the user base with them… Mary Jo

  • http://blogs.zdnet.com/microsoft Mary Jo Foley

    Hi, Robert:

    What SD Times’ story (and my previous coverage on Midori — http://blogs.zdnet.com/microsoft/?p=1466) both noted is that the origins of Midori is Singularity, Microsoft’s managed code OS which is not Windows-based. Singularity was written from scratch and didn’t use Windows as the core.

    Microsoft is looking ahead — as it should be — to what comes after Windows as it exists today. Near term, Windows 7, Windows 8. Longer term, it’s Midori (unless the project never makes it out of incubation). Windows is big and bloated; starting over with something new is needed. And virtualization will allow MS to carry the user base with them… Mary Jo

  • http://www.revision3.com/ Jim Louderback

    I’ve known David Worthington for a long time, and he’s one of the more tech-savvy reporters on the beat. Not an idiot by a long shot. Maybe you need to rethink your assumptions, and read the article more closely. Quotes in the article from MSFT clearly say that its a research project and 10 years off if at all.

    jim

  • http://www.revision3.com Jim Louderback

    I’ve known David Worthington for a long time, and he’s one of the more tech-savvy reporters on the beat. Not an idiot by a long shot. Maybe you need to rethink your assumptions, and read the article more closely. Quotes in the article from MSFT clearly say that its a research project and 10 years off if at all.

    jim

  • http://www.betanews.com Ed Oswald

    Really off Robert. Calling somebody an idiot is just bad form. I didn’t really see any kind of solid explanation why David is wrong. And if you really believe Bill Gates would hold onto this codebase for 20+ years, I got a bridge in Brooklyn to sell you.

    That kind of assumption is almost idiotic in itself!

  • http://www.betanews.com/ Ed Oswald

    Really off Robert. Calling somebody an idiot is just bad form. I didn’t really see any kind of solid explanation why David is wrong. And if you really believe Bill Gates would hold onto this codebase for 20+ years, I got a bridge in Brooklyn to sell you.

    That kind of assumption is almost idiotic in itself!

  • http://jeffsolomon.com/blog Jeff

    Sounds like a research project that is well worth undertaking right now. I’d summarize my take on it as this (imagine Microsoft speaking): “If we could start over from scratch today, taking advantage of everything we’ve learned and everything we know about the state of computing and networking today and our current concept of the future, what would it look like?”

    Why SHOULDN’T Microsoft be doing this? They would be doing themselves a disservice if they weren’t asking these questions and trying to find the answers. How this work gets productized is a completely different question. I doubt this initiative will result in a new OS release as we typically define them. This sounds more like Microsoft’s “Cairo” project, the definition of which shifted over time but which ended up providing a baseline of ideas and technologies, many of which were added to Windows and Windows products over time.

    Also, while I think Microsoft will remain focused on profound levels of backward compatibility in its OS products for the foreseeable future, I think people underestimate the ability of virtualization to provide that compatibility. An OS no longer needs to be compatible at its core to run older software- it just needs to be able to virtualize a system that can handle it, and as virtualization technologies continue to get better and better, I think it becomes feasible to think that MS could eventually replace Windows with something different that still maintains high levels of compatibility.

  • http://jeffsolomon.com/blog Jeff

    Sounds like a research project that is well worth undertaking right now. I’d summarize my take on it as this (imagine Microsoft speaking): “If we could start over from scratch today, taking advantage of everything we’ve learned and everything we know about the state of computing and networking today and our current concept of the future, what would it look like?”

    Why SHOULDN’T Microsoft be doing this? They would be doing themselves a disservice if they weren’t asking these questions and trying to find the answers. How this work gets productized is a completely different question. I doubt this initiative will result in a new OS release as we typically define them. This sounds more like Microsoft’s “Cairo” project, the definition of which shifted over time but which ended up providing a baseline of ideas and technologies, many of which were added to Windows and Windows products over time.

    Also, while I think Microsoft will remain focused on profound levels of backward compatibility in its OS products for the foreseeable future, I think people underestimate the ability of virtualization to provide that compatibility. An OS no longer needs to be compatible at its core to run older software- it just needs to be able to virtualize a system that can handle it, and as virtualization technologies continue to get better and better, I think it becomes feasible to think that MS could eventually replace Windows with something different that still maintains high levels of compatibility.

  • Technobabe

    Dude, did you actually read the article? It was actually well-researched and well-written, and even if something like Midori is 10-plus years out, Microsoft has to do something along these lines because Windows as we know it is a dying breed. But I guess Microsoft cronies like you can’t see that

    Wonder why MSFT missed the boat on the Web? They couldn’t see the forest for the trees. Maybe they don’t want to make that mistake again. And maybe you shouldn’t make it for them either. I think you’re just angry David scooped you.

  • Technobabe

    Dude, did you actually read the article? It was actually well-researched and well-written, and even if something like Midori is 10-plus years out, Microsoft has to do something along these lines because Windows as we know it is a dying breed. But I guess Microsoft cronies like you can’t see that

    Wonder why MSFT missed the boat on the Web? They couldn’t see the forest for the trees. Maybe they don’t want to make that mistake again. And maybe you shouldn’t make it for them either. I think you’re just angry David scooped you.

  • Ben

    Didn’t Bill just turn over the reigns of the company to Ballmer, and some guy named Ray Ozzie as the Chief Technology something or other?, In which case, why are we laying this at Gates’ feet? Sure I’m guessing he will still be somewhat involved in things, but if he is going to continue to set strategy for the company after semi-officially leaving, then there will be too much infighting and continued loyalty to Bill if he even hints at doing something else, that MS will never get anything done from now on.

  • Ben

    Didn’t Bill just turn over the reigns of the company to Ballmer, and some guy named Ray Ozzie as the Chief Technology something or other?, In which case, why are we laying this at Gates’ feet? Sure I’m guessing he will still be somewhat involved in things, but if he is going to continue to set strategy for the company after semi-officially leaving, then there will be too much infighting and continued loyalty to Bill if he even hints at doing something else, that MS will never get anything done from now on.

  • HenryB

    VM technology, if properly integrated, would allow old apps like 123 to run on (along side) a completly new OS in a transparent way. Such an architecture has importnat advantages for security that are end-user marketable. Politics, not technology, have always been in the way of inovation at the Soft.

  • HenryB

    VM technology, if properly integrated, would allow old apps like 123 to run on (along side) a completly new OS in a transparent way. Such an architecture has importnat advantages for security that are end-user marketable. Politics, not technology, have always been in the way of inovation at the Soft.

  • joecab

    Pardon my ignorance, but why COULDN’T they do a complete rewrite with a rock-solid emulator for older apps? That’s part of what worked in Apple’s favor: don’t break older apps but still set them off in their own little neighborhood to gradually wean people off them and point them to a brighter future. It’ll work, but again, we’re talking ROCK SOLID for this to succeed. Isn’t it better to make this transition by choice rather than out of desperation like Apple had to?

  • joecab

    Pardon my ignorance, but why COULDN’T they do a complete rewrite with a rock-solid emulator for older apps? That’s part of what worked in Apple’s favor: don’t break older apps but still set them off in their own little neighborhood to gradually wean people off them and point them to a brighter future. It’ll work, but again, we’re talking ROCK SOLID for this to succeed. Isn’t it better to make this transition by choice rather than out of desperation like Apple had to?

  • http://scobleizer.com/ Robert Scoble

    Mary Jo Foley: I interviewed the Singularity team back when they started. They are NOT trying to replace Windows. They are trying to do operating system research. While not built on top of Windows Singularity IS built on top of .NET’s compilers and runtimes.

    Jim Louderback and others: I didn’t say the author of the article is an idiot. My headline came mostly from seeing other people pick up what he wrote and take the headline on its face, that this is an effort to replace Windows with something new.

    Even Windows still has pieces of DOS underneath. The idea that you could rewrite Windows and have any application and driver compatibility is just not realistic. I have both Parallels and VMWare running on my Mac and they both suck compared to a real Windows machine.

    Microsoft is NOT Apple. Apple has, what, a handful of computers that they need to support? Microsoft has a whole industry of thousands of pieces of hardware that they must support.

    Now, that’s not saying that Midori and Singularity don’t have a HUGE amount of value. They do: as research projects or as projects to build something completely new that are NOT Windows. Maybe a new cell phone OS? Maybe a new kind of server OS where app and driver compatibility won’t matter.

    But to even try to say with a straight face that such an effort will even attempt to replace Windows anytime in the forseeable future is just plain stretching it.

  • http://scobleizer.com/ Robert Scoble

    Mary Jo Foley: I interviewed the Singularity team back when they started. They are NOT trying to replace Windows. They are trying to do operating system research. While not built on top of Windows Singularity IS built on top of .NET’s compilers and runtimes.

    Jim Louderback and others: I didn’t say the author of the article is an idiot. My headline came mostly from seeing other people pick up what he wrote and take the headline on its face, that this is an effort to replace Windows with something new.

    Even Windows still has pieces of DOS underneath. The idea that you could rewrite Windows and have any application and driver compatibility is just not realistic. I have both Parallels and VMWare running on my Mac and they both suck compared to a real Windows machine.

    Microsoft is NOT Apple. Apple has, what, a handful of computers that they need to support? Microsoft has a whole industry of thousands of pieces of hardware that they must support.

    Now, that’s not saying that Midori and Singularity don’t have a HUGE amount of value. They do: as research projects or as projects to build something completely new that are NOT Windows. Maybe a new cell phone OS? Maybe a new kind of server OS where app and driver compatibility won’t matter.

    But to even try to say with a straight face that such an effort will even attempt to replace Windows anytime in the forseeable future is just plain stretching it.

  • http://scobleizer.com/ Robert Scoble

    joecab: 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. Even Vista needs better video capabilities, for instance.

  • http://scobleizer.com/ Robert Scoble

    joecab: 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. Even Vista needs better video capabilities, for instance.

  • Ian L.

    Microsoft will not do a complete rewrite in the next 30-40 years, and you are an idiot if you think otherwise! Actually, make that 10 years.

    What are you trying to SAY?

  • Ian L.

    Microsoft will not do a complete rewrite in the next 30-40 years, and you are an idiot if you think otherwise! Actually, make that 10 years.

    What are you trying to SAY?

  • http://scobleizer.com/ Robert Scoble

    Anything longer than 3 years out is impossible to predict, is what I’m trying to say. :-)

    But, I know the kernel team is working on Windows 8.0 already and it’s not a rewrite, so that takes us at least into 2013.

  • http://scobleizer.com/ Robert Scoble

    Anything longer than 3 years out is impossible to predict, is what I’m trying to say. :-)

    But, I know the kernel team is working on Windows 8.0 already and it’s not a rewrite, so that takes us at least into 2013.

  • wekempf

    “Mary Jo Foley: I interviewed the Singularity team back when they started. They are NOT trying to replace Windows. They are trying to do operating system research. While not built on top of Windows Singularity IS built on top of .NET’s compilers and runtimes. ”

    Wow! Just, wow!

    Scoble, you need to stop trying to talk like you have a clue about what you’re discussing when it comes to software development. You’re just making a fool of yourself. You’re assertion that Midori couldn’t possibly replace Windows in the short term is obvious. Assuming this has anything to do with .NET not being capable, or then confusing an OS with a compiler and a runtime (do you know what that means?), is just sheer idiocy. You’re talking like you have insider information and technical understanding, when I highly doubt you have the former and it’s obvious you don’t have the latter.

  • wekempf

    “Mary Jo Foley: I interviewed the Singularity team back when they started. They are NOT trying to replace Windows. They are trying to do operating system research. While not built on top of Windows Singularity IS built on top of .NET’s compilers and runtimes. ”

    Wow! Just, wow!

    Scoble, you need to stop trying to talk like you have a clue about what you’re discussing when it comes to software development. You’re just making a fool of yourself. You’re assertion that Midori couldn’t possibly replace Windows in the short term is obvious. Assuming this has anything to do with .NET not being capable, or then confusing an OS with a compiler and a runtime (do you know what that means?), is just sheer idiocy. You’re talking like you have insider information and technical understanding, when I highly doubt you have the former and it’s obvious you don’t have the latter.

  • Ian L.

    Well, if it’s impossible to predict technology then why call folks with less popular opinions idiots? The folks who make safe guesses are wrong just as often.

  • Ian L.

    Well, if it’s impossible to predict technology then why call folks with less popular opinions idiots? The folks who make safe guesses are wrong just as often.

  • Andy Freeman

    What is so special about managed code that makes writing an OS in it interesting or difficult? (I’ve written managed code and I know something about lisp machines and the xerox D-machines.)

  • Andy Freeman

    What is so special about managed code that makes writing an OS in it interesting or difficult? (I’ve written managed code and I know something about lisp machines and the xerox D-machines.)

  • http://scobleizer.com/ Robert Scoble

    Andy: the programmers at Microsoft tell me that managed code is a TON easier to write. Mostly cause you don’t have to do so much worrying about memory and all that. At least that’s what they tell me. The downside? Performance, memory usage, and also engineering tools to help figure out where bugs are and all that.

  • http://scobleizer.com/ Robert Scoble

    Andy: the programmers at Microsoft tell me that managed code is a TON easier to write. Mostly cause you don’t have to do so much worrying about memory and all that. At least that’s what they tell me. The downside? Performance, memory usage, and also engineering tools to help figure out where bugs are and all that.

  • http://aiusepsi.co.uk aiusepsi

    What makes managed code interesting for OSes is that you can use properties of managed code to make provably true assertions about the state of the system.

    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.

    This reduces the cost of calls into the kernel and inter-process communication down to pretty much zero, because you don’t have to do a hardware context switch. You get a performance GAIN out of having your OS in managed code.

  • http://aiusepsi.co.uk Andy Simpson

    What makes managed code interesting for OSes is that you can use properties of managed code to make provably true assertions about the state of the system.

    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.

    This reduces the cost of calls into the kernel and inter-process communication down to pretty much zero, because you don’t have to do a hardware context switch. You get a performance GAIN out of having your OS in managed code.

  • David Loster

    >the programmers at Microsoft tell me that managed code is a TON easier >to write. Mostly cause you don’t have to do so much worrying about >memory and all that.

    Robert, this is true, but you are drawing the wrong conclusions. Managed code is great for _applications_, because you aren’t interested in memory management. However, we you are writing a production OS (not an experimental one like Singularity) you want full control of the memory, not extra layers. When you are writing a driver you want direct access to your own hardware, not to go through somebody else’s run-time environment.

    There’s a time and a place for managed code. The internals of the kernel is not one of them.

  • David Loster

    >the programmers at Microsoft tell me that managed code is a TON easier >to write. Mostly cause you don’t have to do so much worrying about >memory and all that.

    Robert, this is true, but you are drawing the wrong conclusions. Managed code is great for _applications_, because you aren’t interested in memory management. However, we you are writing a production OS (not an experimental one like Singularity) you want full control of the memory, not extra layers. When you are writing a driver you want direct access to your own hardware, not to go through somebody else’s run-time environment.

    There’s a time and a place for managed code. The internals of the kernel is not one of them.

  • wekempf

    “Andy: the programmers at Microsoft tell me that managed code is a TON easier to write. Mostly cause you don’t have to do so much worrying about memory and all that. At least that’s what they tell me. The downside? Performance, memory usage, and also engineering tools to help figure out where bugs are and all that.”

    And again, you don’t know what you’re talking about. Performance isn’t really an issue (top Microsoft employees demonstrated this), especially when a “managed OS” will have already loaded the runtime. Memory usage is manageable. Engineering tools exist already and are, if anything, are more robust due to reflection and other aspects of managed code.

  • wekempf

    “Andy: the programmers at Microsoft tell me that managed code is a TON easier to write. Mostly cause you don’t have to do so much worrying about memory and all that. At least that’s what they tell me. The downside? Performance, memory usage, and also engineering tools to help figure out where bugs are and all that.”

    And again, you don’t know what you’re talking about. Performance isn’t really an issue (top Microsoft employees demonstrated this), especially when a “managed OS” will have already loaded the runtime. Memory usage is manageable. Engineering tools exist already and are, if anything, are more robust due to reflection and other aspects of managed code.

  • joecab

    Then unless MS does something super risky like start a brand-new OS alongside Windows that’s tempting enough to start getting people (especially cutting edge users) to transition over, I dunno what they can do. Apple is going through another coding rewrite for efficiency with Snow Leopard which will I assume be Intel only, rewrite anything still using more Carbon code than it should (*cough*Finder*cough*), and speed things up across the board. It’s not anywhere near as radical as going from OS 9 to OS X but it sure seems like something you need to do every few years to stay competitive.

  • joecab

    Then unless MS does something super risky like start a brand-new OS alongside Windows that’s tempting enough to start getting people (especially cutting edge users) to transition over, I dunno what they can do. Apple is going through another coding rewrite for efficiency with Snow Leopard which will I assume be Intel only, rewrite anything still using more Carbon code than it should (*cough*Finder*cough*), and speed things up across the board. It’s not anywhere near as radical as going from OS 9 to OS X but it sure seems like something you need to do every few years to stay competitive.

  • Andy Freeman

    I shouldn’t have used the word “interesting” – there’s no question that managed code has benefits. (Remember, I wrote that I’ve written managed code.)

    “Difficult” was the key word – why is it hard for MS to write an OS using managed code? It’s been done a couple of times before. (I even mentioned a couple of them in the parenthetical and there are others.)

    You do know that “managed code” is merely MS-speak for code that has certain properties and that MS didn’t invent any of those properties or even their combination, right?

  • Andy Freeman

    I shouldn’t have used the word “interesting” – there’s no question that managed code has benefits. (Remember, I wrote that I’ve written managed code.)

    “Difficult” was the key word – why is it hard for MS to write an OS using managed code? It’s been done a couple of times before. (I even mentioned a couple of them in the parenthetical and there are others.)

    You do know that “managed code” is merely MS-speak for code that has certain properties and that MS didn’t invent any of those properties or even their combination, right?