A Quick and Painless Way of Sharing Screenshots with Dropbox

I have used Skitch for many years for taking screenshots on my Mac. I never used it because I couldn’t be bothered to use the built-in screenshot capability of OS X, but because it was so easy to annotate and share images. In addition to making that process easy, all it would take to upload and share the image was a quick keyboard shortcut — which quickly whisked it away to Skitch’s image hosting service.

The one thing I never did like was Skitch’s quirky UI. I always found it kind of out of place and not at all Mac-like. Earlier this year, Evernote purchased Skitch and they have continued to do a good job of maintaining the code base, as well as provide better integration with Evernote.

I’ve discovered a much better solution now for creating, annotating and sharing screenshots. The solution utilizes OS X Lion’s built-in screensharing and annotating features — using Preview, but with a slight twist.

Tools that you need

There’s a good chance you’re already using Dropbox (shame on you if you aren’t). You need Dropbox, but you also need Running with Crayon’s launcher app called “Alfred.” Alfred is a fantastic multi-purpose app launcher. Actually, it goes far beyond just an app launcher. Alfred is highly extensible if you purchase their Powerpack add-on. I highly recommend it, as it’s inexpensive and adds an almost infinite amount of possibilities.

Make sure you grab these three items before you get started:

The workflow

I can take screenshots, annotate them using Preview, upload them to Dropbox and share the public link all within a minute or less.

Essentially I start by taking a screenshot of the area I want to grab. I do this by using the standard command + shift + 4 keyboard shortcut. Once the screenshot is taken, it ends up in my Dropbox public folder. Assuming I don’t need to do any annotation, I trigger Alfred’s launcher bar and type: “public.” The real magic happens when the extension checks the public folder for a recent image, and then simply grabs the public URL and copies it to the clip board. Now you can paste that public URL in an email, webpage, document or on Twitter (very handy).

By default OS X saves your screenshots to the desktop, which I not only find annoying, but also useless for easy sharing. The first thing you need to do is change the default location where your screenshots are saved to. This unfortunately cannot be done by simply going into System Preferences and changing an option. In order to accomplish this, you need to open up Terminal and write a very short command to a plist file.

What you need to do

  • Open Terminal.
  • Type the following:
    defaults write com.apple.screencapture location /users/yourname/Dropbox/public
  • Now type:
    killall SystemUIServer

Obviously make sure to specify the full and proper path to your Dropbox public folder. Once you do this, all screenshots will be saved to your public Dropbox folder. This is crucial, because the Alfred extension you should have installed and configured earlier, will look in there for recent images.

Modifying the Script

After asking the developer how I could have the extension simply check a subfolder instead of just /Public, he was able to provide me with a simply solution. With two minor changes in the Python script, you can specify a sub-folder where you want it to check. This is handy because I prefer to dump all of my screenshots into /Public/screenshots.

To do this, you first need to open script.py with a text editor of your choice. You can find location of the script by going into Alfred > Extensions and then command + click on “Get Dropbox Public Link” and select “Show in Finder.”

  • Look for: public_folder = db_info[1] + "/Public/" and simply append /screenshots if that’s where you want it to look for recent files.
  • Next you need to find:
    public_link = 'http://dl.dropbox.com/u/%s/%s' % (db_info[0], file_name) and change that to public_link = 'http://dl.dropbox.com/u/%s/screenshots/%s' % (db_info[0], file_name)
  • Save your changes and you should be good to go.

Lastly, if you want to go back and annotate a screenshot that had already been taken, you can do that by opening up the image in Preview. Once the changes are saved, Dropbox does the work for you by syncing the change back to the server. Since public URLs don’t change once they’re created (assuming you don’t delete the file), you can use the same public link and re-share it with anyone you want.