My Review of iOS 4 Programming Cookbook
Originally submitted at O’Reilly
You can build a variety of amazing apps on the iOS platform—and every one of them presents a unique set of problems. With the recipes in this cookbook, you'll go beyond theory to solve the vexing, real-life issues you’re likely to face when creating apps for the iPhone, iPad, or …
Chock full of code.
Pros: Helpful examples
Best Uses: Intermediate, Expert
Describe Yourself: Developer, Educator
Disclosure: I’m an O’Reilly Author and developer of the Great iPhone Development Video series. That being said, I’m not one for pulling punches when I see issues with with people’s code (ask anyone I’ve ever code reviewed
.
This is the book I wish I’d had when I started developing for the iPhone. I started writing apps about two weeks after the infamous Apple Developer NDA was lifted and information started trickling out onto the Internet. If I’d have had a book like the iOS Cookbook I could have saved myself many hours of painful trial and error while learning Objective C and what is now the iOS API.
This is not really a book for a beginning iOS programmer. It’s a book for someone who’s done a couple of simple apps and has the basic idiom down. If you’re looking to learn Objective-C or the mechanics of writing an iPhone app, this book will not help you. But if you can already write a functional app, the code snippets in this book will trim lots of time off of your learning curve when it comes to implementing more sophisticated features like Core Data, gestures, etc.
There are a few areas where the examples could be clearer, and it’s clearly impossible to cover some of the more sophisticated functions of areas like Core Data in 620 pages. But overall this is an excellent REFERENCE for new and experienced app developers alike, and I’d recommend adding it to your library.
(legalese)
Google Notebook: first impressions.
I’m typing this on my shiny new Google Notebook, which I found sitting on my front steps when I got back from a weekend in the mountains with my family. I filled out the form with Google on December 7th, and to be honest I’d kind of forgotten about doing it. So when I brought the box inside I checked it for leaking fluids or ticking noises. It had neither, but when I opened the outer box I was confronted with this:

(note: I tried to rotate this image using the image editor in WordPress, but for some reason the rotate button wasn’t working in Chrome)
I took some pictures of the box and the documentation, and I tried to get a picture of the screen as it booted up. To do this, I opened and closed the laptop a few times. Big mistake, because pretty soon I saw this:

So, before I’d even logged in, I had a bricked Google Notebook. Bummer. But, fortunately the recovery process was pretty painless. One 4GB thumb drive (and some tedious command line shennanigans) later, and I’m now working in the cloud.
Coolibah!
I was on the phone with my friend tonight, and I realized that I haven’t put any links to my latest iPhone project on the blog. Oops! Here’s a demo video showing Coolibah, the iPhone scrapbooking project I’m doing with my sister Bobbie:
You can also visit the Coolibah blog for the latest updates. We’re also on Twitter (@coolibahme).
A day with the Jester.
I just finished one of the most interesting software development projects ever this week. After responding to a note posted to the Atlanta iPhone Developer Meetup group I ended up trading emails with JD Howard, author of the Naughty Jester blog. JD wanted an iPhone app to help connect with his readers, but he didn’t have a big budget and he didn’t have a lot of time. He wanted to “drive down and knock an app out” in a day or so.
Never one to pass up a challenge, I told him to come on down. I was careful to set his expectations as low as possible, because one day really isn’t enough time to do a meaningful application. All I could promise was that at the end we would have something to submit to the iTunes App Store, and he was OK with that.
So at approximately 3:00 PM on Monday (Memorial Day), JD pulled up to my house in Columbia, SC. The trip took him 5 hours, instead of the 3 that he had originally thought. After a brief meet & greet (plus various social networking connections, which I guess are the modern equivalent of calling cards), we sat down to do a quick mockup of his site.
We used a new tool that I really, really like: Balsamique Markups. It’s a very nice WYSIWYG tool for laying out web pages, applications, and iPhone apps. For OCD perfectionists (which many developers are), I find the cartoony graphics strangely freeing. It really lets me lay out the gist of something without getting sucked into the minutiae of a full design.
We agreed on a basic application that would:
- display his blog in a browser control
- let the user forward a link to a friend
- take the user to a newsletter signup
- take the user to feedburner
The one rule of iPhone development is that the things you think will be simple will be hard, and the things you think will be hard will be easy. We had a browser window up and running with his blog in it within 30 minutes. But producing a decent-looking home button image took almost an hour.
Possibly the most interesting part of the project was having someone I’d never met come and crash at my house while developing an application. My mother (who lives with me) was a little leery of the idea at first. “What if he’s an axe murderer?”
After JD and I had been working for a while and I mentioned this to him, he assured her that he was not an axe murderer, which I’m not sure had the desired effect. I put it to her like this “It’s like we’re running a bed & breakfast, with iPhone development on the side.” Hmmmm….
In any case, working with JD was a real pleasure, and we had some interesting conversations over cigars at the end of the day. Now, let’s all keep our fingers crossed that Apple will be kind and merciful and approve the app!
