Why UWP is, and isn’t, dead – the dream is gone, but the code lives on

Kip Kniskern

Paul Thurrott wrote about it in early May, and the news coming from Phil Spencer that Win32 games will soon become available in the Windows Store prompted Tom Warren at The Verge to say the same thing today: UWP is dead. But wait, a chorus of developers has chimed in, not it’s not! UWP lives on in XAML Islands and it’s Win32 that’s in maintenance mode, not UWP!

So what’s going on, is UWP dead or not? The answer, a bit like Schrödinger’s cat, is both. Let’s start, since it’s getting all the attention, with the idea that UWP is dead.

Back in the days of Windows 8, when Windows Phone was still with us (and yes, Windows Phone is truly dead!), the idea of a Universal Windows Platform was born. Microsoft placed a lot of emphasis on the ease with which developers could write code to run not only on the phone but on the tablet and PC as well. As it turned out, developers didn’t much care how easy it was to write code, they only cared about selling apps, which they could do far more proficiently with iOS or Android, to far more people than Windows Phone’s and Windows 8’s fairly minuscule market share.

Still, the idea was to get developers locked in to the idea that writing code once across PC, phone, and tablet, was well, just better, and they should drop the upstart Android and the walled garden iOS and come to Windows. Microsoft would provide a single Store, where developers could target all those Windows platforms at once, and even push Windows users to embrace UWP by foisting Windows S, and before that by deprecating the Start Menu, to make the platform even more worthwhile.

Windows Phone device

But Windows Phone died a slow and painful death, the Start Menu came back, and users still clamored for their favorite Win32 apps over UWP versions that seemed feature-poor in comparison. That dream, that UWP would unite developers to eschew iOS and Android to write apps for the glorious Windows Platform, has died. It’s been dead a while actually, and Microsoft’s move to allow Win32 games into the Microsoft Store is just another nail in the coffin.

What has also died is the thinking at Microsoft that the company needs to push users toward Windows, to lock in. Cracks in this armor began to appear in Azure, when Linux was at first allowed, and then embraced. Microsoft found that rather than forcing developers to use Windows on Azure, they could actually make more money and earn more hearts and minds by letting developers use the tools they wanted.

Another example of this new thinking can be seen in the switch to a Chromium based Edge. The old Edge was a bastion of the lock-in thinking, and moving to Chromium is perhaps the biggest signal yet that Microsoft can indeed embrace and extend without needing to try to extinguish.

But as that chorus of developers has pointed out, UWP, as in the idea that code can be written once to run (almost) everywhere, not only isn’t dead, it’s the future. The problem here is that we have in effect two UWPs. The first, as outlined above, defined the desire Microsoft at one time held to force encourage developers to lock in to Windows. That effort has failed, and that thinking has changed. The other UWP, the one is being built in to new APIs and new controls to target not just PC but Xbox, to present a unified store model for security and ease, and to help developers move their apps forward is still available and will continue to be, as Microsoft continues to blur the lines between once siloed platforms.

Microsoft isn’t going to bring back Windows Phone, or gain back that 90%+ market share Windows and Internet Explorer once had. Users aren’t going to ditch Android or iOS and lock back in to Windows. That ship has sailed, and that dream is dead. But Microsoft is going to continue to make it easier to run apps everywhere. Rather than look to recapturing the past, the focus now is on innovating for the future, a future that isn’t all about Microsoft and Windows, but that’s ok.