Moving From iPhoto To Dropbox

I like iPhoto on the Mac. The app’s interface sports Apple’s proverbial attention to polish and details, the Faces feature is nice, and I like the possibility to visualize photos on a map, just as I find Photo Stream very convenient for my blogging workflow. However, I realized that I don’t want to depend on iPhoto to store the photos that, twenty years from now, I’ll look back to as memories. I need my photos — moments captured as .jpeg files — to be photos, not a database. And at the same time, I need to be able to access them now from any device I have without having to worry about sync, apps, formats, and corrupted entries. I have decided to move all my photos from iPhoto to Dropbox.

This is something I have been thinking about for the past year. Do I want my photos to be stored inside someone else’s app? And if not, why not do the same for any other media I store on my computer? Should I also ditch Rdio and go back to neatly organized .mp3 files in the Finder?

I have come to the conclusion that photos are irreplaceable. Decades from now, I’ll probably be able to find a 2Pac record somewhere online or in a record store (will those still exist?). But not so with photos. If something — anything — happens to my photos, they’ll be gone forever. There won’t be anyone able to give me my memories back. Just as I do for text files — the words I write — I have chosen to store my photos — the things I experience — as .jpeg files, a format that should still be around for the foreseeable future.

I tried Adobe Revel, but it was just a fancier faux solution to my problem. I still ended up with a closed database, albeit one that could sync across devices (unlike Apple’s iPhoto). Too, besides data preservation, I also give much importance to the instant access and accessibility aspect. iPhoto for iOS is a nightmare of navigation, and Adobe Revel is slow in fetching photos on 3G. I want to be able to open my photos in seconds no matter the device I’m using. Doing so with Dropbox is easy considering the decent nature of the official app, and the plethora of Dropbox-enabled “file managers” currently available on iOS.

To migrate from iPhoto to Dropbox, I followed SimplicityBliss’ suggestion and used Phoshare to export image files from iPhoto’s library to the Finder. iPhoto comes with an Export function, but it appears it’s not capable of correctly exporting image metadata — those bits of data that contain extra information such as location, capturing device, etc. To preserve this information — and make sure other apps like Preview could access it as well — I installed ExifTool, a package that allows OS X to write and read Exif metadata from a variety of image formats.

Once installed, I selected my iPhoto library in Phoshare, chose an Export Folder in the Files tab (I also checked “export originals”), and selected metadata as you can see in the screenshot below. I didn’t ask Phoshare to do any particular renaming for my files, as I prefer another solution — Hazel.

In the Finder, I ended up with a folder full of photos. Now, as I asked on Twitter, I needed a way to filter iOS screenshots (saved into the iPhoto library by Photo Stream) from actual photos, as I have no interest in keeping screenshots I used for reviews around for the next years. While many simply said to use Hazel to remove .png files from my library (screenshots are saved in that format), I actually wanted a deeper degree of accuracy in doing so. It turns out, hidden into its “Other” parameters, Hazel has options to check for an image “pixel height” and “pixel width”.

I created rules for screenshots from the iPhone and iPad both in portrait and landscape, and set Hazel to move matched files to the Trash. Within seconds, I had my photo library free of unnecessary screenshots.

At this point, I needed to properly organize my files in folders. I find Hazel to be the best solution for batch processing of multiple files, as it has a “sort into subfolder” action that can be assigned a parameter for naming the subfolder it creates. First, I wanted my photos to be organized by year, so I created a rule that, through the “date created” parameter, would take the input files (I use “Kind is Image” in Hazel, and optionally double-check for files with “jpg” extension) and move them into a folder called, for instance, “2012″.

Then, I chose a file naming scheme for my photos. This is up to your own preference, but here’s what I chose:

As you can see, photos are renamed with Year, Date, Time, and Location. The Location parameter is particularly interesting, as thanks to ExifTool I can fetch the Latitude and Longitude (again, you’ll have to look for these values under “Other”). With these, I can always manually look up a photo's location on Google Maps, or, if I’m really that nerdy, set up a script to fetch the coordinates between brackets. My photos’ filenames aren’t exactly easy to read, but this is how I like them.

You’re free to change the naming to whatever you want — just keep in mind that Hazel has a lot of stuff hidden inside “Other”. Pro tip: you can edit patterns by right-clicking on them.

After renaming my photos, I wanted to further sort them into subfolders organized by month. To make sure those subfolders would have a readable name but still be sorted properly, I set the folder’s file name to month number - month name.

At this point, I was ready to delete my iPhoto library, but I still needed to establish an automated workflow for new photos. Fortunately, Dropbox makes this very easy.

The official Dropbox app recently gained the capability of automatically uploading photos to the Camera Uploads folder: this means every time I go out and take some photos, I can come back home, open the Dropbox app, let it do its magic, then delete the photos from my iPhone. The photos will be uploaded to the Camera Uploads folder, and sorted using the same Hazel workflow described above.

To save time, you can replace the first step (where photos are sorted into year subfolders) with something like this:

When I download photos taken with my DSLR on my Mac, I can just drop the files into the Camera Uploads folder to trigger the same workflow; and if I want to check out the photos on my iPhone and iPad, I can just use the Dropbox app, or clients like GoodReader.

Obviously, the workflow I use requires a decent amount of space available in Dropbox, as I like to keep my photos untouched without any sort of resizing involved. However, I believe being able to preserve memories for the future is more important than paying to be a Pro Dropbox customer. To me, knowing that someday I’ll still be able to look back at today’s photos is easily worth $99 every year.[1]


  1. I actually also pay for the $39 “Packrat” feature, which gives me unlimited undo history for Dropbox files (in case anything goes wrong, I can always revert back).  ↩