Friday, April 22, 2011


You may have been hearing some rumors and jokes around Twitter concerning something called "Appsterdam". If you've been wondering what that's all about, wonder no longer, Mike Lee lays it all out for you. It's an interesting idea, and I must admit I'm intrigued and would love to go. For a handful of personal reasons, I simply can't expatriate to Amsterdam at this point in my life, but I am seriously considering going over a few times per year to soak up the community, and if things take off, who knows? My reasons for not going are relatively temporary.

The nice thing about what we all do is that it really doesn't matter where we do it, so I can work from Amsterdam just as easily as from my house.

Saturday, April 16, 2011

WWDC Mothership Pilgrimage 2011

Okay, after telling many people I wasn't going to organize a trip to the Mothership on the Sunday before WWDC, I may have had a change of heart. Scott Knaster, who did most of the hard leg work on arranging the buses last year, has offered to take the same role this year, and a lot of people have expressed interest, so we're thinking about running the bus trip again this year.

If you're interested in taking the bus trip down to One Infinite Loop, go here and fill out the short form. This will help us gauge how many buses we'll need to arrange.

If anybody's interested in sponsoring all or part of the trip, do let me know.

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.

Tuesday, April 5, 2011

Blender 2.57 Objective-C Export Script

A few days ago, the Blender Foundation put out the first release candidate of Blender 2.5. This release unexpectedly broke compatibility with most existing 2.5 python scripts, including my Objective-C header Export Script.

Which was great timing, since I needed to use the script today. I could've just gone back to an older version of Blender, but decided instead to re-write the script to work. I just added to GitHub, the new 2.57 compatible version of the export script. This version is back to being an add-on that you can add through the User Preferences.

I've also added a few options that you can select when exporting (they're on the left side of the file selection screen, underneath the volumes and recently visited locations). You can see the new options in the following screen grab:

Screen shot 2011 04 05 at 2 32 44 PM

The first option lets you specify whether modifiers are applied before exporting the mesh. If you uncheck this, the script will strip the modifiers before exporting, otherwise, it will apply them to the mesh before exporting.

The second option will rotate the object 90° along the X axis, which converts the object from Blender's Z-up coordinate space to OpenGL's Y-up coordinate space. I've made this the default, but I could foresee situations where people would want to skip the conversion.

The final option will move the export the object using its world space coordinates rather than exporting it using object space coordinates. This option will, for example, preserve relative distance between multiple objects exported from the same file into different headers. Or, to put it another way, objects exported will normally have use their coordinates as they relate to the object's origin, regardless of where the object is in the Blender scene. If this is checked, the vertex coordinates will be exported relative to the scene's origin.

NB: There was a problem with the triangulation code in the version posted earlier. If you're having problems, pull again from GitHub.

App Store Review Times by Shiny Development

Dave Verwer of Shiny Development has created a web bot that trolls Twitter for tweets about App Store review times and maintains a running average of both iOS and Mac review times. The results are continuously available at this website. The more people who contribute, the better the data will be, so if you want to contribute, just tweet your review time using the #iosreviewtime or #macreviewtime hash tags like the example tweet.

Sunday, April 3, 2011

Voices that Matter Seattle

This is just a reminder that Voices that Matter Seattle is this coming weekend. I'll be presenting on iOS Multitasking on Sunday morning. I'm really looking forward to it. It looks like there's still space available if you're free this weekend.