Apple recently lifted the NDA that prevented us from commenting on the iPhone platform. Practically speaking, that prevented us from saying anything negative. We have already said lots of positive things about the iPhone platform.
Overall, the platform lives up to the hype. The touch interface is ground breaking and the UI sets the bar to a new level for mobile devices.
Our goal with the iPhone is to transform it into a full-featured wireless camera. Most of that is just a small matter of programming. But there is one area where we and every other photography app is hobbled, and that is in the camera controller.
If you use the built in camera on the iPhone, it has a shot to shot time of about 3 seconds. This is not groundbreaking compared to a point and shoot camera from Nikon or Canon, but it is tolerable for many situations. Unfortunately, we are not allowed to use the same camera controller that Apple uses for its built in camera. Instead, we are forced to use a different camera controller class (this is all software) that calls the real camera controller behind the scenes. The result is awful.
Compared to the native camera controller, the one we must use has a shot to shot time of 14 seconds. You can background some of that and get it down to 9 seconds, but do that at your own peril because the camera controller also uses a lot of memory and as any iPhone developer knows, if you run out of memory, the operating system kills the app.
The shot to shot latency is not the only issue. We are also forced into an “official” workflow for the digital camera that involves a common interface that says “use photo” and “retake” after each photo. The built in camera app that Apple wrote that uses the native camera controller skips that annoying step. We can’t skip it.
The solution is to let developers use the native camera controller. Sure there is no default shutter effect or shutter sound, but that is fine with us. We can innovate there and have our own unique experience.
The iPhone is the first smartphone with a UI so good that it could possibly replace the point and shoot camera for many situations. But to realize the full potential of the platform we must be allowed to use the native camera controller libraries.