Epic Games' Tim Sweeney wrote an opinion piece in The Guardian saying that Microsoft's Universal Windows Platform (UWP)—the common development platform that covers Windows, Windows Mobile, HoloLens, and soon, Xbox One—"can, should, must, and will die." Sweeney's complaint is that UWP is locked down. By default, UWP apps can only be installed and purchased through Microsoft's store, and they have to run from a sandboxed environment. So some Windows features are, or will be, only available to UWP apps. In this way, Sweeney says that Microsoft is "curtailing users' freedom to install full-featured PC software, and subverting the rights of developers and publishers to maintain a direct relationship with their customers," especially as Microsoft makes some Windows features UWP-only.

Sweeney wants UWP to either be destroyed or made "open" in the same way that the traditional Win32 API is "open." This is in three parts: he wants UWP apps to be downloadable and installable from the Web by default (without needing to change any settings or enable sideloading), he wants third parties to be able to create their own storefronts for UWP apps, and he wants it to always be possible for developers to sell directly to users without Microsoft taking a 30 percent cut.

This is a strange complaint for two main reasons. The first issue is that the UWP lock-down is, overall, a positive thing. The second is that there doesn't appear to be anything preventing third-party downloads, third-party storefronts, and third-party billing right now.

The PC is honestly a bit of a mess

Why are the UWP restrictions worthwhile? What Sweeney seems to miss is that the PC platform is, for many people, broken, and a lot of people don't actually like it. The "consoleization" of the PC, like the consoleization of the smartphone before it, isn't motivated simply by some desire to seize control of software sales. It's motivated by the desire to make the PC not horrible.

The PC platform has a bad reputation. Malware in all its various types is endemic. Even good software comes bundled with undesirable spyware. Software applications suffer incompatibilities with each other; they suffer incompatibilities with device drivers. Programs do not uninstall cleanly, leaving detritus scattered hither and yon. They also don't upgrade consistently, with every single application having its own patching and updating infrastructure. Even when everything works, upgrading your operating system is prone to breaking it all. These problems may be overstated somewhat by the platform's detractors, but they're all true to at least some extent, and these problems serve only to boost non-PC platforms.

The reliability offered by games consoles—uniform updating, clean uninstallation, no scope for weird video driver crashes or other such annoyances—has long been a thorn in the side of the PC platform. Many gamers explicitly opt for that greater simplicity and robustness, even if it comes at the expense of ultimate flexibility and openness. Those consoles are all gatekept platforms, with software having to pass some form of accreditation process before it can be published for a given console.

Smartphones have extended this model to much more general-purpose computing, showing that this model works for more than just games. Apps sold for the iPhone, which boasts far and away the most successful such store, are subject to cursory checks to ensure they only use approved APIs in appropriate ways. This provides some protection against misbehavior, and it should reduce the chance of those apps breaking with operating system upgrades.

In tandem with this restricted access, there has been the rise of sandboxing: the shocking notion that maybe, just maybe, applications should be prevented from wreaking havoc on a system. Windows Vista's User Account Control (UAC) was perhaps a small step in this direction, with Microsoft making the daring decision to make it harder to run regular programs with full, unrestricted Administrator privileges. After some years of dragging their feet, most software developers got on board with this. The sandboxing found on an iPhone goes rather further, however, with applications prevented from seeing each other or messing with each other's files, and there are restrictions on which files they can access. Apps purchased through OS X's Mac App Store are subject to this kind of restriction and so, too, are UWP apps from the Windows Store.

Beyond the API-level checking to get in the store, the sandboxing means that apps simply can't access things they shouldn't.

This combination of security, isolation, compatibility, reliability, and predictability has given consoles, smartphones, tablets, and even Chromebooks substantial appeal when compared to the PC. Smartphones, consoles, and Chromebooks are all growing, expanding markets. Windows PCs aren't, and the perceived failings in these areas are among the reasons that many users say they prefer their iPhone or their iPad to their PC. Their iPads are safe and consistent, and users just know that they'll work in the right way.

The traditional PC has none of that, which is why Microsoft is trying to build it. The Store is central to this. UWP provides big parts of the infrastructure, in particular, sandboxed security and clean installation and uninstallation. The Store provides other parts. It provides infrastructure such as app updating and in-app purchasing, and it also allows Microsoft to enforce various technical rules, such as prohibiting the use of some APIs, mandating adequate performance in certain scenarios, and informing developers if their apps are crashing too much. Microsoft needs both the Store and UWPs together to deliver the kind of platform that consumers have shown they want. Take away the Store, and the platform concept as a whole is compromised.

These restrictions are not appropriate for every single application that one might want. Software development tools, for example, struggle to conform to this kind of sandboxed, secured world. Debuggers often need to be able to reach inside sandboxed apps or examine software running with different user permissions. Driver developers need even more privileged system access. On a general-purpose machine such as the PC, some way of escaping the restrictions and having full control is absolutely essential.