Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I tried Firefox again a few days ago, and it was indeed noticeably snappier. In fact, it felt snappier than Chrome on the handful of sites I tried.

With all the things they've addressed in Firefox recently and with Chrome's manifest v3 nonsense, I'm running out of reasons not to switch.



I've been shilling for Firefox for years. It is my primary browser for both development and personal use. But I still think it has some catching up to do with Chrome.

I have a web app that allows customers to make templates for their standard operating procedures that they pull from our main product. For writing steps and substeps, I use a WYSIWYG HTML editor called TynyMCE. I went with it because I was able to implement it in an afternoon, their licensing was compatible with our use, and I had a tight deadline.

We failed to anticipate just how large some of the templates clients would be making, so sometimes when they open a template they end up having a couple hundred of these editors hidden behind drag and drop enabled accordions.

Firefox chokes on the initial TinyMCE calls for these large templates, taking quite a long time to fully render the page. Once it's done, everything is nice and snappy, but it's like a 20-30 second wait after the wire even on my beefy 5900x.

Chrome seems to handle this just fine.

It's possible that the culprit is a bad polyfill or a Firefox-specific bug in TinyMCE, I haven't put much work into diagnosing it yet beyond verifying that TinyMCE is eating up all the CPU time. For now my planned solution is to just write my own WYSIWYG editor, because TinyMCE ultimately offers a lot more than we actually need, and it was only a stopgap solution to get out a polished MVP. But needless to say, for the first time in years, I found myself spending a non-trivial amount of development time in Chrome. Sadly I've never actually had a client use this app with anything other than Chrome or Safari, so this is naturally a low-priority issue.


If you could grab a profile of the problem with the Firefox profiler and file a bug it would be greatly appreciated. From the sounds of it it's probably an edge-case we're not aware of where Firefox performs very poorly. The problem with this kind of things in Mozilla is that we're often blind until someone brings up the issue and notifies us.


Is the profiler a new addition? I'm on Nightly and I recently noticed the appearance of its little speedometer button in my toolbar and I'd be interested to learn more about it. The graphs it generates look nifty, but I have no idea how to interpret them.


The profiler has been there for ages. It's definitely not new. They're moving where it's accessed but it's been under the Performance tab of the developer tools for a long time.


There are two different profilers. There was one in devtools for a long time that was aimed at web content. It was pretty nice for its time, but its time was a long time ago. In a separate project, a profiler for both content and browser UI was developed—that's the one at https://profiler.firefox.xn--comand-5g0c it has been seeing a ton of high quality work for quite a while now. At some point, it was clearly so much better that they started enabling it to optionally focus on web content (though platform stuff is still accessible if you need it). The recent change is the old devtools profiler has been put out to pasture and replaced with the newer one (with presets configured appropriately for web content), and additionally the platform profiler is more integrated so you don't need an add-on or anything; going to https://profiler.firefox.com gives you the option to activate the built-in functionality.

The Firefox Profiler is an amazing piece of work. It's my tool of choice even for non-Firefox scenarios, since it can load in perf profiles (and even Chrome profiles, though I haven't tried that). It has grown into a general profiler front-end, and continues to see significant improvements. I have heard of a number of people adopting it as their system profiler of choice for arbitrary workloads, not just browser-related ones.

