May 27th 2008 Why I’m (Probably) Leaving the Mac

I’ve been a Mac user since I started using computers. My family first bought a Performa 6320CD in June 1996. I fell in love with it (a good thing, since we kept using it for the next 6 ½ years). Aside from a brief foray into Windows XP, I have stuck with the Mac ever since—especially once I got a taste of OS X.

But now I’m going to grad school, and my anemic iBook G4 isn’t quite cutting it. It’s time for a new computer. I thought about getting a Mac Pro, but then I decided…that I probably won’t be buying a Mac again.

  1. I’m sick of upgrading. Apple comes out with a new version of the OS every few years. I use 10.4 now, and I’m perfectly happy with it. I’m not very impressed with 10.5. However, if I don’t upgrade, I’ll miss out on updates to applications like Safari and iCal. But if I do upgrade, I’ll also get updates to applications like Mail—which I don’t want. I feel like Apple hit a peak with useful features around 10.3 or 10.4; now most of the upgrades are just glitzy UI stuff.

    On top of that, some software isn’t available at all unless you upgrade. For example, Java 6 was released over a year and a half ago, but if I want to get Apple’s official version, I’d have to upgrade to 10.5—and buy a 64-bit Intel Macintosh. No, thanks.

  2. Mac OS X is Unix…almost. But it deviates a great deal from “normal” Unix operating systems. For example, instead of using /sbin/init and inetd / xinetd in combination with simple text-based config files, OS X uses launchd and complicated XML-based configuration files.

    Apple even changes the “standard” locations of configuration files, seemingly for no other reason than to be different. Some config files are kept in subdirectories under /Library, instead of where most Unix-based systems keep those files, making tutorials and documentation useless.

    Furthermore, Apple uses its own window manager, rather than X Windows. X Windows isn’t exactly the best piece of software ever written, and admittedly, OS X’s windowing system is better, but X Windows is still standard on Unix. Apple supplies an X Windows emulator,, but that means I can’t launch GUI applications written in, say, Tcl or Python from (at least not easily). Effectively, this means I can only write GUI applications in Objective-C (and possibly Java…as long as I don’t mind using Java 5, since Apple has only released Java 6 for 64-bit Intel Macs running 10.5). I’d like to use alternate widget kits, but apps only really fit in on Mac OS X if they use the Cocoa AppKit.

    On top of that, it’s hard to write any app in a language other than C, C++, or Objective-C that really “fits in” on OS X—at least not without writing a lot of bridge code. Yech. This might be easier now that OS X includes a Python and Ruby bridge in 10.5, but I still think that compiling an OS X .app bundle is a lot more work than installing a script in /usr/local/bin and support files in /usr/local/share.

    All this means that OS X is not a good choice for the computer scientist in me.

  3. Apple relies on proprietary hardware, software, and file formats. Here’s a little anecdote to illustrate my point: Back before 10.4, I had a great little widget app called Konfabulator. Then 10.4 came along, and forced an inferior piece of software, Dashboard, on all Mac users. I much preferred Konfabulator, but why run two widget engines? Seeing as how I didn’t have the option of (easily) disabling Dashboard, I ditched Konfabulator.

    Another frustration occurred with an Apple Mail “upgrade”. Prior to 10.4, Apple Mail stored its email in the standard Unix mbox format, which made it easy to move to another email client, like Mozilla Thunderbird. With the release of 10.4, though, Apple began storing email in a proprietary emlx format. They claimed the new format was more compatible with Spotlight, but I suspect ulterior motives. Besides, I rarely use Spotlight, so I’d rather have my email in a standard format than a Spotlight-friendly format.

    Apple does the same thing with the iPod and the iTunes Music Store. Sure, AAC isn’t a proprietary Apple technology, but the FairPlay extensions are, effectively making it possible to play iTMS music only on an iPod. Furthermore, few other platforms support even DRM-free AAC. I really like the iPod, but I don’t want to support that kind of vendor lock-in.

    And, of course, Apple limits OS X to Apple hardware (through the use of a trusted computing module that could be used for more…nefarious reasons). Personally, I don’t agree with this restriction. Yes, I know Apple is a hardware company and makes most of its money from hardware (e.g., Macs, iPods, and iPhones), but I still think OS X should be available for generic PC hardware. I could write a lot more on the subject, but to summarize: I don’t think people buy Macs solely for the hardware (which is, admittedly, pretty nice, albeit a bit expensive—if the Mac Pro was a bit cheaper, I’d probably buy it just to run Linux). They buy OS X for the hardware-software experience. (I also think Apple could make a killing by moving to a Linux-based OS, but more on those thoughts at a later date.)

    Call me idealistic, but I don’t really want to support a company that is as draconian as Apple, even though I love its software.

  4. Macs are expensive. My requirements for a new computer are fairly simple: I want a desktop machine that has room for expandability. Unfortunately, Apple’s only product which fits the bill is the Mac Pro, which costs, at a minimum, $2149—with a student discount. A similarly configured Sun Ultra 24 is less than $1450.

    Sure, Macs come with a lot more bundled software, but GarageBand and iMovie are only valuable if you actually use them. I’m not likely to do so, so that’s not a big selling point for me.

So what are my options? I’m looking at purchasing a PC that will run Gentoo Linux. Gentoo is a highly customizable OS that would allow me to tinker—and learn—to my heart’s content—perfect for a comp sci geek like me.