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
Direct Download
Read full article as PDF:
Price $2.95
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Find SysAdmin Jobs
News
-
SparkyLinux 6.6 Now Available for Installation
The Debian-based SparkyLinux has a new point release that retools the live USB desktop creator and other changes that give it shiny new-ness.
-
SparkyLinux 6.6 Now Available for Installation
The Debian-based SparkyLinux has a new point release that retools the live USB desktop creator and other changes that give it shiny new-ness.
-
Escuelas Linux 8.0 Now Available
Just in time for its 25th anniversary, the developers of Escuelas Linux have released the latest version.
-
LibreOffice 7.5 Loaded with New Features and Improvements
The favorite office suite of the Linux community has a new release that includes some visual refreshing and new features across all modules.
-
The Next Major Release of Elementary OS Has Arrived
It's been over a year since the developers of elementary OS released version 6.1 (Jólnir) but they've finally made their latest release (Horus) available with a renewed focus on the user.
-
KDE Plasma 5.27 Beta Is Ready for Testing
The latest beta iteration of the KDE Plasma desktop is now available and includes some important additions and fixes.
-
Netrunner OS 23 Is Now Available
The latest version of this Linux distribution is now based on Debian Bullseye and is ready for installation and finally hits the KDE 5.20 branch of the desktop.
-
New Linux Distribution Built for Gamers
With a Gnome desktop that offers different layouts and a custom kernel, PikaOS is a great option for gamers of all types.
-
System76 Beefs Up Popular Pangolin Laptop
The darling of open-source-powered laptops and desktops will soon drop a new AMD Ryzen 7-powered version of their popular Pangolin laptop.
-
Nobara Project Is a Modified Version of Fedora with User-Friendly Fixes
If you're looking for a version of Fedora that includes third-party and proprietary packages, look no further than the Nobara Project.