Nadella’s “one operating system” ain’t new and won’t be one OS

Nadella is continuing down the same path that his predecessor laid.

While communication from Microsoft about its layoffs and reorganization lacks a certain amount of clarity, one statement made in its earnings call yesterday did appear to be straightforward: "We will streamline the next version of Windows from three operating systems into one single converged operating system for screens of all sizes" said CEO Satya Nadella.

The immediate reaction was twofold. From some parties, there were congratulatory noises, praising Nadella for this new strategy that moved away from the Ballmer-era multiple operating system. From others, there was glee that the "confusing" line-up of Windows, Windows RT, and Windows Phone would soon be gone and that in the future users would no longer need to worry about what their devices were using. Some are even cheering the "fact" that this means that Windows RT will be killed off forever.

That Nadella's remarks provoked headlines and column inches is ever so surprising, however, because what he said isn't new, isn't really being interpreted properly, and wasn't really his idea.

Further Reading

Yes, Microsoft is developing "one" operating system. But that's not a new Nadella-era policy. In the July 2013 reorganization performed by former CEO Steve Ballmer, all operating system development was combined into a single Operating Systems Engineering Group, headed by Terry Myerson.

The core of that operating system is now used in Windows Phone, Xbox One, Windows and Windows RT tablets, Windows PCs, and Windows Server systems. The operating system isn't completely identical across all of those variants—the phone and console both have special user interfaces, for example—but core features like the kernel, security model, and major APIs are the same.

Some of the differences are usage-driven. Windows Server sets some tuning parameters differently from Windows on the desktop because Windows Server is used for background services rather than as an interactive client operating system; Windows Phone has a somewhat pared down API and no desktop because it's designed for use on slow processors with 512MB RAM, 4GB storage, and a four-inch touch screen.

Other differences are driven by market segmentation or support concerns. Desktop Windows can't be used as a server, and Windows RT, for ARM tablets, will only run desktop applications that have Microsoft's digital signature.

These differences may in some sense be artificial, imposed not by any technical concern but rather by the economics of Microsoft's business. Still, they're not going to go away. Nadella said as much in the call; Windows will continue to have a range of SKUs with different prices and different features to address different market segments.

Similarly, the technical differences aren't going to be going away any time soon. It's feasible that Microsoft will ditch the "Windows RT" brand name for Windows compiled to run on ARM processors, but that won't magically enable Windows-on-ARM to run existing x86 software, and it doesn't mean that Windows-on-ARM is going away. The Windows desktop may be important for desktop and laptop users, but we're not going to see it on phones any time soon, because it's simply not designed for small screens and fingertips.

Further Reading

Microsoft may line things up behind the scenes, but for users they'll stay different.

As such, the idea that the allegedly confusing set of operating systems is going to go away is ill-conceived. The names may change, but the differences won't; the operating systems will look different and support different applications, and we're highly unlikely to ever see x86 desktop applications running on ARM Windows Phones. From the practical end-user perspective, there are going to be just as many Microsoft operating systems as there ever were.

What will happen is that there will be a single application model that can span Windows and Windows Phone, and in all likelihood, Xbox, too. Again, this isn't news. We know this already, because it's more or less shipping already. With Windows 8.1 and Windows Phone 8.1, developers can share a large proportion of code between their apps, with many applications needing only user interface adjustments to tackle the different operating systems.

Related to this are changes that have either already occurred or at least been previously revealed. Microsoft unified its developer portals, documentation, and registration program (some of those changes happening just last week), and news of a single app store leaked last year.

And while it was Satya Nadella who made the comments on the financial call, these aren't new Nadella-era policies. They were all put into motion during Ballmer's time as CEO, and in fact Ballmer explicitly described the way Windows would evolve. Talking at the Gartner Symposium 2013 last October, he clearly described how "Windows Everywhere" would work, with a common developer platform, common user interface concepts (but tailored to different form factors and devices), and common services across all devices. The new organizational structure and its unified operating system team was put together to enable this, and, Ballmer said, the results would be delivered relatively soon.

Even before that, the notion of "three screens and a cloud" championed by former Microsoft Chief Software Architect Ray Ozzie presaged this development, with the idea that Windows and its apps would span smartphones, PCs, and TVs. The tablet adds a fourth screen, but the concept is the same.

Nadella's "single converged operating system" isn't a new idea: it's the restatement of Ballmer's "Windows Everywhere" dream and a continuation of work that happened during his reign. It's a sensible dream, and it's a dream that's becoming ever more real. It's just not new.