(I work at Mozilla, but not on the profiler. At least not most of the time. I've added some small things in to give it more information about my specific subsystem. I have enormous respect for the work going into the profiler, both the functionality and design.)


Ah, I'm aware of the feature in the devtools, but I thought this feature was designed to capture the performance of the browser UI itself.


That also exists, see https://profiler.firefox.com

I am sure Mozilla would appreciate a bug filed in Bugzilla if you can.


No, I've heard of people using it for years. They probably just moved it to make it more visible


I'll try to get on that this week sometime


There is also a lot of catching up to do on Firefox iOS. It is still crashing on heavy and large websites (government websites in my country) and then the more I used it, the more it lags and taking down the whole iOS system.


On iOS it's the same engine safari uses.


Is there a public demo or test page for TinyMCE that reproduces the hangs? If not, you could use Firefox's built-in performance profiler to record a profile and file a Firefox bug.

Here are instructions of using the profiler with just a few clicks: https://profiler.firefox.com/


I‘m on the other side of that. I'm constantly throwing large amounts of HTML at Firefox and it just goes on normally, literally 0 slowdown. Add some VueJS for additional fun. I deploy and get Chrome users complaining about performance. One example is that one can not add more than a few hundred options in an Options Select list in Chrome. You can throw literally 10'000 at Firefox. Similar stuff with text fields having 10'000s of rows.


> just write my own WYSIWYG editor

For your own mental health, don’t. I was looking for an old article describing how bad the API is, written by one of the authors of a WYSIWYG JS editor, but I can’t find it.


https://ckeditor.com/blog/ContentEditable-The-Good-the-Bad-a...

Or

https://medium.engineering/why-contenteditable-is-terrible-1...

Are two that I remember reading... nearly 10 years ago, holy hell can someone please make time slow down? Which discuss the common API pitfalls with `contenteditable` -- though I've no idea how painful it is in 2022. Could be a lot better now?


Ah yes the second one is exactly it.

> Could be a lot better now?

Effectively zero progress. Last year I heard some work being done on an alternative API but I haven’t see that since. I don’t expect anything to be done before 2025 if ever.


> so sometimes when they open a template they end up having a couple hundred of these editors hidden behind drag and drop enabled accordions.

What if you only loaded/initialized the editors when they became visible?


Advanced Custom Fields on WordPress allows for "click to initialize TinyMCE" on areas such as that which may be a usable workaround for now. Then you only have 1 initializing at a time,


Have you looked at ProseMirror and Quill? I'm wondering how they compare.


I evaluated a few different options including Quill, but this problem never would have really come up in my prototypes. The performance issues really are only apparent when you have an obnoxious number of TinyMCE editors on a single page.

The reason TinyMCE won out was because they made self-hosting easy under license terms that my employer was OK with, and wrapping the whole thing in a Vue component only took me a few hours.


Do you need to have them all active at once? One option could potentially be to enable instances on click and disable on blur or similar.

FWIW, TinyMCE is a bit long in the tooth these days. I implemented my own from-scratch WYSIWYG editor back in 2010, and it wasn’t even the best option then (ckEditor was much better), and many people were using the unreliable lightweight jquery based editors because TinyMCE was considered too heavyweight.

I wouldn’t like to say for sure that’s it’s the source of your problems (Firefox’s contenteditable implementation is also “quirky”), but it could well be.


For me, having to log in to multiple AWS accounts, Firefox containers are a killer feature


Depending how those accounts are set up and related to one another, you may also get some mileage out of this add-on - https://addons.mozilla.org/en-US/firefox/addon/aws-extend-sw...

Basically it just lets you extend how many roles/accounts you can switch between in the AWS console UI.


There are also a lot of Chrome extensions that do the same: https://chrome.google.com/webstore/detail/multilogin/ijfggli...

Also keep in mind although Firefox containers is made by Mozilla it's a plugin that you have install, which was very counter intuitive when I first wanted to use it.


The plugin is technically just a management interface for functionality that is already in the browser. FF just doesn't surface it by default, because devs think it would scare casual users.


That's not the only reason. The other reason is that although it's pretty obvious to any one person how it should work, no two people's ideas are the same. Depending on how you are using containers, the answer to a number of questions can be completely opposite to someone else's usage. The theory was that Firefox would provide the underlying functionality, and specialized addons would specialize it to a style of usage.

In practice, it feels like that has hurt adoption. You can't pave the cowpaths if the cows aren't venturing out of the corner of the field.


Honestly the implementation seems half baked, it's very hard to move sites to new containers, there is no list of sites with containers they belong to, etc. I don't know why you'd add a feature in the first place and then decide to hide it for vast majority of users instead of going the extra mile of making it user friendly and intuitive.


Probably because it's a bit of a difficult thing to explain to users in the first place. Instead, by providing just "primitives", they opened the doors to focused add-ons (like the one that isolates Facebook, effectively the first large-scale deployment that used it) without spending too much time on a feature that folks might have found difficult and might result in increased support issues. The status quo is that power-users can make it work, add-ons can use it if they wish, and the overwhelming majority of users can carry on happily ignoring its existence; not a terrible trade-off. But I agree that the management add-on could be better.

I believe Apple is doing something similar with their virtualization API - it's there, some folks can use it, but they don't want to surface it to the masses.


I mean relative to the effort put into building this feature making the UI intuitive shouldn't be a huge task. Think when FF released "tabs" for the first, super intuitive and instant adoption. I wonder if FF is short on UI/UX contributors.


You can use more than one browser. I use three.

I leave Safari as my default browser, although I actually use it the least. But I like having the same "default" experience on my desktop and phone. If I am opening a link from Mail.app or punching something into Alfred it will open in Safari. I use some light ad-blocking. I use Chrome for work. I use Google Translate a bit and this works extra well in Chrome. Plus, Google apps and whatnot. Limited ad-blocking because I'm often using ads platforms. I use Firefox for all my intentional/casual browsing. Maximum ad blocking.


You can also set a browser chooser as the default, and have choose which browser you want to open each link in. I’ve written my own, and it even lets me pick which chrome profile I want to open in.


What do you use for adblocking on safari macOS?


I use Adguard for Safari, seems to work.


Doesn't Adguard require running a separate app?


There is AdGuard Safari extension and AdGuard app.


It may, I can’t remember. It’s managed through Safari for me.


Adblock Plus, Firefox Focus, Hush, Ghostery and Malwarebytes on iOS.

Adblock Plus, Ghostery, and Hush on macOS.


Do any of these block YouTube ads?


I use Vinegar[1] on iOS and macOS. It renders YouTube using the native system video player, and strips all the cruft (up next, recommended, etc). It has the side effect of removing ads.

[1] https://andadinosaur.com/launch-vinegar


> Prevent YouTube from tracking your play/pause/seek activities.

(/rant)

I know this it heresy to say on HN, especially coming from someone who whines about gov surveillance as much as the next person, but I personally love YouTube's recommendation system. And I know from experience it uses what you actually spend time watching to make recommendations (not just what you click on). So I'd personally miss having them be able to measure that...

I feel like YouTube knows me better than any other service I use (besides maybe Spotify which also measures what you actually listen to) and I pay to be a YT subscriber so I don't se ads on iOS mobile (jailbreaking doesn't provide with me ROI).

