Dropbox: Beyond the Basics
My hands-down favorite new Mac app of the past year or so has been Dropbox. One reason I like it: I keep discovering new things it can do.
At first, I just used it for the obvious: keeping important document files in sync between my work and home Macs (and, later, my iPod Touch too). But then I realized I could use Dropbox to sync all kinds of files--such as TextExpander snippets or my 1Password keychain. That meant I could sync my keyboard shortcuts and passwords on all my systems, without the vagaries of MobileMe.
Going online to find out what else I could do with Dropbox, I found a healthy community of Dropbox users, sharing tips and hacks for the service. Dozens of those tips are available on the Dropbox a wiki. Here are a couple of ideas I found there and elsewhere that should get you started on taking your Dropbox use to the next level.
The basics: You establish a Dropbox account and download the Dropbox client to each of the machines you want to sync (Mac, Windows, or Linux PC). That done, any file you put in the Dropbox folder on one computer will be synced automatically to the others. It's completely hands-off and, in my experience, completely reliable.
As I said, Dropbox can sync more than just documents; it can also sync the data that individual applications keep (often in /Library/Application Support). The only trick to syncing such data with Dropbox is making sure that your apps still know where to find the data they need.
For example, Rob Griffiths recently produced a video tutorial showing how to sync the 1Password keychain across multiple computers using Dropbox. The basic idea: In 1Password's preferences, select the General tab and, in the Data File section, click on Move and then select your Dropbox folder. Do the same on the other machines that have 1Password installed, and all their keychains will stay in sync.
The latest version of TextExpander (3.0) makes it just as easy: Select the Sync tab in its preferences, and choose Dropbox.
Other programs require a bit more work: If an application doesn't have built-in DropBox support, you'll need to establish a symbolic link between its program files or folders and Dropbox.
Warning: Before you start messing around with program data files, make sure you have a good backup (or two) of your system (particularly your /Library folder), so you can recover should anything go awry.
If you want to sync just a single program file (a browser's bookmarks.html, for example, or a game's save file), the easiest thing is to put that file in your Dropbox folder, then create a symbolic link to it from its original location. To do so, close the app and drag the data file to Dropbox. Open Terminal (/Applications/Utilities) and type ln -s (don't hit Return). Next, drag the file from Dropbox to the command line (to insert its path), then do the same for the folder where the application expects to find that file (~/Library/Application Support/application, for example). (Make sure there are spaces between ln -s and the two pathnames.) When you're done, hit Return.
If you want to sync an entire folder, it's easier to put the symlink in Dropbox and leave the folder where it is. Close the app, open the Terminal, and type ln -s. This time, drag the program folder from username/Library/Application Support/ (or wherever it resides) to the Terminal command line, followed by the Dropbox folder, and hit Return.
If you'd rather stay away from Terminal, you can use a utility such as SymbolicLinker to establish the same connections.
Whichever way you do it, repeat the process on your other machines. The program data should then be the same on each machine.
These same techniques could potentially be used for a range of other applications. You could, for example, sync entire Firefox profiles (not just bookmarks, but extensions too) or Bento databases. Other users sync their Web Receipts folders. Some Dropbox users claim they sync entire iTunes and iPhoto libraries this way; if you want to try that, you'll likely need the extra storage you get with one of Dropbox's paid accounts. However, the Dropbox wiki strongly warns against trying to sync the data files associated with OS X's built-in apps (Mail, iCal, and so on); I wouldn't try it. And remember: make that backup before you start messing around with vital program files.
You can treat your Dropbox folder like any other folder on your Mac--which means you can assign Folder Actions to them. This opens up all kinds of interesting possibilities. For example, writer Jeff Carlson uses Dropbox and Folder Actions to automate a good chunk of his writing workflow:
When writing my books, I often need to capture screenshots from other machines. That involves getting the shot, transferring the image file to my main Mac, and running it through Photoshop to convert it to the right format. Thanks to Dropbox, Automator, and Folder Actions, I do it all in one step. Here's how it works:
The image is then automatically replicated on all of my computers that are running Dropbox, including my main MacBook Pro. On that Mac, I assigned a Folder Action to that Dropbox folder, which looks for new files and, when it finds one, hands it off to an Automator action. The Automator action renames the file (changing the extension from .tiff to .tif), moves it to an Originals folder, and then opens the file using a Photoshop CS4 action droplet. The image opens in Photoshop, where it is converted to a new color space and to CMYK (for book projects), and finally saved to the project folder.
For all of that to happen, the only thing I need to do is capture and save the screenshot to the Dropbox folder.
That's just an example of the kind of thing you can do with Dropbox and Folder Actions. Anything you can do with Folder Actions--including launching Automator workflows or triggering Applescripts--you can do with a Dropbox folder. Which means you can initiate work on any Dropbox-enabled Mac (or PC) from any other machine that has Dropbox installed. That means Dropbox can do a kind of automated remote-control--something far beyond simple file-syncing.