Although it has been working very well for me, the way I was adding EXIF tags to my film photos would probably not work for many people due to a single point of failure: it depends on using digiKam. Besides, it ignores standard IPTC tags that many others use, including Picasa and Adobe Photoshop Elements.

Google has recently released Picasa for Mac OS X, filling the missing gap for Picasa to be mostly cross-platform. You can now run Picasa on Linux, Mac OS X and Windows to use the same photo library with all of them.

Storing tags inside the JPEG file themselves as standard IPTC tags will also eliminate dependency on any application’s database, something that was driving me mad lately with digiKam. First, external storage uses case insensitive FAT32 file system, which changes all-uppercase filenames into all-lowercase and breaks references within digiKam database. Second, even though digiKam supposedly uses Sqlite format, latest digiKam versions changed its database format and broke my exif-film-tags script. Enough.

I think I will be switching to Picasa and will try to convert all digiKam tags into IPTC tags, someday. EXIF tags for film photos are now even easier than before, only you need a little trick to add tags with special characters –anything other than letter, numbers, blanks and little more. Picasa even auto-completes tags, something I’ve been missing in digiKam since always. Leave alone hierarchy.

So I rewrote the exif-film-tags script to read IPTC tags as Picasa writes them, which is multiple values for the tag Iptc.Application2.Keywords like this:

Iptc.Application2.Keywords String 7 1/125 s
Iptc.Application2.Keywords String 3 1:1
Iptc.Application2.Keywords String 4 f/11
Iptc.Application2.Keywords String 19 Fujifilm Sensia 100
Iptc.Application2.Keywords String 12 Olympus OM-1
Iptc.Application2.Keywords String 22 Zuiko Micro 50mm 1:3.5

Exiv2 is an awesome tool that lets you read and write metadata on JPEG files, including EXIF and IPTC tags. It’s available as Free Software and runs on Linux, Mac OS X and Windows as well. Just get it! 😉

Even better: Exiv2 library is accessible from Python, thanks to pyexiv2 bindings. That makes the new script 60 55 (code) lines shorter –and me 6055 times happier with it 🙂