Why I use Firefox

Questions like “Which browser should I use?” regularly come up on the r/browsers subreddit. I sometimes respond to these posts, but my quick replies usually only contain one or two points. To be honest, until recently I wasn’t even sure myself why I use Firefox. Of course it’s a pretty good browser, but that doesn’t explain why I’ve stubbornly stayed loyal to Firefox for more than a decade. After giving it a bit more thought, I came up with the following reasons.

1. The about:config page

In Firefox, there is an internal about:config page with thousands (tens of thousands?) of individual configs that can be freely edited by the user. If you don’t like a particular UI element or behavior in Firefox, there’s a good chance that you can change it with a config. The about:config page is also used to individually enable experimental web platform features (without requiring a browser restart like in Chrome).

Here are some of the configs that I’ve edited or added:

devtools.toolbox.zoomValue = 1.2
increases the default text size in Firefox devtools to 120%
browser.tabs.closeWindowWithLastTab = false
prevents the entire browser window from closing when the user closes the last tab (I find this behavior annoying)
devtools.inspector.showUserAgentStyles = true
shows user-agent styles in the CSS Rules pane in Firefox devtools (why are user-agent styles hidden by default?)
browser.chrome.guess_favicon = false
stops Firefox from attempting to load the website’s favicon from the default location when an icon is not declared in the HTML document (I use this config to get rid of the distracting ”favicon not found” errors in the devtools console)
browser.urlbar.resultMenu.keyboard­Accessible = false
removes menu buttons from the individual items in the URL bar dropdown list (those buttons make tabbing through the items slower)

2. Mozilla cannot decrypt my data on their servers

All the major browsers have a feature for syncing the user’s browsing data across devices (Firefox Sync, Chrome Sync, Apple iCloud, and so on). The user’s data is stored on the browser vendor’s servers, and this data is of course encrypted. But can the browser vendor decrypt this data? Google can. Apple claims that they can’t, but they have disclosed user data to law enforcement in the past, so I don’t trust them. Mozilla says that they can’t, and I trust them.

It seems that Mozilla goes out of their way to make absolutely sure that they can’t access the synced browsing data of Firefox users. The encryption is strong enough that with current technology it would take trillions of years to break into this data, so it’s pretty safe. However, if I somehow managed to lose all my devices where I’ve activated Firefox Sync, my browsing data on Mozilla’s servers would be lost forever; there would be no way of recovering it. Still, I like the idea of using a browser from a company that does not want to access my data on their own servers. I feel like this is how it should be.

3. Translating web pages is also completely private

Firefox Translations is a relatively new feature that allows users to translate web pages to a different language (from a small set of supported languages) directly in the browser, without sending any data to any servers. This feature is based on machine learning and neural networks.

This is another example of Mozilla going the extra mile to protect the user’s privacy.

4. Mozilla develops their own browser engine

Firefox uses Mozilla’s Gecko browser engine. No other major browser uses Gecko. The web is my favorite platform, and since a diversity of browser engines is good for the web*, I want to support Gecko. By using Firefox and reporting Firefox and web compat bugs, I’m doing my part.

*Allow me to quote Google’s F.A.Q. from 2013 when they forked WebKit:

Hold up, isn't more browsers sharing WebKit better for compatibility?

It's important to remember that WebKit is already not a homogenous target for developers. For example, features like WebGL and IndexedDB are only supported in some WebKit-based browsers. Understanding WebKit for Developers helps explain the details, like why <video>, fonts and 3D transforms implementations vary across WebKit browsers.

Today Firefox uses the Gecko engine, which isn’t based on WebKit, yet the two have a high level of compatibility. We’re adopting a similar approach to Mozilla by having a distinct yet compatible open-source engine. We will also continue to have open bug tracking and implementation status so you can see and contribute to what we’re working on at any time.

From a short-term perspective, monocultures seem good for developer productivity. From the long-term perspective, however, monocultures inevitably lead to stagnation. It is our firm belief that more options in rendering engines will lead to more innovation and a healthier web ecosystem.

How does this affect web standards?

Bringing a new browser engine into the world increases diversity. Though that in itself isn't our goal, it has the beneficial effect of ensuring that multiple interoperable implementations of accepted standards exist. Each engine will approach the same problem from a different direction, meaning that web developers can be more confident in the performance and security characteristics of the end result. It also makes it less likely that one implementation's quirks become de facto standards, which is good for the open web at large.

I couldn’t have said it better. We currently have three major browser engines—and a couple of smaller ones in development—and of those three, Gecko is the only one that may be at risk. I’m not sure what Gecko’s conservation status would be if it were a real animal (probably “Conservation Dependent”), but I don't plan on giving up on it anytime soon.

5. The best support for extensions on Android

The web has unfortunately become slower and more annoying over the past decade. Extensions that block ads and other types of problematic content have become necessary to have a normal web browsing experience. On Android, Firefox has by far the best support for browser extensions. This includes uBlock Origin (the best ad-blocker) and extensions for adding user styles and user scripts to websites. I actively use all of these extensions (uBlock Origin, Stylus, Tampermonkey) on desktop to tweak websites to my liking. It is awesome that Firefox users on Android can do the same.

6. A great picture-in-picture player

I should probably finally mention an actual feature in Firefox that a regular user might find useful. I don’t really use Firefox for its general features, but if there’s one such feature that I really like, it’s the native picture-in-picture video player in desktop Firefox, which is superb. It has everything that one could ask for. It can be quickly opened via an overlay button that is shown when hovering any video. It can be resized and positioned anywhere on the screen. It has the full controls, including pause, mute, and the seek bar for skipping to any point in the video. I use it all the time.

In summary

I trust Mozilla more than I trust Google, Apple, Microsoft, or any other company that makes web browsers. This trust is based on the fact that Mozilla chooses the highest level of user privacy when developing services such as Firefox Sync, Firefox Translate, and others. A web browser is an integral part of a person’s online life, so it makes sense to choose a browser from a company that one trusts the most.

In addition to that, Firefox offers the highest level of customization, whether it’s through browser extensions or internal configs. This is important to me because I prefer websites over native apps.

Any great feature, such as the picture-in-picture player, is just the cherry on top. I understand that for most people it’s probably the other way around. They care about features more than they care about privacy and customization. That is fine. There is no wrong answer. Everyone should use the browser that serves them best.

Reply on Mastodon