Microsoft was both lauded and derided for its Universal Windows Platform (UWP). UWP is meant to give developers a way to share code and resources easily between app projects, making it easier to target different hardware like phone, PC, tablets, and Xbox.
UWP is not a "write once, deploy everywhere" model, though in some ways it can be used as such. Nor is it only about phones, which apparently are on the sideline now for Microsoft. UWP is about building a next-generation app platform that can quickly adapt to new hardware paradigms, whether it is Windows Mixed Reality, traditional PCs, tablets, mobile devices, or your living room.
In a new report from Bloomberg, Mark Gurman, a writer who is well known for his accurate Apple leaks, details how the company is attempting to combine "iPhone, iPad and Mac apps to create one user experience."
Let's talk about what that means.
Rumored for late 2018
It is important to note that Gurman's report explicitly states that such a project is still in development:
The plans are still fluid, the people said, so the implementation could change, or the project could still be canceled.
If it goes forward, the project likely won't be announced until summer 2018 with a rollout in a preview that fall, according to Gurman. Apple declined to confirm the report.
While the shift to a more unified app platform is a great move, the idea that Apple will have solved it all out the gate is probably misguided. Of course, without any details about this system, it is too early to speculate on how powerful or flawed it may be.
Instead, I'd like to shift to where Microsoft is right now and going compared to Apple.
Microsoft's unified Core, OS, apps, and shell
Microsoft's UWP will be hitting the three-year mark in late 2018, right around when Apple's first attempt at app unification may debut.
While Microsoft continues to build out APIs and bridges – and more importantly bring legacy Win32 apps to the Microsoft Store – it is also very deep into unifying its user shell experience a.k.a. Composable Shell or CShell.
This difference is massive. While Apple embarks down the same path as Microsoft (and Google too, for that matter), Microsoft is many steps ahead. Here are some examples of how:
- Windows OneCore – Microsoft successfully unified its kernel and OS core system across devices in 2015.
- Windows UWP - Microsoft unified its app platform, which runs on Win32 systems (x86, x64), ARM, and Xbox.
- Windows 10 on ARM - Announced in late 2016, Microsoft this month revealed the first devices running Windows 10 on ARM, so-called Always Connected PCs – a full port of the OS that can run on Qualcomm Snapdragon processors. These support Windows 10 S, Windows 10 Home, and Windows 10 Pro the OS can emulate Win32 applications too.
- Windows Core OS - As exclusively reported by our Senior Writer Zac Bowden, Microsoft is making Windows 10 modular. Once finished, Windows 10 will look the same, but components like Win32 and telephony support for cellular calls can be added or removed by OEMs. Windows Core OS will also pave the way for a true UWP-version of Windows 10 without any native Win32 support that will eventually supplant Windows 10 S.
- Windows CShell - With the same kernel, a flexible core, and unified app platform, the last piece is the shell – or user interface (UI) – that itself adapts to the screen. Taking the idea of Continuum to the OS level, CShell lets devices adjust their UIs for different tasks and experiences. A device running full Windows 10 for the desktop would be able to take on a Windows 10 Mobile UI to run in phone-mode. Or, a Windows 10 PC could take on the Xbox UI when in gaming mode. The possibilities are endless.
These tools combined make Windows 10 an OS that can live anywhere, on any device, with any screen size, running any processor. With UWP, the apps can run on all those devices with only minor changes.
It also means there is no Windows 10 Mobile anymore, because what made that OS unique has now been integrated into Windows 10 proper.
Apple has some of this with shared components between iOS and macOS, but its app story is very far behind. Apple has not – to our knowledge – taken any steps to unify its UI across macOS and iOS. There have long been rumors that Apple plans to turn iOS into macOS, including building MacBooks with ARM processors, but those plans have not been confirmed.
Google is also busy combining Android and Chrome OS, but it too faces the same problems and challenges as Microsoft did and now Apple too. All three companies are embarking down the same path, but Microsoft is many steps ahead there, even though it's lagging in the fastest growth area for computing: smartphones.
Apple's advantage is phones
There's no doubt that Apple has a lot going with the iPhone. Not only does the iPhone still get premium apps faster than Android, but the app quality, in general, is higher due to the controlled and limited hardware choices.
Nonetheless, there are plenty of questions about Apple's approach to app unification. Will developers merely port the apps from iOS to macOS? How robust will the tools be? How far along are the APIs?
Microsoft developers have quickly learned that building out a unified platform that seeks to emulate Win32 abilities takes years.
There are also concerns about UX and UI. Specifically, Apple developers who make apps for the iPhone – but not the iPad – will have a hard time scaling up to a 27-inch iMac display. There are a lot of considerations for screen size, type and modality (touch or non-touch) that need to be considered. For instance, adding mouse support – since Macs currently do not support touch screens – is critical and not trivial.
Looking at what Google has attempted with Android apps on Chrome OS, it is evident that "write once, run everywhere" is an idealized, but non-practical dream. Sure, it can work, but it is far from perfect.
Microsoft has already learned a lot of these hard lessons going back to Windows 8. Putting phone apps on a PC is merely not enough. I wrote earlier this year about the Microsoft Store refocusing on premium desktop apps and games and that is what happened.
Merely letting users run an iOS version of Instagram on a full Mac PC may seem like a simple solution, but long-term the novelty wears off. It's also not clear that iOS apps – the majority of which are phone-focused – have a purpose on a desktop or laptop PC. For instance, it's not evident that many people on desktops utilize the Uber app for Windows 10 – why would that be different for Apple?
The same problem that existed for Microsoft – who wants to run phone apps on a PC? – applies to Apple. Microsoft fixed that by doubling down on desktop apps and by bringing classic Win32 programs to the Microsoft Store. But is Apple trying to fix its desktop problem by running phone apps?
Unifying is hard
I see a lot of people giving Apple a lot of room here, saying "Oh, they will get it right." But none of this is easy. Microsoft has had a learning curve, as has Google. All three companies are struggling with a shifting computing world where device usage and experiences are changing.
Microsoft has its Win32 legacy to contend with for business and enterprise. It's the company's Achilles heel – it is what makes Windows 10 PCs secure, but also what holds it back. Apple is in the same situation with iOS. It is arguably the company's most forward-looking and modern OS, but Apple will have a problem with macOS completely stagnating for features and apps.
Can running iOS apps on a MacBook Pro fix the problem of users who are unhappy with its recent redesign and lack of "pro" features? It won't hurt it, but it's not apparent that it will solve Apple's seemingly reliance on just selling phones (60 percent of Apple's revenue is from the iPhone alone).
Microsoft's problem is palpable. Without a phone, its mobile game is weak. While PC sales are rebounding, and the Surface line is kickstarting a revival, there still needs to be a phone-ish device on the market. We're expecting sometime in 2018 a new generation of foldable hardware from Microsoft, meant to leapfrog current smartphones, but there are just as many questions there as there are for Apple's app strategy for macOS.
The takeaway here is not that Apple may do this better than Microsoft, but that both companies face the same problem. Does there need to be a winner? Not really. Both companies have thrived for the last 15 years, and there is no reason to think that will change.
It's more interesting that Microsoft, Google, and Apple see OS convergence as a solution, not something to be avoided.