Why 'One Microsoft' also means one Windows - for everyone

Why 'One Microsoft' also means one Windows - for everyone

Summary: Just what does the future of Windows look like? And can we predict it from the tea leaves of Microsoft's developer tools?


There's a lot of buzz around recent statements by Julie Larson-Green, at last week's UBS Technology Conference in Sausalito, where executive VP of Microsoft's devices and studios said "We have the Windows Phone OS. We have Windows RT and we have full Windows. We're not going to have three."

Many commentators have suggested that she's saying that Windows RT will be going away.

Build 2013: Our first sight of a faster, hacker-powered Microsoft

Build 2013: Our first sight of a faster, hacker-powered Microsoft

Build 2013: Our first sight of a faster, hacker-powered Microsoft

But her next couple of sentences (and much of what else she said) are just as important, as they seem to indicate a very different - and much wider - future for Windows. "We do think there's a world where there is a more mobile operating system that doesn't have the risks to battery life, or the risks to security. But, it also comes at the cost of flexibility. So we believe in that vision and that direction and we're continuing down that path." It's clear then that Microsoft's commitment to a sealed-case OS like WinRT isn't going to go away.

Microsoft clearly has a vision for the future of Windows, something Larson-Green hinted at in an earlier statement, "We've been working on becoming more modern in our thinking, both in the cloud infrastructure and how you access that to build applications, and run your business, and in the operating system itself.  And thinking about how Windows can scale from a small device to a large device up to a server, and the power that gives developers and IT professionals to manage those devices, and to give information out to people in their business no matter where they are."

So what is that future of Windows likely to be? There's an old line attributed to Marc Andreesen, from the early days of Netscape, in which he compares Windows to a loose collection of "poorly debugged device drivers."

In a devices and services world, that's actually not far from the truth (though we'd suggest that it actually means more attention being paid to those device drivers than was the case then…).

That's because in Microsoft's cloud-centric future the devices we use are ubiquitous computing end points - where the hardware we use is far less important than the services we consume through them.

That means the real heart of tomorrow's Windows are its APIs and its programming models, as they allow developers to build the software that makes those smart endpoints, whether they're cloud apps delivering web pages, mobile apps on phones or tablets, or full-featured software on the desktop.

We can look to Microsoft's current developer tools to see what that future might look like.

Windows 8.1 has brought significant changes to the core Windows APIs. With the latest versions of the WinRT SDK, Windows Store applications get access to many of the features used by desktop applications. Portable class libraries in .NET allow developers to split user interface code away from core business logic. Once encapsulated in PCLs, that core code can be used again and again, on device after device, with one Visual Studio project containing everything from cloud services to web UIs to desktop to Windows Store to Windows Phone.

The same goes for Windows Phone. While Windows Phone 7 proved to be a stopgap to get users accustomed to a new UI paradigm, the NT kernel-based Windows Phone 8 is bridging the gap between pocket devices and the familiar Windows. Its WinPRT development model is much closer to WinRT than the old Windows Phone development model, with common calls that make it easier to port code from one platform to the next. It's not the smooth transition that developers want, but it is a big step forward - and one that looks to be brought even closer to WinRT in Windows Phone 8.1 next year.

