With Firefox making various controversial decisions lately, like wanting to remove the version number from the About dialog and following Chrome in removing
http:// from the address bar without any reasonable justification I’m aware of, now feels like a good time for a fresh comparison of how Chrome and Firefox stack up as primary-use browsers.
I’ll start by clearly saying that I’m still a Firefox user through and through. Despite Firefox’s sluggishness under certain types of load, Firefox is still the only browser with a full set of about:config keys like
browser.urlbar.trimURLs. The purpose of this is to explore how far Chrome has come by looking at what show-stoppers are left.
- Session recovery must become trustworthy
- I’ll never switch to Chrome as my primary browser when it can still sometimes respond to the “Recover” button with another crash.
- The Firefox+NoScript+Greasemonkey combo can pull it off and there are a surprising number of cases where I want no site scripts but I also want my userscripts.
- Proper support for “open new windows as tabs”
- Yes, Chrome has the One Window extension, but it has the odd rough edge. For example, it does occasionally miss a window and it breaks the “New Window” keyboard shortcut for when you do want one. (You have to open a new tab and then grab the mouse and “tear off” the tab into its own window)
- Proper support for “clear my tracks on exit”
- Chrome did Incognito Mode right (I never use Firefox’s “Private Browsing” because it doesn’t let me run regular and private windows at the same time) but Firefox did things like “clear cache on exit” right… things I need to ensure evercookie-like behaviour in the wild is all for naught.
- The “this page was prevented from setting cookies” icon should include an option to set an exception right in the drop-down.
- …to complete the “Session-only by default, whitelist to allow cookies to persist” behaviour so many power users are used to.
- “Temporarily allow…”
- For those sites where you know you’ll only be there once and you don’t want to have to babysit an open Preferences tab. (Remember, the script/cookie/etc. page action goes away once it’s allowed, so you have to keep the preferences open)
- Smarter pop-up blocking
- Currently, a pop-up or pop-under can bypass blocking on Chrome but not Firefox if clicking a hyperlink calls
window.open()without also calling
event.preventDefault(). That allows a website to display one pop-up every time the user navigates the existing window to a new page.
- Ignore lower() on the currently focused window
- Combined with the aforementioned popup-blocking flaw and One Window extension, this allows pop-unders (even ones which 404 due to HOSTS file blocking) to yank the browser below everything else on the desktop. (Especially irritating when you’re using LXPanel, which minimizes if the window is focused but not on top, throwing off muscle memory)
- Favicons for Bookmarklets
- I use various bookmarklets and it’s just not good enough for them all to have the same “blank page” icon. Really slows me down.
window.openerRuins the Multiprocess Dream
window.openerproperty forces all of the tabs to open in the same process, revealing that Firefox is much better than Chrome at avoiding thrashing within a single renderer process when necessary.
Issues that I’m directly aware of. The “Extensions” section also counts toward this in some cases.
- Reading and Modifying HTTP Headers (including for NPAPI requests)
- Essential for re-implementing Video DownloadHelper‘s automatic support for all non-RTMP videos, HTTPS Everywhere, InlineDisposition, RefControl‘s “Forge” option for
Referer:headers, and User Agent Switcher.
- Custom File Openers That Aren’t “In The Cloud”
- For example, allowing the RSS Subscription Extension to send feed URLs to local applications like Thunderbird without a hack like feed:.
- Customizing “Save As” targets
- I’ve grown very used to the “Automatic Save Folder” extension and Video DownloadHelper‘s ability to remember a “last used” save directory different from the rest of the browser… so Chrome would need an extension API capable of setting the directory for an about-to-be-shown Save As… dialog and allowing extensions to modify the process of remembering the last place you saved something to. (If they want to keep it secure, I’d suggest using some kind of key-value store for remembering save locations and allowing the API to set the key to be used and whether it will persist across browser restarts)
|BitTorrent WebUI (More Flexible)||Deluge in Chrome (Superior UI)|
|Download Statusbar||Built-in (bulkier)|
|Panorama (built-in)||Tab Sugar (shaky future)|
|StumbleUpon with XUL Userstyle||None yet|
|Symantec’s OpenID Seatbelt||OpenID AutoFill|
|Toggle Word Wrap (off by default)||Always on by default|
- Chrome’s extension API is forward-compatible. An extension that worked on Chrome N will just work on Chrome N+1 without the developer having to test and babysit a
- Extensions in Chrome can’t clutter up the toolbar and have no control over whether their toolbar icon is hidden on visible.
- Extensions can’t add more than one top-level item to the context menu and Google seems to have done a good job at cultivating the understanding that, if you add something to the context menu, you provide a way to hide it.
- All Chrome extensions are “restartless“
- Still has its warts, but its design philosophy and plugin API allow power users who value personalization over convenient defaults (like me) to patch them away and get on with our day. Good for power users, control freaks, and people who care about their privacy. The MemShrink project will probably help Firefox regain the clear memory footprint lead Fx 3.6 had over Chrome with many tabs open.
- Catching up nicely, but its design philosophy means that, if a wart or shortcoming bothers you, you’re probably out of luck and, unless you’re using Chromium on Linux, you’re forced into their update schedule. Beats Firefox hands-down for making it easy to keep a clean, streamlined UI in the face of extensions. Good for the average person and power users who fit what it can already do. Not good for anyone who would rage at the loss of their browsing session or who runs nVidia binary drivers and Adobe’s Flash plugin on Linux.