jlehikoinen.github.io

Photo management

Posted: 28.03.2015

Updated: 15.06.2017

**Note! I have updated this post with the current Dropbox Core API and Heroku solution. **

See the original Photo Management post here.


Here’s my photo (and video) management setup. It’s pretty much based on Federico Viticci’s photo management solution except I have replaced Hazel with a cloud-based solution.

Nowadays most of the photos are taken with iPhones in our household and viewed later on with iPads. I have also Nikon 1 J1, but it’s used quite rarely. I wanted to have one centralized storage for all photos and videos which is available from every Mac and iOS device. Here’s how the photo and video management setup was built.

Setup

Components:

Requirements:

How it works?

In a nutshell:

  1. Take a photo with iPhone
  2. Open Dropbox app -> photo is automatically backed up (uploaded) to Dropbox
  3. What happens on Dropbox and Heroku? 3.1. Dropbox webhook monitors changes in Dropbox storage 3.2. Dropbox webhook sends notification to Heroku web app 3.3. Heroku web app receives notification and runs a script 3.4. Script uses Dropbox Core API to move the photo to a correct folder based on file metadata
  4. Open Dropbox or Unbound app on iPad and view the photo
  5. Check the changes from Dropbox RSS event feed, from a log file in Dropbox or from Heroku log stream

Folder tree example

The folder tree naming system is basically designed for Unbound app and easy sorting. The screenshot is in Finnish, so here’s a crash course on Finnish language:

Directory tree

iOS apps

I use two different iOS apps for different tasks with photos and videos.

Dropbox vs. Unbound

Here’s a little Dropbox and Unbound comparison if you are not familiar with these apps. I use Dropbox for skimming through photos and videos and Unbound for viewing non-compressed videos and photo metadata.

Feature Dropbox Unbound
Content All Dropbox media 1 Dropbox folder
Caching Automatic Automatic & manual per subfolder
Video compression Yes No
Metadata viewer - Photos only
Price Free 2,99 € (Not universal)

iOS Parental Control

If you don’t want kids to access Dropbox, you can protect Dropbox with a separate passcode.

Dropbox on the other hand can be quite risky if you leave your device unsupervised. Dropbox has a Delete button visible when viewing a single photo or a video and there’s currently no way of how to disable it. And it’s no surprise that deleting files via Dropbox also deletes them from Dropbox.

Unbound has a Disable Delete functionality in the Settings > Viewing.

Sharing

There are plenty of options how to share files with Dropbox or Unbound. Share a single file with a link or a complete folder etc.

If you have opted out using iCloud Photo Library or Photo Stream (like I have), you can still use iCloud sharing with friends or family members who have iOS devices. Here are my Photos & Camera settings:

iOS Photos & Camera settings

Backups

Dropbox has it’s own version history system, but always have a local backup solution in place as well.

If you plan to add lots of data to your Dropbox it might be wise to exclude Dropbox folder from your Time Machine backups on other Macs that use the same Dropbox account.

Manual importing

This system works with manual importing as well. Just drop files to Camera Uploads folder on your Mac. It doesn’t matter which Mac is used for this because when the files get synced to Dropbox cloud storage they are moved to correct location in the folder tree.

Only downside is that you need to select the files manually that you want to import. I use this one-liner to find out last imported files.

Summary

Compared to iCloud Photo Library and Photo Stream this has been a smooth run so far. No surprises, no duplicates or weird behavior.

If you don’t like Dropbox, it can be easily replaced basically with any cloud storage provider or with your own NAS.

Pros

Cons