I recently did a reorganization of our photo library (approximately 30,000 photos). We had previously been using a centralized desktop computer to store our photos, which we would access via Windows laptops. The desktop bit the dust recently, so I moved the library to a pair of external USB drives, which we connect directly to the laptops (eventually, I hope to move to an inexpensive, low-power NAS solution).
A problem we ran into is that Picasa, our photo management software of choice, isn’t really meant to operate in such a shared environment. Let me detail some of the problems we ran into because of this.
The first challenge to overcome was to get the USB drive to mount at the same drive letter. For this, I use USB Drive Letter Manager (USBDLM), available here. As long as USBDLM is running on each laptop, a configuration file on the drive itself will ensure that it mounts on the same letter on each machine. Having the same drive letter is a big convenience; it’s not strictly necessary, but it will make your life easier, especially if you want to use an external drive to store an iTunes library, too.
Once you’ve got the drive letter situation under control, you have to configure Picasa to restrict its photo searching to the connected drive. You can do this via the Folder Manager.
When you use Picasa with your image files on a shared drive, one thing to be aware of is that Picasa builds a database of your photos; this database cannot be relocated. It is located on your local drive under C:\Documents and Settings\USERNAME\Local Settings\Application Data\Google. Photo captions and tags will appear on all machines accessing the files, because that information is stored directly in the image files. Albums do not appear on all machines, because those are defined in the Picasa databases.
One of the most important things in getting a large photo collection under control is to rank them in some fashion so that you can easily retrieve the best photos. In Picasa, you use the “star” mechanism to rank photos (many writers have complained about the over-simplicity of this, but it works for me). Unfortunately, I didn’t consider the importance of such ranking when we started amassing digital photos. So I had to go through our entire library of photos to find the best photos. After about 16 hours, I had gone through 30,000 photos, selecting about 3,000 good ones.
I was under the impression that Picasa stored the stars directly in the image files in a header of some sort. That’s close, but not quite right. Picasa does store the stars with the files, but they are stored in INI files in the same directories as the image files. So the stars will show up on multiple machines using images from a shared drive. But the distinction between storing this info in INI files and storing it in the image files burned me pretty badly.
I wanted to export my 3,000 photos to a digital photo frame and to my Apple TV. So I flipped over to the “Starred Photos” album in Picasa, which automatically contains your starred photos (sort of like a Smart Playlist in iTunes). I exported them to a folder, setting a maximum file size to control the overall storage space required (no point in sending 8Mpixel images to a photo frame that only shows about 500Kpixels).
When Picasa finished cranking through the images, I found that I didn’t have 3,000 photos. Instead, I had about 2,000. The culprit? Shared filenames. Every time we dump images from our camera, we throw them into a new YYYY/MMDD folder (strictly speaking, you don’t really have to do that with Picasa, but it’s an old habit I’ve used to organize our photos, and it seems to work well for me). Over the years, some of our cameras have been configured to start their file numbering back at IMG0001.jpg (or similar) every time we cleared the files off the card. Because of this, many of our image filenames were in conflict. This doesn’t bother Picasa, which recognizes the fact that the same-named files are in different folders, but when we tried to export a large number of images to a single folder, we really saw the scope of the problem.
Out of those 3,000 images, we had about 1,000 conflicts. I decided I wanted to fix this problem, so I turned to 1-4a Renamer to help. This application lets you set up renaming rules for large batches of files. So I could tack a unique 4-digit number onto every filename. So if I had two images named IMG0001.jpg in two different folders, one might get the name IMG0001-0001.jpg and the other IMG0001-0002.jpg. Sounded like a good plan. And it worked well, but when it was done, I noticed my starred image count had dropped dramatically in Picasa (to about 2,000 from 3,000 — could be a coincidence with the naming conflicts, but not sure).
It appears that when the files were renamed, Picasa was not able to keep the INI files completely in sync with the new filenames. It was clear that it was able to sync some of the files, because some of my renamed files appeared in the INI files with stars. But many stars were lost in the process. Note that I did not lose any files. I just lost the starring associated with them.
All of this could have been avoided if I had done one thing before renaming the files: tag all starred photos with a special tag like “pstar”. Then, no matter what happened with the filenames, I would have this tag stored permanently in the image files themselves. This would have made it very easy to reconstruct the stars quickly.
I’ve also thought you could use this to overcome the deficiencies in the single-star mechanism. You could tag some images with “pstar1” and others with “pstar2” to indicate levels of ranking. It’s not perfect, because there’s no built-in support for this in Picasa’s GUI, but at least you’d be able to filter for the images when you needed them.
If there are two things I’ve learned during this process:
- Rank your photos as you upload them from your camera. It will take you an additional 2-3 minutes or less each time you upload, but if you don’t do it, you may be faced with hours of tedious review to get your library in shape.
- Make sure any metadata you’re recording is embedded in your image files. Don’t rely on your current software’s databases (or in Picasa’s case, the INI files). Who knows whether you’ll be using that software in 3 years?