Custom filter tool improvements: Infinite Filters List
Adblock Plus used to have a very handy filters list table. Such table was a bit clunky when used to load a huge list of filters, as you can see in this video, but it was definitively a better experience than the textarea we have now.
As Thomas pointed out in this comment:
Some people might have a lot of filters, I'm not sure how well textarea (...) is handling a lot of filters ex. 50 000 and more..
a textarea is not ideal to handle a huge amount of filters/text.
User feedback has shown that the current custom filter tool has no intelligence and is inferior to the previous version. This is an important tool for Adblock Plus power users who create and manage 1000s of filters. With no intelligence, it is impossible for users to search, sort and enable/ disable individual filters. This has repeatedly come up as a feature request in the forum(it has been mentioned 9 times in the thread out of 136 posts).
This is considered a core feature by power users and not having this function as they intend it is a major blocker to their experience with the product.
We have been witnessing a downward retention rate in the last year, largely due to an increasing number of users uninstalling our extension after the first day (currently 32% - Feb 2018, compared to 38% in Feb 2017).
Improving user retention is one of the best ways to grow our user base.
I've already created a quick prototype of any improved area (video here) but after Thomas replied that it doesn't really have to be a textarea, I've tried to pick the best from old Firefox filters table, and the best form the Web (accessibility, CSS customisation simplicity, etc) keeping an eye for performance.
Please try out what I'd like to propose as new Filters table prototype, already preloaded with 65K EasyList filters (load on demand).
Following a quick summary of its features:
- asynchronous loading/showing of filters, you see 65K but these could be double that or more
- tab based navigation. You can reach pretty much every row just with the tab
- filter validation inline (right now it's random while you edit any field). This would avoid sending the whole list in search of errors like we do already now
- instant search results, the area doesn't scroll to the first match, it actually shows only matches as you type
- smart insertion. You type a filter, you instantly see if it exists already or not and if you press Add you'll have it on the list.
- keeping in mind a possible future responsive layout direction, it should
™be already working on mobile
- read-only mode out of the box. It's already prepared to be shown without edit-ability
- last, but not least, it's blazing fast! There's actually 2/3 of extra room in the 16ms per render on my MacBook Pro
I would like to know what you think about this prototype, where you see possible improvements when it makes sense at all, or what's missing that should absolutely be there.
All files are in this repository folder