Mozilla on Friday spelled out major changes to one of Firefox's strengths -- its deep ecosystem of add-ons -- that will make it easier for developers to port Google Chrome extensions to Firefox.
In a long post on a company blog, Kev Needham, product manager for Firefox on the desktop, outlined several moves Mozilla will make in the next 12 months as it overhauls the browser, but most strikingly, the add-ons that run on Firefox.
Add-ons have long been a big part of Firefox's success, especially early in its battle with Microsoft's Internet Explorer (IE). More recently, though, Chrome and its extension model have dominated as Google's browser has grabbed large chunks of user share from both IE and Firefox.
Mozilla's decision to introduce a new add-on API (application programming interface) was a tacit admission of that.
"We would like add-on development to be more like Web development: the same code should run in multiple browsers according to behavior set by standards, with comprehensive documentation available from multiple vendors," wrote Needham about the new WebExtensions API.
The API will be Blink-compatible -- in fact, WebExtensions is very similar to the add-on API used in Blink, the rendering engine for both Chrome and Opera Software's Opera. (Blink is, in turn, an offshoot of the WebKit engine used by Apple's Safari.)
That's a big deal: Because of the similarities, "porting" an add-on -- creating a version for, say, Firefox, from the code used in Chrome -- should be much easier.
Microsoft's Edge does not yet support add-ons, but will this fall, and when it does, it will support the same kind of extensions that now run in Chrome. That means add-ons written for Chrome, Firefox, Opera and Edge should be, with some work, compatible.
Firefox once ruled the add-on market, but those days are long over, mostly because of the browser's shrunken share. According to analytics firm Net Applications, Firefox's global user share was 12% in July, less than half what it was at its April 2010 peak. By jumping to a more-or-less-compatible add-on model, Mozilla may be hoping that developers continue to craft extensions that work with Firefox, even in the face of its reduced relevance.
Needham hinted at such thinking, and Firefox's weakened position, simply by how he described WebExtensions. "Extension code written for Chrome, Opera, or, possibly in the future, Microsoft Edge will run in Firefox with few changes as a WebExtension," he said. If Mozilla was operating from strength, as it was three and more years ago, it would have characterized the API as a way for Firefox add-on code to run in its browser rivals, or simply ignored the competition.
Other changes Needham detailed today had been discussed earlier by Mozilla, including progress bringing multiple processes to Firefox -- an initiative dubbed "e10s" that will also affect add-ons -- and a new digital-signing requirement for authorized extensions that began with the Aug. 11 release of Firefox 40.
A preview release of the WebExtensions API is now available in the Developer Edition of Firefox 42, and in all Nightly builds. Mozilla did not specify when the API will be supported in the production-grade build channel, called "Stable," but said it hoped to begin accepting add-ons written to WebExtensions in the next several weeks.