Skip to content
This repository was archived by the owner on Sep 9, 2022. It is now read-only.

What µBlock can and can not (currently) do

Raymond Hill edited this page Aug 22, 2014 · 45 revisions

"µBlock is just a stripped-down version of HTTP Switchboard".

No. µBlock started off by extracting the pattern-filtering engines (net and cosmetic filters) from HTTP Switchboard ("HTTPSB"). These engines needed more work to bring them to maturity. Most of that work has not been ported back to HTTPSB. Actually, I am questioning doing so, for the sake of code sanity, I consider removing ABP-filtering engine from HTTPSB, so that both extension complement each other, and with a narrower purpose, they can focus on doing what they do more perfectly.

Consider this issue as a good example of how trying to do too many things lead to over-complicated software that I myself struggle to explain. Also, IMO a good way to sabotage a good piece of software is to turn it into a kitchen-sink tool.

The more I think about it, the more I am convinced this is the right thing to do. If you look closely at the inner working of HTTPSB, ABP-filtering is already a separate part.

"µBlock does not support element hiding".

Yes it does. Try entering twitter.com##body in the "Your filters" text area and visit twitter.com: the page will be blank.

What it doesn't support yet, is the UI counterpart to "element hiding", i.e. being able to click on an element to extract filters out of it. Never mind, it's now available in 0.2.0.0. Click the "slashed eye" icon in the pop-up of the extension.

"The memory usage isn't actually ABP's fault, EasyList is like 40,000+ lines of rules that all have to be parsed by ABP".

µBlock also parse EasyList, EasyPrivacy, Malware domains lists, and Peter Lowes's Ad server list out of the box and yet uses less than half the memory of Adblock Plus ("ABP"), which is itself much more efficient than Adblock (at least this is what I have measured on Chromium-based browsers).

"µBlock has all the features ABP has!"

Edit: The text here was written at some point when µBlock was a version before 0.2.0.0, so a long time ago. As of version 0.5.0.1, the latest version, there is not much ABP for Chrome does which µBlock can't do. The only thing coming to mind is the "Block element" feature in the contextual menu (right-click). Conversely there are things µBlock can do which ABP for Chrome can't: read hosts files, log and inspect all requests (blocked and allowed), disabling the parsing of cosmetic filters (to save memory).

No it doesn't. There are things ABP can do which µBlock can't at this time. I will consider all feature requests, but I will implement only those which do not jeopardize µBlock's defining traits: lean, efficient and minimalist.

Filters with the $popup option are ignored. At time of writing, I see 558 such filters in EasyList. Chromium comes with a built-in popup blocker, which can be enabled in the settings. Supported in 0.2.1.0.

Filters with the $elemhide option are ignored. At time of writing, I see 50 such filters in EasyList. The purpose of these filters is to disable cosmetic filters on specific sites.

"µBlock has a smaller memory footprint than Ghostery or Disconnect."

No it doesn't. Last time I checked, µBlock has a larger memory footprint than both Ghostery and Disconnect. Regarding CPU footprint, I don't know, I didn't measure yet (maybe I will). Keep in mind that µBlock, like ABP, Adguard, and some others allows users to enter their own filters. There are also other differences, or similarities: µBlock, Disconnect and ABP are licensed under GPL. Also, there is this.

Clone this wiki locally