My Personal Take on MacIntel

Some of you (you know who you are!) have been asking for my take on Apple's recent announcement that it plans to convert the Macintosh product line to Intel processors by the end of 2007. A subset of that some of you (you definitely know who you are!) wondered why I haven't written anything for TidBITS on the topic.

The basic reason is that Adam and the rest of the staff have been writing excellent coverage (so far appearing in TidBITS 782 and 783), and I agree with their assessments. Long-time friend Jason Snell also wrote a comprehensive FAQ for his publication Macworld which does a great job outlining the impact of the announcement for everyday Macintosh users; if you can stomach Macworld's Web site, I highly recommend his article.

But Geoff, some of you are saying, what do you personally think?

Sigh. Fine. Here's my personal take.

I never subscribed to the Intel is evil mythology which seems well-rooted in portions of the Macintosh community. Rather, I subscribed to the x86 processors eat power mythology. Largely this stemmed from personal experience: I never had a hotter (or louder) summer than the time I hosted a Compaq dual-processor Pentium server at my place a favor to a colleague: it pushed by office temperature up about ten degrees, and when it finally left the building my power bill dropped 20 percent! That was a few years ago; however, the last AMD-based Linux box I took apart (in February of this year) had one processor, five fans, sounded like a canister vac, and had an internal temperature reading of about 120°F. A few weeks ago I used a pretty-new PC laptop…and, honestly, if I put that thing on my lap I'd be concerned about burning sensitive parts of myself through my jeans. I know folks who run data centers generally prefer Mac-based servers to Intel- and AMD-based servers from the perspective of power consumption: PowerPC-based systems use far less power and, therefore, have lower cooling costs than Intel and AMD-based equivalents.

Now, I gather Intel has made significant strides in power consumption and its Pentium M processor is supposed to be the da schnizzle for laptops, and future processors are expected to offer greater performance without major heat or power consumption problems. That's what Apple expects, and it may be true. If things work out that way, great. I do think the tools, programs, and technologies Apple has outlined for the transition are both well planned and substantial: for most developers, getting their applications to run on Intel-based hardware shouldn't be too bad, and they have over a year to get their acts together. This isn't going to be anywhere near the headache of porting Mac OS 9 applications to Mac OS X represented.

So I agree with the ideas Adam, Jason, and others have expressed: for most Mac OS X users, the Intel transition to Intel-based Macs, when they eventually ship, isn't going to be world-shattering for the majority of Mac users or developers.

But personally I think I may be screwed. Two main reasons:

Audio & Altivec

The first version of Mac OS X shipped in March 2001. That means I've been waiting for over four years for Mac OS X to become capable of the sorts of audio processing I could (and still do!) perform on a near-daily basis under Mac OS 9. Sure, Apple touts both the performance of its new machines and Mac OS X itself—and in several areas, those claims appear to be justified. However, audio processing is emphatically not one of those areas.

Every time Apple releases a new version of Mac OS X with updates to its underlying audio technology (called CoreAudio), I get a series of phone calls and email messages from a handful of Mac-based studios and audio production companies wanting to know if CoreAudio is "fixed." I either go to these folks' sites or borrow hardware from them, install the latest and greatest, and conduct a series of real-time audio capture and audio processing tests. I used to be a software test lead, so my tests are somewhat specific, but they have been consistently conducted and all derive from real-world scenarios (usually my own work or the work of the client for whom I'm testing). Most involve simultaneous real-time capture, processing, and/or output of 8 to 24 audio tracks at various resolutions and sample rates using pro- and semi-pro third party hardware connected via FireWire or PCI cards.

