A few years ago I used this script to export my entire iPhoto library into Dropbox folders. This resulted in a folder structure (year)-(year-month-event name)-(photos). Since then I haven't touched iPhoto and used the Dropbox and Carousel app to upload my photos from my iPhone to the Cloud.
But somehow this setup didn't feel as smooth as things could have been. I had two libraries: the synced iOS Photos app, and the Photos folder in Dropbox. I considered Dropbox my main library, but the iOS photos experience was way better when it came to browsing through my photos. I love Dropbox when it comes to files, but photos don't belong in a folder structure, they should be visible, not stacked away.
When Apple released the iCloud Photo Library at last year's WWDC they promised an awesome solution for managing photos online: every photo is available on every device, a change on one device syncs across to the others, and when you delete something it automatically disappears on all devices.
There where a few things I needed before moving away from Dropbox though:
- An easy and reliable way to backup the library.
- A way to access them on my Mac
- Local copies of my photos so I can access them when I'm offline.
With last month's release of the 10.10.3 beta's, and the availability of Photos.app on the Mac these three requirements where all fulfilled: Photos allows me to access all photos on my Mac, I can download my entire library to my home server, and backup the Library file with BackBlaze and Time Machine.
A few weeks ago Apple released a beta with the Photos app for OS X. I'm not a big fan of beta's in general, they're called beta for a reason, but after stress testing the software on a test-machine last week, it seems more than stable enough to start using it on a production machine. So this weekend I pulled the trigger and updated my MacBook Pro.
Little warning: if you're planning on installing 10.10.3: make sure nothing in your applications folder is called Photos.app. The installer won't install the Photos app and it will also skip the Library Frameworks it needs to work. I ran into this issue and had to revert back to 10.10.2, delete the app and reinstall 10.10.3.
My Mac has never seen iPhoto, and ~/Pictures is empty, so when I first launched Photos it created a blank library. A few moments later it showed my every picture that's currently visible on my iPhone and iPad. As smooth an experience as one could wish for!
With iPhoto you used to be able to drag folders to the Library and it would import those photos, filter the duplicated and create an event for each folder. I expected a similar behaviour here, so I dragged my entire 2015 folder into Photos. It started importing the images but the result wasn't what I expected: there where no albums created and it didn't detect duplicates (every photo that was stored in iCloud is also stored in my Dropbox folders). So what I got was all my photos, almost all duplicates and no clear hierarchy.
In order to get my Dropbox structure into iCloud in a reliable fashion I thus needed to solve two problems:
- Find a way to match a Dropbox copy of an image to the iCloud version to resolve the duplicates.
- Find a way to import a folder as an event.
Since every picture I have lives in Dropbox I decided to fix the duplicates issue the easy way: start from scratch. I deleted the newly created Photos library and on my iPhone I created a Workflow that loads the photos currently stored in iCloud and deletes them. So basically I'm starting from scratch with zero images in the Cloud. (I'm deleting them in batches of 500 since the app crashes when you try to delete more at once.)
As I mentioned previously: iPhoto used to have a feature where it converts imported folders into events. Since I wanted an exact mirror of my folders in my iCloud Library I decided to go back to the future: I installed iPhoto and dragged Dropbox/Photos/ into its Library. My processor spiked to 300%, fans started screaming for 4 hours, and half a day later I've now got a classic iPhoto library with an event for every folder in my Dropbox Library.
Migrating to Photos.app
After I imported my folders into iPhoto and let it sync completely (generating Faces, doing location lookups,...), I quit iPhoto and fired up Photos.app again. I selected the iPhoto Library I just created, and the app started Preparing its own Library.
This process took around 20 minutes (a 150GB library containing around 35000 photo's) and data has been uploading to iCloud ever since. At a rate of around 20 photos a minute the entire upload should be done tomorrow night. I haven't noticed any real slowdown yet, although some photos show up as white thumbnails so I think I need to do a rebuild of the library thumbnails once everything has been uploaded and synced.
Since all events are converted into albums if you move from iPhoto to Photos I ended up with a really really long list of albums. Impossible to scroll on my iPhone and clumsy to use on the iPad.
You can't create Folders on the iPhone directly, but Photos on the Mac can. I created folders per (year) and moved all albums (year-month-event) into their respective folder. Making these changes and syncing them to the iOS devices: almost instantly.
There's still a couple of things I'm missing in the Photos app though: you can't see a photos metadata except when you open the info-pane (I'm used to the Finder that always shows file data). While briefly exploring the Faces section I was amazed by how good face detection had become since I last used it a few years ago. But the interface is clumsy. I haven't found a way to batch-assign photos to a user, and the bottom row of potential faces is slow to browse.
Wrap it up
I will still use Dropbox to bulk upload my photos to Dropbox. I probably won't use those copies, but an extra backup never hurt anyone.
As far as photo management goes, I'm going all in on iCloud Photo Library. So after taking some pictures I'll be sorting through the photos on my iPhone, do editing on my iPad and use my Mac to do the heavy lifting when it comes to organizing them into folders.
Now if only Apple did the same for my PDFs and ebooks...