Hacker News new | ask | show | jobs
by mrmondo 3697 days ago
Honestly all I want from Firefox is better stability and performance - I don't care about almost anything else barring security. Firefox has become so unstable and slow (on OSX at least) that many people I know - myself included have switched to chromium. We don't want to use it but we have to because of all the crashes and massive slowdowns during long running sessions or when many tabs are open. This goes for stable, dev edition and nightly. It really saddens me and I'm sure others because of the great work that Mozilla does especially with regards to transparency, privacy and security.

Edit: I'm also in two minds about the plugin systems between the two browsers. The idea of all JavaScript plugins scares me to death, there really are no good download managers for chromium / chrome, on the other hand Firefox plugins I rely on like Evernote web clipper keep breaking and don't even work on dev/nightly when enforcing the new plugin system.

3 comments

Test Pilot isn't happening at the cost of stability and performance improvements. It's a complementary program that helps us ship better features through data-driven iteration.

I hear your concerns, though. The platform and desktop teams are doing tons of great work on improving stability and performance--you might want to give Firefox another try sometime. If you do, maybe try out some Test Pilot experiments while you're at it, and let us know what you think.

They "are doing tons of great work on improving stability and performance", but I've heard this before and somehow we got to where we are today.

Do you alternate between improving these things and worsening them? Could you possibly not worsen them, or at least warn us to not upgrade when that happens?

Regressions are really not OK. People are trying to use this browser. Well, mostly they were trying to use it. I stuck it out longer than most. Having 512 MB of RAM and dozens of tabs is my use case.

I have 12GB of RAM and probably ~120 tabs open at any given time. This used to be fine, but it seems Firefox is just getting worse over time, the main problem is the frequent 5 to 30 second pauses while it is doing....something.
>the main problem is the frequent 5 to 30 second pauses while it is doing....something.

Oh god I thought I was alone on this. I've been talking to various Firefox users and nobody was able to relate with me. I usually keep Firefox open 24/7 with around 20-30 tabs open (~6 or so pinned). Every time I am typing (like in a hangout popup window or in a HN comment) Firefox is micro-stuttering and freezing and it eats away some of the words I am typing and it becomes very frustrating. I ended up typing comments in vim and then copypasting because it was faster. It feels like typing in an SSH connection with high-latency.

Also when scrolling long pages (like reddit threads) the "view" takes a while to update so I end up scrolling down to a totally grey page which then updates with content over and over again. And don't make me talk about twitter taking ages and setting my CPU to 100% (one core) with loud as hell fan every time I click on "show 50 new tweets"...

I have 16GB of RAM and a 2-years old top-of-the-line (back then) i7 CPU on a laptop, I shouldn't be having these issues...

Yes, I have the same problems. Last time I looked into these pauses, those were mostly GC pauses. At first you feel like moving on a bumpy road with micro-freezes and frame drops - that's incremental GC, and then you meet a concrete wall - that's non-incremental GC kicks-in, sometimes in multi-second territory. It got better in the last few releases, to be fair, but still far away from other browsers.
Man I dunno, that seems like something else entirely. Maybe try installing NoScript?
> 120 tabs open at any given time

Are you exaggerating ? If not, may I suggest an alternative way to browse the web ?

I use multiple virtual desktops. Each desktop logically caters to one task. Each browser window is logically grouped under one activity.

For example my desktop may look like this :

Virtual Desktop 1 ( Communications ):

* Outlook

* Lync

* Flowdock etc

Virtual Desktop 2 ( Development ):

* ConEmu/ Command prompt

* Intellij

* Browser Window with multiple tabs for referring stuff

Virtual Desktop 3 ( Procrastination ):

Browser Window 1:

* Various pages opened from HN

Browser Window 2:

* Various pages concerning World War 2

* Various pages investigating different investment strategies.

The advantage of this approach is that once you are done you can close browser windows and tabs. Done with researching World War 2 ? Close that window, all associated tabs close automatically. If you accidentally close a tab, you can always bring it back with Ctrl + Shift + T. If you want to refer to a previously opened window, you can always do a simple search in browser history.

Keeps your system responsive and makes it easy to find things.

