Looking Back on CocoaConf DC: 5 Highlights


A conference like CocoaConf DC leaves one wishing they had more time, both to attend more talks and to experiment with newly tickled curiosities. If only it were a six day, single track conference instead of a 2-day three track conference. Of course, that would be very impractical, but still, there wasn’t a single time slot that didn’t leave me somewhat conflicted about my session choices. However, with three tracks and a few walking, talking encyclopedias of information, hard choices had to be made. As such, here are some talks that I particularly enjoyed:

1. Keynote - Daniel Steinberg

Daniel had some interesting ideas on limiting pointless code duplication that Apple (in examples) and Xcode (in templates) sometimes subtly encourage. For example, if you are building for both iPhone and iPad you may well have a large if-then block in your AppDelegate, but with some clever subclassing you can edit your main.m to handle the check for you. What you end up with is something like this in your main.m:

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate_iPhone class]));
} else {
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate_iPad class]));
}

This does not get rid of the conditional (and I don’t see a clear path to “tell, don’t ask” here), but it does allow you to better organize your code.

Another tip from this talk that I could have used recently is in dealing with generated code. If you need to make customizations, subclass the generated code (as opposed to throwing re-generation out the window and editing the code). Lessons learned...

2. “Understanding C for ObjC Programmers” - Bill Dudney

I remember a bit of C from “back in the day” (i.e., school), but it’s been over a decade since I’ve really interacted with it so I thought the review would be useful.

I especially liked Bill’s perspective on casting base C types, which he aptly describes as looking at data through a different lens. A nifty way of thinking about it, I think.

One great bit of architecture I learned about in this session is Class Clusters. Have you ever noticed your NSString is sometimes a CFString? That is Class Clusters at work.

3. “The Humble Header” - Mark Dalrymple

My takeaway from this talk was, essentially, “go read the headers.” When dealing with ruby or python, it is second nature to just open up the code you’re interacting with to see what is going on, but in the iOS world it is easy to just think of it all as documentation and a black box. Of course, the system is littered with headers and sometimes this is the best (or the only) documentation. Mark mentioned that he as a “moby.h” file he creates whenever a new version of the SDK is released, basically all of the available headers in one file. I threw together a somewhat brittle script to do the same thing, have fun.

Mark briefly touched on a potentially upcoming feature of LLVM. Doug Gregor’s talk on modules is worth a watch if this is something that interests you.

4. First Day Closing Remarks - Jeff LaMarche

I really enjoyed Jeff LaMarche’s first day closing remarks, where he stepped through a bit of his personal history and his perspective on what denotes success for a developer. As someone who has followed a bit of a winding career path, I found a lot to nod my head to.

5. “Super Rad Brainstorming” and “Oh My Clients” - Jaimee Newberry

Both of Jaimee Newberry’s talks were forays into maintaining effective relationships with the non-developers most of us work with every day. As builders, our job is often to take scattered ideas and turn them into focused products.

If this is something you need to do, I recommend catching one of Jamiee’s talks. Based on her twitter, she is travelling the known world giving these talks, so you’ll have to do a little searching to find out where exactly you need to go.

Wrapping Up

With everything said and done, CocoaConf DC was an excellent conference and I definitely plan on going back next year. I would not object to a more commuter friendly location (the Dulles corridor has notoriously bad traffic, and public transportation is not very convenient), but the hotels were reasonable so I’d go back to the same place again.

What was your favorite talk? Comment and let me know.

Check out our list of CocoaConf links.