This article is more than 1 year old
Honey, can you shrink the plugin? Mozilla allows desktop extensions on Firefox for Android
Browser has added multi-process support
Mozilla has teased an upcoming plan to allow plugins developed for its desktop browser to run on its Android app.
"In the coming months Mozilla will launch support for an open ecosystem of extensions on Firefox for Android on addons.mozilla.org (AMO)," wrote Scott DeVaney, staff editorial manager for Firefox add-ons at Mozilla.
"We'll announce a definite launch date in early September, but it's safe to expect a roll-out before the year's end," he added.
Firefox for Android already support a handful of extensions but, as Devaney wrote, Mozilla has "focused our efforts on strengthening core Firefox for Android functionality and understanding the unique needs of mobile browser users."
That work’s done and Mozilla now believes it's ready to support an open extension ecosystem on Firefox for Android.
"We anticipate considerable user demand for more extensions on Firefox for Android,: DeVaney wrote, before suggesting "why not start optimizing your desktop extension for mobile use right away?"
Developers keen to do so will need to take note of the recent introduction of multi-process support in Firefox for Android Nightly builds, an addition that means extensions are no longer hosted in the same process as Firefox's user interface.
- Arc: A radical fresh take on the web browser
- Maker of Chrome extension with 300,000+ users tells of constant pressure to sell out
- India launches contest to build homegrown web browser
- Alarm raised over Mozilla VPN: Wonky authorization check lets users cause havoc
"This is a key consideration since Android is prone to shutting down resource-intensive processes, such as extensions," DeVaney wrote. "To mitigate the risk of unexpected extension termination, we've introduced event page architecture to be non-persistent and more resilient to process termination. Thus we strongly encourage developers to transition from persistent backgrounds to non-persistent Event pages to improve their extension's stability."
Doing so will require the following work:
- Update your manifest.json background key and add
"persistent": false
. - Ensure listeners are registered synchronously at the top-level.
- Record global state in the storage API, for example
storage.session
. - Change timers to alarms.
- Switch from using extension.getBackgroundPage for calling a function from the background page, to extension messaging or runtime.getBackgroundPage.
With that to-do list ticked off, extensions should be ready for Firefox on Android. DeVaney has promised developers will soon be offered "additional guides, resources and … community events to support your transition to a managed multi-process environment like Android."
A customizable mobile browser may have appeal. Firefox on Android needs that, as statcounter rates its market share as 0.5 percent of the market – well behind Chrome (64.8 percent), Apple's Safari (24.8 percent), Samsung's browser (4.3 percent), Opera's 1.94 percent market share, the Alibaba-connected UC browser's 1.8 percent share, and even the Android native browser's 0.65 percent of the market.
The GSM Association estimates that as of 2022 the world had 5.4 billion unique mobile subscribers and that 76 percent of connections were made using smartphones. Statcounter rates Android's market share at 70.1 percent. Do the math: Firefox on Android may have 14.5 million users – no mean feat, but well behind the billions who use other mobile browsers.
Can an open plugin ecosystem grow adoption of Firefox on Android? Safari already allows extensions in its mobile browser, and workarounds make it possible for Chrome, so it wouldn't be a huge differentiator.
Mozilla clearly thinks the effort is worth making. As is often the case, whether developers reach the same conclusion about good uses of their time will determine if Mozilla's Android browser becomes more widely used. ®