Ever since my kids were born I have accumulated thousands of digital
happy-snaps and I have finally gotten to a point where I'm quite happy
with my work-flow. I have always been extremely dubious of using any
sort of external all-in-one solution to managing my photos; so many
things seem to shut-down, cease development or disappear, all leaving
you to have to figure out how to migrate to the next latest thing
(e.g.
Picasa shutting down).
So while there is nothing complicated or even generic about them,
there are a few things in my
photo-scripts repo that might help others
who like to keep a self-contained archive.
Firstly I have a
simple script
to copy the latest photos from the SD card (i.e. those new since the
last copy -- this is obviously very camera specific). I then
split
by date
so I have a simple flat directory layout with each week's photos in
it. With the price of SD cards and my rate of filling them up, I
don't even bother wiping them at this point, but just keep them in the
safe as a backup.
For some reason I have a bit of a thing about geotagging all the
photos so I know where I took them. Certainly some cameras do this
today, but mine does not. I have a two-progned approach; I have a
geotag script and
then a small website
easygeotag.info
which quickly lets met translate a point on Google maps to
exiv2
command-line syntax. Since I take a lot of photos in the same place,
the script can store points by name in a small file sourced by the
script.
Adding comments to the photos is done with perhaps the lesser-known
cousin of EXIF -- IPTC. Some time ago I wrote python bindings for
libiptcdata and it has been
working just fine ever since. Debian's
python-iptcdata comes
with a inbuilt script to set title and caption, which is easily
wrapped.
What I like about this is that my photos are in a simple directory
layout, with all metadata embedded within the actual image files in
very standarised formats that should be readable by anywhere I choose
to host them.
For sharing, I then upload to Flickr. I used to have a command-line
script for this, but have found the web uploader works even better
these days. It reads the IPTC data for titles and comments, and gets
the geotag info for nice map displays. I manually coralle them into
albums, and the Flickr "guest pass" is perfect for then sharing albums
to friends and family without making them jump through hoops to
register on a site to get access to the photos, or worse, host them
myself. I consider Flickr a cache, because (even though I pay) I
expect it to shut-down or turn evil at any time. Interestingly, their
AI tagging is often quite accurate, and I imagine will only get
better. This is nice extra metadata that you don't have to spend time
on yourself.
The last piece has always been the "hit by a bus" component of all
this. Can anyone figure out access to all these photos if I suddenly
disappear? I've tried many things here -- at one point I was using
rdiff-backup to sync encrypted bundles up to AWS for example; but
I very clearly found the problem in that when
I forgot the keep the
key safe and couldn't unencrypt any of my backups (let alone anyone
else figuring all this out).
Finally
Google Nearline seems to be just
what I want. It's off-site, redundant and the price is right; but
more importantly I can very easily give access to the backup bucket to
anyone with a Google address, who can then just hit a website to
download the originals from the bucket (I left the link with my other
"hit by a bus" bits and pieces). Of course what they then do with
this data is their problem, but at least I feel like they have a
chance. This even has an
rsync like interface in the client, so I
can quickly upload the new stuff from my home NAS (where I keep the
photos in a RAID0).
I've been doing this now for 350 weeks and have worked through some
25,000 photos. I used to get an album up every week, but as the kids
get older and we're closer to family I now do it in batches about once
a month. I do wonder if my kids will ever be interested in tagged and
commented photos with pretty much their exact location from their
childhood ... I doubt it, but it's nice to feel like I have a good
chance of still having them if they do.