Tuesday, April 12, 2011

MacBook Air 11" as Dev Machine

I just got back home from Seattle, where I went to attend and speak at Voices that Matter. The VTM folks put on a great conference, as always, and I'll have more to say about that in future blog posts. But, I wanted to quickly address a question I've been asked numerous times this weekend both over Twitter and in real life. That question was "how productive were you able to be with just an 11" MacBook Air?"

If you follow me on Twitter, you know that after years of using Apple's biggest and most powerful laptops (17" MacBooks and 17" PowerBooks before that), I bought Apple's smallest, least powerful one. This weekend, I decided to experiment by traveling very light. Besides the MacBook Air, my computer bag had an iPad2, a Clear 4G+, the various cables and power cords for those devices, and a mechanical pencil, nothing more. My entire bag weighed 6 pounds, which was quite a change from the monstrosity I usually have with me when I travel to conferences. With a larger computer comes a larger bag with more room for storage that inevitably gets filled with things I might maybe possibly need.

So, how'd it work out?

Absolutely perfectly. Despite being considerably less powerful, the 11" MacBook Air rarely feels slow thanks to the SSD. Certain things take noticeably longer (compiling large applications), but the vast majority of day-to-day tasks feel downright snappy.

The screen is small, but it's a pretty high pixel density, so it's not quite as confining as you might expect. With a few changes to my coding habits, which included going from Menlo-10 to Menlo-9 as my coding font, and committing the Xcode key commands to to hide and show panes to memory, I quickly settled into a workflow that worked really, really well for me.

There may have been a very slight hit to productivity, but it wasn't bad, and it was more than offset by the fact that I could use the laptop anywhere, even sitting in coach. My 17" MacBook Pro is basically unusable in coach if the person in front of me reclines their seat. And the person in front of me always reclines their seat. I got a solid 4 or 5 hours of coding in yesterday that I wouldn't have gotten with my bigger laptop.

So, yeah. It worked out great.

A couple of times this weekend, I was also asked a related question, which is "could you use it as your main development machine?".

The answer to that is "I could, but probably wouldn't want to". However, that's because of factors that probably don't impact most developers. The nature of several of our clients (sorry I can't be more specific than that) means that a lot of our mockups and images come to us as very, very, very large Photoshop files with lots of layers. I regularly have to deal with Photoshop files that are a gigabyte in size or larger.

If it weren't for that, and my occasional dabbling in 3D graphics programming, I definitely could use this machine full time. In fact, an 11" MacBook Air with a 27" Apple display, would be a very capable iPhone dev machine for most developers, though I would definitely buy the "ultimate configuration" if you are looking at getting one.



17 comments:

Bram said...

Yeah, if your code base is light and nimble, with clean dependencies, you require very little machine power.

I use a previous generation mac mini, less powerful than a macbook air, and have no problems. Compile and link are quick, and i dont need them faster, as they are comparable to the upload-to-device times.

EJR said...

how many MB of RAM does your Macbook Air 11 has?

Paul said...

Also use your Ipad as a second monitor when needed (http://cleancutcode.com/displaypad/)it's great for giving you some extra sceenspace, and also running the iphone emulator on a Ipad screen is kinda funky :)

Jeff LaMarche said...

EJR:

The "ultimate configuration" has 4 gigs of RAM, the stock 11" MBA has 2. I would highly recommend the ultimate, 2 gigs isn't enough anymore IMHO.

petershine said...

Wow, you mentioned about using large external display and use Macbook Air as the main interface. This is exactly how I want to use computer for work! This blog made me want Macbook Air (and large external display) even more.

Nom DePlume said...

What kind of bag did you wind up getting for your MBA?

Jason said...

Nice write up. I'm trying to determine if I should get a portable Mac of some sort to take with me to WWDC this year. I've been quite happy with my mini, but wasn't sure about the Air's horsepower.
As an aside, I've read your write ups on WWDC as I prepare for my first one this year, can you comment on how the labs are setup if I want to bring a project and just pull up on a lab computer and start working?

Thanks again!

Allen Ding said...

Any thoughts on the 13"?

Jimmy said...

I purchased the 11"/2gb ram/128gb disk version for travelling, and so far i haven't been disappointed.

While Xcode 4 surely fits better on my 24" cinema display, and the 15" MPB with core i7/8gb ram performs a lot better, the 11" rarely feels slow.

The 2gb ram does set its limits, but it handles my "day to day" apps just fine.
Normally i'd be running something like : Xcode, Accessorizer, Codebox, Mail.app, Chrome, iChat, Twitter and Dropbox.

Khang Vo said...

I just purchased my MacBook Pro this March and I feel love its powerful capability. However, I think I will definitely try with a Macbook Air sometimes. Although, for me, I love the best performance with the laptop. Open lots of programs a the same time and XCode runs smooth

pippin said...

One thing to consider:
While I don't have the current MBAir and it seems to be much better than the original one (which I tried to use as a development machine for over a year which caused me a lot of frustration) there's one thing to consider:
If you connect a large external screen, the performance will get an impact. It's the case with my MacBook pro, not just with the old Air. It's simply _two_ screen interfaces that have to be serviced and the memory access by the graphics controller eats bandwidth which is significantly different from just using virtual screens.

I would be interested about the experience people have with that configuration since I do admit that I'm tempted to move back to the Air if it works out...

Jeff LaMarche said...

Nom DePlume:

I ended up getting to bags. A Waterfield sleevecase, which I used this weekend:

http://sfbags.com/products/sleevecases/sleevecases.php

It was excellent, though might not have quite enough storage for a whole week :)

And also a Copper River bag:

http://www.copperriverbags.com/Copper%20River%20Bags.html#macbook%20air

which I haven't received yet - they're hand made, so take a little longer. I was just notified that mine shipped, but I haven't actually used it yet.

Jeff LaMarche said...

pippin:

There's no doubt that it's a less powerful machine, however I know of several developers who have switched to this configuration (MBA + 27" Apple Monitor) and it seems to work pretty well for them.

But it's not going to be the same performance as a Mac Pro or MacBook Pro, different class of device. I'm not saying everybody should get this and only this configuration, but I am saying that most developers could comfortably work on this setup without sacrificing too much.

pippin said...

Jeff,

I fully understand that.
My previous experience with the first generation Air included 20min compiling/debugging sessions, 5min standby sequences (just closing the lid) and full minutes to display a web site on the external screen (exclusive of loading).
I'd be happy with anything that's significantly faster than that; for me size and weight IS very important since I like to be able to carry around the Mac everywhere.

Nical said...

Same here, got a 13" MBA for home dev on xcode-> i Pad.

It is remarkablely workable to do dev.

Great machine.

SSD helps a lot for sure.

Jeff LaMarche said...

Pippin:

The current generation of MBAs are quite a drastic improvement over the previous. Don't judge them based on the old Airs.

jamieloois said...

Hmmm, does the author really consider Europe and Cali to be the only places with mobile development saturation? I wont go into listing other dev friendly areas. I will state that IMHO, Android Phone it shouldn't matter where you are. If you are talented, driven, and unrelenting there is a place for you in mobile Android Tablets development whether your in North Dakota, Japan or California. The Internet can be
highly collaborative if you let it.2945abc45 0425