The F-Spot project really interests me. I think I first noticed it from Garret's blog. F-Spot plans to do (according to the wiki) many of the things that I've been trying to hack into my photo management app. One area that I'd like to see more focus on in F-Spot is backups.
I've been implementing a system that backs up (as part of a generic exporting system) all of your pictures to CDs or DVDs of different sizes. The CD would also contain (enough to fill up the disc):
- The complete index of all the pictures you've taken (dates, comments, categories, etc.)
- Thumbnails for images (those on the CD, and those not on the CD)
- Images that haven't been backed up in a while (configurable - I figured I'd start with LRBU - Least Recently Backed Up)
- Recovery data for individual images, or entire CDs. I was thinking of using parchive (probably v2) to generate the recovery data.
All of the above are useful to ensure that no image is ever lost. Losing a CD shouldn't be catastrophic. Nor should losing your hard drive. Storing the complete index on every backup made means that even if your hard drive gets eaten by your dog, you won't lose all of the time spent organizing pictures into categories, adding descriptions, etc. Storing thumbnails of images that are present on the disc just makes browsing the disc faster. It should be possible to turn any of these options off, or change the ratio of thumbnails to extra backups to recovery data.
A few other features that would make F-Spot the killer app for me:
- Flexible directory structure for storing images. I like all of my images to be in folders that identify the date the image was taken. So I've got folders named "2004-10-11", "2004-10-07", etc. But I'm sure that everybody has their own preference, so this should be configurable.
- Batch date adjustment. I often forget to update the clock on my camera when I travel, so as a result the dates stored in the EXIF headers of the image are in EST. It would be great to be able to select a bunch of images and say "offset the time by -1 hour." If your camera's clock was completely off (but still consistent with itself), it would be great to select a bunch of pictures, choose one of them for which you know the date and time, and the program would figure out the correct time offset and apply it to your selected images.
Maybe I'll have to learn C# so I can start helping out with F-Spot myself :)