MarkKawakami.com

“A casual relationship with reality”

Mactel: Is it getting cold in here?

Man, I never thought this was going to happen. Today, at Apple's World Wide Developer's Conference, Steve Jobs made a huge announcement. After spending the last decade on the PowerPC platform, Apple will be switching to Intel chips, starting in about a year.

Now, there's good reasons for this, the number one is speed. When the G5 was introduced two years ago, Jobs said they'd be at 3Ghz in a year. Well, a year after that, and Apple (technically IBM since they're providing the chips) still isn't there yet. Worse, the G5 is an incredibly hot chip. And I mean hot as in actual temperature, not Paris Hilton's misuse of the term. Heat means power consumption, and there's two things you can't have in a laptop: A chip that generates too much heat and a chip that uses too much power. That means the G5 laptop isn't here yet. Powerbooks are incredibly popular (I'm typing this entry on one right now), so not being able to put their top-of-the-line chips into a portable machine is hurting Apple.

Plus, Intel chips should generally come in cheaper as well. That's a definite plus, although Steve Jobs didn't mention that during his keynote. So the question there is will the cheaper chips represent a reduction in price or an increase in Apple's margins? Probably the former, reducing price is always a competitve advantage, although Macs are still going to be the BMW of computers.

So what's the downside? Well, the biggest is that transitioning to a new chipset (and a radically different one at that) is an incredibly complicated process. Apple did it once when they switched from the 68k link of processors to the PowerPC, and it went as smoothly as was possible at the time (and generally pretty smoothly at that). But it always comes at a cost. Since it's impossible to get all the software ported by the time the new machines come out, and since no one will buy a machine that requires them to buy all new software on day one, you have to have some sort of backwards compatibility, and that means emulation. Emulation is the process of translating instructions meant for one chip into the instruction set of another, and it always comes with some sort of performance penalty. Added to that, recoding for a new chipset can be an incredibly painful process.

But Apple has a few things going for it in both of these regards. The first is the operatins system, OS X. The roots of OS X is the NextStep operating system developed by Jobs' former company. This was designed to run on multiple chipsets, including Intel. Apparently it's been a mandate at Apple that all operating systems they develop, as well as any other OS X software, be secretly compiled onto both platforms. In other words, they've been creating Intel-compatible versions of all their software for the past five years, just not releasing it. Were this not the case, the transition probably wouldn't even be possible.

In addition. OS X is an incredibly well-organized operating system. The classic Mac OS was a mishmash of hacks and patches developed over years. This meant that recoding for the PowerPC was a rather difficult task because a lot of the software "spoke" directly to the hardware or to the processor. With a modern operating system like OS X, the operating system sits in between, and very little communication with the hardware happens directly. This makes converting applications significantly easier, except in a few, very extreme cases.

The other thing going for Apple is the fact that their emulation software, which was demoed today, looks to be pretty fast. They didn't give any specifics of performance except that it's fast enough that "most people" won't notice a difference in speed. Now, honestly, this sounds a bit like bullshit to me, you always notice a difference. But let's say they get emulation speed up to 80% the speed of native code. If the processor speed increase of the new processors is, say, 30%, then overall system performance should increase, even on emulated software.

However, there begins the first of my worries. The two previous major transitions to the Macintosh was the transition from the 68k processor to the PowerPC processor, and the transition from OS 9 to OS X. In both of those instances, the change could be justified by either a massive increase in performance or a massive increase in stability and modernity. These transitions had serious benefits that made the inconvenience of them worth it. The primary justification here is business-related. Going to Intel chips should hopefully increase performance a little bit, but it's not going to be the big jump that you got with the previous transitions. It provides greater flexibility, a better future, and they get to stop having to defend their chipset against Intel's powerhouse marketing. Although, hopefully Apple won't have to stick one of those tacky "Intel Inside" stickers on their machines.

In fact, I noticed a conspicuous absence of performance-related talk during Job's presentation. Are we going to see a big speed increase? Hopefully, but I'm worried. Although, let's face it, Apple still has to sell G4 machines for at least the next year. You can't sell a machine that you admit will have its ass handed to it in 12 months, especially not at the high-end where Apple makes so much of its money.

I'm also worried about the whole 64-bit thing. When the G5 was introduced, it was the first 64-bit processor for home machines (the standard before that was 32-bits). This generally allows the machine to access more memory and perform larger calculations. Well, that's the very rough version. I'd give you the more technical explanation, but, uh, I don't totally understand it. At any rate, Apple has been pushing 64-bit as the next big thing, and encouraging developers to code for a 64-bit processor. But most x86 processors are 32-bit, including the ones Apple is very likely to be using. So what does that mean, do developers have to undo all the work they did moving to 64-bit?

Probably not, most apps that took advantage of the 64-bit processing were capable of running on 32-bit processors as well, that was sort of a marketplace imperative. However, a lot of the system software has been optimized for 64-bits, so moving to 32-bits might mean a decrease in performance despite a massive increase in raw Ghz speed.

Overall, I'm guardedly optimistic about the whole thing. Apple is good at transitions. And to be totally honest, I don't think Apple would be doing this if they didn't really have to, because the complexity involved is a headache no one wants if they don't need it. I just really, really hope Apple can get out of having to have those tacky stickers.

Blog Roll


Copyright © 2006 Mark Kawakami