A now-modest Power Mac G4/800DP (that's two G4 processors at 800 MHz; most audio applications only use one of them) passes the test suite 100 percent of the time in Mac OS 9; with some third-party hardware, an even more-modest Power Mac G4/533 can pass the suite 100 percent of the time under Mac OS 9.

I've yet to see any Macintosh running any version of Mac OS X pass 60 percent of the test suite without failures, and this includes high-end dual processor Power Mac G5s running the latest and greatest. Granted, some of the failures are so excruciatingly minor they're truly irrelevant in the real world; however, some of the failures are serious, and some are complete show-stoppers—and the show-stoppers happen all the way up to the top of the line. Although, since I'm not a Unix weenie I can't be horribly specific, most of these problems would seem to stem from the pre-emptive multitasking model of Mac OS X: simply put, other processes interfere with what the user is doing (in this case, audio processing) to the extent that the user's tasks are not reliably completed in real time. I once saw the CUPS daemon wake up and consume 60 percent of my CPU cycles for five minutes while I was trying to record. Why? No one knows. I didn't even have a printer configured!

(Not that making CoreAudio barf is any real challenge: I can get iTunes to hiccup on most Macs just playing back an AIFF file. No special software! No special tricks! Nothing up my sleeve!)

On one hand, these problems with Mac OS X have been good for me. I get paid to do this testing! Whoo-hoo! And because I have a reliable Mac OS 9 audio setup, I've become slightly in demand for rapid-turnaround audio processing and conversion Mac OS X people can't seem to perform reliably. Downside: that work is boring, dull, and not a way I want to spend my waking hours. Another downside: software development for Mac OS 9 ceased a long time ago, so I'm not able to use newer tools or support newer formats and technologies. (Can anyone say 7:1 surround?) And there are only more of those coming down the pike. And it's now been about a year since Apple sold computers capable of booting into Mac OS 9, so all Mac OS 9 systems still in use are edging closer to their appointed Mean Time to Failure.

Apple's—and the rest of the industry's—solution to this problem is to throw hardware, processor speed, and memory at it. If you just get a faster machine, they say, you wouldn't run into these sorts of bottlenecks! That might be true eventually; I can't say. It certainly isn't true now, nor has it been true at any point in Mac OS X's history. Really. I've tested. A lot.

So here's the crux of my problem: both I—and some third-party audio developers—had been hoping Apple would increasingly optimize CoreAudio to take advantage of the Altivec vector processing cores in the G4 and G5 processors. (Altivec is called "The Velocity Engine" in Apple-speak.) Simply put, Altivec seems to stomp just about anything in the desktop computing space when it comes to complex floating point calculations and permutations: just the sort of thing your computer does all the time when processing audio (or video, for that matter). Furthermore, some of these audio tools include assembly-level coding for the Altivec unit under Mac OS 9, which is why they simply fly. Under Mac OS X, many of these tools didn't include direct assembly for Altivec, instead hoping Apple's Accellerate framework would provide comparable performance. It does in some instances but not in others, so Mac OS X version of some of these products significantly underperform their Mac OS 9 ancestors.

Intel chips don't have Altivec. They apparently don't have anything close to Altivec on the horizon. Intel chipsets do offer SSE (Streaming SIMD Extensions, which are an extension of earlier MMX technologies) to enhance complex calculations. Developers I've spoken with indicate these are helpful, but by no means a substitute for Altivec. So versions of these tools for Intel-based Macs are may underperform the Mac OS X versions, which underperformed the Mac OS 9 versions.

All this appears to mean:

  • Apple will not be optimizing CoreAudio for Altivec
  • CoreAudio performance will only improve as overall system performance improves
  • Mac OS X audio processing performance cannot be expected to improve dramatically with the transition to Intel CPUs; in fact, in the case of existing audio software which was optimized for Altivec, it may even decline

As I indicated earlier, audio under Mac OS X has yet to achieve a level of functionality and reliability available years ago under Mac OS 9 on substantially less-macho hardware. So, I'm guessing people like me will be waiting additional years before audio under Mac OS X becomes usable.

I'm not having much difficulty deciding whether I can describe that as acceptable or not.

Classic

Mac OS X currently includes support for Classic, which essentially means that Mac OS X can launch a Unix application offering an environment in which Apple's older operating system, Mac OS 9, can run. Classic provides a high (though far from complete) degree of backward compatibility with earlier Macintosh applications which have not been—or never will be—updated for Mac OS X. Classic was essential during most people's transition to Mac OS X.

Intel-based Macs will not support Classic. From a technical perspective, this is understandable: supporting Classic on the Intel chipset would be a monumental undertaking which would ultimately perform badly. Why expend all that effort to support an operating system which, at that point, wouldn't have been updated for nearly six years? Apple's been very plain for a long time: Mac OS 9 is dead. Don't use it. In fact, if you even want to use Classic with a new Mac these days, you have to pay Apple an addition $20 for the privilege: Classic no longer ships as part of Mac OS X. Support for Classic is no longer even listed as a feature of Mac OS X.

Here's my thing: I still can't transition to Mac OS X. (See above.) So I still rely on all sorts of Mac OS 9 applications which don't exist for Mac OS X. And even in cases where replacements are possible and available…I mean, why would I have bothered? Does it make sense to expend all sort of money, time, and effort to recreate these services and programs on an operating system I essentially only run once a week to assist with publishing TidBITS? No.

The biggest casualty for me will be HyperCard: the great, long-dead, long-lamented development technology Apple shipped almost two decades ago. Surprisingly vast amounts of my day-to-day work are still built using HyperCard. I never found a calendar, address book, to-do list application I liked, so I wrote my own in HyperCard back in…oh, 1992. It still works fine today, and I still use it. I do most of my Web log analysis using custom tools I wrote in HyperCard; TidBITS literally cannot be distributed without a large number of custom HyperCard tools. I run a collection of spam filters on my mail servers: all the linguistic and token analysis of spam I receive at my mailbox and at my flypaper addresses is performed in HyperCard, using tools I originally wrote for my HyperCard-based Internet robot Golem.

Sure, I could rewrite these things using new tools and technologies. But having to do so significantly raises the hurdle of adopting Mac OS X, so it's more likely I'll abandon them altogether. At this point, I can't imagine developing custom tools for Mac OS X: it's too much of a moving target. Why would I bother developing anything if I'm just going to have to redevelop it in six to ten months to accommodate some new directive from Apple? Feh.

In short, for me, an Intel-based Mac OS X is going to be substantially less capable than the Mac OS X I'm using right now…which I still can't use for day-to-day work.


All this said, I'm not in any rush to judgement. Apple's going to be shipping PowerPC-based Macs through some part of 2007, and those machines will have useful lives into the 2010's. There's no imminent cloud of doom so far as Classic is concerned. And I admit I have a spark of hope that future Apple systems with Intel chips might meet my needs.

But it's the same spark I've nursed for four years now, and it's getting fainter. The useful lives of machines which can run Mac OS 9 are drawing to a close, and I suspect that means that the onboard audio processing capabilities of Macs are simply going to be hamstrung: you want to do stuff today you used to be able to do under Mac OS 9 in real time, you're probably going to have to spend thousands on addition audio hardware and processors to move the heavy lifting to add-on cards or external DSP farms. Which is a shame, because at that point your computer is a peripheral to your audio rig, and it makes far less difference whether that computer is any good or not. So you may as well go with Windows or Linux and put the savings toward some nice speakers or that vintage guitar you've had your eye on.

For me personally, future Intel-based Macs may simply close the coffin on the things for which I chose the Mac in the first place. It's too early to say. I've got my test suite sharpened up, and I'm going to wait to see what happens.

Related Entries