What's critical for Microsoft is streamlining OS development. That means not maintaining three complete software stacks. It's fairly obvious to me that doesn't mean a literal single OS.

IMO, Microsoft is moving more toward the Linux model. In the Linux world, the major common features are the kernel, some low-level GNU utilities, and a few other components. Does that mean the "Linux" on my desktop is the same as that on my router? Nope. However, there sure is a lot of commonality.

If Windows cannot achieve this same level of "sharability" of components, then it cannot compete. Especially since operating systems are nearly free these days.

I kinda think it's a good thing that Nadella is perceived as the source of this "new" direction. Microsoft could desperately use some good PR, and a CEO who is seen as a positive force for change is good PR.

Nadella's "single converged operating system" isn't a new idea: it's the restatement of Ballmer's "Windows Everywhere" dream and a continuation of work that happened during his reign

Which as a continuation of 20 years of Microsoft dream. Windows was supposed to be 'everywhere' long before Ballmer took over. Remeber how easy it was (supposed to be) to develop for WinCE?

What's really sad is that the last 10 years involved so much failure to actually make progress on getting there.

Partly due to mobile hardware limitations, but I think a lot to do with internal politics leading to disparate development groups that worked against each other.

The old management model is the primary cause of this, or so I've been told.

You wouldn't believe the internal horror stories I've heard about orgs refusing to cooperate. Luckily, much of that does seem to be going away. Different groups are being heavily incentivized to get along by Nadella.

Side Note: Don't discount how powerful even cheap, embedded systems are now. A raspberry pi is more powerful than the PC I used in college through the end of the 90's. IMO, a truly unified "base OS" is far more achievable now than it was 10 years ago.

What's critical for Microsoft is streamlining OS development. That means not maintaining three complete software stacks. It's fairly obvious to me that doesn't mean a literal single OS.

IMO, Microsoft is moving more toward the Linux model. In the Linux world, the major common features are Linux, some low-level GNU utilities, and a few other components. Does that mean the "Linux" on my desktop is the same as that on my router? Nope. However, there sure is a lot of commonality.

If Windows cannot achieve this same level of "sharability" of components, then it cannot compete. Especially since operating systems are nearly free these days.

Quote:

Those who do not understand Unix are condemned to reinvent it, poorly.

Edit: I used this famous quote because it fit the post above. Unix is built on a "one thing well" philosophy where components that do one thing well and communicate using sockets/streams to do something more complex and bigger. Anyway didn't really intend to cause a flame war or suggest that MS (no $ see!!) would be wise to switch at this point in time. However, it may end up being that they will have ended up with a Unix like philosophy in their derivative of VAX.

I kinda think it's a good thing that Nadella is perceived as the source of this "new" direction. Microsoft could desperately use some good PR, and a CEO who is seen as a positive force for change is good PR.

Yup.

I laughed at those news outlets that treated it as if it was a news. Thought about leaving them a comment to correct their mistake but decided not to. lol

The one OS idea may be a little far out there in terms of all the different form factors, but I think the secret sauce is twofold, and already here.

The core of Windows is already shared across Windows, Windows Phone and Xbox. It's all Windows NT already.

And then universal apps. The end user likely doesn't care or know how unified things are in the background. They want their apps. It's all about apps these days. Actual universal projects compiled from Visual Studio are great, but the fact that the current Stores are setup and I can go "these two executables are universal apps!" and the end user suddenly has what they want no fuss. So the future is already here for the end user, it's now time for the path to be for the developer to actually just have on executable for all Windows-based platforms.

I've made my apps universal already and the feedback has been very positive.

This article really makes this sound like more of a sane approach than I first took it. If I am reading this right, it's a lot like how OS X and iOS are. When the iPhone was first announced, Steve Jobs made a point of saying that it runs OS X, and truthfully it does. They stripped it down to its bare essentials and created a new GUI, sure, but fundamentally iOS is still OS X. So even though Windows will be one OS going forward, in practice it'll be differentiated by the GUI as suits the device it's on and whatever tweaks/modifications are needed to accommodate those devices' needs or limitations.

Nadella's "single converged operating system" isn't a new idea: it's the restatement of Ballmer's "Windows Everywhere" dream and a continuation of work that happened during his reign

Which as a continuation of 20 years of Microsoft dream. Windows was supposed to be 'everywhere' long before Ballmer took over. Remeber how easy it was (supposed to be) to develop for WinCE?

What's really sad is that the last 10 years involved so much failure to actually make progress on getting there.

