Oh no, more Apple drama

It wasn’t much fun following Apple during the 90s. The transition from mono to color was painful, as it involved whole new chunks of OS and a different processor. The transition from Motorola 680×0 to PowerPC was also ugly and painful, and a lot of software simply stopped working and was never fixed. Those of us who had 680×0-based Macs quickly found them made forcibly obsolete long before they would normally have become unusable. Then came OS X, and a bunch more machines were forcibly obsoleted, more software broke, and more developers gave up.

Things have been looking pretty good in the Apple world recently, though. The technically adept have been flocking to switch to the Mac, the OS keeps getting faster and better rather than bigger and flakier, and open source and Java software now runs better on OS X than on Windows.

And now, here we go again. Except that this time, it’s going to be much worse. Whereas PowerPC processors were able to emulate 680×0 at acceptable speed, it’s going to be a lot tougher to try and emulate a 3GHz PowerPC G5 on any kind of Intel chip, even the kind shipping next year. Everyone who uses Metrowerks CodeWarrior for their Mac development (i.e. all those big old legacy Carbon applications from the 68K days) is going to be out of luck, as they’ll first have to drag their entire codebase over to Xcode, and then spend weeks (according to Jobs) fixing up the code. So one thing’s for sure–we’ll be waiting years for another release of Quark XPress this time, too.

The core problem is that the x86 is a lot less like the PowerPC than the PowerPC is like the 680×0. For starters, the x86 stores all its numbers half backwards and half forwards–the least significant bytes are stored first, but within a byte the most significant bits are stored first. (That kind of ugliness is fairly typical of Intel designs, which are legendarily unpleasant to program for at low level.) Any program that does bit or byte manipulation is likely to break. The PowerPC also has a lot more registers than the x86, which means that emulation is tough.

Ultimately, though, the fact that the x86 is a hideously ugly design doesn’t matter too much, because hardly anyone touches machine code these days.

Still, will Apple be able to pull off this kind of screwing around with their developer and user communities again? I don’t know. The more interesting question is why they are willing to risk it. With Nintendo, Sony and Microsoft all using PowerPC cores in their next-generation console systems, it really seems like a strange time to switch to Intel CPUs. Plus, if you want an x86 with PC-crushing performance and price, why not choose AMD rather than Intel?

One possible reason is that Apple is strongest in laptops, and IBM has singularly failed to deliver a G5 that can be stuck inside a laptop. AMD isn’t all that in laptops either, which would explain why Intel. But then again, there’s no reason why laptops can’t continue to use the G4, save for the perception that the G4 is “obsolete”, a perception which Apple itself has to take the blame for. Jobs says that there are no plans for improvements to PowerPC for the next few years. I don’t know whether that’s true or not; we’ll see.

Then there’s the intriguing possibility that Apple would like users to be able to run WINE. On the one hand, people could then switch to a Mac and still run their Windows software on it, for free. On the other hand, who would bother to develop Mac software if everyone could run Windows software? One possible answer might be to bring back Yellow Box for x86, which allowed Cocoa (NeXTStep) software to run on Windows. Still, even without WINE, software developers might just say “Hey, you want to run our software on your Mac? Just dual-boot into Windows!” (Jobs has already said that they’re not going to do anything to stop people running Windows on the Mac.)

So WINE on the Mac and Intel CPUs in the Mac could either be a colossal disaster that will kill the platform, or the best thing to ever happen to the Mac. I’m not going to pretend I know which is the case. I do know one thing, though: I’m sure as hell not going to buy a new Mac now, and I had been hoping to upgrade some time during the next year. No, I’m going to sit quiet and see what happens. I’ll want to see all my core applications available in native x86 versions, and an x86 based Mac that blows the doors off the G5, before I spend more money on Apple hardware. And as with the last round of turmoil (the switch to OS X), if it all goes disastrously wrong I’ll just switch to Linux everywhere.