XUL extensions were an ungodly mess and arguably hurt Firefox more than they helped. Stability, performance, etc. issues were common to be caused by them. Which when everything is in a single execution context is not fun. Most of the popular extensions simply hijacked random internal Firefox functions which is why they couldn't just be installed together.
edit: I wrote the first Tag Groups extension back in the XUL days so I contributed to the mess.
You can still set it with firefox.cfg, it's not not documented anywhere, and will break sometime in the future
var {classes:Cc,interfaces:Ci,utils:Cu} = Components;
var customNewTabURL = "file:///C:/File/Path/Here.html";
Cu.import('resource:///modules/AboutNewTab.jsm');
AboutNewTab.newTabURL = customNewTabURL;To be fair, with Mozilla, it would break sometime in the future even if it was documented.
It is so superior that to this day, Downthemall - an extension which is literally all about downloading - cannot even let you choose an arbitrary directory to put the files you downloaded.
> and standard
That was Google's "standard" that Firefox decided to adopt and even if Firefox decided to implement it, there was no reason to not also keep its own extension system - this way it would be able to have both its own advanced extensions and Google's functionally inferior extensions, essentially making it the most extensible and customizable browser by far.
> It is so superior that to this day, Downthemall - an extension which is literally all about downloading - cannot even let you choose an arbitrary directory to put the files you downloaded.
So much this.... the amount of bullshit extension devs have to do just to write basic features expected of desktop software is insane.
DownThemAll was a treasure, as was the old version of VideoDownloadHelper. They. Just. Worked. Exactly like one would expect them too. I haven't used DownThemAll since the transition but while VideoDownloadHelper stil does what is used to do -- technically -- its functionality is so gimped now that I've resorted to using youtube-dl
No, they made TWO. The original model was the XUL-based one. Then there was the Add-on SDK:
https://developer.mozilla.org/en-US/docs/Archive/Add-ons/Add...
THEN WebExtensions.
So some extensions had to be ported twice, within just a couple of years. This alienated a LOT of add-on developers.
How many plugins work with the new Firefox on Android?
> standard extension model
One were Google already declared that APIs used for ad blockers are considered deprecated and might be dropped at any time? With one major browser vendor being actively hostile towards a large amount of plugins that "standard" doesn't do much. It certainly doesn't guarantee portability unless Mozilla completely jumps the shark and also kills ad blockers.
I'll add that the few extensions already available were well-picked and honestly already fulfill all my needs.
OK, this is just plain wrong IMO.
Speed is a major thing for me and I never had issues with it, even with 400+ tabs. I can go as far as understanding that not everyone was as lucky as me but it seems the speed issue is given too much weight.
> and not have any extensions left because no one wants to create an extension from scratch just for Firefox.
There seems to be fewer real extensions now than before. Yes: more websites packed as extensions, less working TST, Scrapbook etc.
Even now it lacks a lot of necessary APIs that the old one had - such as the ability to disable ctrl+q on linux. I would argue that only around now the new model became usable.
> Making it a more secure
In expense of usability.
> wouldn't play YouTube
It played youtube before and it would still play it without the switch.
Regardless, the old extension model was not the only power user feature which they killed (rss and panorama were two others).
They did the same for Thunderbird recently. Given their approach to only provide the minimum of features and say "get an extension if you want anything more", that's an issue if you're killing those extensions.
Superior as in, that can do less things than XUL extensions? I am at loss, has the meaning of 'superior' changed recently?
They constantly mess up my attempts to automate provisioning.
Add on installation has been messed up.
Lots of my user.js suddenly gets ignored because of breaking changes.
They added all sorts of weird commercial initiatives to someonething that was supposed to be privacy-oriented and nonprofit
They torched an entire ecosystem of extensions so they could be more Chromelike
They put out landing pages and press releases full of weasely PR speak instead of the "mainstream engineering" vocabulary they used to use
Maybe Firefox should get in touch with the Pale Moon guys and use their code as a basis for resurrecting everything that made FIrefox great
It's a browser, the entire purpose of a browser is rendering HTML+JS quickly and efficiently. XUL primitives are not, on average, faster or more "platform-native".
>They added all sorts of weird commercial initiatives to someonething that was supposed to be ... nonprofit
You understand the problem here, do you not? People complain that they're almost completely reliant on Google for revenue, and they also complain about "weird commercial initiatives" to mitigate their reliance.
>They torched an entire ecosystem of extensions so they could be more Chromelike
XUL / XPCOM had significant, tangible problems. It's not just about being "chromelike", not at all.
https://mozilla.github.io/firefox-browser-architecture/text/...
https://mozilla.github.io/firefox-browser-architecture/text/...
Significant problems that could have been fixed
> XUL primitives are not, on average, faster or more "platform-native".
At least on Windows they mapped to their native components. Sure spacing and a few other things were a little off (maybe because it mapped to GTK? I don't remember) but the look and feel then was vastly superior than the Electron-looking garbage that extensions have to do now.
> You understand the problem here, do you not? People complain that they're almost completely reliant on Google for revenue, and they also complain about "weird commercial initiatives" to mitigate their reliance.
You're not understanding me. Most folks have no problem with Pocket and whatever else. What they have a problem with is bundling it with the browser in a way that can't be removed, and then putting out a press release full of PR speak about how important and essential these extras are. These commercial iniatives were made mandatory, even when their beta versions were downloadable extensions
I'm all for Mozilla reaching out to whoever they want to partner with. But keep that shit out of the master repo. The downloadable base should be pure platform and nothing else, with extras as preinstalled, removable extensions. Essentially, the Winamp model
> https://mozilla.github.io/firefox-browser-architecture/text/....
What I see there are mostly people issues that come with not wanting to pay for the talent you need to get the job done. It looks like they had the money to do this but it feels like they spent it on admin and marketing folks instead
The XBL document mentions more systemic problem but I maintain that they could have been fixed iteratively
Mozilla agreed with you for a long, long time. But we eventually realized that while yes, we could continue to keep fixing those problems, that the opportunity cost was large: fixing XUL issues was taking the place of improving stuff that web pages actually use, and it would be better to not be splitting the effort both ways.
(I work for Mozilla, though mostly not on the stuff being discussed here.)
It is not like the Firefox developers do not understand the value of iterative change. That was after all the basis for Project Quantum. If this were true, they would have done it.
But I'll let a Mozilla engineer explain this instead:
https://dblohm7.ca/blog/2015/08/30/on-webextensions/
https://dblohm7.ca/blog/2017/11/16/legacy-firefox-extensions...
Why is that?
The problem is they get into to web standards game which is driven by Google to create pressure everyone else to spend millions on the newest standards.
I don't need the newest standards, 2000 web works perfectly fine for me (except HTTPs).
Firefox is slow with many tabs open on Win10, Ryzen X3900 with 32gb of RAM (writing this from FF)
They broke exetensions several times without any benefit to users, but losing extensions on the way. One of the core features for power users dropped for nothing - well for their own fun rewriting the browser and rendering engine several times, I guess it was fun at least doing "interesting things".
Go on, install Firefox 3. Go see how absolutely _awful_ it was with multiple tabs open. How a single page would freeze the entire browser. How extensions broke XUL when the slightest thing went wrong.
Rewriting the renderer is not something done for fun. It was necessary for the to be able to do per tab isolation, as well as a not broken security model.
> Firefox is slow with many tabs open on Win10, Ryzen X3900 with 32gb of RAM (writing this from FF)
I literally have 432 tabs open at the moment I'm typing this. Firefox has automatically unloaded about 400 of those and is only eating 3GB of RAM. Check your custom config if you have any, because you certainly have something wrong. Win10, Ryzen 1600X and 16GB.
There also was not a good security model.
WebExtensions fixed these problems.
What security model? Pretty much every WebExtension i've come across asks for practically everything and even Firefox's own addon page tells you to only install extensions you trust. At that point if you trust the extension source why bother with the security model in the first place? You already trust the extension developer to not break anything.
That said there used to be a human review system in place for extensions. I'm not sure if they do that any more
Web extensions aren't safe by default, you shouldn't trust them any more than any arbitrary EXE file.
The freezes were the network, where if anything was required from the network the page would just pause for many seconds, this happened on all tabs, and after the pause they would all load/come back at the same time. Something was holding up all the network activity in Firefox.
Also there was a large amount of memory used, actually made it better by changing cache settings, the biggest being turning off the disk cache, for some reason that lowered the memory usage drastically.
But as far as I can tell the network pausing issue has mostly gone away now in the last year or so.
Because Firefox's "powerful extension model" basically constituted direct access to its internals, which prevented the Firefox developers from making the architectural improvements that were so sorely needed to make it performant.
> Firefox is slow with many tabs open on Win10, Ryzen X3900 with 32gb of RAM (writing this from FF)
Admittedly I'm on Linux, but I currently have approximately 7800 tabs open (no, that is not a typo). Firefox is a little laggy in its UI, but Chrome has never even managed to have more than a few hundred open without becoming unusable, so I'd say that Firefox is doing fine here.
Interestingly, the slowdown actually seems to originate from rendering the tab bar, not from the tabs themselves.
Not necessarily. They could have added and recommended stable APIs that solve most use cases while still allowing extension developers direct access to the internals at the cost of having to update the extension more frequently.
Personally, I use different windows with several tabs open related to each other, when I done with the matter I close the window.
I think we all really under-appreciate the marvel that is our current web. We run large complex distributed applications with remote frontends on our sandboxed environments. For most of the things I don't have to install apps anymore, which means as a linux user I finally get to access a similar ecosystem as everyone else. From running businesses to having fun to tinkering around, everything happens in this single window in our computers.
I have my concerns about google as well but I am glad mozilla and google have led to the interesting new web that we have today.
How many is many?
I'm using up to 10-20 and it never felt slow on worse setup.
Many is somewhere north of 200. Many of us are routinely on 400 and more.
As for why, I at least consider the computer an extension of my mind. What it remember, I don't have to.
Edit: Chrome can handle way more than that, it just becomes very tedious when you cannot see the tabs. Also I don't know if omnibar can search for open tabs like awesomebar?
Bookmarks are only the coldest of storage for me, with exception of bookmarks bar where I place often accessed web sites.
At least with the work I do it isn't alway obvious what is going to be useful or not. But while I don't have a photographic memory (quite the contrary) I'm often able to figure out approximately where to look and also able to find it there.
I'd even recommend you try it. If it works for a simple farmer turned engineer like me, think what it could do for a smart person like you! ;-)
Tabs are supposed to be short-lived, ephemeral things. Bookmarks have the functionality you want
I suggest you take a step back and reconsider both:
- computers as bicycles for the mind. If it can do so much for me, think what you could achieve!
- how you interact with others.
PS: no, "close other tabs" doesn't scare me. If I have to close down something I don't feel I have finished yet I can select that subtree and export it to the clipboard as a nested markdown list which I paste into Joplin where it is searchable.
Also if I accidentally close down something I can just press ctrl - shift - t the required number of times, alternatively ctrl - shift - n if a whole window has been closed.
How about layouts being broken because (funnily enough) web developers are desperate to use features such as grids and flexbox that make their jobs less painfully awful?
Presuming you're a developer - surely you can sympathise with the desire to get people to upgrade their browsers so that webdev's lives are made more pleasant?
How many attributes do you need to enable to place two pictures side by side in vanilla CSS? Is that composable, would the same set of flags work for two paragraphs? What about two tables?
HTML/CSS was never designed for the web we have ended up with, and I don't see how flexbox and any newer standard is making developers lives anything but miserable.
Flexbox and Grid seem to me like recognition that the existing CSS primitives were designed for laying out documents, and don't fit well for creating UIs.
They made ONE switch to a superior and standard extension model, and HN loses its minds. Do you really think you're in the majority here? Making it a more secure, faster and just better browser is just the only way forward. Without that Firefox would just be slow as hell, wouldn't play YouTube or Netflix videos, and not have any extensions left because no one wants to create an extension from scratch just for Firefox.
They tried their best and I hope it's been enough, even though the future looks bleak.