Partly due to mobile hardware limitations, but I think a lot to do with internal politics leading to disparate development groups that worked against each other.

The old management model is the primary cause of this, or so I've been told.

You wouldn't believe the internal horror stories I've heard about orgs refusing to cooperate. Luckily, much of that does seem to be going away. Different groups are being heavily incentivized to get along by Nadella.

There's no better incentive to work together than watching 18,000 coworkers being fired in one fell swoop.

Nadella's "single converged operating system" isn't a new idea: it's the restatement of Ballmer's "Windows Everywhere" dream and a continuation of work that happened during his reign

Which as a continuation of 20 years of Microsoft dream. Windows was supposed to be 'everywhere' long before Ballmer took over. Remeber how easy it was (supposed to be) to develop for WinCE?

What's really sad is that the last 10 years involved so much failure to actually make progress on getting there.

Partly due to mobile hardware limitations, but I think a lot to do with internal politics leading to disparate development groups that worked against each other.

The old management model is the primary cause of this, or so I've been told.

You wouldn't believe the internal horror stories I've heard about orgs refusing to cooperate. Luckily, much of that does seem to be going away. Different groups are being heavily incentivized to get along by Nadella.

Side Note: Don't discount how powerful even cheap, embedded systems are now. A raspberry pi is more powerful than the PC I used in college through the end of the 90's. IMO, a truly unified "base OS" is far more achievable now than it was 10 years ago.

I would entirely believe the stories, I know a couple really good engineers who went there after grad school, neither of them were there 2 years later, and the stories they had were ugly.

Agreed, hardware has definitely improved so that there's a lot more capability, but even look at xbox, why was that so disjoint for 2 generations? Offering the sort of integration we're starting to get with the One on the 360 should have been possible, and at that time would have been much more impactful.

What really boggles me about MS is how their software is, overall, exactly as good (or bad) as it was 20 years ago. One-third slick and useful, one-third clunky and basically usable, and one-third incomprehensibly stupid. Nothing has changed. Is this just some kind of long-term endemic corporate cultural thing, or do they do this on purpose?

I've long been of the opinion that they follow the Oracle model of software development, which is to make everything so convoluted and complex that you pretty much have to hire consultants in order to get anything done—on purpose, so as to engender a consultant ecosystem that allows them to make even more money.

This reminds me of the Carter/Reagan economic policy stuff. Carter starts to implement modern capitalist/no government interference policies, gets kicked out, then Reagan comes in, continues much the same thing, claims he came up with it and grabs headlines for it.

Ohwell, it's still a good idea being continued here so... sounds good.

One thing I hope the next iteration of Windows will finally give us is a unified design between the Metro and Desktop interfaces. The Metro interface clearly shows that they care about design and given how they pioneered the flat look and feel that seems ubiquitous now in software design it baffles me that they haven't bothered following through and applying this throughout their OS.

It is interesting how Apple and Microsoft are doing, in their own ways, very similar things. As was mentioned, Apple has OS X and iOS, and Microsoft has its versions. Microsoft is extending it to the XBox, and Apple has it in their aTv, which may become a game machine too.

Other differences are driven by market segmentation or support concerns. Desktop Windows can't be used as a server

As of Windows 8.1, IIS can still be installed with a few clicks (Add/Remove Programs -> Windows Features or whatever) - or did you mean something else? Is it just a licensing thing or are there actual restrictions as opposed to server-oriented optimizations?

Nadella's "single converged operating system" isn't a new idea: it's the restatement of Ballmer's "Windows Everywhere" dream and a continuation of work that happened during his reign.

If Nadella really does understand that keyboard and mouse devices with relatively large screens need an entirely different UI than touch screen devices with relatively small screens, that's new. It seems pretty clear from Microsoft's products over the decades that Ballmer really believed "Windows Everywhere" meant the familiar Windows UI, not just the guts underneath. Even when the Metro UI came along and seemed to imply that Microsoft had learned that lesson, they still obviously hadn't. They just shifted their idea of which UI should be everywhere and proceeded to try to force Metro onto keyboard and mouse users with Windows 8.

Of course they've been backtracking on that with every update to Windows since then but I'm still not convinced they've really gotten the message. I wouldn't be surprised if they tried to force the issue again in five years or so, thinking that the reaction to Windows 8 was just a matter of users not being ready for it rather than a fundamental issue of very different input methods requiring different UIs.

I like the quote "Those who do not understand Unix are condemned to reinvent it, poorly.", sad but true. Dave Cutler set out to kill *nix and has failed (thankfully)...

