(for the record: I hate it that they broke compatibility with older extensions, and I hate that they changed UI, but if that gives FF greater market share, then I'm all for it)
(for the record: I hate it that they broke compatibility with older extensions, and I hate that they changed UI, but if that gives FF greater market share, then I'm all for it)
From a security standpoint, WebExtensions are a lot better, since they are sandboxed and require explicit permissions to be granted for many things.
From a developer standpoint, they are easier to deal with, being JavaScript, and since Chrome and Edge support similar APIs, developers will no longer need multiple codebases to support their extensions on multiple browsers.
They also work better with a highly concurrent browser. They use asynchronous APIs that don't directly call into browser APIs. FFs old extensions were known for leaking memory, which is a lot less of an issue with WebExtensions.
Compatibility is another huge thing. With old Firefox extensions, compatibility was just an extension author saying, "Yep, the APIs still work the way I'm using them." They often broke in subtle ways and you could get them partially working by overriding the versions supported in the extension manifest. Not so great imo. WebExtension APIs are more or less like JavaScript APIs and compatibility is mostly going to be limited by support for capabilities. Like, I'm sure Firefox does not support the USB API that Chrome does.
There's so much to be gained from getting rid of the old extension system for concurrency, extension compatibility, and the health of the ecosystem and individual browser installations. Many will be angry and stick to ESRs and others will be mildly upset but I think in the long run this will have been one of the better Mozilla decisions that make Quantum a success.
I personally think that while it's clearly great for security and possibly good for Firefox in general, it's also terrible for the extension ecosystem. The set of possible extensions is being reduced from "literally anything computable" to "what the API supports." Sure, (some) popular extensions are basically being grandfathered in by having APIs added just for them, but that doesn't help the extensions that aren't written yet and will now never be written.
Essentially, a major selling point of Firefox has been sacrificed in the hope that the increased security, better perf, and greater development velocity leads to greater marketshare. Well, I hope so, but I think the jury will be out on that for a while.
Other than that, Quantum seems great. I did lose all my tabs when it updated (boo - that's never happened before), and I think the whole-window-width address bar dropdown is bizarre and ugly, but other than that it's great. I suppose the only long-term concern is that default merger of the address bar and search bar - configurable options have a habit of eventually being dropped, and I think a world of omnibars is less usable and less privacy-conscious.
For a few years now, I've had the feeling that Firefox was actively trying to get rid of me as a user. With every new version, the user is less and less in control. It claims to be privacy-conscious, but runs Google Analytics. It tries to gather data behind my back. It's missing so many switches and toggles that I had to install a Privacy Settings extension simply to make the thing behave.
Part of security is availability - the most secure system is one that is unplugged and unusable. Mozilla has taken the step of putting covers on all the outlets (damn those who want to plug something in), bubble-wrapping all the knives (damn those who want to cut something), and essentially baby proofing the browser (damn those who are adults), making it far less usable in the process.
Firefox was the extensible browser. That was its differentiation. Now it's yet another Chrome clone (hang the technical differences, those are not what I refer to) with an extension system to match, but it's not made by Google, so that's a positive, I guess?
If I sound upset, it's because Mozilla took what was a big part of my daily life, an amazing and infinitely versatile tool that I'd grown with and customized over the years until it was like a comfortable pair of shoes and just completely fucked it in the most thorough way possible. Sure, an extension broke every upgrade or two, but it was survivable. This? This is not.
Okay, it's faster. Neat. Whatever. I didn't use Firefox because of it's blazing speed.
As of this moment, there are no good browsers. There is nothing out there that matches what Firefox was. (And ESR is just prolonging the inevitable).
This is legitimately saddening for me and many others - and no amount of insisting this is better despite the many more important ways its worse will change that. Mozilla's target user at some point stopped being me and started being someone else . I can accept that. What I can't accept is this constant, infuriating, paternalistic posturing that it's for my own good.
I agree that I'm very disappointed with the transition to Web Extensions. In addition to the items you mentioned, Vimium can no longer be used while on a built-in page such as the about: pages or the start page. This is really frustrating since it requires different commands depending on context and leads to breaks in my flow.
I am hopeful that over time we will see an expansion of the current API to include a lot of the functionality that we are currently missing, but Firefox may never achieve the same level of useability that it has had until this point.
In a sandbox even I, as the owner of the computer, can't let them out of. That's not cool.
> From a developer standpoint, they are easier to deal with, being JavaScript, and since Chrome and Edge support similar APIs, developers will no longer need multiple codebases to support their extensions on multiple browsers.
In the sense that it's no longer possible to do the things one could do with a Firefox codebase.
I own my computer, and my browser; Mozilla have taken away the ability for me to extend my computing environment (without reïmplementing it all myself).
Good software doesn't easily let you shoot yourself in the foot. It turns out if you allow it, people will do it. There exists software that does let you shoot yourself in the foot, but Firefox is designed for the mass market, not a specific niche. It's the only serious competitor to Chrome.
NPAPI is also gone. Not behind a flag, the code to support it is gone. It was broken, and so was the old extension API. It's about time for the majority of users to move on.
>In the sense that it's no longer possible to do the things one could do with a Firefox codebase.
This doesn't make any sense. You can do the same things you could do with the Firefox codebase before: download it, modify it, redistribute it. The runtime is what you're thinking of, and you were never guaranteed any abilities with regards to the runtime; you just got used to them, then they changed. This happened a few times with Firefox before, so it's not really clear how this update is much different.
>I own my computer, and my browser; Mozilla have taken away the ability for me to extend my computing environment (without reïmplementing it all myself).
Firefox is not your "computing environment." You're free to remove Firefox from your computing environment, or use an ESR release of Firefox and still get security updates with your old extensions, or use a fork of Firefox, of which there are a few to choose from.
Even so, it's depressing that every time a breaking change happens, even one like this that's 2 years in the making, the same responses happen: weird arguments about entitlement and a lot of looking toward the past.
Why not look toward the future? If you relied on an extension and now it's not possible with WebExtensions, it would help a lot of people out if bugs were filed and features were requested to bridge the gap. It's clear that there's overwhelming reasons to continue down the WebExtensions path, and whether people like it or not it's definitely going to be the only option in the browser you use in a few short years. So it's in our best interests to push for WebExtensions to meet the needs of extensions rather than make pointless arguments for decisions that were made a long time ago and have no chance of being reverted.
Yes you can. Extensions can talk to processes running on your machine; meaning you can run a daemon that acts as a backend for your extension. It's how KeePassHttp-Connector works, for example.
If you want unsandboxed extensions, you can install Nightly or Dev Edition and flip the extensions.legacy.preference. The basic problem with providing a simpler escape hatch on release Firefox is that if you compare the number of users who are equipped to make an informed choice about allowing extension X arbitrary access to browser internals versus the number of users who will be tricked into letting malware do terrible things, the second number is multiple orders of magnitude larger than the first. I understand why folks are unsatisfied with the "use Nightly or Dev Edition with the preference flipped" solution but I am certain that it is the least bad option.
So browsing on the phone is not evoking similar feeling? :-)