Thursday, November 18, 2010

Developing Software on the new MacBook Air 13"

A few days ago, I shared the sad story of how my MacBook died, and what I was able to recover with my backup scheme. If you recall, I was scheduled to fly to Denver about 12 hours after my computer died.

Aside from the occasional bolts of panic zapping my brain, the flight to Denver was great. I'm a software developer; I'm sure pizza deliverators get the same anxious hollow feeling from a flat tire. Assassins probably feel the same pang when they toss a warm revolver into the river.

Lucky for me, the Boulder Marriott was only a few blocks from an Apple store. To make some lemonade, at least I would get to pick out a new toy.

The Thrill of the Hunt

My first night in Boulder, I spent about an hour comparing the 15" MacBook Pro and the new (note: at the time, the second generation Air was just out. The third generation has an even faster processor. The following link is to the third generation Air.)  13" MacBook Air. I knew that the Pro had a better processor, a better GPU, could hold more RAM, and had a few more features that made it more suitable for software development.

But the MacBook Air had SSD hard drive on its side. Where the Pro would take a few seconds to open any program, the Air opened even Aperture almost instantly. Academically speaking, I know there are operations which the MacBook Pro can execute faster than the Air. If you need pure CPU or GPU power, the Pro will do the trick. If the job requires a fast FireWire external hard drive, only the Pro will do. If the job needs more than 4GB of RAM, you need the pro.

But for the every day tasks I could test at the Apple store, the MacBook Air was the fastest computer I've ever used -- and the demo model only had 2GB of RAM. The (non custom) top-of-the-line MacBook Air cost about the same as the base-model MacBook Pro.

If I were Richy Rich, I might have considered buying a custom MacBook Pro with a SSD hard drive. But that would have been a $750 upgrade. Ouch!

The decision was tough, but I decided that I wanted the MacBook Air with 256 GB SSD hard drive, and 4GB of RAM. The speed was eye catching, and so was the size.

Missing the Shot

In a painful turn of events, it turned out the Apple Store did not have the MacBook Air I wanted in stock. I was initially told they were in stock. I thought I had the Air in my clutches. The employee was wrong.

All that time deciding, and I couldn't complete the purchase. I asked when they would get more in, but apparently Apple stores get daily mystery shipments of computers. The employees have no idea which models they will get on a day to day basis.

I needed a beer. Luckily Boulder is a beer town (in fact, I happened to be in town for the Beer Bloggers Conference). A bottle of Brew Dog 5am Saint and a bottle of Alaskan Winter Ale did the trick.

The Chase

I returned to the Apple Store the next two days. Boulder Apple Store finally received the model Air I wanted Saturday morning. The Air is probably the most relieving $1,700 purchase I've ever made. Now I just had to install some software.

The Verdict

Yes, the size of the Air is amazing. The thing is tiny, minuscule, a little microtomed slice of Aluminum. I actually worry that I should get a sleeve for the Air since it actually can slide into a tiny gap between the pads of my Kata camera bag.

One unexpected benefit of the size is that the wrist rests flow into a desktop much nicer than a standard laptop. When it rests on my desk at work, it almost looks like the Air is sinking into the fake wood.

The size is tricky too. My previous MacBook also had a 13" display, but the Air's display is higher resolution and brighter. It feels larger. Well, it feels larger until you close the lid. Then you wonder how a computer fits into a tea tray.

How about speed? I've had a few weeks to develop on the MacBook Air, and the thing is amazing. Jeff Atwood is correct, a SSD hard drive will change your life. Even the slow-poke Eclipse IDE gets to the workspace selection dialog in 4 seconds. Likewise, Xcode explodes onto the screen faster than necessary, about 2 seconds to open, 2 to open a project. Aperture 3 launches in a second or two. Builds are fast too, though I'm sure your mileage may vary.

Right now I have 13 applications open, including two IDEs. Everything feels zippy and fast. More importantly, I'm much less likely to get distracted while waiting for a build to finish or tool to launch. I love it!

I don't for a second regret getting a MacBook Air instead of a MacBook Pro. Tiny and fast? This is the future.

Amazon offers a newer generation of MacBook Air than the one I own. Using one of the links from this page will help support the site.

*Moving Average Inc. is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to
*Changed 22 March 2012 to add links to Amazon and explain that a newer MacBook Air is available.


oskar said...

Hi Windaddict, i read your post, very interesting your history. Like you, i'm a software developer, actually working with JAVA (Eclipse or Netbeans) and most of the times, with PostgreSQL database or Mysql. I wanna know a little bit more about your "development experience" with the macbook air because, like you, in a couple of months i'm gonna travel to visit family in USA (i live in Central America) and i wanna get my first apple computer, but i'm between Macbook Pro and Macbook Air. My argument is about if MBA support the use of a developer, to do things like have a database server running like oracle or postgres, an IDE running, maybe some virtualizing software like virtualbox, and things like that, can you give me your opinion?

John M. P. Knox said...

Hi Oskar,

My MacBook Air is the second generation model with a core 2 duo processor. I would expect the latest generation to be even more responsive and usable as a developer machine, especially with an i7 processor.

Unfortunately, for both models, RAM is the limitation. My Air happily runs Xcode, the iPhone simulator, and Rails running on a SQLite database simultaneously. But things do get slow at times. If you're also planning to run a virtual machine, 4GB of RAM might not be enough.

You might try running your typical developer setup on your current box for a while and seeing if the combined memory footprint fits in 4GB (don't forget the OS!). If not, you might just want to get a Pro with 8GB of ram and avoid the spinning beach ball you'll get when huge chunks of memory is swapped from RAM to the SSD.

Hope that helps!