Advertisement

Keep Dropbox.app up-to-date when the magic fails

Dropbox App Icon

Dropbox is one of my essential Mac apps. It does an exceptional job at keeping my files in sync across multiple computers, but there's one feature that often fails: the auto-update. The app is supposed to update itself "automagically," but in my experience the magic is a bit... lacking.

If you want to make sure that your Dropbox.app stays up-to-date, you have a few options:

  1. Check the release webpage.

  2. Watch the Dropbox forums.

  3. Follow the RSS feed.

  4. Use If-This-Then-That.

  5. Have your computer check for updates periodically.

Of these options, I tend to prefer the latter two because they require the least amount of effort from me. RSS doesn't require much effort, but I might miss it among all the other feeds, and the RSS feed doesn't just have stable versions of Dropbox, but it also has "testing" (read: "beta") versions. I only want stable versions, because beta versions often require reindexing of your entire Dropbox folder, which is a giant pain since I have more than 150,000 files in my Dropbox account.

IFTTT (aka "The Partly Nerdy")

If-This-Then-That is one of my favorite services of the past few years. It allows you to check for certain "trigger" events that cause other things to happen -- hence the name: "If this [happens/is true] then [do] that." For example, you can tell IFTTT to send you a message every time a new item is added to an RSS feed.

Even better, you can tell IFTTT to send you a message when a new item is added to an RSS feed and includes a word such as "New Stable Build" which is how the Dropbox RSS feed announces a -- you guessed it –- new stable build (version) of the app.

I created an IFTTT recipe to email me whenever a new stable build of Dropbox is announced, which you can use by following that link. You can also change the action (the "Then That") to send you an SMS or do something else.

That's a reasonable option for most people. But... come on now... this is me. I couldn't stop there.

The Seemingly Inevitable Shell Script (aka "The Full Nerdy")

If you've been paying attention, then this formula won't surprise you. There's a Github repository which has two parts:

Put the plist in ~/Library/LaunchAgents/com.tjluoma.is-dropbox-current.plist and put the shell script somewhere in your $PATH (/usr/local/bin/is-dropbox-current.sh would be a good choice) and make sure it's executable (chmod 755 /usr/local/bin/is-dropbox-current.sh).

By default, the script will run every day at 3:00 PM local time. If you want to change that, I highly recommend the excellent LaunchControl for editing the launchd plist file. Just remember that you don't need to run this too often, it's not as if new builds are coming out several times per day. I'd say the most often you ought to run this is every four hours (or 14,400 seconds using StartInterval in launchd).

One more thing: since this will run in launchd, you won't be able to see the output of the shell script unless you use either terminal-notifier in Mac OS X 10.8 or 10.9 or use Growl and growlnotify in a supported version of Mac OS X (probably 10.6.8 or later).

If you are using 10.8 or 10.9, I strongly recommend terminal-notifier for this. Usually I use and recommend Growl, but terminal-notifier has one advantage: When it detects your Dropbox version is outdated, clicking on the notification will automatically download the latest version of Dropbox using your default browser.

Also, if you are using Growl and version 2.1.2 under Mavericks, there is a bug which may prevent notifications from being displayed. The Growl developers submitted a bug-fix to Apple a week ago, but it still hasn't been approved. (Three chëers for the Mac App Store approval process.)

A last word

If you're not up for The Full Nerdy, remember there are plenty of other options available, as listed above. The most important thing to remember: while Dropbox is great at keeping your files in sync, but not so great at keeping itself up-to-date.