I hear a lot of HNers complain YouTube recommends conspiracy or negative politics stuff (see: Twitter and Reddit for that who also completely suck at recommendation systems despite aggressive analytics) but to me it sounds like a) they don't actually use YouTube often enough to tell it what you want or b) they are using blockers/not logged in so it can't learn what you like.

BUT THAT BEING SAID, getting to use a minimalist <video> tag sounds very nice otherwise.


YouTube Premium for life. Haven’t seen an ad on YouTube since 2015. Not going back now.


I use 1Blocker on both macOS and iOS


Personal experience: Battery drain was always my problem with Firefox on MacOs. Why when using Safari it is nice and full day surfing w/o recharge; but doing the same with Firefox would discharge laptops battery much faster.


To quote the article:

  Did they work? Yes! Performance on lightly loaded systems was about the same as OSSpinLock but on loaded ones, they provided massively better responsiveness. They also did something extremely useful for laptop users: they cut down power consumption as a lot less cycles were wasted having the CPUs spinning on locks that couldn’t be acquired.
To no one's surprise, one has to use Apple's undocumented APIs to be able to match Safari's power use.


This conclusion does not have sufficient supporting evidence in the blog post.


Odd that you’re being downvoted. If the article had shown that Safari or the system allocator used this locking strategy then that would be evidence, otherwise the person you responded to is just making things up


Memory allocation is one of many differences between the browsers.


Or implement their own locks and support structures to eke out performance [1]. Hat tip to @pizlonator.

1. https://webkit.org/blog/6161/locking-in-webkit/


Battery life seems like an afterthought for anything other than Safari (and back when it was Trident-based, MS Edge on Windows), which is kinda weird when one considers how laptops have come to dominate computing.


I wish Mozilla had been able to keep pushing harder with their servo project. IIRC, one of the earliest upsides I remember hearing about to justify creating Rust (in order to build servo) was that the increased safety with regards to concurrency could allow a web renderer to parallelise computation across _underclocked_ cores, thereby setting a new benchmark for battery consumption.

Granted, that was more about mobile devices but it still stuck with me. Effortless and safe concurrency would tip the scales to having hundreds of low power cores instead of a dozen high powered cores. I want that world, esp for mobile devices and laptops.


When I worked on Firefox for Android, we were constantly fighting for the broader Firefox org to take mobile more seriously —- if Gecko excelled on mobile with respect to power consumption, then a lot of that would spill over to desktop platforms “for free.”

Unfortunately nothing had improved by the time I left in 2021.


Was Edge based on Trident? I thought they re-wrote an engine from scratch.


Edge technically used EdgeHTML, but EdgeHTML was a fork of Trident.

https://en.wikipedia.org/wiki/EdgeHTML


old edge was trident (which came from IE) new edge is based on chromium


From my understanding, Chromium/WebKit/V8 and Firefox/Gecko/Spidermonkey are the last (major) contenders in the browser engine space. After Opera switched to WebKit in 2013. And Edge in 2020. I'm sure there are numerous lesser known ones...


    * Blink (Google)
    * WebKit2 (Apple and some folks, mainly WebKit2Gtk)
    * Gecko (Mozilla)

    Microsofts Trident is dead, they now use Blink.  
    Operas Presto is dead, they now use Blink.
    KDEs KHTML (the predecessor of WebKit1) is dead.  
