This is good. Now, all extensions marked by the developer as being compatible with Android are shown on AMO. (If you toggle to Desktop mode, you can actually install any other extension on AMO, too.)
The baffling thing is why this took so damn long. FF for Android supported add-ons from the beginning. That's the best thing about Firefox for Android! They decided to rewrite the UI in 2020, and there were fair reasons to do that. Obviously this required some reimplementation time for extension support.
But they then launched the rewrite of FF for Android with extension support... but hidden. Only a small set of recommended extensions were enabled, and a few were drip-fed over time (that is, added to the list). Thankfully, this included the single most important extension, uBlock Origin, from the very beginning. (The lack of uBO why Chrome for Android is borderline unusable for me!)
But from almost the very beginning, we've also had the ability to activate custom extension collections in Nightly (and in Fennec F-Droid, which is a rebuild of stable Firefox). The vast majority of extensions worked fine for... well, years now.
So why in the world was this delayed the whole time?
I managed the team that did a lot of the integration of web extension support in Fenix, the new Firefox for Android. We were all on the brink of burnout. There was too much work. Unrealistic deadlines. And high expectations. So we decided to only support a limited set of APIs tuned for the most popular web extension. Which were basically all ad blockers if I remember correctly.
Proud of the team to have finally gotten to this point. Miss you all.
Other people may remember this differently. Some things are a bit of a blur. My brain selectively blocks some of this - It was basically an exhausting two/three year crunch to rewrite Fennec as a modern Android app.
That's how I remember it. I was on desktop projects but following closely and the rewrite was a death march and people working on it moved or left along the way too.
We should have listened to Hyatt back in 2003-ish when he basically said of XUL, "it's never gonna be great on *nix or Mac but it's good enough on Windows." Because of solid desktop horsepower growth over the 2000s, we were able to make XUL go for the three desktop platforms pretty well but it should never have gone to mobile and replacing it with a native front end was absolutely the right thing to do, despite the pain.
XUL is not the whole story, though. There was an Android native Firefox before the current Fenix and after the XUL Fennec, and it had Web Extensions, IIRC. From that perspective, that people complained is understandable.
Just want to say thank you for your enormous effort on this. I'm extremely picky about software but Firefox on Android is one of the best pieces of software I've ever used. And I use it every day - probably more than any other app. I still remember how happy I was when youn folks got those adblocker extensions working on mobile. Thank you.
It sounds like they intentionally under-provisioned you all to draw it out, which isn't surprising given their biggest source of funding is Google, and the last thing Google wants is ad/tracker blocking, privacy extensions, and, well, a major reason for people to set their default browser to 'not chrome'.
Lord knows there's enough money floating around that place.
What a shame - but thank you. Hopefully plugins come to Firefox for iOS some time.
Considering uBlock Origin was the first extension to work (and, from what I understand, they worked extra hard to ensure it works), I doubt that's the reason.
That could be a power struggle. I.e. some Google loyal PM sabotaged the extension feature, but quoting the poster above, the devs worked around it by doing a partial implementation to support adblockers, foiling the plan :)
I am desperately looking for an extension that takes over godawful js video players and gives something standard. Some have click to pause, some forward backward, all don't have volume control.
Might not be exactly what you are looking for but I use an extenstion [0] to open videos in an external video player (mpv). That way the controls are consistend and playback does not depend on where I browse.
mpv uses youtube-dl (or yt-dlp) to fetch the stream URLs and that supports many sites.
> The baffling thing is why this took so damn long.
I'm surprised it's baffling in a community of developers and other IT professionals.
It's not baffling to me that two significantly (wholly?) different applications on different platforms and form factors would require quite a bit of work to both be generally compatible with the same third-party software via the same API - and all while maintaining the same compatibility with another application, made by another company, completely outside Mozilla's control.
And it needs to work reliably enough to release to a world of developers - of every skill level, motivation, writing every kind of software (within the domain of browser add-ons) - with confidence that it will work for them and users.
And you need a way to maintain all that over the long term.
Firefox android extension support went from "all" to like "5 chosen ones, but we'll enable all of them very soon" in mid 2019. How and why those were handpicked, who knows, clearly extensions weren't enabled by supported functions at the time. In the usual mozilla fashion that "very soon" turned out to be multiple years.
Importantly, during this entire multi-year gap, nearly all of them worked just fine but it was gated behind an AMO account for... I don't know what reason.
If it was just an experience issue because like 5% failed weirdly or had bad performance but they couldn't validate them all: that's basically fine! Hide it behind an about:config flag! The AMO requirement was a privacy-invading piece of nonsense that had no business existing.
Again, it's easy to imagine answers to these questions and to grasp what is happening. Instead people choose to play the sport of tearing things down, no matter the effect on the people involved, Mozilla, the open web, etc.
Again, Mozilla had a long time to answer these questions (if they had a good answer). If you leave people to imagine things then don't be surprised if they don't follow your PR-sanitized version of events.
If mozilla cared about the open web they would immediately distance themselves from Google and reallocate funding from their CEO's family to things that actually matter for their mission.
For those who are wondering, I _think_ AMO is supposed to mean "addons.mozilla.org" although neither the author of the article nor this comment define the acronym.
AFAIK it was because firefox for android was on a slightly different codebase than desktop firefox, and thus had supported a different set of webextension apis. The user contexts api (container tabs) was missing entirely, for instance.
It was more complicated than that. Yes, GeckoView needed a separate WebExtension implementation, but that work was pretty much at parity with Fennec (the previous Firefox for Android that supported more extensions) when I left in 2021.
It was a product management decision that held off on more complete WebExtension parity with desktop, as well as any artificial limits as to which extensions were supported in release.
Can you elaborate on the product management motivations?
It seems to me projects like Iceraven demonstrated years ago that a great many extensions were usable without any changes. Why not just slap a "here there be dragons" warning on untested extensions and let users have at it?
To be clear, I'm not asking you to justify decisions you didn't make, just to provide some visibility into the process if you can. Mozilla was pretty opaque about it.
> Why not just slap a "here there be dragons" warning on untested extensions and let users have at it?
We essentially had that as part of pre-release builds. Same with about:config.
The argument we'd then hear from people is, "but I want the stable channel with the 'here be dragons'" stuff. The reality is, though, that the "here be dragons" stuff probably affects stability more than running beta does anyway; people who shat on us for that wanted to have their cake and eat it too, and it just doesn't work that way.
My follow-up question then is why treat mobile significantly differently from desktop? Stable desktop Firefox has about:config and access to horribly broken extensions. Perhaps some would argue that it should not.
It comes down to the high-level architecture of Gecko.
Gecko is not just a web engine; it is in many ways an entire application framework. Gecko inverts control such that it implements the entire main event loop of the application. Desktop Firefox is essentially one big privileged HTML+JS application that happens to embed a non-privileged browser iframe within it. about:config governs settings around everything in this framework.
Now let's look at Android: the modern architecture of Firefox for Android is that of a native Android app that embeds Gecko similarly to a WebView, albeit a much more powerful one (GeckoView)[1]. Many parts of GeckoView's implementation need to deal with reconciling the "Gecko as app framework that controls the universe" paradigm with the "Gecko as a lowly Android View rendering into a graphics surface" paradigm. about:config is still important, but it only affects the Gecko part, not the native app part.
For GeckoView to work correctly, many about:config settings must be set to very specific values -- the free-for-all that is about:config on desktop could actually break an instance of Firefox on Android. This is particularly fatal to an app when run on a non-rooted phone.
Thanks for the more technical explanation. Explanations for restricting about:config I've come across before didn't make it clear that Firefox for Android is a substantially different design from Firefox for desktop that's easier to break in that way.
I cannot speak for Mozilla, but just from my gut feeling: That probably got grandfathered in and since people are used to it for a "long time" no one would change it. But if Firefox was rereleased today I wouldn't bet on it being there. Expectations have changed.
Yes, people have come to accept shitty software. You'd think that software developed for the public good would try to be better though and at least retain the old standards for power user tools.
What? You are saying that the `about:config` feature only exists in Firefox for historical and backward compatible reasons? And Firefox rather actually doesn't want to provide people the ability to easily override advanced configs? I think this feature is one of the things that sets Firefox apart from other browsers, that you have more control if you want it. And I am saddened it's also never been implementes in Firefox Android.
> `about:config` feature only exists in Firefox for historical and backward compatible reasons? And Firefox rather actually doesn't want to provide people the ability to easily override advanced configs?
I don't think it's unfair to say that that's basically correct.
I say that I wouldn't be surprised if they didn't implement it in non-dev, non-nightly versions if they made Firefox again today. But I know nothing about what the thoughts of Mozilla or the people working on Firefox are. It's just an idle speculation.
Pre-rewrite FF for Android supported about:config. Actually, Fennec F-Droid and the Beta version of Firefox support it just fine, too. It exists in stable FF but is cordoned off for some reason.
Firefox for Android was around for 8 or 9 years with full support for extensions and access to about:config. I think that's a long time in this context.
Probably fear that bad extensions would tank performance, tarnishing the reputation of the overall browser. Now that such reputation is more or less established (i.e. people use FF on Android without big problems, it's not considered particularly slow etc), they can dare a bit more.
I believe it's that, and that with extensions living in their own processes, Android can at any moment decide to kill it (like it can do with any mobile app). With the changes required for Manifest V3, extensions are able to deal with that gracefully, rather than causing a deluge of bug reports.
That's part of it, for sure... at the time I was still there, Gecko's extension process did not have the capability of recovering from termination. But that just meant that we couldn't run them in a child process, not that we couldn't run them at all. Of course, then you have security considerations, which no doubt could have factored into the product decision.
It's common practice these days in Android apps to request the user to turn allow the app to run on the background, opening the necessary Android settings page if you want to grant the app access to this. If an addon needs that feature, the app could request this for the addon at moment of installation.
I think you misunderstand what I'm saying. Modern browsers try to host their extensions in a special sandboxed subprocess. At the time I was there, the code in Gecko that hosts sandboxed child processes was completely unable to deal with that host process being terminated; ie Gecko could not recover from that. It has nothing to do with Android settings.
You can fix that in other ways that doesn't block access to all extensions. Like yeah even just a checkbox to enable experimental extension support like "[] I understand Firefox can become slower from unsupported extensions I install".
This is speculation based only on press releases but:
- Google pays Mozilla more than 400m per year.
- Its in Google's interests to not have good Firefox add-ons. (For both Ads and Chrome's market share).
Google's negotiator could easily added some incentive for Mozilla's management to set the focus somewhere else.
In fact, given what Google's team is likely earning, they wouldn't be doing a good job if Firefox's mobile strategy wasn't discussed before signing such deals.
Firefox for Android had add-ons before, and even during the past few years, they're fully supported the collection of recommended add-ons, including uBlock Origin from day one. So I don't see how it could be about preventing ad blocking.
The idea that Google has some secret underhanded deal with Mozilla to sabotage Firefox comes up here repeatedly and makes no sense. If Google wanted to prevent ad blocking on Android it would be much simpler to just ban ad blockers from the Play Store outright.
There is a much simpler potential explanation for such a product management decision. Suppose Mozilla determines that 90% (made-up number) of users want addons because they want uBlock Origin. It then seems sensible to prioritize that addon and not others when determining how to spend limited engineering resources. Reasonable people can of course disagree with that decision, but there's no need to bring conspiracies into it.
(NB: Even though I worked at Mozilla I have zero insight into this particular issue; it's entirely speculation.)
> The idea that Google has some secret underhanded deal with Mozilla to sabotage Firefox comes up here repeatedly and makes no sense.
That idea is supported by recent disclosures revealing that Google paid or attempted to pay Activision, Aniplex, Bandai Namco, Bethesda, Blizzard, Com2uS, EA, King, Mixl, Niantic, NCSoft, NetMarble, NetEase, Nexon, Nintendo, Pearl Abyss, The Pokemon Company, Riot, Square Enix, Supercell, Tencent, and Ubisoft to influence each company’s product roadmap. [1]
I think it makes sense that they would attempt to exert similar influence over an entity whose continued existence is entirely dependent on revenue received from Google and (ostensibly) competes with one of their of their strategic initiatives.
Sure, it’s speculation, but it’s not wild speculation.
From a skim, "Project Hug" seems like it was a deal to keep games in the Play Store. That is a far cry from some kind of weird deal to sabotage a competitor's product.
Why does Firefox still not ship with adblocking by default? Other browsers do, and Firefox touts itself as a privacy browser yet lacks this important defaut. Advanced users can install adblocking themselves, but having it on by default would draw in new novice users.
I already know the answer; it would have to whitelist Google or Google would stop paying Firefox to be the default search engine. And if it whitelisted Google, that would only confirm what people say about Firefox being a pet on Google's leash. All the denials of this are laughably unconvincing, people know how the money flows.
This is just silly. Firefox on Android has had uBlock Origin, the world's most effective ad blocker, since day one. But sure, go invent conspiracies rather than do a little research.
Mozilla isn’t an independent entity and hasn’t been for some time now. Sorry, but if one company is responsible for 87% of your revenue and your CEO receives a $7 million salary, then they are a puppet and therefore so is the entity as a whole.
I won’t be surprised if at some point in the future we learn that Google had a discreet veto over any aspect of Mozilla’s software roadmap, as a condition of the money faucet continuing to flow.
Google is known to make underhanded deals (just Google “Epic v Google” for details); they provide the funding that allows Mozilla to exist; and a Firefox with a capable extension model is indeed a serious threat to Chrome’s marketability and Google’s strategic interests.
Given all that, it’s difficult to believe that a key differentiating feature was legitimately starved of resources for a decade.
The biggest blocker for me is font kerning on canvas elements being broken. That causes Google Docs to render terribly which makes it practically unusable. https://bugzilla.mozilla.org/show_bug.cgi?id=1445596
Another one is favicons not being stored/synced across browsers. This causes me to have a bookmark toolbar with entirely the same default icon without any text. (I prefer them as icons, fits more stuff there). I don't have this problem with Chromium based browsers. https://bugzilla.mozilla.org/show_bug.cgi?id=428378
And a chunk of Mozilla's funding going towards social justice related projects, as much of the organization has been co-opted by social justice types.
As was stated in the article[1], close to half a million dollars was spent on a social-justice related organization, the Mackenzie Mack Group.
“[Mckensie Mack Group] is a change management firm redefining innovation in the white-dominant change management industry.”
In the article it also says " While The Lunduke Journal does not like to delve too deeply into the Political Woods (tm), it should be questioned why so much money — possibly millions of dollars donated by individuals who thought they were supporting a web browser — is being funneled into highly political organizations that seem to have no involvement with the World Wide Web, Web Browsers, or any related standards. "
That article actually shows that Mozilla spends most on software development.
It does have a lot of administrative overhead that it could do without, instead of laying off engineers, like they did. But the article itself is trash, due to complaining of $892,000 worth of expenses that seem dubious, in an organization that makes 500 million per year, which paints a certain kind of picture that's disingenuous.
The article may be trash as you said, but Firefox doesn't disclose how much they spend on developing Firefox web browser. Everything is lumped under "software development", and that's only half of their annual budget, Firefox certainly doesn't get the most of the budget.
If they spend most of that $200 million on Firefox annually and we have abhorrent text rendering on canvas elements for YEARS, something's seriously broken there.
1. they wanted an Apple-level of verified review process for AMO, because the Chrome store and even Android app store have problems with malicious content.
2. This costs money.
3. They didn't want to open a free for all because they didn't know exactly how to go about solving 2. yet, and if they introduced some payment system then it would be easier to do from a clean slate, without an AMO full of existing extensions to somehow grandfather through.
As said before, this is fully unfounded and probably unfair speculation. I like it more than the 'google conspiracy against adblockers' though because Mozilla's motivations in this case are quite reasonable and can be taken in good faith. Keeping credit card skimmers out of AMO at the cost of restricting access to 'Firefox Pro'/'AMO Pro'/author-pays would honestly be quite a good thing for Mozilla to consider imo.
In any case it's great to see them allowing things now!
There are other mobile browsers which incorporate adblocking directly (though not extensions generally).
The Einkbro browser, optimised for e-ink devices (as the name suggests) is one. I believe Brave does as well.
As much as I'm a fan of Firefox (using it now on desktop), on my mobile e-ink device, Einkbro's optimisations make for a vastly superior browsing experience.
DNS blocking has some nice qualities (simple! efficient! app agnostic!) but it is absolutely not a replacement for something that can inspect and modify the page itself. That has TONS of additional usecases beyond "replace ad image with blank space".
Excellent, finally in stable. Have been using Nightly and more recently Mull specifically for extensions like 'I still don't care about cookies', 'ublock origin' and 'dark reader' which make the web on mobile at all practical.
Firefox browser share is like 2-3%. Please consider using it, the internet will be a lot shittier without Firefox as an option, and it is the best option for privacy and ad-blocking.
This was a clincher for me that made me switch from Chrome/Chromium on my Pixel. Previously, I was using Kiwi Browser because it supported Chrome extensions however while it works it has a lot of annoying quirks. I just couldn't stomach the experience of browsing the web without an ad blocker though. Now Firefox and UBlock work on Android, Firefox has quickly become my preferred browser. Still using Chrome on desktop though for now.. maybe that'll change too!
Give it a shot! It can import your bookmarks, passwords, etc. from Chrome, and it's great to be able to quickly send a tab from desktop to mobile, or vice versa.
Thanks to Firefox extensions I get an automatic dark mode on HN, and almost any other website, as soon as my device is switched to dark mode. Normally this would have to be supported explicitly in the website CSS.
Great! Now I can finally install an extension to autodelete cookies for certain domains. This feature is available on stock Firefox Desktop but not Mobile.
One of the newly-available extensions is mine for Hacker News [0] - it highlights new comments when you revisit an item and somewhat improves some of the UX on mobile:
Amusingly I returned to this comments section and was scrolling down looking at the time stamps for new comments and this was the first new comment I hit. Thanks. It's clearly going to come in handy.
This is great news. On GrapheneOS, every time I use the stock browser without the benefit of my uBlock Origin setup, I feel a bit creeped-out and violated.
Why can Kagi's Orion browser support extensions on iOS? I recently switched from Firefox because lack of uBO caused huge beef for me and have zero regrets. I'm not paying for Kagi's search service (happy enough with DDG for the majority of my searches), but I can really appreciate their business model and mission (they seem genuine afaict).
Orion is built on webkit, both on desktop and mobile. It's possible to build WebExt support into a WebKit browser, as they've done.
While I definitely prefer FF and Android, I can support the notion of Mozilla integrating extension support into WebKit on their iOS version of FF. But it would take a lot of effort to do that, and Firefox for iOS is ultimately just totally separate from any other Firefox (whereas Android and Desktop Firefox share the same innards).
It would be interesting to see how Mozilla approaches implementing Gecko on iOS, with how the engine stripped support for embedding years ago (prior to which they could’ve used an approach similar to that seen in Camino[0]).
I guess they could take the approach of drawing the whole screen themselves but that’s going to make Gecko-based Firefox for iOS feel noticeably worse than the current WebKit/UIKit version in terms of responsiveness and such and might require some legwork to properly support VRR on 120hz iPhones (which is critical for battery life on those models).
This would currently be against the App Store guidelines, which do not permit the use of a third party browser engine. Also, Firefox has ProMotion support.
I thought Firefox on Android already did something similar to embedding, via GeckoView? The issue with embedding seemed to be that Mozilla really hated having complaints that their APIs were very unstable and kept breaking. In contrast, the IE embedding solid APIs were more stable (because they were also more limited, as I understand it).
Interesting, I always thought the holdup was that third party things used in-app were expressly forbidden because they're not vetted by the app store onboarding process (in addition to the requirement of using webkit). Didn't occur to me that webkit could be extended to support webext either.
Yeah, Apple likes to say that (and reject apps for violating that rule!), but then there's also things like Linux x86 userspace emulators in the app store that can run unmodified ELF binaries downloaded via curl from any random website...
At this point it's just a polite fiction, maintained jointly by Apple and app developers, that allows Apple to maintain a somewhat straight face when saying things like "you can't download third-party code at all" or "all code extending app functionality must be downloaded through our designated mechanism".
Given the current regulatory scrutiny of their app store, I believe they just don't want to open yet another can of worms by rejecting "browsers" (which are really WebKit wrappers) for injecting third-party JavaScript into all web pages displayed within them, even though by their own rules, they arguably totally should.
Not sure what “userspace emulators” you're speaking of, but the apps I tried, for running a programming language (for education purposes) are rubbish due to limitations (you can only interpret, you can't compile). And the restrictions are mostly in place; otherwise, for example, there would be apps that allowed you to download torrents, or do other forbidden activities.
Even if what you're saying is true, businesses that can't afford a ban from the App Store, can't afford to bend the rules. If Mozilla developed Firefox for iOS, with its engine, and Apple banned it from the App Store, the consequence would be millions of dollars going down the drain. And Mozilla would let their current users down, too, since the current Firefox for iOS is somewhat useful.
I've linked one (iSH) in my comment. It really does run most completely unmodified x86 binaries for Linux, including CPython and Java.
aShell [1] is very similar. It takes another approach – it compiles POSIX C source code to WASM and runs that using iOS's JIT-enabled web engine, which gives it much better performance than x86 software emulation. There's another one that uses lldb to interpret LLVM IR. In other words, if Apple doesn't want that type of app, they sure have been explicitly enabling the use case for a long time now.
> And the restrictions are mostly in place; otherwise, for example, there would be apps that allowed you to download torrents, or do other forbidden activities.
App store reviews don't exist to "prevent forbidden activities" in the legal sense; they are there to maintain their walled garden ecosystem financially, as well as protect their platform and products from reputational or legal harm.
The issue of legality and passing the App Store review process are largely orthogonal: Just like you can already do plenty of illegal things using stock iOS (e.g. writing threatening emails, downloading copyrighted material using WebTorrent etc.), you can do infinitely many legal things using Turing-complete computing as enabled by first and third party apps on iOS.
Now if you start offering an app that features a big button labeled "click here to dynamically load software facilitating copyright infringement", and Apple distributes it in their App Store after having reviewed it, that could get them into a tricky situation; offering a full-featured browser or OS emulator very likely doesn't, given that Google has been allowing these types of apps in their Play Store for more than a decade now.
There's long been a grey area for downloading new program logic as e.g. Javascript—the distinction between content and program can be rather fuzzy—and IIRC they made an explicit exception years back for certain categories.
Historically, yes. Apple used to be a lot stricter about these things. But they have loosened up over the years.
Back in the day, they were removing stuff like scripting apps. They sent warnings to the devs of Pythonista, forcing them to do things like [remove file-opening support](https://mygeekdaddy.net/2014/06/17/working-around-apple/). And they infamously removed iDOS (a DOSBOX port).
Now they're much more loose and allow things like iSH and so on. It is still a little bit of a gray area for arbitrary decisions by Apple, though.
Browsers on macOS can use custom rendering engines. On iOS, they have to all use Apple's provided version of it (which does not support WebExtensions by itself), so the two are not comparable at all.
WebExtensions are (or at least can be) ultimately just a weird type of HTML+JS app, as far as I understand, so I suspect it's possible to run that in one WebView context on iOS and bridge the required APIs between the extension and browser context using content scripts.
Actually, it has been mandated by the EU (and other regulators) that they have to allow other browser engines and AFAIK there are already teams at Mozilla/Google that are porting their respective engine to iOS.
I suggest using https://www.kimovil.com/ to compare smartphones. Using it I was able to find smaller phones with long battery life which were my two main requirements.
I wouldn't use an iPhone again. My last iPhone was an iPhone 4S. Not missing anything.
As far as I can tell, the only Android phones on that that have <5" screens and released in the last 18 months don't even support 5G. iPhone remains the only option :(
Decent means a lot of things to different people. For me, the phone that checked all my personal boxes was the samsung xcover6 pro with a swappable battery but still waterproofed, multiple bindable physical buttons, and a ruggedised case.
I'm guessing we'd have to know what you're looking for personally to find it :)
>I'm guessing we'd have to know what you're looking for personally to find it :)
Like I said in the post, a screen about 5" big. iPhone Mini is the only phone on the market that even gets close (and it's still a little too big IMO), so I'm stuck here on iOS with no access to (real) Firefox :(
Yeah. Typically things in this category are running ancient OS versions or have crap build quality. Couple of those look interesting though, especially the Cubots. Maybe worth a look, thanks.
Can happen yes. But filtering the specs on gsmarena can be helpful. OS version for example.
Also deliberately choosing higher price.
https://www.gsmarena.com/results.php3?nYearMin=2021&nPriceMi...
These 2 returned on search for modern android (12-14) and a price over $200
I do love those rugged looking designs, but I'm going to stick with my xcover :)
Best news in the mobile browsers' space since Firefox supported extensions!
If Firefox goes back to being THE browser of choice for tech savvy people, I'll stop thinking I made a bad choice supporting it everyday since it came out.
You could get extensions working on FF for Android, for some time now, by setting a custom collection ID, allowed in the Beta version.
The problem is that many extensions have been incompatible with Android. And of those compatible, many have poor UX. For example, LeechBlock has been compatible and listed as available for some time, but its settings page isn't mobile-friendly. And LeechBlock can't restore settings from “sync storage”, you have to load them from a local file (on mobile, having local files is a challenge in itself). Many people may have a bad experience.
On the other hand, extensions are the primary reason to use Firefox on Android. Therefore, I'm glad about this news.
This would enable proper isolation between browsing contexts, and therefore make progressive web apps truly usable and a good alternative to native apps.
Currently PWAs leak cookies to the browser, therefore you cannot login on the PWA while browsing "anonymously" in the browser.
Mostly, basic security things like disabling prefetch, disabling WebRTC, disabling redirects, preventing sites from reading my battery level, preventing firefox from changing what I type in the address bar (fixup), etc
According to their github repo, it was last rebased with chromium version 105.0.5195.24, which was from August 2022. Using a 15 month old browser seems hilariously insecure.
I use Kiwi, I take the risk for the ability to run my own extensions (though I use a two-fisted approach where I use Chrome for deep accounts). It's a shame it's not updated more often, it's an open source project I would support.
Yes, but everyone else is vulnerable to not being able to run extensions.
As mentioned, I just use it for news & general web site surfing, no accounts.
Your user agent string or the actual browser code? The former is notoriously just set to whatever makes websites happy. An easy way to test is see if a current feature actually works as expected e.g. https://jsfiddle.net/fxc9a8uc/1 "test1" should be green at the top right.
It's also possible that they updated the code but didn't push the changes to the repo, which I guess is better than running 15 month old code, but also is kinda suspicious because they're not honoring their commitment to open source.
While I respect Kiwi for implementing extension support, they've often fell far behind the upstream Chromium codebase and they're significantly smaller than even Firefox for Android. So I don't think they'd really be a "major" Android browser.
Then again, Firefox could easily be said to not be a major Android browser either!
Kiwi has historically faked the version number to prevent websites from telling you to update your browser. I would assume that number is not legitimate.
I was about to be like, "Yah well is Kiwi a 'major' browser?" Then I looked at android browser share[1] and realized that Firefox certainly isn't either.
I wonder if there's a large overlap of people using Firefox on Android and people blocking StatCounter. I thought I'd look up Mozilla's public telemetry stats to see if they have any addon info, but I couldn't find anything about Android at telemetry.mozilla.org without a login…
Personally speaking, I would love to switch to Firefox just to use uBlock Origin, but this picture[1] shows Opera's killer feature.
It's a screenshot of today's old.reddit.com/r/all. You can see how you're able to read all of the text vertically, without having to scroll sideways, because it wraps perfectly to the current pinched zoom level. No other browser works this good on Android, and reading stuff is my main internet use case. Try seeing how that website looks on any other browser, it's ridiculous how unusable they are.
I was a longtime Firefox on Android user until the extension situation got increasingly fragile and complicated. I've been very happy since switching to Kiwi. It's faster, more frequently updated, and supports all the extensions I want. Highly recommended.
Can anyone recommend an extension that can be used to limit the total number of tabs in Firefox for Android? "Limit Tabs"[0] works great on the desktop and I was hoping it would become available on mobile now, but sadly it didn't.
Last time I check Firefox on Mobile still break sites' layout and not render video player properly (cannot touch seek and play/pause button, it's under view window) on my Samsung Note 10. I love Firefox but it needs to be at least usable.
If it wasn't for extensions collections that allowed all extensions alll along, I would have quit Firefox a long time ago.... About time they get their head out of their asses
This is progress, but Mozilla needs to do more. Firefox for Android still lacks the ability to sideload add-ons, a feature that works on the desktop version of Firefox. This means Android users aren't able to install extensions outside addons.mozilla.org (AMO) unless they switch to a Firefox alternative that supports it, such as Iceraven[1] or SmartCookieWeb-Preview.[2]
For me, the most important add-on that has been removed from AMO is Bypass Paywalls Clean, which is the easiest way to bypass paywalls on popular news sites. In April of this year, a French website filed a DMCA copyright takedown notice, causing Mozilla to remove the extension from AMO.[3] The add-on developer (magnolia1234) did not want to challenge the DMCA notice, probably because it would require them to break anonymity and be subject to legal liability.[4]
Fortunately, in September, another developer (dbmiller) was willing to reupload the add-on to AMO as "Bypass Paywalls Clean (D)" with no changes.[5] The hope is that dbmiller will keep this add-on up to date with the source and challenge any DMCA notices filed against this new upload.
However, the fact remains that Bypass Paywalls Clean was unavailable on Firefox for Android for 5 months because the browser did not allow sideloading. In the announcement, Mozilla says their mission is to maintain "an open and accessible internet for all" and that extensions are meant to help users obtain "more personal agency out of their online experience". To achieve this mission and better distinguish Firefox from browsers that gate add-ons through app stores (Safari on iOS), Mozilla should allow users to enable sideloading on Firefox for Android as an option.
AFAIK, it was available in nightly. You could curate your own add on list which you could then install on Firefox for Android Nightly, and I'm fairly certain you can still do that if you want something that isn't in this new, expanded list.
Wow, thanks for sharing. I just installed Firefox Nightly (v122.0a1) from the Play Store and sideloading does work again. After tapping the Nightly logo several times, an "Install add-on from file" option shows up in the settings. I can even install an unsigned add-on with "xpinstall.signatures.required" set to "false" in about:config. For the longest time, Nightly allowed users to set up the "Custom Add-on collections" workaround to install add-ons from addons.mozilla.org but not sideload add-ons directly, so this is a major improvement.
Edit: Nightly gained the ability to sideload add-ons 2 weeks ago from the pull request at https://github.com/mozilla-mobile/firefox-android/pull/4568. Also, a Mozilla employee has confirmed that sideloading is going to make it to the release channel of Firefox for Android!* Firefox is having an incredible month. It took time, but I'm extremely glad Mozilla is taking user feedback seriously.
Oh wow, finally, great. The inability to manually install add-ons was also a major annoyance for add-on development (at least for me), because without that you were restricted to temporary add-on installation via devtools, so you couldn't really seriously test drive your own add-ons for any extended period of time. (Or attempt tracking down some rare bug.)
I can confirm that sideloading .xpi does not work in Nightly (at least the one from the Play store -- I've never worked up the energy to build the apk from source and don't feel like using the F-Droid because reasons)
I even tried creating my own collection to include Violentmonkey and it didn't work but I don't this second recall why
Give it another try. The current version of Nightly (v122.0a1) from the Play Store has functional sideloading for me after I unlock the "secret menu" in the settings by going to "About Nightly" and tapping the Nightly icon several times.
Before Bypass Paywalls Clean (D) existed, I was able to install Violentmonkey on Firefox for Android through the add-on collections workaround to use the Bypass Paywalls Clean userscript. You need to enable desktop mode when assembling the add-on collection (or do it from a computer) for Violentmonkey to show up as an option in the search.
> Give it another try. The current version of Nightly (v122.0a1) from the Play Store has functional sideloading for me after I unlock the "secret menu" in the settings by going to "About Nightly" and tapping the Nightly icon several times.
uh-huh
> You need to enable desktop mode when assembling the add-on collection (or do it from a computer) for Violentmonkey to show up as an option in the search.
I completely agree, Mozilla has made a ton of mistakes with Firefox for Android in the last few years. That's why I'm happy to see Mozilla finally follow through with their promise to expand add-ons for Android and pleasantly surprised that sideloading is about to be enabled in the stable channel of Firefox for Android.
I've been daily driving FF Android for a few years now and I've had the opposite experience: the vast majority of pages work and render fine (including HN) and it's an extremely rare occasion that I switch to Chrome to use a website. Even then, I often find that Chrome isn't any better and the underlying issue was the website's mobile handling in general (e.g. touch events working differently than mouse events, or just a completely broken mobile-only component swaps)
We've had lots of news about this coming for months, but with Mozilla's quite low market share, and the share of those users that use extensions - who's really caring about this other than some power users?
People b***h about Firefox's (lack of) market share, Mozilla doing stupid things (fair criticism), Firefox not having X (extension support on Mobile, moving from legacy extensions to standard manifest format)
Then people will still bring up this baggage even when something good happens, will refuse to move away from the browser monoculture/monopoly, s**t on Firefox devs
FFS, something good happened. No other browser has this. Yet people will find a way to lessen it. For what? What benefit?
FF gets crapped on all the time, BUT... it's still the best mainstream browser out there IMHO. I've been using FF since day one, when it was code named Phoenix. As the spiritual successor to Netscape Navigator, I have super fond memories of using NN, as it was the only decent browser we could install on the Sun Sparc workstations we had in college before I could afford my own computer. I still toy around with SeaMonkey once or twice a year for the memories.
Sadly, the browser world has almost become something of a mono culture with the majority of offerings using Chromium as their base. I liked Opera for years. Original engine. Tabbed. Now Vivaldi is the Opera successor, but sadly uses Chromium as the base. Vivaldi have said they are not going to allow the changes to affect them.
Again, sadly, I doubt that in the near term, anyone will try and offer up a new browser. Even Edge is nothing more than Chromium with MS's tech-nasty Kabuki makeup and overly-complicated proprietary plumbing. Is it too much to ask for a browser that just browses the web without all the garbage tie-ins? Tabs, ad blocking that I control, not add-ins. Like a Pi-hole, where I can add lists. I realize some browsers do this, but the tie-ins, notes, skins, email, political activism, it's all too much.
Thank you and everyone else working on the Firefox browser and adjacent projects for your hard work. Don't let the noise of the internet lessen what you and the team have done and continue to do.
I'm sorry that happened. I wish there was some way to solve the "one jerk outweighs a thousand happy users" problem. I still vividly remember one guy being an asshole about my work on the Wine bug tracker a decade ago, regardless of how many happy users I know there were.
It's human nature, unfortunately. Reality television producers have known this for ages: the episodes that feature people who come off as irredeemable jerks always garner the highest ratings.
If that ever really meant something, it has been so overused in the last few years that it's impossible to pick out any needles of serious use from the general default trendy grain silos of despair.
I'm not trying to get all of humanity to give up sex. I believe we can do better, here on HN, in this one regard. I am that insanely optimistic!
Even if it is, that kind of language doesn't help. These are all people you're talking about, trying their best to do a job they care about. Nothing gets better by your being a jerk.
I would not take that as a given for Mozilla's upper management. Many of their decisions seem to ignore what users want in deference to Google or other motivations.
You're just making shit up. I was with the Mozilla project for 25 years, with Netscape and then the Mozilla companies for 23 years. I was involved in reviews of the very first Google and Mozilla contract in the fall of 2004. Google has no say in the Mozilla product experience. None. There are some things Mozilla is disallowed from doing to Google Search results that Firefox displays, but that's basically it. That you want to imagine nefarious backroom deals that never existed and use those imaginings to shit on Mozilla is deeply insulting, and you should know that you and people like you have done more to dispirit and demoralize Mozilla than any competition ever did.
Wether there is a formalized contract or not Mozilla makes choicses in the interest of Google over (especially power) users all the time. And in general its absurd to think that taking money (not to mention almost your entire funding) from someone isn't going to make you biased towards that person. As has been pointed out many times in discussions about this, you don't need any explicit deals for conflicts of interest to emerge. Having the wealth of Mozilla's leadership depend on Google's good graces is going to encourage them to make decisions that will keep Google happy.
Attacking users users that bring up grievances is not going to help your case here.
> There are some things Mozilla is disallowed from doing to Google Search results that Firefox displays, but that's basically it.
What exactly are those things? Is that why Firefox does not come with ad blocking by default?
There's a difference between criticism and harassment. Dishonest and incompetent aren't just mean words chosen at random, I used them for a reason.
Power users aren't happy that Firefox has been doing nothing but trailing Chrome for years, actively making the browser worse for power users by weakening extensions, baking ads into the browser, wilfully refusing to permit opt-out of telemetry, and lying about revenue-sharing with Pocket. [0][1][2][3][4][5][6]
Mozilla gave its CEO a raise of over $1m/year, from a starting point that was already over $1m/year, at a time when Firefox was losing usage share, while laying off engineers.
Mozilla did all this while congratulating itself for putting people before profits! [7][8][9][10]
I still use Firefox as my primary desktop browser, and I really want to like Mozilla, but here we are.
(As an aside, I see Pocket is finally going to be made Free and Open Source Software, which is good news. [11])
I worked at Mozilla as an engineer for 6 years and this was not how it came across to me; there was, in fact, quite a lot of hostility towards engineers specifically.
I would also note that "managers" runs quite a wide gamut and my experience with engineering managers at Mozilla was generally positive; upper management was not so great.
No, people go after the devs too. I was specific about distinguishing Firefox and Mozilla in my post. Firefox in too often caught in the political/flame crossfire.
Trolling used to be an amateur sport, but these days it's largely a professional endeavour. Astroturfing is an everyday occurrence on any decently-sized social media site, including this very one.
Well, you might be right that it is power users, but I know that extensions and greater extension freedom are one of the things that is the draw that keeps the remaining Mozilla Firefox users (like me) loyal. Basically I'm arguing power users are a disproportionate percentage of the remaining Mozilla Firefox user base, which is why things like supporting tracking protection and privacy measures also makes sense for them to focus on, even if the majority of people online might not care about this.
So, I'm glad they are expanding the extensions available. I just hope that this isn't tied to creating an account still.
[EDIT] I was overjoyed to see that I was able to add an extension without creating an account. Yay!
Techies and power users often create network effects, in how they contribute to and promote what they use.
This is one of the reasons it's so troubling when some techies latch onto some very closed platform (sometimes by a known-underhanded company) and start making it more attractive to others, by making open source software specific to it, making tutorials on hot employability topics that implicitly use the platform, etc. When open platforms exist, and could also benefit from this contribution and promotion.
At first it was "Jeebus, I wonder what's going on with that one person, who normally uses open source, stabbing themself in the back like that." Then it became "Jeebus, are we losing open platform ground with the majority of an entire generation of techies, after we'd finally won." (I have good guesses about why, and I also know at least a couple early maneuvers that I can't talk about, but it's still dismaying how vapid the collective behavior can be.)
Power users matter a lot for web browsers, because web developers are power users of web browsers.
Firefox's loss of market share in general is a direct consequence of its loss in market share among web developers, because web developers stopped testing their websites in Firefox.
Any time Firefox does something good for power users, it's a good thing for the whole web ecosystem.
I didn't say it was sh*t. I'm saying it's not newsworthy.
Clap for the devs. And install all the extensions. But we don't need a hundred posts about it. This isn't the big story Firefox marketing might think it is.
The baffling thing is why this took so damn long. FF for Android supported add-ons from the beginning. That's the best thing about Firefox for Android! They decided to rewrite the UI in 2020, and there were fair reasons to do that. Obviously this required some reimplementation time for extension support.
But they then launched the rewrite of FF for Android with extension support... but hidden. Only a small set of recommended extensions were enabled, and a few were drip-fed over time (that is, added to the list). Thankfully, this included the single most important extension, uBlock Origin, from the very beginning. (The lack of uBO why Chrome for Android is borderline unusable for me!)
But from almost the very beginning, we've also had the ability to activate custom extension collections in Nightly (and in Fennec F-Droid, which is a rebuild of stable Firefox). The vast majority of extensions worked fine for... well, years now.
So why in the world was this delayed the whole time?