Firefox has a problem. It has fallen behind, with development stalled on the most crucial, most difficult problems. Many of the most significant improvements in Firefox over the past few years have simply been copying changes made in Chrome.
We wish Firefox was better, but the reality is that it’s still not as good as Chrome. With so many former Firefox developers now working on Chrome at Google, perhaps it makes sense that the innovation has been happening in Chrome, not Firefox.
No Multi-Process Architecture
CPUs are gaining more and more cores, becoming capable of doing more work in parallel. Single-core CPUs have become unheard of, and even the lowest-power computers have dual-core CPUs at the least. The future is an ever-increasing amount of CPU cores, and computer programs will have to become capable of doing more work in parallel to take advantage of all this processing power.
Chrome deals with this by having a multi-process architecture. Every website you have open runs in its own process. Background processes, like extensions and apps doing work in the background, run in their own process. Browser plug-ins also run in their own process. Crucially, Chrome’s user interface runs in its own process, as well.
if you have a modern multi-core CPU, Chrome will use it intelligently and perform well, dividing work up between CPUs. It can do many things at once and Chrome’s interface should never stutter and hiccup as pages load in the background.
Firefox is another matter. Firefox uses a single-process architecture, although plugins now run in a separate process. If you open five browser tabs, the main Firefox process has to load and render them as well as handle the Firefox user interface, so the browser will be nowhere near as responsive as Chrome. If one of the pages crashes, it will bring the whole browser down with it.
This is still extremely noticeable — on a powerful Intel Core i7 CPU, Chrome performs perfectly yet Firefox’s interface stutters and slows down as multiple pages load, at least in my experience. It just isn’t as smooth, and it’s because of Firefox’s dated architecture.
Mozilla was working on a solution for this. It was called Electrolysis, development began in 2009, and it was a project to make Firefox into a proper multi-process browser. Electrolysis was “put on hold for the foreseeable future” in 2011, with Mozilla stating that “Electrolysis is a huge undertaking” and that they would be pursuing “a number of smaller initiatives” to improve browser responsiveness in the short term.
Mozilla recently restarted the Electrolysis project in May 2013, so if we’re lucky we’ll see a multi-process Firefox at some point. Even Internet Explorer has multi-process features as of Internet Explorer 8, so Firefox is way behind — and just now starting the hard work of catching up after stopping the project in 2011.
Years Behind Chrome: 4.7 and counting
Firefox Doesn’t Use a Security Sandbox
Chrome and Internet Explorer use a modern Windows feature called “low integrity mode” or “protected mode” to run browser processes with as few user permissions as possible. If a browser vulnerability was discovered and exploited in Chrome or IE, the exploiter would also have to use some sort of additional vulnerability to escape the security sandbox and gain access to the rest of the system.
This feature has been around since Windows Vista, which was released over six years ago. However, Mozilla is still working on the “low rights Firefox” feature and there’s no time-frame for when sandboxing features will roll out to users. Sandboxing isn’t a cure-all, but it’s an important security feature found in other modern browsers.
Comments on Firefox’s bug tracker indicate that developers will be looking at sandboxing the Windows 8 Modern Firefox app, Firefox OS, and experimental Servo browser on OS X. There’s no indication that anyone is working on sandboxing the Windows desktop version of Firefox at the moment. That’s clearly the most popular, most vulnerable version of Firefox that needs the most protecting.
Years Behind Chrome: 4.7 and counting
Firefox Wants a Desktop Web App Store
Mozilla is adamant that web apps and web technologies will replace the need for desktop software and native mobile apps, offering a cross-platform future where HTML5 apps run on every platform.
To this end, Mozilla wants to create its own web app store, known as the Firefox Marketplace. This feature is available in Firefox for Android and will be part of Firefox OS. Firefox OS is itself a mobile operating system that’s launching years after it should have — later than even Microsoft’s Windows Phone and BlackBerry’s BlackBerry 10, two mobile operating systems that have a long uphill fight ahead of them because they were launched so late.
However, you can only use the Firefox Marketplace on Firefox for Android at the moment. Mozilla has been talking about releasing a Firefox Marketplace for the desktop for years, but they’ve decided to focus only on mobile for now. The desktop Firefox Marketplace will be released in the future. In the meantime, Chrome has had the Chrome Web Store for years. New Chrome packaged apps will soon extend the functionality of Chrome web apps, making more of a splash.
Mozilla wants to be pushing web apps and open web technologies on the desktop, but they’re not doing it — Google is.
Years Behind Chrome: 2.5 and counting
Examples of Firefox Lagging Behind Chrome
Firefox has caught up in many ways over the years, but many of its changes have simply been copying the way Google Chrome works:
Multi-Window Private Browsing: Firefox recently gained the ability to open a private-browsing window alongside a normal browsing window, a much-wished-for feature that has been in Chrome since the beginning. Frequent Updates: After Chrome launched, Firefox moved to a more frequent release schedule, like Chrome’s. Extensions That Can Handle Browser Upgrades: Firefox then had to work on updating its extension API, allowing extensions to install without restarting and to function seamlessly without breaking after browser-version upgrades — just like how they worked on Chrome. PDF Viewer: Firefox recently gained an integrated PDF viewer, long after such a feature launched in Chrome. User Interface Design: All browsers have followed Chrome’s lead in switching to a more minimal browser interface, including Firefox. Recent UI mockups suggest even more Chrome-like interface may be in Firefox’s future. Out-of-Process Plugins: While Firefox doesn’t have proper multi-process features like Chrome, it did add a feature that allows plug-ins like Flash to run in their own process so they don’t crash the rest of the browser. JavaScript Performance: Like all other browsers, Firefox was pushed to dramatically improve its JavaScript performance after Chrome showed up with its huge lead in JavaScript performance over everyone.
Taken as a whole, it’s clear to see that Chrome has been leading the pack in browser innovation for years.
We Wish Firefox Was Better
We’re not just trying to attack Firefox here. It was once the best browser, and Mozilla deserves credit for eating into Internet Explorer 6’s market share, showing Microsoft that they could lose their place and forcing them to restart their halted Internet Explorer development. They also deserve credit for making the web more standardized, eliminating websites that say they’re “Designed for Internet Explorer.” This has allowed other browsers to step in — the most popular ones being Chrome and Safari. Firefox laid the groundwork, and Mozilla has been a tireless fighter for open standards.
It’s good for the web to have Mozilla as a browser vendor that isn’t tied to a single large corporation, as Microsoft, Google, and Apple own the other top browsers. The fact that we have an open-source browser created by a non-profit organization only looking to make the web a better is great for the web.
That’s why it’s a shame Mozilla has allowed Firefox to fall so far behind. Halting development on Electrolysis and still having not implemented sandboxing security features are signs that Mozilla hasn’t been prepared to knuckle-down and do the really hard low-level work to improve Firefox’s performance and security. Many of the other changes they’ve made have imitated changes made in Chrome much earlier.
Firefox is still the best browser in some ways. For example, if you need the most powerful browser extension framework, Firefox has it. But we wish Firefox was more competitive in other ways. In 2013, a browser should be a multi-process application with proper security sandboxing. But Firefox isn’t — in fact, it has fallen behind Internet Explorer when it comes to these two important features.
There was once a powerful browser known as the Mozilla suite. It was too big and bloated for its own good, so a group of developers decided to create a new, minimal browser from its core technologies. They called it Phoenix, and it evolved into the Firefox we know today. If Mozilla can’t turn Firefox into a modern browser because of all the legacy code getting in the way, perhaps we need a Phoenix 2.0.
Image Credit: Régis Leroy on Flickr