If there’s any lesson that Apple should learn about supporting apps that run on both X86 and ARM, it’s this one: Tell users which apps support that processor, and actively guide them toward the best experience.
It sounds obvious. But as Apple navigates its transition from Intel X86 Macs to Macs designed around its own ARM silicon, I can’t help but think of the things I wish Microsoft and Qualcomm had worked on to help ease the Windows on ARM experience.
It starts with communication. When Asus launched its NovaGo laptop with a Qualcomm processor inside, we explained the pros and cons of the architecture, especially what it could or could not do. Two years later, this article still feels necessary. Here’s how Microsoft stumbled along the way, and where Apple might go wrong too, unless it learns from those mistakes.
Talk to developers, but not consumers
No consumer wants to walk into developer documents to understand why they should buy a product. But that is exactly what Microsoft is asking consumers to do. How Windows emulates coded instructions for X86 processors to ship ARM code can be understood to summarize in a circle supporting documents on the Microsoft site. That’s not good enough. Microsoft has never made any real effort to inform consumers about what the ARM platform entails, what its limitations are, and what options there are to overcome those limitations.
They’re great limits, too. Let’s say you want to download the Zoom video conferencing app on Microsoft Pro Surface X. You won’t find it on the Microsoft store, forcing you to go to the Zoom site.
What Zoom doesn’t tell you, of course, is that a Windows on ARM PC still can’t run a 64-bit app in mock mode. So if a consumer tries to download the 64-bit version of the Zoom app on the Surface Pro X, they will be faced with a big, fat error message preventing its installation. This is a deadlock between a consumer and an enjoyable experience, and my bet is it’s one of the biggest reasons Windows-on-ARM PCs haven’t sold well.
Apple seems to be leading the same way. Like Windows on ARM, Apple also uses code to translate instructions written for X86 processors into instructions its ARM chips can understand. On Mac, this code is known as Rosetta, the same translation software that Apple used to facilitate the transition from PowerPC to X86. Now Rosetta2 (or just Rosetta) is designed to take written code for X86 and enable it to “just work” for the new Silicon ARM Mac.
The “just working” part appears to involve “just waiting.” As Apple says in developer documents now posted on its site, “The translation process takes time, so users might see that translated apps launch or run slower at times.”
Users will also have to help Macs use the right code. “If a binary includes both
x86 instructions, the user can tell the system to launch the app using Rosetta translation in the Find information window of the app in the Finder, “Apple says.” For example, a user might enable Rosetta translation to allow the app to run older plug-ins that are not yet supported
arm64 architecture. “
Rosetta will not translate kernel extensions and virtual machine apps to virtual X86_64 platforms, however. Rosetta also won’t translate AVX instructions, which Intel first implemented in its 2nd-gen Intel Core “Sandy Bridge” chips. In 2011.
As a reminder, Apple is telling developers (not users!) That mimic apps will run slower than native code, that users may have to setup an app manually runs in mimic mode to enable full compatibility, and that its translation software will not process instructions that have been in place for about nine years. This won’t “it just works” —and consumers don’t know that anymore.
Make it difficult to find compatible apps
App stores are where consumers first interact with apps, and Microsoft’s store is always bad.
Currently, every Windows user is familiar with the store’s many shortcomings. There is no information telling you when the last app was updated, let alone a changelog. You cannot see the number of downloads up to date.
Microsoft buried that processor architecture an app supports, too. If you are already on a Windows on ARM (WoA) Connect PC, Microsoft will hide incompatible apps. And if you want to know what is available for WoA Connect PCs before buy one, you’ll have to go app by app to find out for yourself.
In a few years, the question of whether a Mac app is coded for ARM or X86 will be discussed, because Apple’s converting Mac highlights to ARM. But for now, customers on both Windows and Mac platforms can choose between the two processor architectures, placing them in the same camp.
Granted, it’s probably too early to expect Apple’s own Apple Store to provide this information. We know that some of its key third-party partners – Adobe and Microsoft, namely – support Apple’s ARM efforts. We may be wondering how many of the small niche of Apple game developers are bothering to re-code for ARM, and how quickly other content-creation app devs will sign up.
Knowing which apps are coded for each processor, though, is critical. Apple’s “universal” apps will run on both platforms. But we really don’t know how Apple’s ARM processors are doing, and we also don’t know how well an app will be running on every platform. It’s important, then, that both Apple and PC customers know which apps are coded natively for a particular processor, where performance will be optimized, and which will mimic and take a performance hit. The app store – whether on the Mac or on Windows – should be the starting point for this conversation.
Don’t provide ‘showcase’ apps
So far, we’ve been concerned with performance, compatibility, and communication. Another thing Qualcomm and Microsoft have yet to deliver is a PC showcase — not just from a hardware point of view, but from a software standpoint as well. The answer — and it hurts me to say it — is bloatware.
I generally mark down review laptops if they become clogged with unnecessary third-party apps. Acer, for example, includes apps that suggest other apps, such as Collection S. But that’s what Windows on ARM (and Macs) needs: a showcase of apps, coded native to ARM, that show up on the platform.
On Windows, neither Microsoft nor Qualcomm has risen in this regard. Rather than user-generated collections, we should have an official, listed website (and linking!) apps that have been optimized for ARM. Connected PCs should be preloaded with ARM-optimized apps, or at least offer a gateway toward an optimized experience. The ability to download Windows optimization on ARM apps could be a feature of Microsoft’s new WinGet package manager utility.
I suspect Apple already understands this, and a portion of Apple’s App Store maybe something like “Run better on Apple” wouldn’t surprise me. Introduce consumers to a collection of the apps they will frequently use, reassure them that they’re optimized for performance, and then add and update apps regularly to ensure customers that the company is looking out for them.
Right now, customers still don’t understand why they should move away from X86 and embrace something new and familiar like ARM. And if they do, the explanation is still framed in terms of hardware. How and why customers should software transitions are generally left out of the conversation, and everyone just ends up confused. Let’s hope that Apple is watching the mess Microsoft has made and doing better.