The add-ons might be better, but XUL-based Firefox add-ons are not better. They essentially give full control of your computer to the developer of the add-on. There's no permission model. The "APIs" are mostly the internals of Firefox itself, and when Firefox updates, lots of add-ons break.
Most add-ons can be ported to webextensions. The ones that can't probably shouldn't have ever been add-ons to begin with.
Lots of other browsers used to do the same thing Firefox does, and chose to use a webextension-like model instead. Why? Because those screenshots of folks with half their screen consumed by toolbars, weird popups, overlays in the browser viewport, extensions that sneakily inject ads into pages, and track user behavior _still exist_. And there's really nothing Mozilla can do to stop them.
Do you know how Firefox add-ons get approved? A human sits down and sifts through the obfuscated source code. I helped build these tools years ago, I can tell you it's hell. Beyond being error-prone, it causes months-long delays in add-ons getting approved.
Firefox will be better off for only supporting webextensions.
Really? Name three.
Your arguments may be true, yet they fail to answer the question: "If you hamstring the addons and make everything chrome/chromium like, what's the reasons to use FF then?" If Chrome made all the right decisions, we might as well kill off the Firefox project.
Here's a comparison: https://docs.microsoft.com/en-us/microsoft-edge/extensions/m...
Sounds like Firefox developers will be better off. Everyone else will suffer.
I'm a developer, I understand how much the job sucks sometimes (that's why it's a job). But if you want a product to succeed, can't afford to put the comfort of your developers over that of the end user.
> A human sits down and sifts through the obfuscated source code.
> when Firefox updates, lots of add-ons break
> I can tell you it's hell
It's undoubtedly true that power users will lose a little of the functionality they like in Firefox, but that normal users will have a more secure browser. I'm sure someone will fork Firefox to keep a version alive for those power users.
You might not agree with it, but the logic is sound.
I get it, it's a hard problem to fix. There would be a lot of pain in getting there, both for Mozilla and addon developers. But throwing in the towel feels like a cop-out.
The logic is sound, but so is closing down every theater because someone got shot in one of them. After all, everyone has TVs and blu-ray players now, and you can't get shot in a theater if there are no theaters...
And the theatre analogy is just silly. It's not like shutting down a theatre because someone got shot in it, it's like enacting a "no guns in this theatre" policy instead.
> Instead of allowing open access to the internals of Firefox, which will never be secure
Android, iOS, and many other OSes do this all the time via rather granular ACLs. It can be done.
All analogies are flawed - but Firefox is closing the theaters by completely killing off their add-on interface in exchange for an comparatively shallow experience.
If it were that simple, then the Chrome team would simply have asked the Android team to provide their expertise in designing Chrome's extension API. And of course, it's not like Android provides apps unrestricted access to the hardware (there's a reason that people bother to root their phones). Firefox addons are currently less restricted than Android apps.
Chrome's choice to not use such ACLs has no bearing on whether it is possible or reasonable for a web browser to use. Chrome is not the be-all-end-all of browser technology.
> Firefox addons are currently less restricted than Android apps.
And that's what could be changed. The lack of restrictions in the current state doesn't mean that it can't (or that it shouldn't) change.
Why are these 'normal users' going to use Firefox when their power user friend no longer recommend it, when Google is pushing Chrome as hard as they can on every Google property, and when there are even installers that 'offer' to install Chrome for you? Mozilla can't compete with Google and Microsoft marketing efforts, they can't make anything more than a UI for the most popular mobile browsing platform, and they're alienating power users. Who is going to be pushing Firefox to normal users?
Even PG has remarked in an essay that success isn't easy - the people who will really succeed are the ones who put in the effort to do the hard things.
Of course it's hard. Doesn't mean it shouldn't be done.
> Appealing to PG makes no sense here.
When the argument is being made that it's better to make it easier on Firefox developers at the cost of the user base, the argument made in PG's essay is pretty relevant.
It is being done. That's what people are up in arms about.
> When the argument is being made that it's better to make it easier on Firefox developers at the cost of the user base
As far as I can tell, you're the only one making that argument?
What? kibwen is saying that that is exactly what Firefox is doing!
Bear in mind that this is not just "copying Chrome's API", it's copying the base design (how the manifest works, etc), and adding new Firefox-specific APIs on top of it. The whole idea is that most of the APIs addons need will be added to firefox's webextensions API.
all of this is possible to do with webextensions, just add a contentscript for all_urls. Of course webextensions help with some security issues, but not with the ones you mention.
The one thing that is striking every time I try to use chrome/chromium is just how limited the addon functionality is and how much less freedom the user has. Have you seen "treestyletabs" implementation on chrome? It's a whole other window that has to be started and placed side-by-side with the browser window by user because of the addon limitations. There are also some keybindings which are fixed forever and not allowed to be changed (<C-W>, <C-N> etc).
Of course you can justify the restrictions by bringing up the case of the poor average user who will get abused by his browser having more functionality that he will ever need. But the thing is - I really don't care for the "average user" and its problems. Average user is a beast that is perfectly happy to be contained in the walled garden, but we already have Chrome and Android for that.
I would bet that 99%~ people don't need or even want that kind of absolute freedom. As a chrome user, the only plugin I have that I can't get on the play store is one for downloading youtube videos but I can still install it from the author website, just takes a few extra clicks.
The fact that one doesn't exist. "Developer edition" is really just their alpha build, they don't have release builds that allow unsigned extension installs.
https://wiki.mozilla.org/Add-ons/Extension_Signing#Unbranded...
https://wiki.mozilla.org/Add-ons/Extension_Signing#Unbranded...
It seems that those very much exist.
The set of clueless users who would install arbitrary malicious extensions and the set of clueless users who would download and run arbitrary executables is basically the same. Yet if they do the latter, any extention sandboxing is completely and utterly moot. It's the same issue as with mandatory extension signing; requiring signing for extensions while nothing stops someone from downloading an unsigned .exe (which could memory-patch Firefox if it so wished) is absurd.
I do not consider myself a power user of Firefox, but the two extensions I use (DownThemAll and tab groups) are not going to be ported.
Servo has been in Dev for 5 years, so if google isn't working on something to compete with that, Firefox is going to completely dominate the web for years.
When Firefox is no longer an attractive option for power users, the only thing it will have going for it is ideology. And that will not be enough to compete.
I can assure you that you only want this if you can guarantee that your add-ons only do what they claim, don't have security vulnerabilities, and are never acquired and maliciously updated. Otherwise, a permissionless add-on model means a bug in TreeStyleTabs could potentially be used to exfiltrate your entire password database, plant malicious binaries on your system, and destroy local data. If TST had limited permissions along the lines of only being able to manipulate tabs and their UI, that wouldn't be a problem.
> Have you seen "treestyletabs" implementation on chrome? It's a whole other window that has to be started an placed on the left of the screen by user because of the addon limitations.
Firefox will not have this limitation.
Is that a statement about future Firefox visions or Firefox 57? I assume you know the gritty details while I'm a rather confused Firefox power user / fan / advocate (using .. addons that are affected, vertical tabs/tree style tabs plus vimperator/pentadactyl mostly).
The outrage The Internet™ seems to feel is probably not about XUL being deprecated/killed. I'd say no user cares about the technology, the only people even caring are probably the addon developers.
From what I can tell, the outrage is mostly due to the impression (and I dearly hope that you will dismiss this as wrong, just like the 'addon limitation' reference above) that the web extension switch happens before popular, polarizing addons are even remotely possible given the new API.
"Will not have this limitation", as in "it won't support that use case in 57 at all" or as in "you can do better than this Chrome extension you describe"?
You're basically correct about the APIs, though. Developers of some popular add-ons don't know when or if the APIs they need will be implemented. Support for migrating gradually (embedded WebExtensions) was just released in 51 and will be gone in 57 -- not even a full ESR cycle.
Developer burnout is a problem, too. This comes right after many of them put in significant work making their now-deprecated code multiprocess-compatible, which came after mandatory extension signing, which came after a bunch of UI changes. It's not surprising some of them have quit.
Most of these changes and their timelines are motivated by fundamental architectural work happening deep down in Firefox. We're doing the best we can to get as many add-on APIs in place before 57, but for heavy add-on users, it has the potential to be a rough transition.
For deeper meddling in the browser, and for APIs that don't yet exist, WebExtension Experiments (https://webextensions-experiments.readthedocs.io/en/latest/i...) should provide a reasonable option. Basically, you can keep using old-style "bootstrapped" add-ons in DevEdition and Nightly. Kind of an explicit way to opt-out of API stability guarantess so we can continue refactoring the browser core. Experiments are intended for prototyping new WebExtension APIs for eventual inclusion into mainline Firefox, but you could also use them for power-user APIs, so long as you don't mind the maintenance burden.
Can you clarify/elaborate? Last I heard, UI modification by web extensions was still unconfirmed at best.
Can I use this to replace the entire browser history system and omnibar autocomplete with a custom one?
Can I use this to replace the entire browser chrome?
Some of these changes I need (AutoHiDPI) to use a browser at all. Others I wish for. All of them I currently am using.
The alternative is me staying on an ancient browser, or forking Firefox and browsing with a horribly outdated and barely patched version. Or reading HN with a magnifying glass.
Generally, the way forward will be to use WebExtension Experiments (https://webextensions-experiments.readthedocs.io/en/latest/i...), which let you run classic-style "bootstrapped" add-ons in Firefox Developer Edition or Nightly. The intended use is for prototyping new WebExtension APIs for eventual inclusion into mainline Firefox, but nothing limits you to that usage.
In fact, the per-screen HiDPI setting even has an environment variable on most Linux systems (Qt’s QT_SCALE_FACTORS), but Firefox completely ignores that.
I don’t have the time anymore to rewrite half the UI stack of every single application I use, and then take over maintenance of that. I’ve done that with a few open source projects, but my time is limited. And if I wanted to implement extending the UI properly, I’d definitely have to rewrite the entire stack, similar to what Browser.html does.
But neither of them is good enough. (Especially Palemoon’s UI is painful to look at, and hard to fix).
Owning the code that runs on your machine is your right as a user of open-source software, but there's no right that says that Mozilla must be the one to maintain that code. And nobody's asking you to maintain your own personal fork either: find all the other people who care about unlimited (if fragile) browser extensibility via unrestricted addons and form a community (or hell, a corporation) to collectively make the browser you want, starting from a fork of Firefox (or Chromium, or Midori).
If you believe that there are enough people in your position to make such a collaboration successful, then you're all set. And if you don't believe that there are enough people out there who care about unrestricted addons to make such a project viable, then--while I sympathize with your plight--maybe it makes business sense for Mozilla to drop support for unrestricted addons, especially due to the ways that this feature hinders all the other features that Firefox users are clamoring for: speed, reduced memory usage, speed, HTML5 adoption, speed, ES6+ adoption, speed, speed, security, and speed.
And there's no right that says I have to use FF. They are giving up one of their big advantages.
Source on me saying that? I think they are making a few dumb decisions, but that's putting a lot of words in my mouth.
FF has very few advantages. They aren't competing on speed, mind-share, ease-of-use and now they aren't competing on reliability of add-ons. I get that this can help them focus, but pushing away their limited user-base is like using an axe to help a sinking ship.
This statement is contradictory.
>They essentially give full control of your computer to the developer of the add-on. There's no permission model.
Yes. I know. That's why it's better.
>Most add-ons can be ported to webextensions. The ones that can't probably shouldn't have ever been add-ons to begin with.
You're pushing a worldview here in which some entity - Mozilla, presumably - sees fit to decide in what way I should, or should not be able to extend my web browser. I reject this premise.
The whole point of XUL/XPCOM, as you yourself seem to realise, is that it naturally exposes browser internals and thereby enables permissionless innovation. The only reason WebExtensions can even support the use cases it can is because Mozilla basically looked at the popular addons and defined it to be able to support corresponding functionality. Extension developers finding gaps in WebExtensions APIs were invited to communicate this to Mozilla - that is, to ask Mozilla for permission to extend the browser in a certain way (and for them to allocate manpower to adding that API, etc.)
The idea is to make WebExtensions politically palatable by happening to support what's popular, but that very approach proves the impracticality of the premise. If ad blockers were invented tomorrow, would there be a WebExtensions API? Probably not. Would Mozilla bother to allocate manpower to adding an API for it when one person has the idea and asks? Probably not. If Firefox (and before that, Mozilla Suite, etc.) had had only WebExtensions-like APIs from day one, would ad blockers exist today? Probably not. Ergo, we can conclude that future, yet unconceived innovations will be prevented by this change. The "ask us to add an API for it" approach is not acceptable, given that the technology to make this a non-issue (XUL/XPCOM) already exists and is in use.
>Lots of other browsers used to do the same thing Firefox does, and chose to use a webextension-like model instead. Why? Because those screenshots of folks with half their screen consumed by toolbars, weird popups, overlays in the browser viewport, extensions that sneakily inject ads into pages, and track user behavior _still exist_. And there's really nothing Mozilla can do to stop them.
This isn't Mozilla's problem, and as you yourself acknowledge, trying to save users from themselves is a futile effort.
>Do you know how Firefox add-ons get approved? A human sits down and sifts through the obfuscated source code. I helped build these tools years ago, I can tell you it's hell. Beyond being error-prone, it causes months-long delays in add-ons getting approved.
If this upsets Mozilla, they could get out of the extension approval business. Nothing obliges them to intermediate themselves in this way.
No version of Firefox which implements restrictive code signing practices will ever touch any system I control. Currently I use Firefox Developer Edition. It doesn't appear it will be updated after version 56.
That's the entire point. Firebug could not have existed as a WebExtension, and thus without XUL addons the entire web development field could still be on Venkman or Script Editor rather than where it is now.
The XUL extensions model allows extensions in ways unmatched by WE, and yes the development experience isn't tremendous and it's a serious security risk, but that means it's possible to experiment or customise in ways WE don't allow. Users could get things like NoScript and greasemonkey and ad blockers and tree-style tabs without having to demonstrate its value to the browser developer and needing to get the tool itself or some necessary API integrated and merged into the browser.
> Most add-ons can be ported to webextensions. The ones that can't probably shouldn't have ever been add-ons to begin with.
That is utter garbage.
This means I will now have a zoo of old outdated browsers. Safari 5.1 Win32, Firefox 56 Win32 with Firebug addon, IE11 on Win7 (plus Chrome, Vivaldi and Servo alpha)
I have hope in a lightweight reboot of Firefox based on Servo with HTML based UI (like Firefox was a lightweight reboot of Mozilla Suite; funny that Firefox is now many times more bloated than Mozilla Suite (now called SeaMonkey https://en.wikipedia.org/wiki/SeaMonkey ) and has less features)
(I use a separate Firefox instance for development, and it's not my number one browser for years because it can't handle hundreds of open tabs - IE and Chrome excel on that (my) requirement for 10 years.)
For real. I understand the security argument, but that poster and Mozilla in general seem to be making the argument that "no, you're wrong, you don't know what you want, we're going to tell you what you want, and it's a less feature-rich Firefox."
Well, I use Firefox, and I evangelize Firefox to everyone I know, on the basis, essentially of the extensions, and most of the popular Firefox extensions would have never come into existence with the new extension model. Mozilla is developing APIs to grandfather some of them in, but they're still reducing the possibility space from "anything" to "what we expose through these APIs", so new extensions that change everything will no longer come into being.
And aside from that, they don't even cover everything; I've already been notified by the developers of two extensions I use that they either can't or won't be switching over.
I really do have to agree with the people who are saying Mozilla has totally lost the plot. I've disabled automatic updates until I can figure out what I'm going to do.
XUL does open up more attack surface than a web extension. However, web extensions open up enough that you're already in the business of trusting the creator of the extension.
A web extension is fully capable of stealing my online banking credentials, for example.
But so is every other type of add-on. You even need to upload source code for binary components. (A XUL extension can include DLLs or their cross-platform equivalents.)
Those were my thoughts exactly.
And tangentially related to your point, I am wondering why the addon developer, who I have explicitly trusted by intentionally installing their software, is not at least on the same or even higher level of trust as an unknown 3rd party web developer whose arbitrary Javascript application the browser automatically installs and runs when I visit a desired 1st party website?
There are no built-in protections that Firefox (or any browser) provides for running arbitrary 3rd party code that happened to be included by an unsuspected website that features 3rd party fingerprinting, tracking user actions, access to DOM, whether for "benign" or malicious purposes. In my mind that is just as, if not more, important for both security and privacy.
It looks like it is yet to be seen whether Mozilla's extended WebExtensions API will provide enough for existing add-ons that use current low-level access that to some level restrict 3rd party web applications.
IOW, the addons are software, just like Firefox is. That is what makes them useful.
> Most add-ons can be ported to webextensions. The ones that can't probably shouldn't have ever been add-ons to begin with.
I hope you realize that this attitude is 100% the opposite of the original Mozilla team, and that Firefox and Mozilla would not exist today if it had been. Firefox became what it is today because of its customizability and its empowerment of users.
> Firefox will be better off for only supporting webextensions.
On the contrary, it will no longer be Firefox. That is the point that we 15-plus-year, loyal users have been trying to drive through the thick heads at Mozilla.
If I wanted to use a browser like Chrome, I would use Chrome. What kind of product manager thinks he can beat his competitor by essentially duplicating their product, when there is no differentiation on price? Both browsers are free. People are already using Chrome because Google has what is essentially a Microsoft, IE-style de facto monopoly. People can still use Firefox if they prefer it--but if it ceases to be unique, why would they bother?
Firefox 56 will be the last version of Firefox I use, because Firefox 57 will no longer be useful to me. That is the bottom line.
There are lots of reasons to use Firefox over Chrome. It's not designed to drive traffic to a search engine. It has far better privacy out of the box. It's a standalone browser that isn't tied to the operating system for things like personal certificates. It doesn't lock its settings to the operating system so you lose all your passwords, extensions, and extension settings if you move it from one PC to another like Chrome does. Etc.
That way you can use an old version with the old add-on ecosystem for at least a year longer, and still get security updates.
I usually work on Debian Jessie which ships (a variant of) Firefox ESR, and it's very well-usable. I haven't noticed any differences between the latest Firefox on Windows and Firefox-ESR on Debian.
The latest LastPass, XMarks, VimFX, uBlock Origin and uMatrix run on it, though I haven't managed to get RES (Reddit Enhancement Suite) to work.
I don't like all those toolbars that clutter my screen estate, I prefer to browse the web full screen. There are a lot of projects using Webkit, and I also use elinks a lot, but I'd rather support Mozilla and Firefox by using the later when I need a graphical browser.