Skip to content

Instantly share code, notes, and snippets.

@theseanl
Created January 23, 2017 09:07
Show Gist options
  • Save theseanl/f045d512ca4d634592163086596243d9 to your computer and use it in GitHub Desktop.
Save theseanl/f045d512ca4d634592163086596243d9 to your computer and use it in GitHub Desktop.

In user interface, what users should see are two things: "What language is mostly used for websites you visit?", "What do you want to block?" Answers will be (English, Russian, Turkish) and (Ads, Social Widgets) etc.

Each filter rules will have two tags: Language and Function(?).

Language tags

common, common.eng, common.rus eng, rus, tur, ....

The purpose of something like common tags is to provide minimal needed filters for users e.g. who don't visit English sites and want to block ads on certain language websites only. It would consists of common ad servers and element hiding rules. Or we can just use optimized filter for it, or use filters usage stats. I guess it could be handy for users who don't want to use memory for all those exotic ad domains.

If user enable (Turkish) only, it will enable rules with tags common, common.rus, tur (because presumably turkish websites would also use some russian ad providers because they are close?)

If user enable (English, Russian, Turkish), it will enable common, common.eng, eng, common.rus, rus, tur, ...

Tag names can be changed to be conceptually easier to grasp.

Function tags

ad, tracker(spyware?), social, annoyance.cookie, annoyance.popup, annoyance.self_promo, ...

What I am thinking of is that we could subdivide social into social.widget, social.tracker, social.widget.comment(blocks things like disqus widget)

How to fit existing filters into it?

For our filters, what rules belongs to what tag would be straightforward. When it is not straightforward e.g. regional trackers in Spyware filter, we can first put everything on common, and gradually move regional rules to more appropriate categories.

For 3rd-party filters, most of them falls in a category with (language, ad).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment