uBlock Origin Maintainer on Chrome vs. Firefox WebExtensions
discourse.mozilla.org
discourse.mozilla.org
Latest version does multi-processing, e10s is finally here (though it might still get disabled by usage of certain add-ons, I remember I had to force it to stay enabled).
On performance, in the past it felt sluggish, but now Firefox is fast and for my usage patterns it uses less memory than Chrome.
And one thing I really love is the Awesome Bar, which is a pain point every single time I open Chrome. I have a lot of websites I need to return to and in Chrome I end up searching on Google far more than I should. I guess that's the biggest difference between Firefox and Chrome, as Mozilla does not feel obligated to shareholders to extract ads clicks from you (although I hope that whatever they do keeps them afloat).
Also, tab management. I installed "Tab Center" from the Test Pilot and it's awesome. The experiment is now over unfortunately and the code itself for Tab Center isn't compatible with WebExtensions, but there's work going on to port it and that highlights that Firefox's WebExtensions will be more flexible than Chrome, if they aren't already.
But in the end I actually care more about trusting my browser and its maker to protect my interests. I actually trust Google more than I trust other companies, but something feels very wrong for a company to have so much leverage on me. Which is why, as long as I have a choice, I'll always prefer Firefox over Chrome, or Safari, or Edge.
Contrast this with Chrome, where the idea behind address bar user experience seems to be maximizing the number of Google searches done.
But the one that really keeps me on Firefox is Vimperator. It's the best keyboard oriented browser UI in mainstream browsers. The extensions available for Chrome are nowhere near as good (last time I tried).
The worst part of Firefox is the terribly long startup time. It can take up to 10 seconds after a reboot and takes quite a long time even with warm caches. Chromium startup is near instantaneous.
If you're the type with a lot of tabs open, that should improve a lot in the next few releases.
https://metafluff.com/2017/07/21/i-am-a-tab-hoarder/index.ht...
I'm not and I don't store/restore tabs on close, so that's not the case here. It's just Firefox + Vimperator + uBlock origin with about:blank as home page.
I'm on Linux/X11 if that matters.
If anyone wants to help with making an alternative, look through that thread. I'm particularly invested in Tridactyl [2] but other people are working on others.
[1] https://github.com/vimperator/vimperator-labs/issues/705
It's a web browser, not an actual text editor. 99% of the time, you're just wanting familiar keyboard commands for navigation. It feels like Vimperator does so many impractical things almost tongue-in-cheek, just to show how cool it is that they're theoretically possible.
What happens if you try to completely reset the Firefox profile, and bring back the plugins you want?
Then pray for Tree Style Tabs to be implemented by default in Firefox.
Although I firmly believed that tabs on the side make more sense for any kind of users. Nesting tabs require a bit more practice though and that could be an opt-in option.
Firefox address bar is just more productive in simple things like re-opening frequent/historical sites.
https://en.wikipedia.org/wiki/Lognormal_distribution
Chrome might or might not suggest it when I start typing "logn...". But if I type "/logn" it's there immediately. They're tokenizing URLs in a stupid way, apparently.
Did you ever use vimium on chrome? It's part of what keeps me on Chrome, I remember I had a quick glance at Vimperator a fair while ago, but switched back to chrome as it was what I was used to. I keep wondering about trying again.
Can you talk about the trade-offs between them?
With ad-blocking especially, I just can't trust Google to be fully supportive. I mean, who are we kidding? It's literally their business model.
I've always watched twitch in Chrome (second browser, other screen, works fine) because firefox used to be bad. It's likely that I will start doing the same with Netflix.
The best browsers for Netflix are IE or Safari. Chrome and Firefox support up to 720p only.
Are multi-processing and e10s separate things?
How do you forcefully enable it? 5/7 of my addins are listed as Legacy so I am still in single process mode, I am dying to try multi-process!
EDIT: See here: https://www.ghacks.net/2016/07/22/multi-process-firefox/
EDIT 2: Doesn't seem to work, for me anyways. It appears to be enabled in about:config but I only see one process running in task manager.
EDIT 3: I lied, it does work, 8 processes running now.
ALSO: Does anyone know if tree-style tabs will be made compatible, or if there is something comparable that is?
Honestly, this kind of statement is nothing but a superstition that you usually hear from people that think that it's impossible to be productive using different approaches.
For me nothings beats Vimium's "T" or Session Buddy + Keepin' Tabs extensions pair.
> Honestly, this kind of statement is nothing but a superstition that you usually hear from people that think that it's impossible to be productive using different approaches.
Maybe, but I'm pretty sure I'm more productive than you. We should compare each other browsing reddit some day.
I'm using fork when eating pasta. Still, my chinese friends tell me that nothing beats sticks and I should just try to use them for longer periods of time.
See what I did here?
Your assumtion is baseless. You don't know for how logh I've been using it, nor do you know about the results (aside from the fact that I don't use it anymore).
>Maybe, but I'm pretty sure I'm more productive than you. We should compare each other browsing reddit some day.
I'm sorry, but "browsing reddit" and "productive" are on opposite sides of scale for me.
You are entitled to your opinion, no matter how childish it may be.
I installed Tab Outliner briefly, and honestly, I couldn't figure out what the heck it was trying to do. Maybe my mental capacity is too limited, but as far as I could tell it didn't get me one iota closer to my goal. What I've settled on, for the times when I need to use Chrome, is an external helper app called Sidewise.
So Tab Outliner needs to do a LOT more to make its operation more discoverable if it wants more users.
/me remembers how fast FF was compared to IE 'back in the days'.
I'm very excited about Quantum CSS and Quantum DOM landing.
That's probably the single most reassuring statement about Firefox that I've heard in some time, coming from a serious dev who makes a popular cross-platform addon for both Firefox and Chrome.
As a user who doesn't think about such issues, it terribly looks like it's becoming a Chrome clone. I think it's Mozilla's responsibility to have a clearer communication if that's not the case.
WebExtensions should be better sandboxed and have better permissions management.
You can't get those security benefits if you allow older XUL extensions to stick around. You have to sunset XUL extension at some point.
Not if you previously moved to the Jetpack, err addon-sdk with cfx, err jpm tool. Now there's yet-another API to move to. At least this one will make it easier to develop portable extensions (but still not straight-forward).
Give me more useful over more secure any day of the week.
The new model also means actual public support for a well-defined API. It's so much better for developers.
Besides, it also enables some big performance and security wins.
In the case of Firefox extensions, I'm aware of the risks of the old model, but the fact is that the only observable difference it has made to me so far is that when I accidentally hit back on a page with an unsubmitted form the other day I lost about 20 minutes' worth of work, because the extension I used to use that would have saved everything automatically no longer works. This is not progress.
browser.backspace_action = 2
Read [1] for more instructions.
If you explicitly used the mouse to click the Back button, I am sorry for the time you lost.
(And, of course, I don't believe your desired functionality is incompatible with Web Extensions anyhow.)
I always say "Safety Third."
On the other hand it is an annoyance for many extension developers and users of those extensions. Half of the extensions i use (like DownThemAll, FireFTP and MAFF) are not WebExtensions compatible and there aren't any alternatives.
I fully expect most people will share my view.
What did they do?
"Chromium-based browsers are being “infested” by Instart Logic tech which works around blockers and worst, around browser privacy settings (they may start “infecting” Firefox eventually, but that is not happening now)."
From his linked post:
"Instart Logic will detect when the developer console opens, and cleanup everything then to hide what it does"
Is this implemented via a CDN-delivered script? Why would Chromium-based browsers be more susceptible?
There's another one I can't find, but it writes out things like "user moved mouse to x,y. User has been idle for 10 seconds, page lost focus, page gained focus" .. kinda creepy how much is available to the Javascript engine.
And thanks for the new novelty website bookmark :D
Clickable link
>No plugins detected.
Interesting. I have 6 installed on Firefox.
I mean, it's not like every desktop application you've ever used in your life couldn't do the same or more?
I think that it would be a better comparison between a pdf file and the web: pdfs files can't do the same or more.
And I would argue it is harder for the average user to view the JavaScript inside PDFs: on the web just right click and choose Inspect Element right in the browser; for a PDF you'll have to use specialized tools to decode the myriad encoding schemes inside a PDF. The average JavaScript developer doesn't know how to extract JavaScript from a PDF.
Is the "you" in this scenario Richard Stallman?
The easy check for this would be to see whether opening the devtools in detached mode via the menus makes it notice.
Note that this would actually be quite a pain to hide from the page, just because it's something the page needs to know to display some stuff and make rendering calculations. If it was hidden from the page, we'd suddenly be complaining about debugging floating footers which are hiding under the devtools.
document.addEventListener('keydown', ({ keyCode }) => console.log(keyCode))
91
16
73
You can see each key.
The person who figured this out probably opened them via menu and had dev tools in another window, so the evil folks couldn't detect the resize.
Still better than Google Creep. Change to a search engine that protects privacy too.
Flash? Now you have heavily javascripted "website".
Table layout? Now you have bootstrap and friends.
Progressive enhancement? Fuck that, we don't have time.
And 5 years from now people will rediscover those and accessibility. Then 5 years later another kind of hell will have appeared to replace this.
The only big change for the current wave is that everything is obfuscated so it's harder for a newcomer to learn by checking how people coded things.
By far the most annoying 'feature' (more of a consequence of the internet) is the way that you can't whitelist HTTPS sub-domains. (Makes AWS Console a pain.)
It took me a while of using DDG before I realized how much I had equated "good" with "looks like Google".
What finally hit me, hard, was that I switched the DDG theme to a color scheme designed to look like Google search results, and all of a sudden the results "felt better". Markedly better.
So, I started regularly comparing results, every time I found something that I felt I didn't get the results I expected for. I would search, and then search again with !g. And almost every time I ran into something that I didn't like the DDG results for, the Google results weren't actually any better. (The rare times they were, I reported that, and often it got fixed.)
This does not work for replacing "!spi" (image search on Startpage) though. Using "!si" does a search on a non-existent subdomain sportsillustrated.cnn.com.
just tried !spi and it works as image search :D
That’s the very reason I switched to ddg, but it bites me back everytime I try to catch up on stuff everybody already knows for days, and need to fallback to !g.
The DDG bang system is one of its best features in my mind. https://duckduckgo.com/bang
Might be time for another go?
Other than the relevance and quality of search results, there are differences in features across these sites, like date range search, for example. Image search also seems to have more flexibility on Google. I haven't checked recently if reverse image search even exists on DDG or Startpage.
> The purpose of Instart Logic technology is to disguise 3rd-party requests as 1st-party requests, thus bypassing content blockers, and even the ability of browsers to block 3rd-party cookies (because they are stored as 1st-party cookies):
https://github.com/gorhill/uBO-Extra/wiki/Sites-on-which-uBO...
Which part? The making 3rd party cookies into 1st party cookies is likely just a caching proxy. They mention the speed benefits here, and not the cloaking benefit, but.. https://www.instartlogic.com/solutions/appspeed/runtime-opti...
https://stackoverflow.com/questions/7798748/find-out-whether...
From the linked discussion: "they may start “infecting” Firefox eventually, but that is not happening now"
So it sound like the developers of Instant Logic are simply choosing to target the most popular browser at the moment.
"Web publishers make simple DNS changes to flow the network domains that carry their HTML through the Instart Logic system. This allows our system to inject a small piece of JavaScript that can detect the presence of ad blockers. When an ad blocker is detected, the JavaScript-based virtualization layer Nanovisor, together with our intelligent cloud-based, machine learning platform, encrypts and delivers all the elements of the page using the customer’s existing delivery services.
As a result, each resource on the page, and any signals and actions such as measurement beacons or user clicks, will have its URL encrypted and obscured. This renders ad blockers ineffective, as they can no longer search for patterns which would indicate a resource is related to advertising.
The result is simply the experience that the web publisher intended on delivering to the end user with no changes to the ad delivery or measurement systems; end users have no need to be aware the technology is even being used."
Chromium-based browsers are being “infested” by Instart Logic tech
which works around blockers and worst, around browser privacy
settings (they may start “infecting” Firefox eventually, but that
is not happening now).
And there is a link to further elaboration: https://github.com/gorhill/uBO-Extra/wiki/Sites-on-which-uBO...Hadn't heard about this, but this is why I still keep long blacklist in my /etc/hosts file even though I use uBlock Origin also.
Out of habit I get mine from http://winhelp2002.mvps.org/hosts.htm. Not sure it's the best one, but I started using it years ago when I was still using Windows and have just stuck with it.
https://github.com/brave/browser-laptop/issues/9082#issuecom...
Another variant: https://stackoverflow.com/questions/7798748/find-out-whether...
* You can run the uBlock Origin on Firefox for Android: https://addons.mozilla.org/EN-US/android/addon/ublock-origin...
Afaik there's no ad-blocking extension for Chrome for Android which I find pretty telling. I'm using Firefox on Android and the ad-blocking (less traffic, less blink-blink animations and less CPU consumption) make mobile browsing a night-day difference
https://arstechnica.com/gadgets/2017/04/report-google-will-a...
So all the noscript equivalent for Chrome could offer was to block Javascript after it had loaded. Which seemed unreal and pointless.
So I stayed on Firefox. Because I've been convinced for many years now that Javascript plays a major role in malware delivery through the browser.
And along with email the browser is the major delivery platform for malware.
Javascript can be used to deliver/encode/decode exploit payload. Usually the exploit itself is java or flash.
At least, that's what I noticed for the zero day RCE that made it up to the first page of Google.
For technical users, uMatrix' interface is an amazing achievement in, effectively, managing application firewall rules. It's breathtakingly efficient in both communicating active settings to the user and in configuring new rules. I wish my actual firewalls used that interface.
it's also easy to access: http://cdn2.ubergizmo.com/wp-content/uploads/2012/11/site-in...
i wish firefox came with something similar
Say you randomly visit a site and want to temporarily allow the javascript it uses to do its thing, but you don't want to allow any other javascript on the page such as facebook's and google's. The built-in chrome javascript blocker doesn't let you pick and choose temporary permissions at that moment.
Broay this is because quantum is much further along in nightly than on the other channels. Specifically, they're more aggressive with multithreaded settings, multiprocess is enabled, and the quantum css component is turned on, too.
Is also helps that we compare to chrome. On Linux chrome doesn't even do GPU rendering. So the HN crowd probably has a disproportionately bad experience with it
I thought you were overstating it but I just tried it out and you're right, it's crazy fast.
As others have said here, I just installed Firefox Nightly after reading this, and you're 100% correct. I think it might even be faster than Chromium for me.
Canvas: Hardware accelerated
CheckerImaging: Disabled
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
Rasterization: Software only. Hardware acceleration disabled
Video Decode: Software only, hardware acceleration unavailable
Video Encode: Software only, hardware acceleration unavailable
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
But this is with an integrated GPU, so maybe things are different for discrete cards.Have you tried using a fresh profile, just to narrow the possible variables?
If you've checked both of those things, and you can characterize the slowness in the context of specific operations (e.g. what "laggy" means, precisely), then I'd recommend filing a bug and working with the developers to track down the problem. Because that is not normal.
I just refreshed my profile and performance improved immensely.
You can check the acceleration status in about:support, look at HW_COMPOSITING and OPENGL_COMPOSITING.
On Linux, manually enabling GPU acceleration as user ac29 describes below can a big difference. Unfortunately, a lot of Linux GPU drivers have issues that prevent acceleration from being enabled by default for some users.
https://www.cnet.com/special-reports/mozilla-firefox-fights-...
and the whole article is on a floating div?
Firefox 55 marks classic extensions as legacy, this has nothing to do with multi-process comparability.
Vivaldi has been a lot faster and mostly an alright experience, and I've watched many of the issues I've found for it get addresses in recent builds. Still there are many things I miss about Firefox, not to mention supporting that community and the browser I've used for well over a decade (including back when it was Phoenix, the original Mozilla and the old Netscape 6 that proceeded them).
I can't not notice the irony that this is happening with FF on the mozilla.org Web site.
The one downside is that the URL may no longer point to the comment you were originally linked to.
[0] https://developer.mozilla.org/en-US/docs/Web/API/Location/re...
The default configuration of Safari is actually protecting you better than Firefox's and most users don't have an ad blocker installed.
You make a good observation about Safari too. Apple doesn't make much money from advertising--they still sell hardware. They can provide privacy to users at little expense to their core business.
The much bigger problem is webpage owners which lose almost all incentive to support Firefox, if it blocks their ads. You'd have broken webpages all over the place.
https://support.mozilla.org/en-US/kb/tracking-protection-pbm
People here probably didn't notice right away, since you pretty much had to have no extensions installed for a long time for it to be enabled, but casual users seem to have noticed...
This is a post of gorhill from the last months Firefox - Google Analytics fiasco:
> Legacy uBlock Origin can block the network request to GA.
> However webext-hybrid uBO as per Network pane in dev tools does not block it. Same for pure webext Ghostery, the network request to GA was not blocked, again as per Network pane in dev tools.
> What is concerning is that both uBO webext-hybrid and Ghostery report the network request to GA as being blocked, while it is really not as per Network pane in dev tools. It's as if the order to block/redirect the network request was silently ignored by the webRequest API, and this causes webext-based blockers to incorrectly and misleadingly report to users what is really happening internally, GA was not really blocked on about:addons, but there is no way for the webext blockers to know this and report properly to users.
https://github.com/mozilla/addons-frontend/issues/2785#issue...
WebExtensions currently fall short when it comes to any addon that modifies the UI significantly (tree-style tabs etc), though it's been mentioned in some other comments here that they're talking to addon devs to extend the API where possible.
The irony is that since most people have DNT disabled having it enabled would make it easier for you to be tracked.
> it appears that Mozilla doesn't intend to let addons run on `about:`.
Why is that?
Even better-- have the pause button in devtools window, "pause" by default when you open devtools, and then unpause once something gets mutated/re-layout'd.
I guess you'd still need to protect the devtools shortcut key so that any DOM shenanigans are guaranteed to get invoked after the devtools listener. But browsers already have all kinds of crazy edge-cases in the name of security (e.g., no manual triggering of <select> menu). Keeping polymorphic worms from corrupting the devtools state seems rather important by comparison.
If you use a much narrower definition of "clone" than is typically used in this context, then sure. If, however, you use "clone" a bit more flexibly, and note the word "becoming", then it's a different story. That's not to say that Firefox won't be better than Chrome, and it's certainly not to say that it won't have any advantages over Chrome, but it is giving up some of its major current advantages.
Please correct me if missed something, but i think i have to hold off for a little bit longer.
I love the principle, but I can't use it with AWS, I can't use it with my bank, I can't use it with my domain registrar, and I can't use it with Office 365.
That's 0/4 of the high priority targets for me.
Under "Cloud Computing", ONLY GCP has support.
Under "security" vendors, no one does. "Payment" vendors again only list Google, and none of the domain registrars do.
In fact the most positive field is "social networks", with three separate ticks.
Also Google Hangouts and Meet do not work.
On GitHub, U2F works with the Firefox addon https://addons.mozilla.org/en-US/firefox/addon/u2f-support-a...
I think WebRTC related tooling should get a lot better - and extensions should be able to hook into WebRTC calls just as easily as they do to regular functions.
Websites can just grab a fresh copy of RTCPeerConnection from a different realm anyway (an iFrame in this case) - it looks like uBlock is mostly stuck (unless it prevents sites from opening said realms).
Also, firefox comes with tons of built in features you cannot disable. In past they have caused security issues (e.g. the pdf.js exploit).
Just set geo.enabled to false.
There's also a preference to permanently disable pdf.js there. Or you can change the default PDF reader: https://support.mozilla.org/en-US/kb/disable-built-pdf-viewe...
Overall having pdf.js is a benefit to internet browsing. Should we not innovate and try to improve our tools just to preserve security?
I would doubt it. The experience that pdf.js provides is inferior to dedicated programs like xpdf.
> Should we not innovate and try to improve our tools just to preserve security?
We should, but we should not make such things like pdf.js unable to be disabled by the user.
That's not the point, I open dozens of PDF daily and I don't want to have to switch programs all the time. An integrated light PDF viewer is one of the best new feature of modern browsers.
PS: You can set the pdfjs.disabled pref to true on the about:config page to disable the build-in PDF viewer
PS2: Not sure this still works.
That being said, I will also agree that it is convenient sometimes but it is much slower and much less compatible than native viewers, making it useless for me about half the time. Still, I see no reason why it needs to be integrated into firefox instead of being just an addon (even if it is installed by default).
Brave is Chromium-based and has anti-fingerprinting tech (which it was the first to include IIRC): https://github.com/brave/browser-laptop/wiki/Fingerprinting-...
It also works on Brave for Android.
Adding a bookmark takes about a minute.
Brave won't remember BASIC passwords
General sluggishness
Kickass Torrents is able to launch ads when clicking in the search box.
But Kickass Torrents died a year ago or so.
Unfortunately 2017 is the year of the CPU usage apocalypse on the Web. Go to this insane Guardian page, scroll down a page, and observe what happens for a minute or two perhaps scrolling down some more: https://www.theguardian.com/news/2017/aug/10/adele-vocal-cor...
The numbers keep jumping around a lot, but very roughly what I'm seeing is this:
Safari: 2% - 8%
Chrome 50% - 150%
Firefox 150% - 250%
(100% is one CPU core. I'm not using any ad-blockers)Obviously, these numbers are non-deterministic and depend on the individual ads that are being displayed. But the numbers are roughly representative of what I've been seeing over the last couple of months.
1. With uBlock Origin running, I don't go above 11% CPU
2. I turned uBlock Origin off: reloading immediately sent my CPU to 80%, and it *stabilised* at a constant 30%.I have made it a habit to try resource hungry pages in all my browsers. The variance is huge but the pattern is pretty clear when it comes to CPU usage, especially between Safari and everyone else (excluding Edge and IE as I don't use Windows).
Does anyone know what gorhill means by this? Stylish for Chrome seems to work fine: https://chrome.google.com/webstore/detail/stylish-custom-the...
Am I missing something? (Probably, but what?)
Edit: on Chrome Stylish inserts a <style> tag at the end with the css, it seems stylish insert the css via javascript in Firefox though.
While that my not impact a ad blocker, there are countless extensions that can not work with Web Extensions and will make Chrome err sorry Firefox far less appealing to people.
For me, more than a few of the extensions I use regularly are not compatible with Web Extensions, and a few of them that are critical to my productivity are in limbo still
That is the Source of the "Chrome Clone". The switch to Web Extensions is hated by many many firefox power users.
Sadly they feel the users that have stuck around all of these years, that did not abandoned them for Chrome are worthless, and have chosen to attempt to attract those users that did abandon FF for Chrome back. They are doing this by making a browser that is unappealing to me (and many others actual FF users, not Chrome Users who are the most vocal proponents of Firefox's current direction), a user that has been a FF loyalist since FF version 1.
I am not 100% sure I will switch to another browser, the options are very thin these days but it will be a sad day for me when FF57 is all that is left
Seems they have all the APIs needed for it at the very least approved. It's not like Mozilla just said screw everyone... Let's become chrome. They are putting in the effort to make web extensions viable for even the more advanced uses.
if I wanted Chrome style Vertical tabs I would have moved to chrome years ago
Unrelated, but the fact that the developer doesn't get the extension AMO approved and uses eval() all over the place should give some pause as well.
Now, the real question is: "why isn't Firefox developing a default Tree Style Tab?"
I think at this point enough people are using it, and it has proven to be a better way to browse.
He does, it is in the official add-on site, but their approval process is slow, and a few times a Firefox update has broken it and I've had to download the update from the dev's site because it takes a long time to update on the official site.
https://chrome.google.com/webstore/detail/chrome-side-tabs/h...
https://chrome.google.com/webstore/detail/vtabs/okpnlgbgcfch...
It is not part of the UI part of the browser like the XUL TreeStyleTabs but a separate Panel that ends up being buggy and feeling separate from the experience almost like managing your tabs from a separate window
TileTabs Self-Destructing Cookies
https://addons.mozilla.org/en-US/firefox/addon/tab-center-re...
I recently switched to an iphone, but sadly, the ios version of Firefox does not support the extensions.
Right now I'm using Vivaldi.
> It baffles me that some people thinks Firefox is becoming a “Chrome clone”, it’s just not the case, it’s just plain silly to make such statement.
He lists several ways in which FF is better, from a security standpoint.