New Blog Category: iPhone Development

I’m going to document what I’m doing on this iPhone development project, and it’s going to be in a separate category. If you want to follow just this without following anything else, you can point your browser at, and if you want to follow it on RSS,

Here’s what I’ve done so far, since signing up as an iPhone developer 4 days ago:

  • Watched the introductory iPhone developer videos available from the Apple Developer Connection
  • Read up to page 91 of 133 of “The Objective-C 2.0 Programming Language” (should finish soon). Decided that Objective-C is pretty weird looking, but it might have some merit. It appears like the bulk of “learning the language” isn’t going to be in the language syntax itself, but in learning the frameworks and libraries – sort of like Java, but much more so.
  • Downloaded the iPhone SDK. Fired up XCode and loaded one of the default app frameworks and ran it in the simulator. Decided that XCode is quite different from Eclipse, but if I learned to like Eclipse, I can probably learn XCode as well.
  • Started defining the requirements for the application. Haven’t decided if I’m going to do multiple posts about that, or just have one post and keep coming back to edit it.
  • Decided that I should do the design and development as openly as possible – yes, I’d love for my app to get on the App Store and make lots of money, but I think it’s probably more important to have something I can show prospective employers to prove that I’m not letting my skills atrophy just because I’m working as low man on the totem pole at a multi-layered bureaucracy instead of being top dog on a small team like I was for the last 6 years.

Next up, after finishing the Objective C document is probably to read the iPhone Application Programming Guide and maybe to work on a few small examples. And also to sketch out some ideas for the user interface. I really want something that looks good, and my past performance in that area hasn’t been the greatest. Maybe I can use that 99designs site that StackOverflow used for their icon to design an icon set?

7 thoughts on “New Blog Category: iPhone Development”

  1. I would suggest getting a good book. There were none available when I started, and it was quite painful. Many parts of the SDK are very elegant, but it took my a while to “get it” because it is quite different from what I have seen before. The rule I quickly adopted was “if my code is getting complicated, I am missing something”. I have heard good things about this book:

    I was thinking of buying a copy myself to see what I have missed.

    Apple has decided how you should do things, and you will quickly learn that even if you don’t agree, it is much much much easier to give in.

    If you are not familiar with SQLite, you should look at it before you plan too much. It seems very fast and compact, but it is very limited compared to databases that you may be more familiar with.

    If you have any questions that I can answer, feel free to ask.

  2. Laurie – there was a good review of that book on Slashdot the other day, so I’ll take the hint and order it.

    As for SQLite, I rewrote my app to use SQLite just to see how it worked. It was almost a no-op to change it, as I tend to use pretty generic SQL. It turns out the locking model doesn’t work well with multiple access to the same table, especially if some of them are trying to update, so it wasn’t appropriate.

  3. I got up to speed on Cocoa by reading “Cocoa Programming for Mac OS X” by Aaron Hillegass. It is for OS X, rather than Cocoa Touch, so there is a lot of irrelevant information in it, but when I started iPhone development, there weren’t any good iPhone-specific books or tutorials available.

    I’ve also read “iPhone SDK Development: Building iPhone Applications”, available in beta form from I can’t really recommend it, as it is incomplete and full of typos and incorrect information, but it did help me.

    Apple provides high-level docs (e.g., iPhone Application Programming Guide), and low-level docs (the API reference), but is lacking in “mid-level” documentation. That is, there is no Apple document that walks you through the process of creating an app that does something non-trivial.

    The sample code is great if you know how things fit together, and know what to look for, but if you don’t know about a lot of the magic that Cocoa provides, it won’t make sense.

    I lot of people recommend the FMDB ( wrapper for SQLite, but if you have experience with SQLite already, you may want to just use its API directly.

    If you want the source to my to-do app, let me know.

  4. After using Objective-C for awhile I have decided that I both like it and hate it. I quite like the semantics, but the syntax is horrid. Prior to this project I was using Ruby on a few projects. I find the semantics of Objective-C and Ruby to be almost identical, but the syntax of Ruby is beautiful (at least in the eye of this beholder). I also find that the classes in the Objective-C frameworks and the Ruby classes are very similar.

  5. Paul, I would also recommend once you get accepted into the iPhone development program is to use the online forum that Apple provides. I have found it helpful when developing my iPhone applications.

Comments are closed.