Mozilla has released its redesigned and rearchitected Firefox browser for Android (codename “Daylight” and “Fenix”) through the Google Play Store everywhere. Here’s my review of Mozilla’s new flagship mobile browser as a long-time user and as an extension developer.
Firefox Daylight’s user interface is minimal, but it represents a large amount of work under the hood. It’s built on GeckoView and Mozilla Android Components (MOZAC); a set of reusable components for mobile app developers that makes it easier to build a web browser based on Mozilla technology. These components are a modernization of the old codebase as well as a direct competitor to WebView — the web engine that’s built-in to Android, as well as Google’s ChromiumView.
The Tor Browser for Android has long been a fork of Firefox for Android. I’d expect to see it migrate to Fenix by the end of the year. Puma Browse is one example of a new web browser that has been built on top of MOZAC and GeckoView.
The most noticeable difference from the old version is the redesigned new-tab page. Gone are the automatically populated top-sites list, your browsing highlights (a confusing feature that randomly features pages you’ve recently visited), and recommended news articles suggested by Mozilla Pocket. In their stead, users get a list of favorites that they must manually curate and a new feature called collections. I’ve already discussed the old features in more detail, so let us move on to discuss their replacements right away.
I believe that the removal of top-sites from the new-tab page is a mistake. The new favorites list requires manual curation by the user before it becomes useful. The old top-sites feature lets you be lazy and manages to be useful without any effort on your part.
You can save specific tabs or all open tabs into a collection. Collections seem to be Firefox’s take on Opera’s confusing Stash feature. They don’t sync to your other devices, unlike bookmarks and open tabs.
The navigation bar has moved from the top to the bottom of the screen. The change follows a design-trend that more easily allows for one-hand operation. You can optionally move it back to the top of the screen in settings. The navigation bar also has a new Enhanced Tracking Protection button (the shield) that shows Firefox’s “protection” level for the current page.
The shield icon is a constant reminder that Mozilla is “protecting” you from tracking while you browse the web. I appreciate that Firefox blocks some online tracking. In my opinion, the button takes up too much space on the already crowded navigation bar. I’d prefer to have more space to see more of the page address. The only way to remove the button is to go into settings and disable the feature entirely.
This front and center privacy guarantee feel a bit hollow, however. Firefox defaults to share marketing and another vaguely defined information about how you use Firefox with three external companies: Google Firebase, Adjust, and Leanplum. Enhanced Tracking Protection identifies all three vendors as trackers, but they’re not blocked by when used by Firefox itself. Firefox doesn’t ask if you’re okay with handing your data off to these third-parties, but you can go into settings and disable data sharing.
While on the topic of data sharing, I appreciate the new Share all tabs option found inside the tab switcher. The new share action sheet is also a nice improvement over the old. You now get a list of synced devices that you can send your tabs to at the top. You also get a more useful grid of the most recently used share target apps instead of an unsorted list.
Tab sharing to other devices can be a bit unresponsive, however. Often, nothing will happen after I’ve selected a connected device from the list. I get impatient and tap on the device again. The share sheet closes, and I get two toast notifications saying that two copies of the tab have been sent to the remote device.
The address input/search sheet has been redesigned. You can now scan QR matrix barcodes with your phone’s camera directly from the search sheet. In the old version, you had to install a separate app called Barcode Scanner by ZXing Team to enable this feature.
Search shortcuts have also been redesigned and the new design fixes an annoying issue I had with the old version. Search shortcuts let you select from a list of different search providers for each search query you’ve entered. This is useful when you know you want to search Wikipedia or YouTube, or if you quickly want to repeat the same search query on a different search engine.
The old version showed search providers as a horizontal list of tiny icons representing each search engine. In the new version, you must first click on the Search shortcut button and then select a search provider from a list. The new design requires one extra tap to get the job done, but it will surely reduce the number of times I mistap the wrong small rectangular icon and select the wrong search provider.
The old Firefox for Android supported a high degree of customization and over 8300 extensions. The new version has pretty much the same settings as the old version, but it has blocked access to advanced engine preferences (through the about:config
page.) Advanced preferences are still available in the beta and nightly test versions, though. (See issue #7865.)
Advanced preferences are an attractive feature to power-users, and I’m dismayed that the feature has been removed. Without it, there is no way to connect via a proxy service or enable powerful privacy features like First-Party Isolation. I could switch to the beta releases. However, I don’t really want to use a less-polished and unstable product version because of an arbitrary decision to cut off a feature I use in the main release.
The list of supported extensions has been dramatically cut from 8300 to 9. All extensions, other than the nine supported ones, are disabled when you upgrade to Fenix. As a user, this is an extremely disappointing development. I rely on a set of extensions to surf the web the way I want to experience it. Access to thousands of extensions has been Firefox for Android’s main selling point. Extensions aren’t a unique feature, but no other mobile browser has had access to nearly the same number of extensions.
The deprecation of extension has also made logging in to websites less convenient for me. I migrated from LastPass to Bitwarden after the former deprecated its Firefox Mobile extension. I’ve used Bitwarden’s extension multiple times per day in the last year. However, it’s no longer supported by Firefox. Firefox wants me to use its Mozilla Lockwise password manager (discontinued), but I don’t intend to switch to a Mozilla-made password manager any time soon.
Android offers a system where password manager apps can integrate with web browsers. Firefox’s integration with this system is buggy, however. It’s supposed to show an overlay window from the password manager underneath password fields. The overlay often fails to appear or disappear after a second. I can force it to appear by tapping a password field, then tapping the Firefox menu button, and double-tapping on the Back button. This awkward workaround reveals the overlay window which is often hiding off-screen underneath the on-screen keyboard. This bug aside, I would still prefer using the Bitwarden browser extension over the app.
It’s a frustrating situation for extension developers, too. As an extension developer, I’ve already received complaints saying that I must “fix” my extension to work with Fenix. My AMP opt-out extension has received the most love in this period with a call-out as the author’s favorite [unsupported] extension in Android Police’s coverage of the Fenix release, and a bug filed against Fenix project. However, there’s nothing I can do about the situation. Mozilla has prepared no documentation, and there is no process that extension developers can follow to make their extensions available to Fenix users.
I’m sure new users who’ve never used Firefox before will be perfectly happy with Fenix. It’s not a release that’s going to make existing users happy, however. You may want to hold off on the update for a while.