Earlier this year we opened our home to a new Mac, and have been very happy with the new addition.  We were able to transition over immediately from our Linux computer with no issues for most functionality (e.g., email, web browsing, word processing).  I assumed the same would be true with our digital pictures.  Not so much.

Years ago we began storing and managing all of our digital pictures in F-Spot on Linux.  Being Digital Picture Metadata Modelconcerned with portability, and not wanting to be locked into a single product, I did enough research to convince myself we’d be able to export all our pics and captions if/when the time came to switch.  After all, there’s a preference allowing you to “Write metadata to file,” with a tip stating, “Enable this option to store tags and descriptions inside supported image formats.”  Surely that means other standards-compliant photo management tools would be able to parse that data.

Being on a Mac, the natural place to start for photo management was iPhoto.  I eagerly began exporting our photos from F-Spot and importing them into iPhoto.  As our F-Spot pictures imported with no tags or descriptions, moments of grave disappointment and panic ensued.  Therein began my education about the world of metadata (Exif, XMP, IPTC, etc.), taking me down a long road of trial-and-error, yielding numerous discoveries.

Setting the Stage

First, F-Spot was, indeed, storing captions in the image, I believe in the XMP tag space.  I was relieved once I was able to confirm their existence.   Additionally, I learned iPhoto is able to parse some metadata on import, just not the tags that F-Spot (and many other programs) use.

A Possible Aperture Alternative

If iPhoto wasn’t up to the task, I was willing to purchase a product that could.  After significant research, I decided to take an Aperture eval for a spin.  I enjoyed Aperture’s interface quite a bit more than iPhoto, and found it more intuitive for the basic image functions we perform regularly (importing, captioning, fixing red-eye, organizing into folders and albums, rotating).  It properly parsed the F-Spot metadata, and even clearly showed the different metadata organizational structures in its editing pane.

As a side note, I still find it a bit suspicious that Apple built one photo product to handle most metadata properly, but left that functionality out of iPhoto.  I realize they are likely trying to encourage their users to purchase the “upgrade” to Aperture, but if iPhoto is seen as an entry-level photo management tool for ameratures, would not this capability encourage more people to migrate from other platforms?

In the end, however, I opted not to go with Aperture.  It doesn’t store movie clips, meaning we’d need a separate solution for movies and pictures.  Additionally, it seemed like overkill for the type of photo management we wanted to do.

Exiftool, My Hero

Enter exiftool.  It is the only tool I could find that was able to read the XMP metadata written by F-Spot, and rewrite it to the IPTC tags that iPhoto was expecting.  Brilliant.

The learning curve for using exiftool was a bit steep, but that was mostly due to my lack of knowledge about the world of digital picture metadata and exiftool’s extensive power and flexibility.

Here’s the process I finally developed for migrating our pictures:

  1. Export all the pictures from F-Spot, choosing the option to ‘auto-rotate’.  Without the auto-rotate option, I discovered that the metadata was somehow stored differently for images I had rotated within F-Spot.  I was never able to find a way to capture those captions.  Instead, by using auto-rotate, the captions were preserved as expected.  One side-effect, however, is that the F-Spot categories/tags were lost.  I quickly decided that was an acceptable casualty.
  2. Use exiftool to copy the XMP tags into the corresponding IPTC tags.  This command seemed to do what I needed:
    exiftool -overwrite_original -P -F '-IPTC:Caption-Abstract<$UserComment' *.*
  3. Sort the pictures into dated folders, to aid in creating separate iPhoto Events upon import.  Again, exiftool did the trick:
    exiftool -r '-FileName<CreateDate' -d %Y-%m/%Y%m%d_%%f.%%e .
  4. Copy the movie (i.e., MPG) files into the appropriately dated folders, so they are imported alongside the pictures from the same events.
  5. Import into iPhoto.

Thanks exiftool, and Phil Harvey.  My donation’s on the way.

That process did the trick for our 1,500 captioned photos that were in F-Spot.  I’ve since imported 4,000 more of our pics that were not captioned, with an estimated several thousand to go.  I realize that’s not a huge photo library, but it is large enough for me to take seriously the concerns many people have voiced about iPhoto’s capabilities and performance for large libraries.

iPhoto Library Manager

So I once again set out to find options for archiving photos from iPhoto while still making them easily accessible.  I came across a highly recommended tool that provides that capability perfectly: iPhoto Library Manager.  It allows for the creation of multiple iPhoto libraries, all accessible from the same interface.  At a glance you can view the albums in each library, the size of the library, and its current status.  You can split libraries, or copy ablums and pictures between libraries.  It even provides the option to directly import photos into any of your existing libraries.  At $20, it’s a steal.

Summary

I hope we don’t need to migrate away from iPhoto for quite some time.  When the time comes, surely the image metadata standards will have consolidated and solidified, and tools will have followed along in their development, right?  Right!?

If not, there’s always exiftool.

Our local newspaper has had some incredible wisdom to share in recent weeks.  Consider this gem from Heloise, entitled Ice-Cube Water:

Dear Heloise: I was making some pie dough that called for ice water, and I didn’t have any. I thought of a great hint.

I took several ice cubes from the freezer, put them into my measuring cup and used my blow-dryer to melt them. It was instant ice-cold water. — Suzy, via e-mail

Tuck that one away.  And then there’s this letter to the editor, entitled Use some common sense regarding energy:

I would like to offer some commonsense solutions to our energy crisis.

I have always thought it was stupid to have to sit at a red light when there are no other cars for miles. A red light could be treated as a stop sign.

There should also be a stop put to the sporting events and other functions that cause people to drive. I am sure Redskins owner Dan Snyder and others like him couldn’t care less about what is spent on gas.

I also think that if an ambulance is required, there should not be a huge firetruck sent. They say that is in case the rescue personnel need help in picking up the person. I think it would be better to send a pickup with extra personnel to help pick up someone who is sick or injured.

There should be no half-day school sessions.

I think it is also a shame to see all the downed trees in the parks and on private land that could be cut up and used for firewood instead of lying there rotting.

The lights on the sports fields in the area should not be used, and stores should cut the lights out in some areas.

Though it’s great that Cal Ripken and others want to teach kids sports, someone had better teach them how to survive, as times are going to get worse.

Leo
Spotsylvania

And you were worried about the future of our country.

This weekend was just what I needed: lots of time with my family, including some memorable Micah moments.

Easter Island statue All summer long Micah’s been wearing sandles anytime we go anywhere, whether it’s to the park, the store, or church.  On Saturday, we were preparing for a trip to the National Museum of Natural History, and he asked to wear his shoes instead.  Who am I to argue?  It wasn’t too long into the car ride that he started asking for his shoes to be off.  We assumed he was bored and fidgety, so we obliged.  Once we got to the museum, he started throwing a fit asking to take his shoes off again.  Being the astute parents we are, we quickly realized his shoes were too small.  He toured the entire museum in his socks.  I’d be lying if I said I wasn’t jealous.

new shoesThe next pair of shoes he has that fit are a pair that Rachel gave me as a gift when we first learned she was pregnant with Micah, almost 3 years ago.  I’ve anxiously been waiting for him to grow into them, asking every couple months how much longer until he could wear them.  This weekend was finally it!

The other time I’ll remember from this weekend was church on Sunday morning.  The person scheduled to watch the kids in nursery wasn’t able to make it, so we decided to keep Micah with us in the service for a while.  He was so well behaved that he stayed with us the entire hour and a half, much of it on my lap.  Something about having him worshiping with us for the first time, paying attention and trying to sing along, made it a moment I’ll treasure for quite some time.