Week with a Macbookby Matt Cholick
My laptop at work finally reached the useless point, and I decided it was time to give OS X a go. I asked for a Macbook Pro, and it came in last Friday. I've spent the past week playing with OS X.
First, let me say that I dislike Windows for development. I haven't been enthusiastic about it for a very long time and I've been activitely frustrated by the operating system for the last couple years. I was downright thrilled when I finally managed to put Linux on my work computer (that machine was the last hold-out). My current machines dual boot into Windows. I'll fire up that partition only when I have to. Often, even when I do need Windows, I'll just start a virtual machine inside of Linux instead. So the question for me isn't pc vs a mac, it's Windows/Linux dual boot vs Windows/OS X dual boot.
I haven't really touched a mac in years. Before they moved to intel chips, they couldn't run Windows and thus were not a viable solution for me. I keep Windows around because I like to fire up pc games on occasion. Without the capability to run a non-vm Windows, Apple hardware wasn't an option for my computing needs. Since it now is, I'm finally exploring it with the macbook.
I have to say, I'm impressed. Part of it, I think, I my shifting opinion of what a computer is to me. Years ago, a computer was an end in and of itself. Messing around on the computer and learning was what I used it for. I didn't realize this until my experience with the mac, but a computer has shifted to simply being a tool for me now.
I bring this up because in a way I've shifted perspective from developer to user. Yes, most of my time on the computer is spent doing development. From the OS's perspective though, I'm a user. I think like a user. I know more than most users out there, but I still want an enjoyable and polished computing experience. I didn't realize this or appreciate that I wasn't getting it until a few days using my mac.
I love my Linux box, but a polished experience is not what it gives me. Linux is an OS driven by a philosophy about the freedom of software. OS X instead focuses on the user experience. And wow, does this show. Now, there is good and bad in both. Gnome's endless customizations stem from the philosophy behind it. Compiz is a good example of this. The level of customization is mind-boggling. I was so intimidated the first time I saw the customization menu that I removed compiz entirely shortly after. Actions have multiple animation choices and the animations themselves can each be tweaked in a dozen ways. It's amazing and allows for truly customized desktop environments. For example, here is a screenshot of my compiz settings manager. You can see from the scrollbar how much more there is and each of these animations has multiple tabs worth of options. I've seen other folks running the exact same version of Ubuntu and their desktop environments look and behave nothing at all like mine. In contrast, OS X has very few choices in this area. There are, for example, just two window minimize animations and these cannot be customized. What there is, though, is very polished. None of the compiz animations quite measure up to the polish of the ones in OS X. This example is pretty representative of the operating systems as a whole. They represent flexibility and choice versus a more polished but constrained experience.
So far, a single program is what moves OS X from good to amazing: Quicksilver. This program is brilliant. Once I'd played with for about an hour I was just floored. This is how I want to interact with my machine. Desktop icons, hierarchical menus - never again. It brings the power and speed of the command line into something that's usable without memorizing books of archaic commands. It's amazingly fast and powerful. I have purposely not gotten buried in it too deeply because I don't think I could come back from that. All my other machine would feel cumbersome and painful in comparison. Hell, they already do to some extent. I haven't been this impressed by a program in a very long time.
After playing with OS X for a while, I find that most of my unix-like tools are here too. I'm comfortable with its shell and the tools it exposes. Things are slightly different, but they're familiar. I've halfway decided to get an iMac already. If after a few weeks of development, the OS X box proves solid in that regard, my next computer is going to be an iMac without doubt (and likely sooner rather than later).