Microsoft’s Universal Windows Platform Challenge
Last week, Epic Games co-founder Tim Sweeney wrote an opinion piece for the Guardian complaining about the Microsoft Windows Store and Universal Windows Platform (UWP). He said the company is trying to create a walled garden that’s bad for everyone except Microsoft. Executives at Microsoft were quick to dispute Sweeney’s argument. In short order, much of the tech press also sounded off. This week, Sweeney wrote a follow-up article in Venture Beat, striking a more conciliatory tone but still pushing for changes from Microsoft. All sides have valid points, but the discussion itself is fascinating as it succinctly reflects the challenges facing Microsoft. Broadly speaking, Microsoft is attempting to transition Windows from the complex and powerful operating system that dominated the world during the boom days of the PC industry to a more modern, secure, and restricted OS in a world where PCs are an important but minority device stakeholder. What’s perhaps the most interesting piece of all of this is how the company’s UWP strategy will impact its big bet on the future: HoloLens.
UWP is an extension of work Microsoft began with Windows 8 to enable developers to create modern, universal Windows apps. The idea was that, by unifying the code base between the traditional version of Windows used for desktops and notebooks with that of Windows Phone, the company could incentivize developers to create apps that would, with minimal work, run across all form factors. At the time, one could argue, Microsoft’s primary driver here was an attempt to close the widening app gap Windows Phone faced versus Apple’s iOS and Google’s Android. When it launched Windows 10, Microsoft further evolved the model, bringing forward a fully unified OS platform so that every device, from phones to tablets to PCs to even the Xbox will run the same apps, with developers able to easily tailor for the screen size and capabilities of the device in question.
In addition to enabling cross-device capabilities, UWP also brings forth a host of modern OS functions. The most notable being a new, more restrictive set of rules on what apps can and can’t do. Chief among these is security features that effectively sandbox UWP apps, limiting the impact they can have on the underlying OS as well as adjacent apps. In effect, UWP apps act more like apps running on modern mobile operating systems such as iOS. The difference here, however, is Windows 10 also still supports the traditional Win32 system, the underlying platform for Windows going back to Windows NT. This platform supports the legacy apps most of us use daily and is part of what made the PC so powerful, as it allowed programs deep access to the OS and adjacent apps. It also lets users download and install apps from anywhere. Alas, it’s also what makes the PC such a fertile ground for malware along with security and long-term performance issues.
By supporting both UWP and Win32 on Windows 10, Microsoft is trying to straddle two worlds. The traditional PC ecosystem with a long, rich tradition of powerful, backward compatible apps that can, at their worst, bring the OS to its knees, versus the modern mobile world where apps have a more limited impact on the underlying OS, creating a more secure, more stable experience. At present, the success of UWP is hard to gauge. I fully expect to hear more about the platform’s progress at Microsoft’s Build conference later this month.
In his original piece, Sweeney calls UWP “a closed platform within a platform” that he posits is bad for consumers, developers, and publishers because Microsoft is launching some features exclusively in UWP it won’t enable for traditional Win32 applications. Further, he suggests the company’s long-term goal is to get everyone to develop only UWP apps they sell exclusively through the Microsoft-controlled (and monetized) Windows Store. He argues this is harmful to the industry in general and to developers who sell through their Web sites and that it effectively ends the open PC platform. The company rebutted this accusation, with Microsoft’s Kevin Gallo noting “The Universal Windows Platform is a fully open ecosystem, available to every developer that can be supported by any store.”
Sweeney acknowledges Microsoft’s points in his follow-up piece but suggests UWP is still less open than Win32 because developers on the new platform must become a Microsoft Registered Developer and must submit their apps to Microsoft for approval. If Microsoft accepts the app, it digitally signs it and returns it to the developer, who can then distribute it. He questions whether this is a truly open system, and suggests he would like to see a CEO-level commitment from Microsoft to keeping the PC and UWP open.
Frankly, I’m not sure he can expect such a commitment. As Microsoft moves Windows 10 toward the future, you have to imagine company will endeavor to exert ever-greater control over the applications that run on its platform and the resulting experience for users. And, while it is equally hard to imagine a Windows platform that doesn’t support legacy Win32 apps, it also seems counter-intuitive to assume already ancient legacy apps will run as they do today on all future versions of Windows. Many of these apps, while powerful, contribute to a poor long-term experience for the average user. Sure, the serious PC gamers Sweeney serves want their games to have deep access to the OS to drive better gaming experiences. But the vast majority of consumer and commercial PC users would likely choose the other option — a PC experience that feels more like the one they have on their mobile phones. Fewer crashes, fewer issues when installing or deleting apps, and an operating system that remains more stable over the lifetime of the product.
While Microsoft has addressed Sweeney’s earlier comments, it’s unlikely we’ll see the company specifically address his call for a long-term commitment to his version of an open UWP. But a closer look at another set of developer documentation from the company offers a glimpse of its future.
The Future with HoloLens
As noted previously, Universal Apps and the evolved UWP started life in part as an incentive to get developers creating apps to run on Windows phone, which had fallen far behind iOS and Android in mobile. Bluntly, Microsoft missed the broader transition to mobile. The company has no intention of missing the next big evolution of computing: Augmented Reality. This is evident in its announcements and pending developer launch of its impressive HoloLens product. (Actually, Microsoft calls HoloLens a Mixed Reality product, but that’s a column for another day.) A review of Microsoft’s developer information for HoloLens is telling. The very first sentence on the development overview page states: “Developing holographic apps uses the Universal Windows Platform. All holographic apps are Universal Windows Apps, and all Universal Windows apps can be made to run on Microsoft HoloLens.”
Microsoft obviously sees HoloLens as crucial future technology for the company. It clearly states holographic apps developed for HoloLens will be UWP. That’s not to say the device won’t run Win32 apps but it seems clear the company expects developers to create all new, holographic apps on the UWP. I’ll let you draw your own conclusions about Microsoft’s stance on the future of app development for Windows from there.
So does that mean Microsoft will abandon support for Win32 on traditional PCs? Certainly not. But it’s hard to imagine the company maintaining the status quo indefinitely. I suspect at some point we’ll see such support evolve into something different from what it is today. While this will undoubtedly cause a fair amount of consternation among a large subset of existing users, it seems an inevitable conclusion to Microsoft’s current course.