Mozilla reboots with Firefox 57
Breakthrough

What’s new in Firefox 57 Quantum – and why does it matter so much?
Firefox 57 Quantum is probably the most important release in the Mozilla browser's 15-year history. Firefox 57 (FF57) is the biggest upgrade cycle yet for Firefox and the stakes are high: Public acceptance of FF57 is important for Mozilla's future health.
Market observers say the overall Firefox marketshare is somewhere between 8 and 12 percent. By comparison, Google Chrome weighs in closer to 60 percent. Firefox fares better within the Linux community, though, where many users prefer it for ideological reasons while others are attracted to its impressive range of extensions. But even among the Linux crowd, Chrome has been closing the gap in recent years.
Setting the Stage
One mistake Mozilla made was the failed excursion into Firefox OS. Mozilla spent a great deal of money on the ill-fated mobile OS, and the Firefox OS effort used up valuable developer resources, thus slowing down work on Mozilla's flagship browser. In addition, integrating the online bookmarking service Pocket and the WebRTC service Hello added more bloat. Mozilla also annoyed some customers by displaying ads on the New Tab page and by collecting too much data.
However, the biggest reason for Firefox's decline in popularity is its 15-year-old technical substructure, which locked the entire browser into a single process. Chrome, which benefits from a more modern architecture, has gained a reputation for offering better performance.
The Firefox developers have known for years that they must take action if they want to keep the browser relevant for a new generation of users.
Over the last several years, Firefox has gradually undergone some extensive modifications. Firefox developers have been slowly completing revisions that have been in the experimental phase for years, including the Servo browser engine written in Rust [1].
The browser has also undergone two facelifts. The first new design – and the start of an unprecedented overhaul – was known as Australis [2]. Originally planned for Firefox 24, Australis only appeared with Firefox 28 in April 2014. The overhaul still divides the user base today, but it succeeded in delivering a more usable and feature-rich interface.
Work on the Servo browser engine began in 2012. The developers leveraged the parallelization capabilities of Rust, which is syntactically similar to C, to enable a multiprocess architecture with multiple threads on several cores, as well as GPU-supported browsing.
With the Servo engine, Firefox moved away from the single-process architecture that prevented it from keeping up with the speed and stability of other modern browsers. Rust is faster than C++; it also makes applications less vulnerable by preventing memory access errors and buffer overflows. At the same time, Rust is designed to rule out the most frequent causes of crashes and avoid race conditions.
Servo is not fully implemented in the official Firefox release version; however, Mozilla began using parts of Servo in its previous web engine, Gecko, some time ago. The first component to replace the previous C++ code in Firefox 48 (FF48) was the MP4 metadata parser. Replacing the metadata parser let the developers leverage Rust's security benefits in an area that is constantly under attack.
Quantum Brings Everything Together
Over a year ago, Mozilla released the Quantum [3] project, a new web engine bolstered with Servo technologies. Quantum's goal is to provide a foundation for multiprocessing that will improve performance, as well as prevent a frozen tab or a crashed web page from paralyzing the entire browser.
A subset of Quantum called Electrolysis has actually been around since 2009 (E10S) [4]. Development was interrupted several times and then picked up speed again in 2014 with a strengthened team. In FF48, a very limited number of users were allowed to test the new architecture, but only without add-ons. At first, only two processes were used, one each for the interface and content. E10S was successively distributed to other users in later releases. The goal was sandboxing for tabs and isolation of extensions in separate processes. In FF57, the developers have further strengthened the sandbox to avoid endangering the entire system in the event of a security threat. It is thus no longer possible for the sandbox to access your home directory.
Add-Ons and Other Changes
Mozilla has also been working to make Firefox extensions more compatible with other browsers, which will make it easier to develop add-ons. The name of the project behind this change is WebExtensions API [5]. Many developers have complained that Mozilla mainly provides high-level APIs, while many add-ons require low-level APIs. The WebExtensions API, which is required for FF57 onwards, forces you to convert all add-ons to the new system. Most of the widely used extensions are available now in WebExtensions format, but the change has caused some programmers to walk away from Firefox add-on development. Others have tried to rewrite their extensions, but have failed because of missing or incomplete interfaces.
Many users have been worried about preserving their favorite add-ons. Add-on support is especially important for Mozilla because its popular extension library is one of the main reasons for using Firefox.
As of FF57, popular add-ons, such as DownThemAll, Beyond Australis, OmniSidebar, Puzzle Bars, Classic Toolbar Buttons, and Forecast Plus, are no longer available, at least for the time being. Other popular add-ons, such as Tab Mix Plus (Figure 1), are in transition to the new format.
However, in the long run, the switch to the new add-on architecture appears to be an essential step. The previously used technologies, such as the XML User Interface Language (XUL), were outdated and incompatible with other extension standards, often causing browser crashes.
With the Photon UI [6] project, developers have modified the user interface, menus, and settings. Among other things, Photon UI is intended to work better with high-resolution displays. In addition, the technology detects whether the input comes from a mouse or a touch screen and adjusts the menu sizes accordingly. Here, too, the developers initially faced rejection.
A new CSS engine written in Rust runs in parallel on several CPU cores, both on the desktop and on mobile devices. In recent months, the developers have also eliminated almost 500 bugs that affected browser performance.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.
News
-
The GNU Project Celebrates Its 40th Birthday
September 27 marks the 40th anniversary of the GNU Project, and it was celebrated with a hacker meeting in Biel/Bienne, Switzerland.
-
Linux Kernel Reducing Long-Term Support
LTS support for the Linux kernel is about to undergo some serious changes that will have a considerable impact on the future.
-
Fedora 39 Beta Now Available for Testing
For fans and users of Fedora Linux, the first beta of release 39 is now available, which is a minor upgrade but does include GNOME 45.
-
Fedora Linux 40 to Drop X11 for KDE Plasma
When Fedora 40 arrives in 2024, there will be a few big changes coming, especially for the KDE Plasma option.
-
Real-Time Ubuntu Available in AWS Marketplace
Anyone looking for a Linux distribution for real-time processing could do a whole lot worse than Real-Time Ubuntu.
-
KSMBD Finally Reaches a Stable State
For those who've been looking forward to the first release of KSMBD, after two years it's no longer considered experimental.
-
Nitrux 3.0.0 Has Been Released
The latest version of Nitrux brings plenty of innovation and fresh apps to the table.
-
Linux From Scratch 12.0 Now Available
If you're looking to roll your own Linux distribution, the latest version of Linux From Scratch is now available with plenty of updates.
-
Linux Kernel 6.5 Has Been Released
The newest Linux kernel, version 6.5, now includes initial support for two very exciting features.
-
UbuntuDDE 23.04 Now Available
A new version of the UbuntuDDE remix has finally arrived with all the updates from the Deepin desktop and everything that comes with the Ubuntu 23.04 base.