Back in the early days of digital cameras, I bought a Kodak DC220 camera. By today’s standards, this camera is wholly unremarkable: 1MP resolution, 2x optical zoom, and a funny shape. But it had one feature that stood out, and which modern cameras entirely lack: a scripting language. Anybody with a modicum of technical acumen could actually write programs for this camera, enabling it to do motion detection, exposure bracketing, various special effects, etc. More ambitious users even implemented games for it, allowing one to play Pac Man while waiting for that perfect shot.
When I last went camera shopping, I tried to find another camera that allowed programming, as I’m forever wanting to try different things while capturing images. But there was absolutely nothing available. I could get cameras with built-in wifi, GPS, a bevy of image processing modes, but nothing that actually allowed me to write your my programs to tell the camera how to behave.
(I would be remiss not to mention CHDK, an alternate open-source firmware for many Canon cameras that allows one to do all kinds of crazy stuff with them, including writing your own scripts. It’s awesomely capable, but lacks the refinement and ease-of-use that make it possible to pick up the camera and just use it. For everyday picture taking tasks, it actually makes the camera more difficult to use, in my experience.)
Enter the iPhone. From a feature standpoint, it’s not especially notable as a camera: 3MP, no flash, no zoom, odd form factor (for a camera). But the thing that sets it apart is its programability and connectivity. One can download apps to provide all kinds of interesting photo-related functionality: panorama stitching, photo-a-day applications, film camera simulations, various specialized effects, retouching tools, and even “Pimple FacePaint”, which lets you add blemishes to portraits. (There’s a market for that?)
Add that customizability to its communication capabilities, which allow one to share and upload images right from the device without bothering with cables, and you have an unparalleled platform for creating and distributing photos. With a traditional camera, for example, to take a panorama, I would have to shoot each of the images, hoping I got them framed correctly, then download them to the computer, then stitch them together, then upload them to a photo sharing service. On the iPhone, I can do all of those things from one app on one device. (And have the image automatically geotagged, since the iPhone has GPS built in.)
There are certainly still situations where it doesn’t make sense. If you need high-resolution imagery for printing enlargements, you’re out of luck. If you need a flash, ditto. If you are shooting from a distance, you’d be better off with something that has a zoom lens. But for day to day photo taking and experimenting with creative techniques, there’s nothing out there that can beat it today. And the recently announced iPhone 4, with its LED flash and higher resolution image sensor, only stands to make it better.
Postscript: no, I don’t have one, and won’t get one until the usurious data fees get lower or I get markedly richer.