from F-Spot to iPhoto in 8 painful months

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.

Update (02/22/2009): If you’re interested in capturing F-Spot’s keywords, be sure to check out Derek’s comment below.  He’s also got a detailed post with good tips about this process to include keywords.  Thanks, Derek.

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.


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.

13 thoughts on “from F-Spot to iPhoto in 8 painful months

  1. Just wanted to say that I appreciate the time you took to blog about your experience from F-Spot to iPhoto. I am going through the same thing and this post saved me hours of research and troubles.

    Question though, what if one plans on switching back and forth from F-Spot and iPhoto in a Dual-Boot evnironment? Would you just need to continually copy the EXIF data from one to another and visa versa? That’s what I would assume anyways. Any thoughts?

    Thanks again!

  2. Oh, I would also like to specify which command actually worked for me:
    exiftool -overwrite_original -P -F '-IPTC:Keywords<$Subject' *.*

    It seems that F-Spot keeps it’s Keywords in XMP:Subject which needs to be copied to the spot where iPhoto will recognize the keywords in IPTC:Keywords.

  3. Derek,

    Thanks for the tip about the F-Spot Keywords! I hadn’t noticed that tag previously.

    That’s a good question about a dual-boot environment. I’m assuming you won’t be able to do much with the native iPhoto library files from Linux (assuming you have direct access to them while in Linux). I believe F-Spot can now share photos via DPAP such that iPhoto can browse them, but that assumes both OSes are on the network at the same time. If you have to dual boot and want all imported photos in both locations, you may be forced to script some type of export/import solution each time new photos are added. I only make updates in iPhoto now, so your question is one I hadn’t thought about previously. Sorry I don’t have a better suggestion!


  4. Derek,

    In thinking about this further, I may have misunderstood what you were asking. I don’t think having iPhoto and F-Spot sharing the same image files would work, even if you could stuff them with the EXIF data tags that each of them needs. Both applications create libraries/databases of meta information not included in the image files themselves (I’m assuming for things like event names and collections, etc.). That being the case, I’m assuming after adding the appropriate EXIF data to the images you’d still have to go through the import process with each application for them to catalog the photos. At least that’s my assumption.


  5. I appreciate the feedback on that!

    As of now, my impressions of iPhoto are terrible. I’ve tried to do some photo management, but I can’t seem to get used to it. It’s pretty, but I just like F-Spot better! Was your transition tough as well?

  6. Derek,

    I’m not going to try and convince you that iPhoto’s the best photo management tool out there. However, of the Mac options, I like it enough to continue using it. My wife and I only need the most basic photo editing capabilities (red eye, cropping, rotating), captioning, and organizing into albums. For those things, iPhoto gets the job done.

    The transition wasn’t too bad, though there are some UI things I don’t like about iPhoto and wish they’d change (e.g., how captioning is done). Keyboard shortcuts have helped address those, making them a bit more bearable.

    I did enjoy using F-Spot. It’s been over a year since I’ve checked it out, and I have no doubt development has continued to make it even better. If memory serves correctly, I think one of my frustrations at the time was the inability to manage video clips alongside photos, which iPhoto has done since I started using it. But I very much liked F-Spot, and the main reason for transitioning was because we switched to a Mac. I’m not going to try and convince you to leave F-Spot behind!


  7. I would love to love F-Spot, but I can never get it to deal with more than about 50 photos. Once I get more than that, it’s wildly unstable, essentially not running at all. I try it about once a year, for the last 5 or so.

    1. Topher,

      Only 50 photos? What kind of pictures were they!? 🙂 When I was using F-Spot a year ago we easily had about 1,500. I used it in Fedora and Ubuntu, just using the stock package that came with those distros (not compiling from source or anything), and never ran into issues. Interesting.


  8. just thought i’d add a note here having read through this.
    I use f-spot to manage over 30,000 photos without any issues.

    well… not exactly no issues… i use the ubuntu package from the repositories and on that atleast there are frequent memory leaks which means that if i use it for too long a period of time it eats up all the memory on my system and everything grinds to a halt. this isnt too much of a problem, i just have to restart it once in a while.

    What i’d like is to be able to get a list of the photos that have been played in the screen saver. With 30,000 pics the random screensaver is quite interesting (especially with dual head where you get a different image on each screen changing out of sync). Ideally i’d like to be able to stop the screensaver and add tags or comments.

    which brings me to my biggest gripe. I can’t add comments!
    only tags i have to predefine and are a bit unwieldy. Id like to be able to add a keywords instantly to a photo, and maybe a sentence or two and then search by either…

    one day… if i ever get time… i might look into the f-spot source and see if i can get either of these features…

    otherwise I’m still bumbling along with f-spot despite it’s faults, it’s not perfect but it is open source. I used to use g-thumb, but i think that had even more issues.

  9. Liam,

    Thanks for the comments. It’s interesting that you mention that bit about the random screensaver. I’ve always thought it would be nice to either view or edit a caption for a particular picture as it pops up in the rotation. Great idea.

Leave a Reply

Your email address will not be published. Required fields are marked *