|resources:||Home Mailing List Installation Source Code Members Bugs Screenshots|
What is AdBlockLearner?
AdBlockLearner is, for now, a standalone extension (yes, this is an oxymoron, but bear with me) for Mozilla FireFox, that learns to block ads based on simple user feedback:
- If you want to block an ad, right-click on the picture and select "Block Me". Not only that particular picture will be blocked, but AdBlockLearner will also block pictures that are "like" it, which mostly means pictures that come from similar URLs.
- If you want to unblock a picture because it shouldn't have been blocked (this can happen especially in the early stages, as the program is learning what to block and what not to block), right-click on the page (well you can't right-click on the image since it's been blocked, right?), click "Unblock" and select the picture to unblock from the list.
That's it, you just finished reading the user manual! No need to create complicated regular expressions!
But how does it work?If you are the curious type, you can monitor the algorithm's current knowledge base (in AdBlockLearner's technical lingo we call it "pickin' Babble's brain") by checking out the environment variables in about:config (search for "adblocklearner").
You'll see there that the knowledge base consists simply of two lists of tokens (Richard calls them "experts") with associated weights. The tokens are typically obtained by splitting URLs using the "/" character as a delimiter, but of course other variations are possible and will be investigated. One list of tokens is pro-filtering, the other is against. When a URL is being considered for filtering, the experts battle it out, and the majority wins! How democratic! (One would argue that this is not democracy, but mere elitist meritocracy, since the experts have different voting weight).
New tokens are potentially added and weights updated whenever the user gives feedback by manually blocking or unblocking an image. If you want to provide some initial training or perform some other type of brain surgery, you can do so by editing the environment variable values. But make sure to quit FireFox first, or it will override your settings: Babble is a persistent duck!
Don't expect any fancy UI. We are hoping to include AdBlockLearner in a future version of AdBlock once we are comfortable enough with the performance of our extension. It just makes better sense that way, as there is great overlap and that the AdBlock guys have done a great job figuring out a lot of complex filtering issues (Flash, multiple frames, ...) and providing a usable interface. AdBlockLearner will then become an extension to an extension, and Babble will return to obscurity!
Who's Babble, and why is he looking sad and fuzzy?
Babble is a (cute?) rubberduck, and the mascot of the AdBlockLearner project. We just got tired of saying "AdBlockLearner", and ABL didn't quite cut it as an acronym, whereas Babble rolls off the tongue nicely. I took the concept of the rubberduck from an old Slashdot thread where somebody was saying that he had a rubberduck in his cubicle, and he'd talk to him aloud whenever he had a problem. Verbalizing the problem helped him find the solution more easily (try it, it works!), but to his colleagues he sure looked strange talking to a toy. Listening to problems all day might have made Babble look a bit sad, but I don't agree! It just looks "neutral" to me, as a good rubberduck should! The fuzziness of the contour is due to my low digital drawing skills, but it gives it a little avant-garde look doesn't it?