iPhone Developer’s Cookbook review

When learning a new language/platform/framework, sometimes learning from a book is a good approach. But that depends heavily on picking the 'right' book. What I mean is that the book contains the 'right' amount of content for the reader's skill level. So when I looked for book to learn more about iPhone development, I have something specific in my mind already.

With Apple's original rather restrictive NDA placed on iPhone developers, all the iPhone development books were placed on hold until Apple changed of mind a few months back. One of the book that I received good recommendation from fellow ThoughtWorkers who were also interested in iPhone development was Erica Sudan's iPhone Developer's Cookbook. I bought it earlier this month along with Christmas presents so I can read it during the holiday vacation.

The book is not thick at all, coming just under 340 pages, and took me couple of afternoons to read through. It is written half in traditional cover-to-cover manner and half in 'recipe' manner where developers can find solutions to problem quickly. Perhaps because I've been part of the iPhone SDK program since the beginning and had seen the evolution from the first beta, most of the book content (I'd say 90%) is not new to me. Particularly the sections on table, advanced table, and UI controls are areas that I am already very familiar with after poking around the SDK for over 6 months. I did learn some valuable tips on media and animation, which I've not spent any time on yet.
I'm kind of disappointed by the book because I was hoping I would learn how to create great iPhone app. Particular I was looking for code examples of common application requirements (e.g. how to implement options screen) with in-depth discussion on the limitations imposed by the public API, alternative ways to work around them using legitimate means, as well as undocumented API. I am also hoping to see some mention of unit testing with OCUnit or Google's unit testing framework, profiling using Instrument, and other libraries that would fill in the API gaps. Instead, the book only provides isolated information on each topic and spends to my mind, a disproportion amount of time on undocumented API thus giving it an implicit approval. (On the topic of private/undocumented API, I am in the camp of John Gruber of Daring Fireball)
In the end, I would give this book 3 out of 5 because it provides a lot of valuable information for any one starting out with iPhone development. But it does not provide any insight into building great iPhone application, which I think is sorely missing in this area.

Read and post comments |
Send to a friend

Birthday weekend

After some prodding from me, Missus H. organised a birthday dinner for me on Saturday this year. Bunch of my friends came and we ate lots of delicious food cooked by Missus H. herself. The cherry coca cola ham was soft and sweet, the roasted potatoes disappeared within minutes, so were the creamed spinach. Dan, my fellow TWer, bought me a bottle of port as birthday gift and we all enjoyed it from the blue plastic cups!
Birthday 2008 - 10Birthday 2008 - 09Birthday 2008 - 08Birthday 2008 - 07Birthday 2008 - 04Birthday 2008 - 02Birthday 2008 - 01Birthday 2008 - 06

Then on Sunday, Missus H. decided that I was 'allowed' to have my birthday present from her a day early. It turned out she bought me a iPhone 3G! So without further ado, we got out of bed, had breakfast, hopped onto the PATH train and visited Apple SoHo store to pick up my new phone.
Finally, last night we went to see David Sedaris at the Lincoln Center. He was as funny in person as he was in This American Life. He was not the skinny guy that I imagined him to be from listening to his voice alone, which proves the power of the radio.

A bit of contrast from last year when I was working in London and all I did on my birthday was to go to the Race of Champions at Wembley in below freezing temperature! I thoroughly enjoyed the racing but would much prefer to be not frozen solid in the process. And by the time I got back to central London, almost all the restaurants (i.e. not pub, Italian/pizza, or Subway) that I wanted to go were shut. Closed at the weekend by 9PM!

Read and post comments |
Send to a friend

Spit and Polish

A few months back, I started working on an iPhone app using the beta version of the iPhone SDK. Since then various things got in the way (not to mention the restriction of the old TOS placed on developers so everyone were working in the dark) and I didn't spend any time on it to really finish the app. My interest was revived when I attended the iPhone Tech Talk event in NYC last Tuesday. The sessions were interesting but nothing technical or coding. I learnt a lot more about the process of provisioning an iPhone for development testing and distribution, as well as how to submit app to the iTunes App Store. Most importantly though were that I was able to resolve issues around my personal's Standard and ThoughtWorks' Enterprise applications to the iPhone Developer Program. Now I am able to distribute and test my app on actual phone(s)!

Since Tuesday, I've been spending lots of my free time on polishing up the CCPhone app so I can start distributing it to the masses. One main change from the original vision is the colour theme change. This stems from the advice in the "iPhone User Interface Design" session, where dark colour theme is the preferred colour for apps that people use for short period of time (and possibly under the table/desk).

Another I've found is that the SDK has improved in many ways since the 2.0 days. Now it is easy to find the relevant sample code from the API reference documentation since the links to the sample apps are hyperlinked! There are also a lot more documentation on how to use various type of controls/classes in an advanced manner, much more than just the simple basis stuff. And from talking to all the Apple staff in the Tech Talk, I was impressed by how receptive they are to feedback. Even the really stupid stuff that they shouldn't have released in the first place.
And get this. I ran across a problem with the iPhone Developer Portal on Wednesday when I tried to set myself up with both my personal account and the ThoughtWorks' enterprise account. Somehow I was not able to switch between the two and when I un-assigned myself from the TW's account, I no longer had access to my personal one! With no recourse, I ended up sending an email to Apple and waited. That evening around 5PM, I got a surprise phone call from Apple inquiring about my problem. By that time, the problem had mysteriously resolved itself so I gave the lady on the phone my feedback on the Portal instead. Imagine that, someone actually calls the developer to resolve an issue!
CCPhone is just my way of dipping my toes in the water, testing the temperature. Now I need some more ideas for apps that I can work on.

Read and post comments |
Send to a friend

Website Built with WordPress.com.

Up ↑

%d bloggers like this: