Update — Since writing this article, Everpix has gone out of business, and I’ve moved to Apple’s iCloud Photo Library ecosystem.
I recently migrated my photo management workflow from one based on Aperture, to one based on a file system and the online service, Everpix. This article describes the whys and hows.
For years, I’ve stored my photos in Aperture, organized in a chronological folder structure: /yyyy/mm/project. Over time, though, I’ve had some growing concerns:
- Our family doesn’t enjoy our photos as much as they would like to, because they’re all on my computer.
- Photos are a kind of core data, like text files, and keeping them in a proprietary database constrains their usage.
- My iPhone-toting wife is starting to take a lot of photos, and very few of those end up in my Aperture.
- I probably don’t use 5% of the features of Aperture.
- My Aperture library is now 80GB, consuming more of my MacBook Air’s SSD than I’d like.
While on vacation this past week I did some reading (here, here, here and here) from others who’ve addressed these concerns by implementing a file-system based photo management workflow, and then I proceeded to build out my own.
Overview & executive summary
The elements of my system include:
- Image Capture, the app that Apple includes with OS X that’s capable of importing photos off your various devices.
- Hazel, an OS X file-system automation utility.
- Dropbox, available on all my computers and devices.
- A Mac mini, hosted with a well-connected dedicated server provider.
- BitTorrent Sync, an OS X file syncronization app.
- Everpix, an online service described by John Gruber as “what iCloud for photos should have been.”
- Image Capture and the Dropbox iOS app make sure photos from all our devices end up in a single, shared Dropbox folder called, “Camera Uploads”, the contents of which gets cleaned and organized into a date- and project-based structure. Those folders and files are periodically moved into a different folder which the online service Everpix watches for import (and which BitTorrent Sync ensures we have a copy of at home). We then enjoy our photos with Everpix, from anywhere—web, iPad app or iPhone app.
What are the benefits?
- My photos are now stored in a simple file system. Although they’re now monitored by Everpix, I could easily move to a different service if I wanted.
- Both my wife and I can easily contribute to our library of photos.
- A backup of my photos are store in the cloud.
- My photos are accessible everywhere.
- My photos, after exporting from Aperture, take up only 38GB of disk space. Aperture actually was using more space for Previews and Thumbnails than was used by the photos themselves!
We’ll now walk through the workflow, step by step.
The photos inbox
We need a single bucket into which all our new photos end up, whether taken by a dedicated point-and-shoot camera like our Sony RX100, or mobile devices like the iPhone, and whether they’re taken by myself or my wife.
For this, we’ve chosen a shared Dropbox folder called, “Camera Uploads”.
- Image Capture, on both my MacBook Air and my wife’s iMac, are both configured to dump incoming images into this shared folder.
- Dropbox, on all our iOS devices, is configured to upload Camera Roll images into this folder, and to do background uploading.
Before we move our photos from the inbox to their final destination (a folder monitored by Everpix), we need to perform some cleanup, enhancement and organization.
The first step in inbox management is to organize new images into subfolders named like this: “yyyy-mm month”—e.g. “2013-10 October”. I have a Mac mini hosted with a dedicated server provider, on which Dropbox is installed and, hence, has access to my “Camera Uploads” folder. I have Hazel running on that machine and automatically performing this first step.
The second step in inbox management is me manually going into those folders from time to time (on my MacBook Air) and:
- Deleting those photos I don’t want to keep (like screenshots and blurry images.)
- Cropping and auto-enhancing those photos I really like.
- Further organizing those photos into event-named sub-folders—e.g. “2013-10 October/Andalucia Kids Chess Championship”
For the first task—deleting certain images—I either use preview in the Finder on my MacBook Air, or the Dropbox app on my iPad.
For the second task—cropping and auto-enhancing certain images—I use Acorn, by Flying Meat.
I would love to find a single app that nailed both tasks one and two. Such an app would additionally:
- Provide a grid and thumbnail based UI, with a “select” mode, allowing easy selection (and deletion) of multiple images.
- Constrain the crop area to the original image’s aspect ratio. (I’m surprised Acorn can’t do that.)
Possible changes to the inbox workflow
Our photos are enjoyed through the Everpix online service, and so one trade-off of this inbox management workflow is that until I manually move them out of the inbox and into Everpix, nobody can view them.
So that’s one area ripe for re-consideration—i.e. a workflow change such that new images go directly into the Everpix folder.
Why didn’t I just choose to do that from the start? Because I delete probably 20% of the photos I take, and the way Everpix works is that if you delete a file from its source folder, that file is not deleted in Everpix; you have to manually go into Everpix and delete it from there too.
Another inbox modification I’ll consider is performing the photo deletion, cropping and enhancement directly on the iOS devices, before using Image Capture to download them into the “Camera Uploads” folder, now that iOS 7 has some fairly nice image editing featuers (like an auto-enhance button).
Uploading files to Everpix
Once photos have gone through the inbox-management process, I then manually move them into their final home, an archive folder on my internet-hosted mini called “BTMedia”, preserving a folder hierarchy like: “2013/2013-10 October/Chess Championship”.
Everpix then watches the “BTMedia” folder, and uploads all new incoming images to the Everpix service.
By having Everpix running on the mini, it’s able to upload all those photos much faster than it could from our home, since the mini at the hosting provider has 10MB/s upload bandwidth, compared to about 50kB/s (200 times slower) that I have on my ADSL line at home.
Distributed Archiving with BitTorrent Sync
Since I’d also like to have a copy of all my photos at home, I run BitTorrent Sync on both the mini and our home iMac, thereby continually downloading the contents of that “BTMedia” folder to a similarly-named folder on the iMac.
Enjoying our photos
Although we’ve only just started using it, the family is really happy so far with Everpix!
Everpix (as far as I can tell) doesn’t support a notion of “albums”, intending, instead, to organize and display your photos algorithmically. That, combined with some good UI (which I know from experience is hard!), they’ve succeeded in doing a pretty good job.
You can view your photos at their website, or in their iPhone and iPad apps. The photos are mainly organized by chronology, and their software attempts to choose a good key photo to represent each collection (which typically would be all photos taken in a day).
They also have some nice features like “flashback” where they show you (and periodically email you) some photos that were taken on this day, say eight years ago. That’s a feature that definitely promotes stickiness in the service.
Exporting from Aperture, and setting file modification times with AppleScript
Migrating to this new approach involved exporting my existing photos from Aperture. Fortunately, Aperture can be configured to name exported files by the date taken, in a yyyy-mm-dd-hh-mm-ss.jpg format, and organzed into a file hiearchy like yyyy/mm/project.
After exporting tens of thousands of photos dating back to 1998, I noticed that the creation date on all those exported files was today, and so I was concerned that when imported into Everpix, the service might think all those photos were taken today.
Using Hazel, I found a way to process all those photos, setting the file creation date to that matched by the date found in the filename.
This required some research, and turned out to be a little tricky. For the benefit of anyone wanting to do the same, here’s the relevant AppleScript. (Note that it’s an AppleScript intended to be run in a Hazel rule, since Hazel passes the current file to AppleScript in the “theFile” variable.)
(Feel free to download this AppleScript.)
Note that all those character length checks like “mn \< 10” are important, in order to turn minutes like this, “8”, into text like this, “08”, i.e. padding single digits with a leading zero. I have no idea why determining that an integer is a single digit is done by comparing it to “10” (but then again, me and AppleSript have never managed to become friends.) Go figure.
Conclusions & Observations
Although I’ve only had this setup and workflow for just a few weeks, I’m already quite happy with it. Just seeing how much the family is enjoying our photos justifies (in my mind) the change. And keeping my photos in a master repository in the file system is future-safe in the sense that should Everpix go away, I could quickly transition to something else.
I hope you’ve enjoyed this overview, and feel free to write if you have any questions. I’ll conclude this article with a list of miscellaneous observations and notes still on my mind:
Dropbox as source. Given that most services like Everpix are built on Amazon AWS, it seems odd that they don’t allow you to specify a Dropbox folder as a source (the way Vimeo does), as that would allow much faster import of our tens of thousands of images.
Photo editing. In Aperture, I always performed two enhancements to my best photos: I would crop them (in the original aspect ratio) and apply Aperture’s “auto-enhance” filter. It doesn’t seem that Everpix provides any such facilities, and I’m unsure what would happen if I edited a source image that had already been uploaded.
Photo editing. As Michael Tsai pointed out, one thing I lose from Aperture is preservation of my original images after editing. I’m hoping that’ll provide to be an acceptable trade-off, since for as long as I’ve used Aperture, I’ve never needed to return to a photo original.
Geotagging. Let’s say I’m on vacation, and taking some photos with my point-and-shoot, and some with my iPhone. Feature request—Everpix could observe that some of my photos are missing geolocation, but have timestamps within a timespan of photos that do (and which are reasonably close in proximity.) Noticing that, it could help me to geotag those photos. Even if the geotags would not be precise, on a per-photo basis, I could plant them within the same general area as my others, so that they’d be present in geo-based navigation of my photos. (Note that I have found a Mac OS X app that can geotag photos based on the geotags of other referenced photos, by timestamp. That app is HoudahGeo.)
Photo reorganization. Everpix have confirmed to me that I’m free to re-organize photos in the source folder; they won’t get re-uploaded to Everpix. The only thing that would ever get re-uploaded is meta data (if that changed in the source).
Auto-delection option. Feature request—If Everpix offered an option to delete photos no longer present in a source folder (perhaps set at the source level) I could then keep my inbox in Everpix, knowing that photos I later delete or edit will get deleted from Everpix.
Favorites. As far as I can tell, Everpix does not support any notion of photo favorites.
Need for albums. Say I take 100 photos of a vacataion. I usually like to crop and enhance the best 25, and upload them to a dedicated set in Flickr, to share publicly. As far as I can tell, Everpix doesn’t offer the ability to manually organize sets of photos into albums. That seems to be part of their philosophy, that algorithmic presentation of photos is better than manual organization. That’s fine, but if they’re not going to provide albums, it’d be wonderful if I they would provide the ability to send a set of photos to services that do (like Flickr).
Photo sharing. I’d like to give my extended family (e.g. grandparents, in-laws, etc.) access to my photos, especially via their iPads. Question for Everpix—Is there any way to do that apart from giving them my account login details?