One Microsoft? That means one Windows. But it's not the Windows you might think. The user interface doesn't actually matter (as Microsoft's partnership with Xamarin shows). What matters is the underlying programming model, the APIs and the libraries that developers use to build their apps. With a common development model, Microsoft can deliver a common OS kernel for all its devices, with a common development environment - but with different device format-specific user interfaces.

Merging WinRT and WinPRT makes a lot of sense, as does a widening of the scope of Portable Class Libraries and extending WinRT to the desktop application space by making it a target for full .NET application development.

Developers will be able to use PCLs to build core application code that can be deployed everywhere from Azure to phones. They can then use device-specific code through a WinRT successor (and through Xamarin for non-Windows devices) to build the user interfaces that work best for the devices users will be accessing their services through. With Visual Studio there's one project for all those endpoints, and there's soon to be just one store for deployment to all the Windows devices (you'll need to go to Google Play and the Apple App Store for other devices).

It'll be interesting to see what the rest of Microsoft's leadership has to say about the future of Windows. As head of the company's devices business Larson-Green's viewpoint is important, but hers is no longer the key voice on the future of Windows. That's now Terry Myerson's, who has responsibility for all core Windows engineering across Microsoft's product line. That means not just desktop Windows, but the technologies behind Windows Phone, behind Xbox, and Azure. The pieces we've put together are his now, and it remains to be seen what he does with them, something we're unlikely to find out until after the launch of Windows Phone 8.1 next year.

What's clear is that when Julie Larson-Green says that the future of Windows isn't three different platforms, she's just pointing out where the trajectory of Windows development is leading. Its arc isn't to three Windows, or two, but to one.

It makes sense that that One Microsoft has one Windows, and that it's a common core across all devices - one kernel that compiles and runs on x86 or to ARM, on the cloud, on PCs, on tablets, on phones; all with one development model that makes it simpler for the same code to run across every device and every service we use.

Futher reading


Topics: Windows 8, Microsoft, Software Development, Windows Phone

Simon Bisson

About Simon Bisson

Simon Bisson is a freelance technology journalist. He specialises in architecture and enterprise IT. He ran one of the UK's first national ISPs and moved to writing around the time of the collapse of the first dotcom boom. He still writes code.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • But, will it work?

    So far the answer has been a resounding no from developers. And yeah, there are real reasons behind the NO.
    • The OS is more than the interface

      UNIX/Linux systems have been working quite nicely with multiple user interfaces for decades. There's no reason why Windows can't do the same while retaining a common kernel and system libraries.

      The mistake that MS made was trying to force an interface designed for touch screens onto desktops.
      John L. Ries
      • A bit bigger than that

        MS is looking to be the OS behind the interaction of the device / human matrix. Then add the XB1 to this and they have grandiose visions of being the front end device in this mix.
        Even though an MS user / developer, this is not something I wish to see nor feel MS can pull off. A complete intellectual revamp of the company mindset across all divisions would be needed. A mindset rewrite they do not have the skills, time, nor resources to pull off.
        • Not their cup of tea

          The direction you describe would be more likely to be taken up by Google.
      • I'll

        give you a vote, even if I only agree with the first half of your statement.

        I like the Modern UI, even on my desktop. I much prefer it to Windows 7, now that I am used to it.

        And the first part, you are right, although good program design has always worked that way.

        In the late 90s, we were working on web portals for insurance companies and the UI logic was split between JavaScript and ASP on the web server, whilst the business logical was running on a second server in C++ and VB and connecting to a SQL Server server and an AS/400 to get the data. The more things change, the more they stay the same...

        Or to quote Tommy Lee Jones in Under Siege:
        "A revolution gets its name by always coming back around in your face."
        • The UI didn't have to be hard coded!

          Unix/Linux has always has a tailorable user interface. I believe Microsoft made a mistake by having only a few fixed screens sizes. Linux can handle any size. All this sounds like Microsoft is throwing in the towel and is start over again with a new OS. Their OSes are not stable in that not even Microsoft is going to support any of them in the near future.
          Tim Jordan
          • Working

            Windows has always worked at the same resolutions as Linux on my machines, usually with less effort (I can still remember the nightmare of ATi X series modile chipsets and Linux around 2005-2006.

            Windows Phone was more restricted, but that also seems to br opening up slowly.

            Windows also works with retina displays, just poorly coded applications that don't follow the programming best practices seem to have problems.
    • Splitting

      the business logic from the UI is something we've (programmers) been doing for decades. The new version of Visual Studio might make that easier, but it has always been best practice.

      That goes back beyond my VB3 days to C and COBOL on minis and mainframes.
    • what WOULD work

      re: "What matters is the underlying programming model, the APIs and the libraries that developers use to build their apps. With a common development model, Microsoft can deliver a common OS kernel for all its devices, with a common development environment - but with different device format-specific user interfaces."

      As usual, Microsoft is way behind the curve here: Apple's mobile & desktop operating systems already share common application frameworks, and both of them are based on Darwin (which is derived from BSD and other free software projects). NetBSD was designed to do all of this from the beginning, and that is why it runs on every relevant hardware platform in existence. It is much easier to port drivers & applications from one platform to another on NetBSD than it is on any other OS. With the appropriate compatibility layer, NetBSD is technically capable of running binary applications that were designed for other operating systems such as Linux and Mac OS X without modification and without a noticeable performance penalty. NetBSD is the closest thing we have to a universal operating system, and since it is open source, the code is subject to peer review so you dont have to trust some gigantic corporate monolith that puts profit ahead of security. If more people would support NetBSD, we could have a viable global standard OS that is not owned and controlled by a single company with its own private agenda.

      You can pretty much tell what Microsoft was thinking: "Apple is only selling a lot of iPads because they have a touch user interface, so we will just slap our own crappy touch interface on everything and it will sell just as well, right?" This is so completely wrong that it's pointless to discuss here. There is no good reason for any production-level OS to attempt to achieve universal binary compatibility with Windows applications when the platform deviates so far from anything which remotely resembles a sensible standard, but it is feasible to do that with Mac applications and it would make perfect sense to do so during the transition phase. If you could run Mac and iOS applications without paying double the market price for Apple branded hardware, Microsoft would be forced to exit the operating system business entirely.

      It's no wonder that Bill Gates quit, when the project that occupied him for most of his career has become a dead end, and needs to start over from scratch just as Mac OS did back in the 1990's. However, even if a vast bureaucracy like Microsoft could accomplish this, and do a good job at it (which is implausible), the product would still lack support for common Unix methods & standards, and they would just continue to push things on us that we dont want (like a telephone user interface on the desktop). Why should developers bother to support that, especially when NetBSD could make cross-platform application development cheap and easy for everyone, all of the time? Why would schools, businesses and governments want something like Windows if they could save billions of dollars on equipment, software, training and support by deploying a global standard OS that runs on basically everything? PC manufacturers with sagging sales who are sick of pushing bloated, buggy, insecure & unwieldy Microsoft "solutions" on their unhappy customers should likewise take notice of the opportunities here:

      Just imagine a world in which NetBSD not only can run on everything, but actually is. Imagine a world in which big corporations like Apple and Microsoft only propose standards which are voted on by the community, instead of dictating them for the sake of fun and profit. Imagine a NetBSD app store that only takes ten percent, and the proceeds are used to pay bounties to developers who make improvements to the OS itself. Imagine funding development of open source software with lotteries. NetBSD can be the unifying force which leads us out of the Mac/Windows/Android mess into a harmonious and more secure computing future where resources are no longer wasted on competing proprietary standards which serve their owners far more than they serve the needs of the public. There is a migration path available to us and we would be wise to take it, instead of allowing these self-serving corporations to dominate and control us forever. This could work if we simply began to take Steve Jobs literally when he said that we ought to "think different". The computer age is only just beginning, and future generations will find our proprietary standards as quaint and silly and counter-productive as medieval superstitions are today.
  • ridiculous article...

    ...that assumes that microsoft does have a future.
    • Assumption

      That's a pretty safe assumption, actually, unless you now something that Wall Street doesn't.
    • Re: But, will it work?

      Given how Microsoft's been doing lately, it's also safe to assume that they do have a future.

      I'm more concerned about Apple though.
    • Of course it has a future

      How much of one depends on what management decides to do.
      John L. Ries
      • The real management of Microsoft is via the stockholders,

        who decide whether management needs to be retired or changed or given new directions. Stockholders are not about to let MS become complacent.

        The bigger decision makers for Microsoft, are the business and personal users of its technology. Decisions at the management level are dictated by what the people and companies want. So far, management is performing according to the demands of the people, as witnessed by its highly profitable many quarters.

        The other big thing(s) that are keeping Microsoft "safe" from ever becoming complacent, are the many products and services which demand constant attention. The product lines of Microsoft are a "fail safe" plan for the giant, and no other company can claim as huge a products and services portfolio. If any company is in danger of becoming obsolete, it would be companies like Google and Apple, since they really don't have real diversification in their product line.
        • Most stockholders...

          ...don't exercise that much influence and don't really try. A few of the large ones will, but most will be content to buy low, sell high, and leave business decisions to management (unless there's a buyout proposal on the table).

          It probably shouldn't be that way, but that's how it's been in publicly traded corporations for over a century.
          John L. Ries
  • PCLs - glorified DLLs

    And by no means any sort of new or revolutionary concept.

    This stuff frankly scares the pants off of me. We saw Microsoft gut .NET with the Metro UI down to a silverlight-like nothing. I don't want a crappy IDE in the cloud... I want to be able use normal Visual Studio in normal Windows to hit breakpoints, to attach to processes with debug symbols, all the usual developer stuff. And I don't want to be forced to program in Azure using some crappy nouveau WinRT for servers.... leave us our .NET!

    It seems like Microsoft asks of its developers every five years ago to throw out everything they know and start over. I will note that with Apple and xcode, we're not ever asked this. Take notice Microsoft!
    • You clearly don't have the faintest idea

      You claim to be a developer with experience of developing for Windows and OSX.

      And yet you claim that "Microsoft gutted a.NET in Win8"? Really? How? 90% of my a.NET code ports cleanly to Win8 with little/no changes. Most of my Silverlight code ports over with a tiny amount of modification to the code (although I spend the time to make sure my designs are updated accordingly). Almost all the a.NET API surface area remains not only intact, but significantly enhanced with async/await support for all async IO API's.

      Further, go ask Adobe about how Apple's long-term API support. When Apple decided not to port Carbon to 64-bit, it forced all its app vendors to also port all their code to an entirely new UI API: http://www.macworld.co.uk/mac-creative/news/?newsid=20878

      And when Apple decided to discontinue support for 680x0 processors and adopt PowerPC, again, all users wanting to move forward had to re-purchase all-new hardware and software. This was repeated when Apple completely re-set their entire ecosystem when they abandoned PowerPC and moved to x86/64.

      Microsoft, on the other hand STILL supports the VB6 runtime ensuring that your legacy, but often essential, LOB apps still run as they always did. I know of no other major platform vendor that offers a 10-year support policy for most of their API's and platforms whilst also continuing to move forward and introduce key new technologies and paradigm shifts.
      • What an eye rolling response

        As you're well aware, Apple basically threw out their operating system, and bought another company with a new OS. As you also know, Carbon was always - and only - created so that System 7-9 apps could be ported to OpenSTEP.

        The OS X APIs of today (Cocoa) vary only slightly from when they were originally created 20 years ago. You know this as well as I do, and don't pretend it isn't so.

        And since I have a former Microsoft developer to round on - do you guys understand what you did to us yanking System.Data? Do you guys even get how ludicrous it is to develop for Metro when the only freaking data store available (other than locally storing key value pairs or somesuch or a web hosted oData service) is freaking SQLLite?

        You guys should crawl away in shame, not be boasting, considering what you did to us.
  • Guess Microsoft hasn't yet figured out that...

    …"one-size-fits-all" is a really bad idea. The rest of the world seems to get that, but there must be a very strong "reality distortion field" in Redmond that prevents the Softies from realizing it.
    • Re: Guess Microsoft hasn't yet figured out that...

      No.. That's just your opinion.

      How can you be *so* sure that the rest of the world thinks that way.