Google is dominating, pushing through Android, all Googles-Services and Microsoft Edge. A reason to worry because Google controls the Web and the Engine. Furthermore implementing an entire new engine seems an enormous effort. For instance Microsoft only allows usage of Microsoft Teams Web with a webbrowser based upon Blink. So were back in 2002?

WebKit features also WebKit2Gtk (Epiphany) and Qt5-webkit (Otter) with native integration. Both use the native toolkits, which is an advantage! Interaction with the open-source community around WebKit seems rather good and the engine is integrated by others. Gecko seems not to be integrated by others but by forks only? You remember when Chrome was considered slick and fast? Originally Chrome used the native toolkit on every platform. Now Chrome ships an own toolkit, similar to Firefox.

And? Maybe there is a new engine on the block:

https://github.com/SerenityOS/ladybird

PS: I think the Epiphany guys doing a nice job but need more developers. The upcoming release will support Web-Extensions.


I use teams.microsoft.com in Firefox all work week without issue.


Chrome (Blink) and WebKit are two different engines.

It's Chrome dominating, Webkit a somewhat distant second [1], and Firefox a third, quickly disappearing into oblivion [2].

[1] There's a huge number of weird versions of WebKit running on TVs and such.

[2] It's barely around 200M users, but it's bleeding users slowly and surely https://data.firefox.com/dashboard/user-activity and https://news.itsfoss.com/firefox-decline/


Google forked from WebKit in 2013, at this point there might be huge differences between WebKit and blink. Someone more knowledgeable might add something to this.


This. Firefox drains battery, but still less than Docker & a TypeScript dev environment. Using those three together means my M1 Air falls a LONG WAY SHORT of the 18hr battery life I was promised


Sounds like a problem with the os. Ever consider switching?


Is there an OS and hardware combination you suggest for 18 hours of Firefox, TypeScript, and Docker?


Linux, ThinkPad T470 with the big 95Wh battery.

Bonus: Charging your mobile phone takes less percents off your battery life than with a macbook.


I had to do a double take when I read the parent, but I suspect they were referring to running Linux to avoid the Virtual Machine overhead on MacOS. However I doubt the Linux driver support for the M1/M2 has anywhere near the level of power optimization as the MacOS drivers.


There isn't any other OS that you'd want to run as a daily driver on that hardware platform atm. Linux support is still immature/incomplete, and IIRC Windows support is completely absent. (Some of the people working on the Linuc port are also porting to some of the free Unices, too, which I assume are in a similarly incomplete state.)


If you think that persons battery life woes are bad, you should see how horrible my Windows/Ubuntu Intel work laptop is when running the same software.


Having the same issue, patiently waiting for Asahi Linux to deliver.


I’ve been on brave for about 2 years now and all I see people talk about is Firefox. Should I swap? I thought people liked brave but I really don’t see it mentioned anymore.


Depends what you care about. I think there are two main reasons to use Firefox over Chrome:

- better privacy protections

- not wanting to leave web standards entirely to Google/Apple (for-profit corps)

