A one day project
I started work today on an iPhone project with a friend. I figured it would take only a day to get to a reasonable 1.0. I've only put in about a half day on it so far, but at this point I'm pretty sure it's actually a two day project.
Looked at one way, that's a 200% estimation overflow. But more realistically, it means it was pretty small and I tackled it in the wrong way. I had to refactor some code early that I left alone for too long. I should've written in the right way to begin with, and I should have realized it was wrong sooner, and I should have stopped trying to make it work.
More pragmatically, maybe I should have known better. But, of course, I didn't. And that's okay! I know better now.
What's my point in posting this?
Mostly, it's this: iPhone development isn't nearly as hard as I've made it out to be. Useful applications can actually be quite small and still be useful. Simple things are simple. When they're not simple, it's time to fix something.
I'll post a link here when I finish the project. It'll be a bit before I can devote another day to it. But I'm excited by its usefulness, its simplicity, and the idea of having an app in the App Store of my own.
Joshua Kaufman interviews Loren Brichter on Tweetie's reload gesture. A good, non-technical read on finding the right way to present a feature, adding a custom gesture, and providing feedback.
Tidbits: Web-enabled iPhone Apps Aren't for Kids.
James Thomson (PCalc): How to make your iPhone application start faster
Three20
I downloaded the latest version of Three20 today by Joe Hewitt. I read through some of the code and ran through the included "catalog" demo. If you've used the Facebook application, you've seen early versions of a lot of these controls.
I haven't written any code against it yet and I'm not up to reviewing it, but I will say this: The controls seem to fully work. They're pretty, and the code is clean.
Possibly the piece that will save me the most time going forward is the photo browser. I'm not sure yet when I'll need this, but doing it myself would be a lot of effort at my current knowledge of Cocoa Touch:
Less visually impressive, maybe, are the buttons:
But it's worth pointing out that in addition to having more varied styling, these are built on UIView not UIBarItem. These are going to be very useful. I'm not exaggerating when I say they'll make it possible to write better applications.
Three20 also has some tab controls. The top one in particular has a great sideways scroll to it, and I think look and behavior adds up to great UI device, which I can use immediately:
Next, some styled views:
Not pictured:
- Three20 includes "disk" based caching for network images.
- Three20 provides easy tools for building a text representation of the application state. This will make restoring state between runs much easier.
Some of what's in the library has been rendered unnecessary by iPhone OS 3.0, but there is enough added to make it very compelling. I plan on putting it to use soon.
Custom Google Search: iPhone reference library search. Slightly less annoying than crashing Xcode, also slightly less annoying than just using Google search.
