Adventures in migrating from Opera to Chrome and Firefox

I’ve been a loyal user of Opera since version 5. Back then, they were the innovators of features like tabbed browsing, mouse gestures, and excellent support for web standards. I even paid for it back then (as it was on the “shareware” model) since it was just that awesome. I’ve been using it ever since.

Sadly, over the past couple years, the quality has definitely gone down. It may have started roughly around the time Opera got a new CEO, though I’d be hesitant to place the blame completely there. It crashes much more often. It likes taking up CPU for no discernible reason. The next version, Opera 12, will be removing many features that make Opera distinctive, like built-in BitTorrent support and their awesome Opera Unite idea. Opera just doesn’t seem to be the cutting edge innovator that they used to be. (Or perhaps, they’ve been so busy trying to innovate that they lost their core focus on making an awesome browser.)

Moving my wife to Chrome

So, last week my wife decided to be finally done with Opera. She had been trying successive Opera 12 betas, which would each fix some problems she was having and introduce new ones. (And fixed some of the problems from the “stable” 11.64.) She had been using Chrome for some sites already (it apparently handles GMail better), so I worked on moving her open sessions over to Chrome.

It is truly amazing how difficult browser makers make it to switch to them. There’s very little support for importing from other browsers anything other than bookmarks, and maybe history. You can’t import sessions, or passwords, or preferences. And you can’t do anything automatically to import from Opera, I guess because they just don’t care if an Opera user switches to them. It seems a poor strategy for increasing adoption to me.

In order to move the open session from Opera to Chrome, I went through these convoluted steps (I’m doing this from memory, so I hope I don’t skip a step):

  1. Open up the Windows left panel in Opera, and the Manage Bookmarks screen as the main screen.
  2. Create a folder in Bookmarks for each window, then drag all the open tabs for a window from the Windows panel into that folder
  3. Install the Session Buddy plugin to Chrome.
  4. For each window, open up the folder in Opera’s Manage Bookmarks for that window, select all the pages, Hit Ctrl+C to copy them all, then use Session Buddy’s import feature to paste the list of URLs.
  5. In Session Buddy, open up each of those imported sessions as a new window.

Way more complicated than it ought to be, but she seems to be pretty happy with using Chrome for everything now.

Moving me to Firefox

This all triggered me to wonder if I really wanted to stick with Opera, and I decided that I’d explore the alternatives. I’d spent quite some time customizing my Opera over the years. In particular, I found it really handy to set the default to be not allowing scripts, cookies, or referrer headers, and then go into the F12 “Site Preferences” dialog when I’m on a site for which I want to allow one of those things. I also made extensive use of the Right-Click Block Content feature to remove ads and scripts from other sites (like Facebook, which likes to profile users across the web through their “like” buttons even if they aren’t a Facebook user).

I thought about Chrome. While Chrome seems really nice, and it’s what I set up my wife (and my parents) with, I wasn’t sure it was really what I wanted. It doesn’t seem to have quite the level of customization I was looking for. I was also a little hesitant to be running a browser run by Google, mainly just because I wasn’t sure that their interests would always line up with mine. (For instance, their primary revenue model is based on showing ads, and I see no need to ever have an ad in my house.) I decided on trying Firefox just because it was from a non-profit.

Again, I found it really strange how hard they made it to switch. While I kind of understand how they haven’t written an automatic importer for all of my Opera settings and preferences (although they could have, as the profile format is well-documented), I was kind of expecting a blog post or something somewhere that explained how to copy over settings, but there really wasn’t much of anything out there.

Now that I’m done moving things over, perhaps the problem was that Opera and Firefox (and probably others) seem to have very different “philosophies” of how a browser is set up. Opera was very much all-in-one (though it did have plugins, I never really used them), with site-specific preferences as a first-class primary feature. Firefox seems to be more of just having a simple core, with plugins for whatever additional functionality one might want. So there was a bit of frustration trying to figure out what plugins out of the bazillion available did the best job at what I wanted to do, and how to get the settings from Opera into each respective plugin if possible, though largely it didn’t seem to be possible.

