April 30th, 2010

Few months ago, I purchased a Panasonic Lumix DMC FZ-28 digital camera. It’s a bridge camera and has plenty of features. I’m totally in love with the camera. However, cameras such as this, Canon Powershot SX 20 IS etc. should have a few more features along with wifi enabled so that we amateurs are able to do a lot more easily

Here’s a typical work flow for my trek photos:

Go on a trek –> Click nice pictures –> Transfer the photos to the computer –> Make minor modifications such as contrast, brightness, saturation, cropping etc. –> Remove duplicates –> Add signature, copyright notice –> Generate a low resolution version of the final photographs –> Upload them to Flickr/Picasa/Facebook to share them with the world.

With these powerful cameras, much of this can be done on the camera itself. For e.g. my camera already allows adding signatures to pictures through a text stamp feature. It also allows notes to be added to pictures. The pictures can be cropped and frame freezes can be obtained from HD videos shot with this camera. While cropping, a tiny popup containing contrast, saturation and brightness could be displayed. Pictures can be marked with a star so that they can be cycled through while viewing the clicks.

What I want now

Each camera should have a nice file system API, network API and GUI API. Using these APIs, third party applications would be able to fetch photos from the memory card and do the required modifications. More detailed descriptions would be added to the photos and they would be preserved as part of the picture’s EXIF data.

The memory card should be formatted in a special way so that it can hold third party applications in a separate shell. This shell would be accessible through an iTunes like desktop software from which third party applications for the camera can be installed or removed. Once an application is installed, it should be displayed in an Application settings screen on the camera, from where the application can be activated or deactivated.

Once the necessary modifications are done, using the network APIs and WiFi, the application should upload the “starred” photos to flickr, picasa, facebook or any other service the application supports. All these and other services support HTTP APIs. Instead of the camera themselves supporting various services, it could just provide nice APIs and let the developers do the magic. While uploading each picture, a very high resolution picture should be scaled down for the web dynamically.

Geo Tagging

Oh wait! I want to geo-tag the photos as well. So, while clicking each photo, they should be geo-tagged in the background so that the actual speed of clicking a photo isn’t affected. Manually geo-tagging photos are a huge pain in the wrong places.