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 thatwill be going away.
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.