Photo Sharing

I take a lot of pictures of my family.  For Christmas two years ago my wife gave me a Panasonic Lumix  DMC-FZ70 (https://www.amazon.com/gp/product/B00DY2Y28M/) and it has been great.  The low-light action shots remind you it isn’t a DSLR, but any other uses and 60x optical zoom perform exactly as advertised.  It’s been a great camera.

Unfortunately, I don’t always get off my butt and take the pictures off the camera and share them quickly.  So last year I added an Eye-Fi 16GB Pro X2 card to my wish list and my wife gave me one last Christmas.  I setup the card to use the WiFi network in my house and when that wasn’t available to tether to my phone to copy pictures off the SD card.  This meant that wherever I was pictures would be transferred off the camera automatically.

Eye-Fi offered a free service to get the pictures from the camera to my house as long as I left a client running on my home computer.  The Eye-Fi software also had a feature called “Endless Memory” that auto-deleted pictures from the card after it hit a certain fill point as long as they had been copied off the camera.  It even had a config to copy the pictures to Flickr automatically.

On Flickr I set all uploads to private and only shared them with my wife and other family members. Flickr allowed unlimited full resolution photos to be uploaded to my account, so I never had to maintain anything there.  The only issue I ever had with the setup was when tethering through my cell phone with poor cell coverage.  Other than that, it was relatively flawless and it meant that my wife had near immediate access to every picture taken.

Then… Eye-Fi decided to completely strand their customers and announce the complete termination of Eye-Fi X2 support (X2 Migration) starting September 16th 2016.  They had some misleading statement about not selling them anywhere after March 2015, although I’m positive they made no effort to remove them from Amazon when my wife bought me one for Christmas nine months after that.

So I was going to get less than a year use out of my card.  Pretty infuriating.

This left me in search of a cost effective method to wirelessly get pictures off my existing camera.  Over the summer I searched every option I could find and nothing really recreated the full solution I had before.  Eye-Fi was pushing their new mobi cards, and I could buy a new card for $70 and pay them $50/yr to use their cloud service.  If I bought the “pro” card, I could recreate what I had before short of the endless memory feature.  However, I stopped short of doing this since it was not a like-for-like replacement and my current card hadn’t broken yet.

Plus, I really had no desire to pay any money to the company that was screwing me in the first place.  Having procrastinated a few months that now looks like it was a very good decision. They ended up getting enough customer pressure to release a lightweight desktop client to allow camera transfer when on the same network.  Their company is clearly failing (What’s going on with Eye-Fi?) as more cameras are supporting Wi-Fi natively now.  And they possibly have some patent issues with Toshiba.  It looks like they’re trying to become a software company as well (Introducing Keenai.).  Given how badly they wrote software in the past this probably won’t end well for them.

Armed with their new desktop client (Download Eye-Fi X2 Utility) I resurrected the ability to wirelessly get pictures off the camera to my computer.  The client they released removed the Endless Memory feature, has no ability to share with third party services, and provides no outside-the-house capability.

To recreate the third party sharing part of the workflow I had before, I took a look at the Flickr desktop uploader app.  Unfortunately that app is only supported with Flickr Pro which is $50/yr.  Then I looked at Google Photos, which will charge me for the storage I use to store full resolution shots.  That would quickly add up to $120/yr.

Enter Amazon Cloud Drive and their brand new desktop sync client.  As a Prime customer, Amazon gives me unlimited photo storage for full resolution photos and the ability to have a “family vault” where I can share pictures with my family.  The pictures are easily viewed in their mobile apps, something my wife and I enjoyed with the Flickr app.  The latest update to the desktop mac app that was released this last week also properly looks for file updates, uploads the new files to cloud drive, and has an option to auto-add all pictures uploads to the family vault.  Perfect solution, right?!

Almost.  If I set my Eye-Fi desktop client to copy to my Amazon Cloud Drive folder, then importing the pictures in to Photos.app becomes difficult to manage what has been imported and what hasn’t.  Also, if I deleted the pictures after importing them, then my wife wouldn’t be able to see them in the Prime Photos app any longer.

So, I came up with a one-way copy from the Eye-Fi upload folder to the Amazon Cloud Drive folder as my solution.  This leaves every picture I’ve taken on Amazon and lets me delete them from the Eye-Fi folder after I import them in to Photos.app.

To do that, I either needed to watch the folders for changes, or just sync them on a periodic basis.  I chose the latter for simplicity.

First, I needed to write a short shell script to do the one-way synchronization with rsync:

$ cat ~/bin/photosync.sh
#!/bin/bash

/usr/bin/rsync -a /Users/mikeb/Pictures/Eye-Fi/* /Users/mikeb/Amazon\ Drive/Pictures/Eye-Fi/

… and then schedule it to run once a minute with launchd:

$ cat ~/Library/LaunchAgents/org.mikeb.photosync.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
 <key>Label</key>
 <string>org.mikeb.photosync</string>
 <key>ProgramArguments</key>
 <array>
 <string>/Users/mikeb/bin/photosync.sh</string>
 </array>
 <key>StartInterval</key>
 <integer>60</integer>
</dict>
</plist>

and start it up:

$ launchctl load ~/Library/LaunchAgents/org.mikeb.photosync.plist

Looking at 800 files takes .016 seconds.

My only missing features are now Endless Memory and the ability to upload when outside of the house.  I can probably come up with a VPN solution for the latter if I need to, and I’ll just have to suck it up and click delete to free up space.

This should work for a couple years and get me a more appropriate lifetime out of the card my wife bought me last Christmas.  By the time this all falls apart it’ll be time for a new camera and I can buy one with native Wi-Fi support.  Let’s just hope Apple doesn’t change any of the API calls that Eye-Fi used in the desktop client and causes it to break prematurely.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s