thinking about things from eight sides

CocoaConf PDX 2013

Although most of my work is on web applications and services, I also dabble in Objective-C, iPhone, and Mac development (someday I hope to ship some of it…). As luck would have it, CocoaConf happened to have a stop in my hometown, and it was at a hotel out near the airport, so I could just hop on the MAX to get there. The early registration price was a pretty reasonable number by conference standards, so I decided to check it out and see what I could learn to help me get going on some of my own projects.

In short, it was a great conference—well worth the cost of admission and the time spent. There were two days of really great talks (and a third day of tutorial/workshop sessions that I didn’t attend) put together by developers who really want to share their knowledge.

I especially enjoyed the relatively small size of the conference, since it really brought everyone together and felt like an actual community rather than just a crowd. OSCON is a great conference, but it’s so huge that it’s hard to make a real connection there.

The speakers for the conference also included a bunch of local experts, so I got to put some faces to some names that I have seen float past on the local CocoaHeads mailing list. Janine Ohmer (@janineanne), who manages that mailing list, gave a great talk on everything to do with making an app except the coding (including such favorite developer pastimes as Marketing and Documentation). Justin Miller (@incanus77) of MapBox had a nice overview of MapKit APIs and also showed off some MapBox tools that can be useful when you need to go beyond what MapKit offers.

There were lots of other great sessions, too, and my notes from them go on for thousands of words, but here’s a short list of some of the most memorable pieces of advice I picked up:

  • Not everyone will be delighted with your work, but your app is not for everyone – Daniel Steinberg (@dimsumthinking)
  • You can typdef Objective-C blocks and set up blocks as properties to make
    them convenient to pass around in your APIs – Daniel Steinberg (@dimsumthinking)
  • If you have some bits of data that you need to persist across a delete/restore of your app, you can put them into the keychain – Walter Tyree (@walterpt)
  • MapBox has some handy tools for making maps work offline – Justin Miller (@incanus77)
  • You can add your own storage implementations to Core Data and do some wild and interesting (and possibly even useful) things – Jonathan Penn (@jonathanpenn)
  • XCode’s Storyboards are pretty useful and pretty awkward/painful at the same time (I’ve used them a bit, but apparently haven’t hit the pain points yet; hopefully things will get better since it seems like Apple is pushing Storyboards these days) – Collin Donnell (@collindonnell)
  • NSCoding and NSValue will let you put pretty much anything into Core Data with a modicum of effort – Walter Tyree (@walterpt)
  • mogenerator makes using Core Data’s model code generation tools much more convenient and practical – Walter Tyree (@walterpt)
  • XCode lets you play a sound at a breakpoint, which is handy for when you need to hear when or how often something is happening without interrupting your code – Kyle Richter (@kylerichter)
  • When making an iPhone app, you only have about 11 characters for the name before it starts getting cut off on the home screen – Janine Ohmer (@janineanne)
  • You can use Data Detectors in iOS to clean up poorly formatted data you ingest from somewhere else and turn it into nice structured data – Colin Cornaby (@colincornaby)

One final note of awesomeness: Jean MacDonald (@macgenie) was running App Camp for Girls for the first time this summer, and brought some of girls to the conference. They added immeasurably to the roundtable discussion on Women in Tech, and I hope they got a lot out of the conference (in addition to the books that I heard the fine folks from Big Nerd Ranch gave them!).