He is not, it is not rare to have 120 tabs, in fact some extreme even have 400+ Tabs openned. Today is rather lightweight for me and has 70 Tabs. Of coz these wont be all loaded, Once you close and reopen those tabs will be unloaded. They are more like a list of things to read and do.
I currently have 753 tabs open on this computer alone :p But as you say, it's not a problem at all because there are not loaded until I go back to them.

The only issue I have with massive number of tabs, is the start-up time of the browser, which increase dramatically with the number of tabs (it's at least quadratic).

> Of coz these wont be all loaded, Once you close and reopen those tabs will be unloaded.

That's how it's supposed to work, but for me the tabs seem to consume memory even when they're not loaded (after a restart). I completely can't understand how this is a difficult thing to implement properly.

On a different system, I had pretty much that. I've moved to Chromium, which is also slow but at least doesn't hang as often or as badly. I would do this:

8 or 16 gigabytes of RAM (got an upgrade)

8 virtual desktops, about 5 occupied with browser windows

1 to 20 windows per desktop

1 to 20 tabs per window

That is likely 100 to 300 tabs total. No, I really don't want to close them. I want more open, but performance is a problem. I like to keep going back to tabs that have been open for months. It hurts to close tabs because then I lose track of what I am working on; the scroll bar position matters and the page might even be gone from the web. Sometimes I write a comment on a web site like this one, then let it sit for days if I am unsure I want to post it.

Have you ever heard of bookmarks?
Same here, I was using Firefox on Mac for years, but recently I had to move away from it because it was the most CPU/RAM consuming process on my machine, constantly lagging, hanging, crashing... I'd love to get back, but you guys need to improve the performance at least up to Chrome levels, if not Safari. As other people here, I dont care for builtin Pocket and whatever else, because I can get most of things via plugins - I can't do that for browser performance though ;)
I don't know why it is that way for you. I switched to Firefox on mac exactly for this reason. Safari and Chrome were consuming too many resources. Firefox is nice, fast and stable (for me at least).
Translation: Firefox is not Apple nor Google or Microsoft whom has literally unlimited resources. By having engineers on Test Pilot they are having less resources to do what he think is important

Personal Take: Completely agree. I am opening up Firefox with Panarama Mode missing, Pocket, Hello.

And BTW, e10s hasn't shipped yet, and at the current timeline, even if it ship in Firefox 49/50 it will still not be any good for power / heavy tab users, which incidentaly is the only group left using Firefox, most have moved on to Chrome.

I see light of hope in Servo. But liscenses ( MPL? Why not Apache 2.0 ) are a concern for a few company to join and devote resources into it. ( Apart from Samsung )

> I see light of hope in Servo. But liscenses ( MPL? Why not Apache 2.0 ) are a concern for a few company to join and devote resources into it.

Copyleft licences are often the best way to go in this kind of situations: thanks to the GPL, Linux remained one until Google forked it for Android. And 15 years after its beginning, there is no fragmentation in the kernel space. On the other hand, BSD has been forked many times by companies to build their own proprietary OS [1].

The MPL will ensure that Servo is never forked by Google/Apple/Microsoft into a competing proprietary software, but will remain a free software.

[1]: https://upload.wikimedia.org/wikipedia/commons/7/77/Unix_his...

I am not against Copyleft at all, but MPL in particular because no one is using it apart from Mozilla. They could have use GPL or LGPL instead.
Could you possibly comment on FF's seeming inability to unload tabs from memory? There are numerous add-ons that claim to unload tabs and free up that memory, but none of them work as advertised.

And, when FF crashes and reloads, restoring all the tabs, it seems like the tabs aren't loaded (the page is blank and does a reload when selected), yet if you look in task manager (Windows 7), all the memory seems to have already been consumed.

Should tabs be able to be unloaded from memory, in theory? If so, is it implemented this way? If not, is there a reason?

Hi, thank you for taking the time to reply. FYI - I have been using firefox every day as my primary browser for the past 4 or so years and have only switched to chromium in the past month, I still have two versions of FF installed and they're just so unreliable I can't bring myself to rely upon them - especially at work where I'm in the browser a lot. It's most definitely got _worse_ for me in the past year rather than better.
Big fan of mozilla and firefox. I've been defending it for years, but now I'm having a hard time. It's slower in almost any case than the competition, from initial rendering to switching tabs. Some stuff hang the page completly. Watching too many videos or scrolling too much twitter slow down the browser to a crawl even after closing all tabs and require a restart.