Here are the plugins I ended up with:

  • Adblock Plus: I’ve basically just installed this and not touched it. I’m guessing that it’ll be the equivalent of the Block Content in Opera, except that instead of importing my settings somehow the default settings are probably even better.
  • NoScript: This is the equivalent of the Site-Specific preferences for enabling scripting. I couldn’t figure out any kind of import, but the toolbar button to select what scripts to run on what sites is pretty nice, and probably even better than Opera’s implementation. So, when I go to a site that I haven’t been to in Firefox before but want scripts on, I have to select that it’s what I want, but that isn’t so bad.
  • KeyConfig: I can’t believe this isn’t part of the standard browser, and this plugin seems particularly sketchy since it’s from a forum and not the general addons site. But my keyboard “new document” gesture does Cmd+N (or Ctrl+N in Windows), and works in all my other applications, but in Firefox it opened up a new window instead of a new tab. There’s a preference to have sites always open links in new tabs instead of new windows, but it apparently doesn’t apply to the browser itself. This felt like a bizarre hack, but I managed to remap Cmd+N to be opening a new tab like it’s supposed to.
  • HTTPS Everywhere: This had nothing to do with Opera, but one thing that I didn’t like about Opera was that this extension wasn’t available. Again, like everything else on this list, it feels weird that this is part of a plugin rather than something inherent in a browser. There ought to be some kind of protocol (maybe yet another DNS hack) to tell browsers whether to use sites in HTTP, HTTPS, SPDY, or something else. But in the meantime, this helps encrypt everything, and everything should be encrypted if possible. (I guess I really ought to look into getting this site working over HTTPS…)

And then there were other settings to set to try to keep my privacy similarly to how I’d had them set in Opera:

  • In Preferences, I set it to not accept cookies, and in the Exceptions tab, I needed to add all the sites that I wanted to accept them on. (For most sites, I only want to accept for the duration of the session). So, I looked through my Opera cookies and tried to enter in the same things in this dialog. Definitely one of the most tedious parts of the process, and sure seems like it could have been automated, but it just wasn’t quite enough sites to make it worth figuring out how to do so myself.
  • I checked the “Tell websites I don’t want to be tracked” on the Privacy tab of Preferences, though I’m not sure exactly how much good that’ll do, but I don’t think it’ll hurt.
  • In the Preferences Security tab, I unchecked the “Block reported attack sites” and “Block reported web forgeries”, since I don’t think there’s a need to tell the rest of the Internet when I visit a site.
  • In Advanced/Network of Preferences, I unchecked having it ask me if sites want to store data, which I presume will mean that it won’t allow for any.
  • In the Content preferences tab, under Javascript Advanced, I unchecked the options since there’s no need for pages to do any of those things.
  • In about:config, I set geo.enabled to false. I don’t know how my computer might be able to find my location, but I don’t think there’s any need to let anybody else know about it.
  • In about:config, I set network.http.sendRefererHeader to 0 and network.http.sendSecureXSiteReferrer to false. I can’t imagine any reason why a browser would send a referrer header, and I can’t imagine a legitimate reason for a web site to want to have it. I remember that I did set Opera to send it for a couple sites, so I’m not sure how I’m going to handle that if I end up wanting to send it for some sites in the future, but really, there’s no good reason for a site to want it.
  • In about:config, I set webgl.disabled to true. Nothing horrifies me about the future of the web quite like WebGL being globally on by default in some browsers (including Firefox). Giving a random site on the web control over one’s video card is just a terrible, terrible idea, and whoever thought of it must have never seen the Internet before. There’s going to be so much potential for abuse, hacks, and crippling bugs around giving web sites access to one’s hardware like that.

Moving bookmarks was actually about the easiest part of the process. I went into Opera, exported as “html” format (what an odd format for bookmarks…), and imported in Firefox. Though, I then realized that there was a bunch of random stuff in there, so I had to delete the “Trash” bookmarks folder in Opera and do it again to get it without all the ones I’ve deleted copied over.

Summary

Migrating browsers was even more of a pain than I imagined it would be. It really feels like nobody has given any thought to making the process easy, and like all software, the defaults are all horribly backwards. I’m still unhappy about some things, such as I haven’t yet figured out how to move the tabs to the bottom where they belong. (I’m guessing this is a habit from the first tabbed experience I ever had, mIRC.) I think Firefox probably will end up being the closest to having user’s interests most at heart going forward since it’s non-profit, but it still seems like it has terrible defaults. But I’ve been using it for a couple days now, and am definitely getting used to it and I think I’ll be happier with it than with Opera. It’s been a fun journey with Opera, and there’s definitely a bit of sadness, but it’s time for me to move on.