Dropbox is a fantastically versatile piece of software based on seamless integration of user-defined folders with ‘the cloud‘. Much has been written about how it can be used for general computing, e.g. from Lifehacker:
…Dropbox instantaneously backs up and syncs your files over the internet and to any computer. After you install the application, it will create a Dropbox folder on your hard drive. Any file you put inside that folder will automatically be synced and monitored for changes, and each time a change is saved, it backs up and syncs the file again. Even better, Dropbox does revision history, so if you accidentally saved a file and wanted to revert to an old version or deleted a file, Dropbox can recover any previous version.
It also has some nice collaborative features that allow you to share documents you’re working on, pushing updated versions out to all synchronised dropbox directories as changes are made. Crucially, whenever dropbox detects a connection to the internet, it synchronises all the files contained within the cloud-synched directories, but it doesn’t require an internet connection to work on those files. This feature has revolutionised the way I programme, debug and transport participant data from psychological experiments.
Programming Experiments: I, like most psychologists I know, don’t programme my experiments on the machines on which I test participants. I have a workhorse desktop machine on which I programme, and I use a number of lower-specced machines to gather data. For instance, I have an fMRI-dedicated laptop which I take to and from the scanner, from which I present stimuli to participants, and on which I store their behavioral data in transit.
I don’t programme on the fMRI laptop because I don’t like spending lots of time working on the cramped keyboard, touchpad and small screen, and because I try and keep the number of applications installed on the machine to a minimum. A problem arises when I need to test my programming to make sure that: a) it runs on the fMRI laptop; and b) what I have programmed on my 1920×1200 monitor translates well to presentation on 1024×768, the resolution I set the laptop to to be compatible with the scanner projection system.
It’s easy enough to save the experiment and all of its associated files onto a memory stick and transfer them to the laptop whenever I need to test it, but it’s a hassle; one that dropbox eliminates.
I have dropbox installed on both my desktop machine and the fMRI laptop. When programming, I just set the laptop up next to my desktop keyboard and create an ‘experiment’ directory in my dropbox using my desktop. I then programme as normal, using my desktop to edit picture stimuli using GIMP and generate instruction slides using Powerpoint, saving everything into the ‘experiment’ directory. When it comes to testing the experiment, I simply turn to the laptop, where I find all the experiment files have been updated in real-time over wifi. Perfect! If I run the experiment on the laptop and find that some of the images I’m using are the wrong size I can simply resize them on the desktop and try again, no memory stick required. I’m able to debug a lot more efficiently like this – it places far less working memory load on me as I can make the required changes as I notice them, rather than once I’ve run through the entire experiment.
Running the Experiment and Transporting Participant Data: I’ve already mentioned that I turn off the laptop’s wifi connection at the scanner. I also exit the dropbox application (which runs in the background and coordinates the cloud-synching. The beauty of the system is that all your dropbox files remain available locally when internet connections aren’t available. I can still run my Matlab scripts and collect data into the dropbox directory. As soon as I’ve finished testing, I start the dropbox application and enable the wifi connection and the new participant data gets uploaded to the cloud and pushed out to my desktop machine. Just like that, the data is backed-up and transported to my desktop. Again, no memory stick required.
This is just one domain of my day-to-day work that dropbox has changed for the better. I also use the dropbox ‘Public Link’ capability to make my CV available on the web. Instead of sending my CV to each web-site that wants to host it (e.g. the Dobbins lab website), I now provide a link to the CV in the ‘Public’ folder of my dropbox. Whilst this difference might seem trivial, it enables me to update my web-based CV in real-time without having to e-mail the administrator of each web-site with an attachment each time I want a change pushed out.
I’m sure there are many other uses I have yet to discover and that’s the beauty of such a straightforward yet polished technology.
WARNING: When you install dropbox, you give it control over everything you put in your dropbox folder – you have to be aware that all changes made to files in your dropbox on one machine will instantaneously get pushed out to all your other machines.
Use antivirus software. If a virus makes its way into any file on your dropbox, it will get pushed out to all the other computers synced to your account.
Be disciplined about backing up your files, even cloud-synced files. Protect youself against the accidental deletion of files in your dropbox. Once they are deleted on one machine, they will get deleted on all your other dropbox-synced computers. I have a recurring nightmare where I lose my experiment data because it gets deleted on the fMRI laptop (e.g. it gets stolen and prior to selling it on, the thief deletes everything in the ‘My Dropbox’ folder). Because I have a nightly backup running, this wouldn’t be terminal, but the prospect of it happening is still scary.