Several years ago after my mother died, I started a big project to get all the family photos digitized and online. Since then I’ve done the photos for our immediate family, but I still have more to do, especially on my wife’s side.
Because I wanted these photos to be self contained and not require extra files for metadata such as tags, I devised a naming scheme that included the basic information about the photo.
Let me make up an example for discussion:
The first field is the date, and the day or the day/month are optional. Indeed, I even allow things like “1940s” for old photos where I’m not sure of the date except for the decade.
The next field might stand for the location, and is a shortcut code for a street address. I know this because I do keep a file of mappings of tag abbreviations to full tag names. This is the only extra file for the whole photo library.
The next is also a shortcut tag, my initials, which expand to my name “Bob Sutor”.
The next field is longer, and happens to be the name of one of my cats. The final is ignored and is simply used to allow multiple photos that would otherwise have the same name.
I wrote an online photo album in PHP that processes the photos and the tags, and builds databases of both. Here is how the above file name might be processed:
- Expand “20091123” to “2000s,” “2009,” “November.”
- Look up “101Main” and expand into the tags “101 Main Street,” “San Francisco,” “California.”
- Look up “RSS” and expand into “Bob Sutor,” “Person”.
- Look up “Gideon” and expand into “Gideon,” “Cats.”
Any shortcut tags in the name are expanded and there is only one iteration. Multiple people can be included and the tags are completely arbitrary. The could just be flowers, for example. The whole key to this is the file of mappings.
The photo software I wrote displays the tags for each photo and then allows me to check some boxes to get all photos that include those tags. For example, I can get all photos that contain at least my two children and one of the cats in a July. This gives very nice views into the collection which is now about 3500 images. While I have not yet modified my software to put keywords directly into the image file, that is a likely feature I will add soon.
I’ve yet to find any online photo service that provides similar capabilities. Moreover, while software like Picasa does do some tagging, it has a long way to go to have the boolean calculus necessary to nicely view big albums.
I want to be able to check some boxes and see each photo that matches, for example, “Bob is present; Judith is not; it is not June, July, or August; exactly one of Katie or William is in it.”
Given all the tags and computed tags, this is not that difficult to do, though the result list might end up being empty. So while I like some of the features of photo software like face identification and online syncing, for me they are not quite good enough to replace what I hacked together a few years ago. I suspect they will add these features eventually, but it is taking a very long time.
A final note, Google Picasa is great at face recognition for people, but not cats. Going that next step for more general recognition and suggested tagging would also be worthwhile.