How to Get Started as an iPhone Developer
See the 2010 updated edition of this post.
Reader Benjamin wrote to me tonight and asked:
I have researched some into iPhone programming as I am obsessed with every application that is available for my own iPhone. The problem is that the amount of books and articles out there about programming for an iPhone is enormous. Do you have any recommendations for a few killer books to read in order to learn the process/language?
What a great question. It’s one I’ve been getting a lot from people I know since my apps went on sale.
Thanks to the popularity of the iPhone and the lure of the App Store’s profit potential, there’s plenty of crap floating around promising to teach you how to program for this new platform. Much of it sucks. Thankfully, there’s some gold to be found for iPhone SDK autodidacts. Let’s check it out. More…
The Lure of Best
I do not know why anything works. English, electronics, cooking, driving, name anything. In middle school, when it was time to learn about subjects, predicates and all those other sentence diagramming miseries, I got some of my worst grades ever. Writing was definitely my strongest suit at that point, but when it came to understanding why writing worked the way it did, I was hopeless.
The reason for this is because I function almost entirely on intuition. I’m the ultimate learn-by-doing kind of person because the theoretical substance of any given thing is simply not something I am capable of grasping without considerable effort. With repeated exposure to many books and magazines, for example, I knew how a sentence should flow and what words belonged where. I didn’t know why. I could just sense the rightness or wrongness of the details.
This quality of existence is a curse in school since the bulk of studies rely on the absorbtion of theories or factoids. In a world where results matter, though, intuition serves me well. I make many mistakes in the process, but intuition lets me accomplish a great deal with minimal starting information. It also means I can fix any configuration of technology, short of breaking out a soldering iron (although even then, sometimes).
So it goes with usability. I don’t actually know what makes for good application usability, beyond obvious things like button size/placement and readable text. I do know what feels right, though, and more importantly, I know what feels very wrong. When I build an interface, it usually starts out pretty wrong. I beat on it and beat on it until all the suck goes away and I sense that it’s what it should be.
This is work. I can’t muster the effort to do it without a very specific lure: I need to know that the resulting product has a shot at being the best at what it does. This made Tallymander in particular very seductive: the competing products were so shockingly awful, both in appearance and usability, that all I had to do was apply love and attention to my own solution and I could easily ship the very best counting app in the whole store.
I have a hole in my soul. A deep, ragged, sagging, gaping wound in the very core of my being. The only way I know to fill this hole is to provide exceptionally good solutions to whatever problems I encounter. This makes product design an obvious vocation for me. (Incidentally, it also makes me a brutally effective salesman when I’m aligned with an array of products I love.)
Today I got this review in the UK App Store:
5 Stars
Very useful, well made.
I tried other counting programs and this one came out on top because of :
- Ability to count multiple things at once.
- Email feature.
- Ability to label subjects.
- Nice, pleasing interface.
A polished program. Thankyou.
I didn’t build Tallymander because I thought it would be a blockbuster moneymaker. I built it because I knew someone, somewhere needed to count things, just like I do. When that someone went searching for a solution to that problem, I wanted Tallymander to satisfy their need without annoying them or worse: leaving them with the nagging feeling that something about it could have been done much better. For a customer in the UK, I seem to have made that magic happen. Even if I made not another cent off of Tallymander, it has done what I hoped for it.
With that pleasant surprise, the wound in my soul heals a little further.
Time to get crackin’ on 1.1.
Tallymander is in the App Store
I would be remiss if I did not mention that Tallymander has passed Apple’s scrutiny and made it into the App Store. Visit tallymander.com for the official minisite or check out the iTunes Store Page.
Screenshots:



Tallymander shipped
After spending the first few years of my career slaving six hours a month on laundry and ironing, I did a cost/benefit analysis and decided that dry cleaning is a better deal. The only chores involved with dry cleaning are gathering your clothes, counting your articles and driving them to the shop.
The business of counting always sucks for me — I get distracted and lose count. Pen and paper are out of the question for this task, since I need at least one hand free. I figured that someone had already solved my problem in the App Store. I was right:

For $6.99, that lovely application could be mine.
Hell no.
Naturally, this meant I was going to have to write my own. I took on the challenge of solving the tally problem in the most flexible, effective way possible. I wasn’t going to write just a tallying application. I was going to write the killer tally app.
Tallymander is a UITableView-based tally manager. You can count up, you can count down. You can count as many different things as you like. You don’t even have to touch the screen: entries can be set up to respond to a firm shake of your iPhone. You can use it to count things, to keep score, whatever. It has swipe-delete. My favorite feature: you can email a report containing all of your tally data.
The interface was inspired by the alarm tab of the Clock app, which I love. Clock is a perfect example of how UITableView is the most badass interface scaffold ever.
I submitted Tallymander for App Store review tonight. It’s a good palette cleanser, having just shipped Oddage. I don’t want to turn into casual iPhone game programming guy. It’s also a fun experiment in usability, trying to balance power and flexibility with fun and ease of use.
Is it the killer iPhone tally app? We’ll see how it goes.
Bank of America: Your iPhone App Sucks
I know you have a lot on your mind lately, what with your bank purchases and the whole of the finance industry falling apart. Still, I’d like to inspire your engineers to embark upon a simple, fun skunkworks project.