firefox + dropbox = profile synchronization across machines

Wednesday, June 18th, 2008 at 9:46 pm

dropbox logofirefox logo

UPDATE: I’ve found it useful to store the cache locally. you can do that by adding a new user preference for the cache location with browser.cache.disk.parent_directory.

now that i have firefox 3 running on all my machines i was able to try a little experiment. using dropbox as as central storage repository, i have been able to synchronize my user profiles across multiple machines, mac and pc. it’s not incredibly difficult, and seems to work even with browsers open on both machines.

set up

first, to set this up do the following (the process of backing up a firefox profile can be found here. i have repeated it for convenience:

  1. pick the machine that hosts the browser whose profile you wish to replicate across machines. close the browser on that machine.
  2. Locate the backed up profile folder on your hard drive and copy it to dropbox. i put it in the “root”.
  3. Open up profiles.ini in a text editor (see examples below)
  4. In profiles.ini, locate the entry for the profile you’ve just moved. i only had one profile per machine. if you have more than one, be sure to reference the correct profile. now, Change the Path= line to the location within dropbox.
  5. Change the line with the text IsRelative=1 to IsRelative=0.
  6. Review the changes made and save profiles.ini.
  7. Start Firefox.

your profiles.ini will look like this (mac version, which is here: /users/[username]/application support/firefox/)
[General]
StartWithLastProfile=1
[Profile0]
Name=default
IsRelative=0
Path=/users/[username]/Dropbox/Profiles/[profile-identifier].default

on a pc, your profiles.ini is here: C:\Documents and Settings\[username]\Application Data\Mozilla\Firefox and will look identical except the path:
Path=C:\Documents and Settings\[username]\My Documents\My Dropbox\Profiles\[profile-identifier].default

Having opened the browser on the first machine, close it, and give dropbox time to synchronize on your other machines. once synchronization has occurred, open your browser on a second machine. at this point i had some add-ons that were different versions, make and updates necessary, and restart your browser. repeat this process on any additional machines and you are good to go.

now when you go back and forth between machines, not only are your bookmarks and extensions in sync, but your sessions are too. if you always have just one browser open, you can bounce back and forth and pick up where you left off no matter what.

restore

multiple browsers open

so, what happens if you open more that one browser at a time? i tested this a few times, and between firefox session management magic and dropbox file synchronization magic, everything seems to be just fine. on the second browser instance, firefox acts as if your last browser session crashed, and asks if you’d like to restore the prevoius session or start a new one. when i chose “restore previous” i picked up right where i left off. in fact, i was editing this post, wordpress had saved a draft, and when the second browser opened the post was exactly where i left off. pretty cool! when i selected “start new session” instead, i got my default home page, as expected.

growl update

managing the chaos

dropbox works nicely with growl, so the entire time i was starting and ending sessions on my second browser (a pc) i would see exactly what files were being updated. i did some additional browser session starts and resumes and observed the following:

  • authenticated sessions across browsers were not maintained
  • resuming a session on a second machine, closing the browser, then opening it again, did not invoke the restore session dialog. to my understanding, dropbox stores all files locally, and synchronizes each machine with a copy when the network is available. so, given this, a second invocation of the browser runs off the “local” copy.

dropbox

all told, i was quite satisfied with the results and the ability of firefox and dropbox to manage the chaos. no doubt, opening and closing a bunch of sessions and not allowing dropbox to synchronize the machines will get you in trouble. i would expect as much. however, given my primary use case is to keep extensions and sessions in sync between my home and work machines, this is quite a satisfactory solution. the fact that keeping a browser open in one location does not totally break the second browser instance – so i can leave a browser open at home and recover to some predictable point at work and again when i return home again is quite good enough for me. sure, this solution won’t be for everyone, but i imagine there will be many others like me.

btw, i’ve been using dropbox from a very early beta and am quite pleased with it. i have 2 dropbox invites left. get in touch with me and i’ll send you one, particularly if you have a soocial invite in return :-).