> the constant deprecation of power features and customizability
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.
The WebExtension API even years later is afaik still less capable than XUL. They also deprecated plugins (NPAPI), a recent version has disabled userChrome.css and userContent.css by default and the pref is noted as legacy and the same is now considered for user.js if not removed. Also you cannot set a locally-hosted newtab page any longer.
>The WebExtension API even years later is afaik still less capable than XUL.
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.
I also wrote extensions and I did not find them to be an "ungodly mess". XUL was rather pleasant to work with compared to some of the other technologies I was programming with at the time
They were an ungodly mess, in my view, compared to modern approaches which is what matters in the context of this discussion. The issue also wasn't XUL but everything else related to how extensions functioned (same JS context as literally everything else, no processes, internal FF methods were being patched by extensions, etc.). Their power came at a great cost and their approach is inherently infeasible in today's security conscious world (even if you ignore the stability and performance issues).
They also killed off Live Bookmarks. I used that for years in FF and then later Waterfox until the PrivacyOne buyout, now I have to open a separate program to read my rss (rssowlnix)
Live Bookmarks died because it was ancient code that needed to be rewritten, but most people didn't use the feature. Mozilla added telemetry to analyze feed usage and the results came back with less than 1%. It was about resource allocation for development and no volunteers came forward.
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
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.
Before they had to be made specifically for Firefox for Android. Once they finish implementing WebExtensions it'll be able to install any WebExtension. I'd say that's a lot better than before.
I'll add that the few extensions already available were well-picked and honestly already fulfill all my needs.
For some reason I can no longer start the normal Firefox on Android, even after clearing everything and reinstalling it. So I am stuck with the beta version.
> Without that Firefox would just be slow as hell, wouldn't play YouTube or Netflix videos,
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 made ONE switch to a superior and standard extension model, and HN loses its minds.
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.
It can do less but won't cause your browser stability, performance and other issues. Nor will writing them require reading the Firefox source code. XUL extensions routinely hijacked random internal Firefox functions which is why many had issues being installed together. Then all of it was executed in a single context (which is why they could hijack those functions to begin with) along with the UI and web page Javascript.
The end result would have been the same: broken backwards compatibility. The fundamental design of the original extensions was incompatible with a modern browser model (APIs only rather than hacking internal functions, separate contexts for everything, multiple processes, etc.). They chose to do it one go rather than piecemeal. So rather than having to check every version if some functionality your extension depends on is being removed you had to rewrite it once (well twice which was a mistake on their part).
It would have been gradual, and under most circumstances fixable with a bit of refactoring. Ripping the entire platform out from under people would not have produced the same result.
In the end the people who are most knowledgeable and most involved decided a gradual change was not feasible. Armchair quarterbacking them, without very specific and detailed arguments, just feels like the Dunning–Kruger effect in action.
Superior, as in defines a standard API. A clear API means the browser maker is free to change the internals of the browser, without worrying about changing something that some extension relies on.
> It's soo more than that. They'd destroyed all the old UI in favor of Chrome-style HTML+JS instead of platform-native XUL
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.
> 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
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
>> XUL / XPCOM had significant, tangible problems.
> Significant problems that could have been fixed
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.)
>The XBL document mentions more systemic problem but I maintain that they could have been fixed iteratively ... >Significant problems that could have been fixed
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:
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".
>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.
I'm using FF since Mosaic days and it was always slow. But how come if everything was bad back then, it isn't blazing fast with 100x faster hardware from my SGI days and several rewrites?
The old extensions were synchronous and ran in the GUI thread. Running firefox with extensions on a HDD would freeze all the time for me, before electrolysis.
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.
The one issue there is with developers that sell out their extensions to shady people. While I love the XUL era way more than this current trash, the security model with XUL would have done nothing to limit the blast radius and the update system would potentially install it silently
That said there used to be a human review system in place for extensions. I'm not sure if they do that any more
That is an issue with the current system too, sure an extension isn't able to look at arbitrary files in your system, but it still is able to look at your bank site, passwords, etc and can still do a ton of damage.
Web extensions aren't safe by default, you shouldn't trust them any more than any arbitrary EXE file.
I have to say, even though webextensions are clearly better and the way forward, i still kind of miss the old tamper data extension. ZAP just ain't as convenient to start up
Strangely I had the opposite thing happen, there were freezes after electrolysis, and it ran super fine before.
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.
> 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.
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.
I wonder how you define 'open', if they are just URLs and perhaps content on disk (+persisted javascript state) - they are not open/live. What's the benefit compared to fetching the contents off the web and rendering them anew?
Personally, I use different windows with several tabs open related to each other, when I done with the matter I close the window.
2000 web may work well for you but there are many of us who desire and even need the newer web standards. I am glad we are extending our applications with open standards rather than closed implementation-specific solutions of the past.
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.
10-20 are so few you can get away with it in Chrome or even old IE.
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?
I have to disagree. In my case, bookmarks are the place where "tabs" go to die. I use Tree Style Tab addon, and tabs (mostly self-)organize as I surf, do research on different topics and whatnot, and I jump in with a window title changing addon or grouping parent tab. I cannot even imagine using a browser without it. But bookmarks do not preserve any of that relational data. Session managers are also luckluster solution at best, because merging a few tabs, a tree or window with existing session is clunky at best. After many years of frustration, I have started working on my own tab syncher/organizer.
Bookmarks are only the coldest of storage for me, with exception of bookmarks bar where I place often accessed web sites.
"Ahhh, finally I got you bug: I saw this just the other day when I looked at x" works so much better when x is an organized as a tree of tabs, in the memory of my browser, a short scroll and a click away instead of having to hunt through bookmarks reloading all of them in hope of figuring out which one it was.
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! ;-)
The bookmark menu supports the same hierarchical organization, and since you're pretty much using so many tabs as bookmarks anyway, I don't see much of a distinction. Deleting bookmarks is a bit more fiddly than closing tabs, but in my mind that is a good thing as I find myself accidentally closing tabs all the time. And I bet the "Close Other Tabs" option probably scares the crap out of you
Tabs are supposed to be short-lived, ephemeral things. Bookmarks have the functionality you want
I think you are kind of rude both in that you suggest you absolutely know better than me, and also in how you present your opinions.
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.
> I don't need the newest standards, 2000 web works perfectly fine for me
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?
I, for one, think the HTML API (as in, the interface presented to the programmer, not talking about any other API meaning here) couldn't be worse.
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.
I believe flexbox does actually work for those cases, assuming you set the images/paragraphs/tables to be block elements (or wrap them in divs)?
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.