Microsoft, just like Apple before you, get a *nix, put your UI on top of it and you're done.

I think one of the main reasons OS X is so popular, esp. amongst the geeks (I'm not saying all geeks like OS X) is because it has Unix underneath. This is a huge thing. NT is a lot of money spent to reinvent what was already there. MS even owned a *nix.

I know a lot of people would disagree, but if I ran MS, I would at least do this, replace NT with *nix. If Apple can do it (from OS 9 to OS 10), then MS certainly could. We would need a "classic" mode (which I basically have on my OS X box with Parallels and coherence mode), and then allow people to port over to the new OS.

There are other things I would do, but this would be a good start.

Why? What advantage do they gain? Especially if the have to massively extend WINE and Mono?

I like the quote "Those who do not understand Unix are condemned to reinvent it, poorly.", sad but true. Dave Cutler set out to kill *nix and has failed (thankfully)...

Microsoft, just like Apple before you, get a *nix, put your UI on top of it and you're done.

I think one of the main reasons OS X is so popular, esp. amongst the geeks (I'm not saying all geeks like OS X) is because it has Unix underneath. This is a huge thing. NT is a lot of money spent to reinvent what was already there. MS even owned a *nix.

I know a lot of people would disagree, but if I ran MS, I would at least do this, replace NT with *nix. If Apple can do it (from OS 9 to OS 10), then MS certainly could. We would need a "classic" mode (which I basically have on my OS X box with Parallels and coherence mode), and then allow people to port over to the new OS.

I like the quote "Those who do not understand Unix are condemned to reinvent it, poorly.", sad but true. Dave Cutler set out to kill *nix and has failed (thankfully)...

Microsoft, just like Apple before you, get a *nix, put your UI on top of it and you're done.

I think one of the main reasons OS X is so popular, esp. amongst the geeks (I'm not saying all geeks like OS X) is because it has Unix underneath. This is a huge thing. NT is a lot of money spent to reinvent what was already there. MS even owned a *nix.

I know a lot of people would disagree, but if I ran MS, I would at least do this, replace NT with *nix. If Apple can do it (from OS 9 to OS 10), then MS certainly could. We would need a "classic" mode (which I basically have on my OS X box with Parallels and coherence mode), and then allow people to port over to the new OS.

There are other things I would do, but this would be a good start.

Why? What advantage do they gain? Especially if the have to massively extend WINE and Mono?

They've already unified runtimes, kernels, and APIs. Why switch now?

More than the technical reasons, there is no point. No matter what Microsoft does, it will never be able to bring back the hardcore OSS-zealot types who go out of their way to avoid using Microsoft software. All such a move would do is alienate everyone who has invested time in Windows, Powershell, .NET, etc for zero gain.

Indeed technically it would be also be stupid since just for starters you'd have to do something huge with every driver, ever and you'd lose the performance advantages of the NT kernel.

Disclaimer: I use both Windows and Linux - in fact work is all Linux, home used to be dual boot but is now limited to two or three VMs. My opinion doesn't count though because my laptop is Windows 8.1 and I like it.

There is a large amount of confusion because of different understandings of what an operating system is. Those misunderstandings have been further confused by the different ways that Microsoft has used the RT branding. A similar reality holds in the Android world that has difficulty understanding the reality that Android is just a flavor of Linux.Over the years Microsoft has incrementally developed a complex operating system infrastructure that includes the Windows NT kernel, the Win 32 API, COM, the Windows shell, the registry and a large variety of services that run in user space. Windows 8 introduced two major additions. One was support for ARM hardware. The other was the Win RT runtime that provided a complex framework for the user interface. Many people seem to thing that supporting ARM meant that Microsoft wrote a new operating system kernel or a new API between user space and the kernel. That idea was reinforced by the fact that Microsoft only made a subset of the Windows functions available on ARM and used the letters RT to brand the new operating system. In fact what Microsoft almost certainly did was add some device driver support needed for the hardware on ARM, recompiled Windows to generate object code for the ARM processor, and blocked whatever standard Windows function it chose not to support on the ARM platform. In the case of the RT runtime, it has always been clear that it was just a new layer added on top of the whole range of basic Windows operating system services and API's.The question for the future is not whether there are going to be multiple versions of the Windows operating system. It is whether users are going to be force to use the particular shell UI introduced for Windows 8 and whether desktop use of the Windows operating system is going to be relegated to legacy status. Traditionally Microsoft has given users a fair amount of freedom to customize their UI. The real question is whether Nadella plans to continue with the Ballmer straight jacket of forcing Metro on users whether they want it or not.

One thing I hope the next iteration of Windows will finally give us is a unified design between the Metro and Desktop interfaces. The Metro interface clearly shows that they care about design and given how they pioneered the flat look and feel that seems ubiquitous now in software design it baffles me that they haven't bothered following through and applying this throughout their OS.

Dear God I hope not. Aside from personally thinking the flat, minimalist aesthetic is horrible and ugly on a PC size screen and gives me flashbacks of Windows 286, the simple fact is that different input methods require different UI designs. A small number of large tiles work well on a relatively small touch screen but are horribly inefficient and downright annoying on a large desktop screen, for example. Just as the reverse was true and the traditional Windows desktop UI was awful on phones, even with a stylus that could provide a smaller, more precise contact patch than a finger tip. Maybe I'm just not imaginative enough, but I really don't think we're ever going to see a unified UI design that will work well with a touch device, a keyboard and pointer device, and a game controller and/or remote.

This reminds me of the Carter/Reagan economic policy stuff. Carter starts to implement modern capitalist/no government interference policies, gets kicked out, then Reagan comes in, continues much the same thing, claims he came up with it and grabs headlines for it.

Ohwell, it's still a good idea being continued here so... sounds good.

Thats some serious revisionist history. I cant even fathom the logical gymnastics that brought you to that conclusion. So unfortunate

What's critical for Microsoft is streamlining OS development. That means not maintaining three complete software stacks. It's fairly obvious to me that doesn't mean a literal single OS.

IMO, Microsoft is moving more toward the Linux model. In the Linux world, the major common features are the kernel, some low-level GNU utilities, and a few other components. Does that mean the "Linux" on my desktop is the same as that on my router? Nope. However, there sure is a lot of commonality.

If Windows cannot achieve this same level of "sharability" of components, then it cannot compete. Especially since operating systems are nearly free these days.

edit: Clarity

MS is already sharing the kernel across WinRT, WP8, Windows 8 and XBox OS. Welcome to a few years ago (though I guess XBox is a relatively new addition).

Nadella's "single converged operating system" isn't a new idea: it's the restatement of Ballmer's "Windows Everywhere" dream and a continuation of work that happened during his reign.

If Nadella really does understand that keyboard and mouse devices with relatively large screens need an entirely different UI than touch screen devices with relatively small screens, that's new.

No it isn't. Watch the video I linked.

I've seen that, and I must respectfully disagree. Ballmer explicitly says it, but after watching Microsoft's products over the years, right up to and including Windows 8, I don't think he believed it. I think the Windows 8 version of the Metro UI is what he had in mind as "adaptability" (his word from the video). I could be wrong, of course. In fact I'd be happy to be proven wrong over the next five years, particularly since the continuing 'iOSification' of the Mac OS X interface seems to indicate that Apple has forgotten the principle. Maybe twenty five years in IT has clouded my perception of Microsoft and left me a cranky old man, but I'll believe it when I see it.

I like the quote "Those who do not understand Unix are condemned to reinvent it, poorly.", sad but true. Dave Cutler set out to kill *nix and has failed (thankfully)...

Microsoft, just like Apple before you, get a *nix, put your UI on top of it and you're done.

I think one of the main reasons OS X is so popular, esp. amongst the geeks (I'm not saying all geeks like OS X) is because it has Unix underneath. This is a huge thing. NT is a lot of money spent to reinvent what was already there. MS even owned a *nix.

I know a lot of people would disagree, but if I ran MS, I would at least do this, replace NT with *nix. If Apple can do it (from OS 9 to OS 10), then MS certainly could. We would need a "classic" mode (which I basically have on my OS X box with Parallels and coherence mode), and then allow people to port over to the new OS.

There are other things I would do, but this would be a good start.

Besides the fact that OSX doesn't even technically use the Unix kernel lol, what would that even solve? Nothing.

Does this mean their going to kill the idea of a tablet interface on my desktop or is it here to stay?

More like the dichotomy between desktop and tablet is going away. It will be more seamless. If you don't want Metro apps, fine. Ignore them. If you want to run one or two on your desktop, that's an option too. If you want to be full screen with an app like Netflix, that'll be there also. But I expect Metro apps to be right at home on the desktop as desktop apps currently are with APIs from the mobile world (push is a big one, pre-defined app interoperability is another).

I also never did get why the icons didn't get a refresh in Windows 8, it's as if they wanted to give off the idea not only that Metro was here but desktop was going away to be slowly neglected. *That* was a step too far and why Sinofsky got canned.