A very convenient trick: having a testing browser

October 30, 2010

One of the little peculiarities of my personal environment is that I actually use two different copies of Firefox at once. Well, sort of. What I have is my regular Firefox and a separate 'testing' instance.

There are two important configuration differences between the instances. First, the testing instance uses a standard version of Firefox, instead of my usual self-compiled and custom-hacked version. Second, it is configured to clear all 'history' when Firefox exits, thereby flushing browsing history, the cache, cookies, and so on.

When I set it up, my goal was to have a Firefox instance that would always start from a known empty state so that I could do testing without having things contaminated by past browsing history. Once I had such a historyless instance it became convenient to use it for things that I didn't trust, at least in a privacy sense; I knew that no matter what cookies and JavaScript and whatnot a site shoved on me, it would all go away when I closed that Firefox instance down. As a result of this I'm willing to accept all sorts of stuff in the testing Firefox that I would never allow near my main browsing environment.

(Somewhat paradoxically, I also use the testing Firefox for high security things. The great session isolation cuts both ways, making my high security browsing isolated from everything else provided that I'm only using the testing Firefox instance for the high security browsing at the time.)

Since the testing Firefox only cleans itself up when it shuts down, I'm usually not running it and when I do, I shut it down frequently. In stark contrast I keep my regular browsing environment running all the time so I can use Firefox's remote control to start new windows rapidly, and I often have lots of iconified Firefox windows lying around.

Since the testing Firefox environment is ultimately disposable, it's also made a convenient place to test different versions of Firefox. If I want to do semi-serious browsing with a Firefox 4 beta or the like, I point it at the testing environment and see how things go.

(For reasons beyond the scope of this entry, my testing instance currently runs the latest mozilla.org 32-bit Firefox build instead of the system version of Firefox. Since I got Flash working again in the system Firefox, I should probably revert that. Mind you, there are arguments either way for testing purposes, given that very few of our users are likely to be running on 64-bit Fedora Linux while a lot more are probably using some version of mozilla.org's official build.)

Given how convenient having a disposable browser testing environment has been for me, I heartily recommend it for everyone. Even if you don't do website or browser testing, it's a great feeling to have a separate environment where you can allow all of the janky JavaScript that websites want to shove down your throat without damaging any browsing that you actually care about.

You don't have to do this with a second instance of Firefox, of course. The important thing is to configure whatever you use as your testing browser to clear everything when it shuts down, so that you always start browsing from a known (and clean) state.

PS: given the parade of security issues in Firefox I strongly recommend that everyone uses NoScript in a 'default disabled' mode in at least their main browsing session, and I normally use NoScript this way even in my testing Firefox. It is much less annoying than you might think, especially if you're willing to whitelist things more liberally than I am.

(Yes, I have been beating this particular drum for some time.)

Written on 30 October 2010.
« What problems the Maildir mail storage format solves
How I set up my isolated testing Firefox environment »

Page tools: View Source, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sat Oct 30 01:27:35 2010
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.