Brave attempts to address the first, but does little about the second as it uses Blink (i.e. Chrome's engine). Personally, I care a lot more about the second.


IMO Firefox with a few extensions is much better than brave for the first.


I use Brave and Firefox primarily on my Linux computers (and Safari on MacBook for battery reasons already mentioned). I just switch between them for different purposes. Usually Brave for Gmail or Google Docs, and Firefox if I need some extension not available in Brave (Firefox still seems to have more robust extension capability).


I would recommend it. Firefox + uBlock Origin + NextDNS is an awesome experience. I keep NoScript mostly off but occasionally enable.


I have uBlock origin on brave so that’s moot, but I don’t use nextDNS. Is there a reason to use it when I’ve already got brave/uBlock killing most ads and trackers? (I also use proton VPN, not that it’s quite as relevant but figured I’d throw it out there).


We'll see what Brave can do to work around it, but chances are that content blockers are going to be handicapped when Manifest v3 is fully implemented.

Firefox will have no such problem, as Mozilla has specifically committed to keeping the necessary features.


Just to add to this, even before the upcoming Manifest V3 switchover, Firefox's uBlock Origin implementation is already better than Chrome's.


Appreciate the insight!


Personally I still use NextDNS to help me kill ads on mobile, and also keep a tighter leash on my various IoT devices. You can block more than just ads with it and it also gives you interesting data, hard to beat for less than the price of a cup of coffee each month.


So I’m an usual user here - I’m tech savvy compared to most people (film/television background and just a general nerd) but I am a Luddite compared to y’all around here. I imagine it’s not hard to set up, but what does it give me that ad guard + proton + brave (mobile) and proton + brave w/ uBlock origin (Mac) don’t?


Yeah its super easy to set up, but the biggest reason you would want to use it in addition to other adblocking stuff is that it works outside of browsers - you can block telemetry from your smart lights, you can stop a random app on your phone from showing you ads etc etc.

It does in theory also help block some malicious sites so you do get a bit of added security in that way. That can also be helpful if you have kids - block sites you don't want them on etc.

Personally I've also found their servers to be reasonably performant, no issues with query response times or anything like that.


Appreciate it! I’m going to get it all set up tomorrow.


Why would you need NoScript if you're already using uBO?


Security mainly - a site I do not trust


My point is you can block JS on uBO.


> I’ve been on brave for about 2 years now and all I see people talk about is Firefox. Should I swap?

They’re not wives, you can have more than one.


I have news about some people's approach to wives.


It’s far more conducive for the way I work to stick to one browser for the most part. You do you.


Same situation. I switched to Brave a couple of years ago (from Firefox) and I occasionally check in on Firefox to see if I should switch back. I haven't seen a reason yet. Things like full screen support in YouTube sees a bit janky still. I like where Brave is going with getting rid of cookie consent and other annoyances without extensions.


> I like where Brave is going with getting rid of cookie consent and other annoyances without extensions.

Firefox is supposed to get that too. Believe it's in Nightly already.


Do you care about vertical tabs? (if not, you must not have many tabs open at once) If so, your choices are: Opera, Edge or Firefox with one of two extensions (I use Sidebery).


Vivaldi also has vertical tabs out of the box, with single-level grouping - very similar to Edge.


Brave is adding vertical tabs. It's currently available via flag on Nightly and Dev. Hope they add nested tabs also!


Thanks for that info! I think nested tab are lame as it wastes some of the tab title length. I use a browser window for each high level topic, which mimics the advantages of high level nests.


This is a fair point. In recent years (before Brave supported tabs, but after I left Firefox), I had to use a single window because the TST-style tab manager sat beside it in a separate window. This was annoying enough even with a single browser window, and it was unmanageable with multiple windows.

But now that I'm using native tabs, it is much easier for me to use multiple windows because the tabs are attached. Thanks for pointing this out!


Just to add another suggestion to the multiple windows approach: the Titler extension allows you to name each window so that the title shows up before the current tab name of that window. Unfortunately, Sidebery doesn't pick it up, which makes moving tabs between windows a bit of a pain...


IMO Firefox's open tabs menu is a pretty good stand-in for vertical tabs.


Or Vivaldi natively.


I'm genuinely curious, have you looked into the lack of good sandboxing with Firefox browsers (https://madaidans-insecurities.github.io/firefox-chromium.ht...) ?


I wonder whether this could be related to "profile bloat" or something.

It's not a direct apples to apples comparison, but my anecdotal evidence, on Linux, is the opposite. I usually use Firefox on my Linux/X11 box, but every now and again I fire up Chromium and always get the feeling that it's much snappier.


It has been snappier for me for awhile now on Windows at least. I have not used it on OSX enough to really know but I never found it slow


Certainly YouTube isn't snappier than in Chrome at all. Most other sites feel the same or faster, however.


How is firefoxes battery life vs safari in a MacBook?


Ungoogled Chromium doesn’t serve ads or bundle spyware on by default. Firefox does.

Someone should make an automated Unmozilla’d Firefox that rips out all phone-home and advertising. I’d run that.



I use https://librewolf.net/ which I think might be close to what you are looking for?


I may be mistaken, but I have found the Microsoft Edge to have done considerable catching up. In my Mac and on PC, it beats Chrome anyday in performance and ease of use. I understand that Microsoft have reasons to invest heavily on a modern, nimble browser. But do we have any other reasons - like trying to conquer a new market etc. Behind this?


Edge is Chrome.


Edge is Blink.


I gave it a go:

* CPU Usage is extremely higher than in chrome for video call/meeting related websites.

* Font rendering is horrible on a lot of websites. I think this is more fault of the website developers, but it doesn't change the fact that I as end user with Firefox have subpar experience.

* The native OS integration seems very janky, from swipe to go back, to pinch to zoom, something feels off about them.

* I've encountered a lot more websites that didn't quite work smoothly. This is same as one of the points above of web developers being at fault here, but it still doesn't change my experience with FF.

I want to use Firefox, but not if it degrades my experience - which it currently very noticeably does.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: