I was asked to explain how I deal with all my digital photos, so I'm posting it here. It isn't a complex process, but it is one that has gone through refinement over the last couple of years. I'm sure it will in the future too. One of the most daunting tasks creeping up behind the beginning digital photographer is managing their material. Here's one solution.

  • I start by downloading the photos from my camera using GThumb over USB. The reason I use USB and not the flash card directly is an issue of the connector. After a long discussion once, a friend and I decided it was best to use the USB connector because it designed for greater wear. Plus, if it was to wear out, I could still use the flash cards independent of the USB. Good to wear that one out first.
  • I have my photos organized into two high level directories: Publish and Unsorted. The downloaded photos first go into Unsorted. This allows me to do the rest of the work here without putting them on the web. Also, it allows me to choose the order that they get published.
  • In the Unsorted directory I put the downloaded pictures into their own folder. This folder's name is in the format:
    number + underscore + description
    The number is significant because the first digit is the month in question, and the second is a sequence in that month. The month digit is in hex, so that one digit can be used to signify all 12 months. An example of this is 55_Prague, we went to Prague in May and it was the 5th event I took photos of in that month.
  • The pictures are all placed into a Subversion repository. This is done so that changes to the pictures don't result in the originals being lost. I started out changing the names of the files, img_5323.jpg to img_5323.noredeye.jpg, but that became too difficult to manage. I'm using Subversion because it supports spaces in the filenames, and has good binary support. I'm not sure what the largest Subversion repository is, but mine is 7.5GB currently. I have found the the file system backend scales better with the larger repository size.
  • I now start to add information to the slides. For this is use a tool called BINS, which also creates the webpages for me. It takes an XML file for each image, combines it with a template, and creates the webpage. This XML file can be edited easily using a little utility that comes with BINS called: bins_edit. The first step is just to add a location, which I try to do to each picture before the next step...
  • Deleting pictures. I usually delete pictures in three phases. The first phase is just pictures that are bad. Out of focus, bad exposure, or someone stepped in the way. The second phase is more complex, usually it consists of things like having too many good pictures of a similar subject or just another really nit-picky details. The last pass is really painful, and sometimes doesn't happen. It usually only happens if I have nothing to say about an image, or I really can't fix it using post-processing.
  • For post-processing, I use The GIMP. Not much more to say there, except that it is excellent and free. I always save as JPEG with 99% quality. Make sure to get a new version that caries EXIF data through the pipeline (otherwise your pictures don't rotate).
  • After writing all the text, I then spell check it using Aspell. Because the Aspell command line doesn't use multiple files, I specifically do it like this:
    find . -name "*.xml" -exec aspell -H -c {} \;
  • I then send the text to my editor (my wife) who makes sure it sounds sane.
  • Lastly, I move them to the Publish folder and post them on the Internet for everyone to see.

So, perhaps that explains why it takes me so long to get photos online. I've thought about changing the whole thing many times, just to make it faster. But, in the end, I always like the quality of output that I get. I'm really not going to go back and make it better later if I don't have time now.


posted Jun 1, 2005 | permanent link