ARM & Apple Silicon: The Future of Desktop Processors

I am in day two of living the Apple Silicon life. My 13″ MacBook Pro with 16GB and 2TB arrived yesterday. My initial impressions are that ARM and Apple Silicon (by proxy) are indeed the future of desktop processors. And once again we see a classic case of Microsoft having the right idea first, but Apple being better at execution.

Echoes of Windows 200x and the DEC Alpha

In 1998 I was working on what at the time was labeled Windows NT 5.0 Beta. I was working simultaneously on Pentium II/III x86 systems and DEC Alpha systems. It was clear from the performance that 64-bit was the future; not being bound by 4GB of RAM the DEC Alpha’s blew away every performance and stress test we could throw at them. Only one small problem – nothing ran on them. Nobody ever bothered porting anything and the Alpha and other 64-bit processors and Windows died a sad but quiet death. The lesson: compatibility matters.

Windows Server 2003 and Windows XP x64

Fast forward five years and I was a Group Program (Product) Manager on Commerce Server and seconded to the Windows Server System (later Common Engineering Criteria) project as a side hustle to help be part of the cross-company working group to standardize server products at Microsoft. One of the programs I was driving was the adoption of x64 processor architectures and 64-bit Windows. I had an early engineering sample with an AMD x64 processor, whereupon Intel had been scooped for the first time in their history.

All the things I loved about the DEC Alpha were there – blazing fast performance and no memory bounds. But there was one big difference – everything just worked. Windows-On-Windows (or WOW) allowed for perfect compatibility with 32-bit Windows applications. Provided you had 64-bit device drivers, application compatibility was a non-issue.

This transition was entirely successful – Microsoft migrated server workloads in ~4 years. Desktops shortly followed suit. And nobody ever looked back.

Ill-fated Attempts at Tablets and Windows-on-ARM

Microsoft invented the Tablet PC form factor. They made for incredible demos, but suffered from lots of practical form-factor-related gotchas and terrible battery life. Even the most die hard dog fooders gave up and switched back to regular laptops within a few years. And the form factor died away.

Then, Apple invented the iPad. It worked with all of your favourite iPhone apps. It used the same developer ecosystem as the iPhone. It had an amazing browser. And it just worked and did all the things you expected of a tablet, including 3G connectivity on the go. I stood in line for hours to buy one and never looked back. It totally changed how I consumed content. And the tablet as a mass-market form factor was born. Lesson two: design and user experience matter.

Microsoft with Windows 8 tried the tablet form factor again with the debut of the Surface RT and Surface 2 and never-launched Surface Mini. And so debuted Windows RT, the first incrarnation of running Windows on an ARM processor.

The iPad and Surface RT/2 proved a point – ARM processors were far better suited to a tablet form factor than x86/x64. They had the battery life. There was just one problem with Windows RT; like the past mistakes nothing ran on it. And, like its predecessors – it died away in one of the biggest write-downs in Microsoft’s history.

The Surface 3 and subsequent devices got the user experience of Windows on a tablet right. But, they still were tied to x86/x64 processors and suffered from horrible battery life.

As the years evolved, Apple made the iPad more and more laptop like. And Microsoft didn’t give up on Windows on ARM.

2019 saw the launch of the Surface Pro X (along with several peers) running Windows 10 upon ARM processors. This time, Microsoft partially re-learned the lesson from x64 – 32-bit Windows applications run just fine (for the most part). So if you could live with native applications and 32-bit Windows applications, you would end up with the best Windows experience out there. (I can attest; I have a Surface Pro X and it is by far my favourite on-the-go Windows device I have ever used with substantially better battery life than x86/64.)

Just one small problem – lots of applications moved onto x64 like Adobe Creative Cloud and these do not work (yet) on Windows on ARM. So, for a lot of people, it is just simply not a viable option. Microsoft has commited this for an update that will ship for 2021, but it remains to be seen how well x64 emulation will perform.

Lesson three: make the developer experience really seamless – Apple got this right on the iPad and Microsoft didn’t on Windows on ARM. This is why the iPad ended up with a vibrant set of native applications and partially why there are still very few native Windows-on-ARM applications incliding Office.

Enter Apple Silicon

Apple finally at WWDC 2020 unveiled the notion of Apple Silicon – macOS running on an ARM-derived processor based upon the A-series in use on the iPhones and iPad’s. Rosetta2 debuted, building upon Apple’s experience migrating from Motorola 6800x to PowerPC, and then subsequently from PowerPC to x64.

The M1-based Macintoshes were announced and shipped in November 2020 and I’m sitting here writing this on the highest spec’ed MacBook Pro available. The verdict? I am *beyond* impressed and feeling the same sort of excitement when I first used an AMD x64 engineering sample back-in-the-day.

The developer experience is seamless – Office, Chrome, Fantastical, Twitter/Tweetdeck, and all of the Apple applications are there on day one. Photoshop is in Beta.

With Rosetta2, anything not requiring a kernel extension or direct hardware access (e.g. virtualization) just works. Perfectly.

The performance is incredibly impressive. Anecodotally, it is as responsive as a 16-Core 256GB RAM Mac Pro with an AMD Radeon Pro Vega II processor. It is *MORE* responsive than a 16″ MacBook Pro with 8-Cores, 64GB RAM, and an AMD 5500 GPU. It is cool and silent – unlike the 16″ MacBook Pro which could get uncomfortably warm and was constantly leveraging its fans. Amazing!

Battery life is out of this world – I have been using it with Chrome (and many tabs), Mail, Photos, Messages, Calendar, Contacts, News, Slack, Fantastical, Todoist, Trello, Jira, Miro, Messenger, WordPress, MindManager 13, Word, OneNote, Teams, Skype, Telegram, WordPress, Twitter, Sublime, and Whatsapp Desktop running for 1.5 hours. The screen is on quite high brightness. Files are still synchronizing from the cloud using iCloud, OneDrive, and Dropbox. And my battery is at 95%. UNBELIEVABLE!

I can run a number of iPhone and iPad applications, which is quite novel. The experience is not great. But I expect that will change quickly.

My day two verdict – this is indeed the future.

Apple has pulled it off – again. And, once again, building upon an idea Microsoft kind of had first.

I hope Microsoft continues to invest in Windows 10 on ARM – and even considers partnering with Apple to offer a version of it on the Apple Silicon Macs (according to Craig Federighi in Ars Technica this is entirely possible). If they can eventually address the developer experience and compatibility, the amazing experience that is Apple Silicon could come to Windows (building on what in my opinion is already the best experience – if one can live with the restrictions).

Meanwhile, I’m more optimistic about desktop computing than I have been in a while…