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.