Going for the Hat Trick

Today Apple announced that Macs will transition from Intel’s x86 based processors to their own ARM based Apple Silicon. This will be the Mac’s third processor transition and as always the question is “can they pull it off?” This old Mac users is cautiously optimistic because my experience with the first two went relatively well. I say “relatively” because while transitioning to different memory, storage or even graphics architecture is expected to just work, the expectation around CPU transitions range from “this is most definitely going to suck” to “holy shit, this might actually work.” Since Apple has somehow managed to stay firmly in the latter for both of its prior CPU transitions, I wanted to look back at the three characteristics they shared:

  1. Make the new stuff look like the old stuff.
  2. Make the new stuff run the old stuff at memorably old stuff speed.
  3. Make it possible for developers to support both the new stuff and old stuff.

Motorola 680X0 to PowerPC

The first major CPU transition for the Mac came in the early/mid 90s during the waning years of John Scully, and the tumultuous reign of Michael “Diesel” Spindler. I was in junior high school and though I was very much a Mac nerd even back then, I didn’t actually know much about PowerPC other than it was obviously more powerful (it’s right there in the name!) While I did have some vague concept that different CPUs used different architectures, I kind of assumed PowerPCs were newer versions of the chips Macs always used. This may seem ignorant, but I have two good excuses.

  1. Information wasn’t readily available to me. I didn’t have the internet nor a subscription to MacWorld or MacUser. Most of my Mac knowledge at the time came from playing with Macs and quickly browsing those magazines at the library.
  2. There was no noticeable difference, let alone hiccups when my school got some Power Macintosh 6100s. They worked just as well as the existing 680X0 based Macs.

I didn’t know PowerPC was a major change to begin with and nothing about my experience with those first PowerPC Macs told me otherwise. My experience seemed typical so how did a truly beleaguered Apple careening toward irrelevance pull it off? According to this MacWorld from May of 1994, they made the new stuff look like the old stuff.

The Power Macs look and act just like all other Macs.

The Power Mac 6100 looked exactly like its predecessor, the Quadra 610.

Then they made the new stuff run the old stuff at memorably old stuff speeds.

Almost all the software you already have works with them as is… When running existing software written for 680XO CPUs, the Power Macs deliver performance at speeds between those of a IIci and Centris 650, according to Macworld Lab tests.

Software written for the older 680X0 still worked through emulation. Emulated software was slower, but in a way that a slightly older and/or less powerful Mac was slower.

Finally, they made it possible for developers to support both the new stuff and old stuff.

Most [developers] use a smart installer, which can extract a PowerPC version or a 680XO version from the installation disks and install just the appropriate code on your Mac…Some smart installers give you the third option of installing a fat binary, a format that lets you run a program on either a Power Mac or a 680XO-based Mac

Apple provided developers with a means to support their applications on both existing 680×0 and PowerPC.

PowerPC to Intel

The Mac’s second major CPU transition happened at 2006 in the Steve Jobs II era. By this time I was a young adult Mac nerd who was feeling smug having just acquired a used Power Mac G5 on pretty good discount. That smug feeling didn’t last long as it was less than a year later when Apple announced the transition to Intel. Unlike the first time, I was well aware of the significance of this transition. I immediately sold my G5 and bought the first Intel based Mac made available, the iMac.

Even with my awareness of the different processor, using the new Intel-based iMac didn’t feel all that different from my previous Macs. Again my experience seemed to be typical. So how did resurgent-about-release-the-iPhone-Apple pull it off. Well, according to Anand Lal Shimpi at Anantech, they made the new stuff look like the old stuff.

Although it is slightly newer, the Intel based iMac uses the exact same externals and mostly the same hardware as the revamped iMac G5. The only differences really are on the motherboard itself.

My Intel-based iMac was indistinguishable from its G5-based predecessor.

Then they made the new stuff run the old stuff at memorably old stuff speeds. Here’s what Jason Snell, then at MacWorld, had this say about Rosetta (the technology Apple used to emulate PowerPC):

The speed of Rosetta will also depend a lot on your perspective. Yes, if you’re upgrading to an Intel-based iMac from an iMac G5 you bought just a few months ago, all of your non-Universal software will run at half speed. But if you’re upgrading from a two- or three-year-old iMac, the speed difference may be much less noticeable.

Rosetta was much slower than recent PowerPC based Macs, but the difference was minor for anyone upgrading from older models.

Finally, they made it possible for developers to support both the new stuff and old stuff. A few months earlier Jason Snell wrote in an FAQ about the significance of Universal Binaries:

Because of Apple’s new “Universal Binary” approach, developers can deliver a single program that contains within it both Intel and PowerPC versions of their software.

Just like with the 680X0 Again developers could bundle versions of their software to run on both CPUs.

Intel to ARM

Apple has now kicked off this third processor transition, which already seems to have the exact same characteristics of those used in the 90s and then again in the 2000s. They are making the new stuff look like the old stuff. The Developer Transition Kit is Apple Silicon shoved inside a Mac Mini case1.

Then they are making the new stuff run the old stuff at memorably old stuff speeds. According to Apple’s developer documentation:

Rosetta is a translation process that allows users to run apps that contain x86_64 instructions on Apple silicon.

Finally, they are making it possible for developers to support both the new stuff and old stuff. Again, from Apple’s developer documentation:

Building a Universal macOS Binary… A universal binary runs natively on both Apple silicon and Intel-based Mac computers, because it contains executable code for both architectures.

Will Apple succeed at pulling off a third processor transition? Maybe, maybe not, but if the same company successfully executes the same gameplay that worked twice already, I think it would be foolish to bet otherwise.


  1. Who knows what shipping Apple Silicon based-Macs will look like, but I wouldn’t be surprised if they do look different assuming a big drop in power requirements. ↩︎