I'm not using firefox out of sheer ideology and support for the FOSS community, but it's not the superior product I used to sell to everybody.

As others have mentioned, while this article is about Test Pilot and focused around how you can help with UX experiments, there are lots of wonderful devs hard at work on platform features.

Some are just starting to land after literally years of work:

You might be more interested in reading about platform improvements like getting Servo/Rust components into Gecko: https://blog.servo.org/2016/05/09/twis-62/

Or progress in multi-process support (codename e10s): http://arewee10syet.com/

While these are focused on Firefox to improve performance, stability and responsiveness, there are also experiments like the Positron project, which is making Gecko able to host Electron applications: https://github.com/mozilla/positron

> As others have mentioned, while this article is about Test Pilot and focused around how you can help with UX experiments, there are lots of wonderful devs hard at work on platform features.

I don't doubt that. I just wish more resource was allocated to that, and less on new features. I do use the "share with twitter" feature, "hello" or the gtk3 integration, but I would trade it for better perf in a blink.

On the other hand, FF never saw a very disruptive feature for years. It could have added integrated torrent download or a kick ass JS/CSS IDE in browser. No perf and no disruption make is less appealing.

I'm not just complaining. I register to all the feedback program from Mozilla I encounter. I donate money to Mozilla. I activate the tracking features in my browser so they can use the metrics and crash reports.

I've been using firefox since it's been called phoenix, and it sadden me that I can't now honestly recommand it to others in any other way than "it's more ethical".

> You might be more interested in reading about platform improvements like getting Servo/Rust components into Gecko: https://blog.servo.org/2016/05/09/twis-62/

I'm dying to see servo in action. For those reasons, and also because I follow closely Rust.

The problem is that many of the slowdowns I experience in Firefox are due to existing bugs, so I'm not at all confident that adding brand new code to the browser is going to solve anything. And the rewrite isn't likely to fix slowdowns, because unless the developers figure out what is causing the performance problems, rewritten code won't magically fix it.
Oh, I forgot to mention in my sibling comment - extensions are frequently pinpointed as the cause of (or a contributing factor to) performance problems. Additionally, many of them rely on older features in the Mozilla architecture, which makes it very hard to fix without breaking extensions that people rely on.

While there has been and continues to be significant work in this area, the Web Extensions project has been making great progress and provides a much better means to contain and control extensions, while making the development experience better:

https://wiki.mozilla.org/WebExtensions/

This is already shipping today and many classic Firefox extensions have already switched over.

No, don't blame extensions. I don't run any. Here is what a modern browser is expected to handle:

Open and close tabs and windows, browsing the modern web without extensions. Keep it up for weeks, having 10 to 30 windows, and an average of 10 tabs (some at 40). You have 5 to 12 gigabytes of RAM to work with, and at least a 1920x1200 screen. (maybe a 4k screen)

That's it.

Expectations for older hardware: run for weeks, 5 to 8 windows, average of 8 tabs (one at 30), 512 megabytes of RAM, and a 1600x1080 screen.

Did you actually read and understand his comment?

> I don't run any.

You don't have to. The existence of extensions creates constraints on how they evolve the browser's internals.

Oops, thanks!
While it's true that not all bugs are created equal, we do know that some bugs are exacerbated by architectural problems (single process versus multi-process is a good example of this), and new approaches like what Servo is doing in Rust make it possible to write parallel code in a way that is less likely to crash, and less likely to lead to security vulnerabilities.

In general, existing bugs (that I am aware of) are either not actionable because of existing architectural issues, or just because the nature of the bug is difficult and requires an expert whose time is constrained.

I don't even know how it's possible that the performance degrades over time as it does, but it has become bad, at least on Linux.

Opening the dev tools has such a huge performance impact these days (on an i7 with 16GB RAM and an SSD...) that I mostly don't bother to develop with Firefox anymore.

Let alone missing features like user agent spoofing, which still requires an addon, or the bug that messes up file associations with every update.

I hope they do less UI changes, get their shit together and improve the core.