Original Post by @Folke on May 4th
I like the way areas and tags appear on the top, and that we can press several such buttons in any combination. Great start.
I have an idea that i so simple and great that I do not know why no app has it, but first let me mention a few observations about the present beta1 filters:
- all areas and tags show in the bar even if there are no matching tasks in the list below - it could get very cluttered up there in the long run.
- the activated filter buttons stay in place even if you jump between lists: Sometimes this is actually very good indeed, exactly what you would want, but sometimes (often) you’d expect to get a fresh start when you click into another list. Perhaps a button called “Freeze filters” etc could help solve this? Or a user preference default?
- when we have selected all area buttons individually we get the same result as if none at all had been pressed (which seems perfectly correct) - but the buttons then still stay depressed (gray), which struck me as odd - they could have turned white (off) when they became neutralized. I am not sure what is best. Probably there should be a “Clear filters” button" (could be many buttons to press otherwise), and perhaps especially so if filters stay active across lists and you want a fresh start.
- the indication of “off” and “on” (white or gray button) is not super-intuitive. It took me a while to figure it out. Perhaps a little red dot in the corner of the button would be a better indicator of “on”?
- for the area buttons, the filtering is Boolean OR whereas for the tags the filtering is Boolean AND. This is inconsistent and makes it more difficult to figure out.
- although AND filtering (like in Nirvana and in this beta1) and OR filtering (like in Zendone) both have their good uses, I personally find OR filtering more useful for practical purposes, with the modest size of Next lists that I usually have (15-150 tasks, typically around 50). For example, if I press the @Peter, @Paul and @Mary buttons I see all tasks that have any of these names in them, whereas with AND filtering I get only the rare few that have all three names.
NOW LET’s MOVE ON TO MY HOT WISH - EXCLUSION FILTERING
I would like to be able to exclude tasks that have certain tags, and I think the solution is very simple. But here is why I would like it:
I usually avoid tagging, because it takes a lot of effort. But I realize tags could be very useful for making precise selections if only I had the right tags and the right tools. I normally do not want to tag my ordinary “average” tasks with more than necessary (because of the effort), but if I could tag only the ones that really stand out in some way (tag them with whatever it is that stands out about them), then the tagging work would be much more reasonable.
Silly-simple example: Let’s say a fraction of my tasks require @Silence. This would not pose a big tagging problem in itself, because there aren’t that many of them, and it might even be worth it to have that tag, for example if I want to make the best use of a particularly quiet moment. But if I am in a noisy environment I would instead like to hide those tasks from the Next list. If this then means (as it does in all apps I have ever seen) that I would have to tag the vast majority of tasks with @NoSilenceRequired in order to be able to exclude those that do require silence, then this would be too much work, so I would not do that. And therefore maybe I would not even implement the @Silence tag itself, unless I expect to look for them very often. And there are many other contextual factors that I would simply not have tags for. But if I could quickly and easily filter-click for NOT@Silence (noisy now) and NOT@Jackie (she is down with a fever) and NOT@Errand (it is raining heavily) and NOT@HighEnergy and NOT@LongTime etc etc, as many as I want, and have all such tasks excluded from the list, then I believe I would implement quite a lot of highly significant tags and also use them a lot whenever I go through my Next list and want to narrow down my choices and see all tasks that could be suitable on one single screen.
THE SOLUTION CAN BE SIMPLE AND GOOD:
Place a toggle button called “Show/Hide” on the filter bar. Default position Show. Then you would have an OR filter, showing tasks that have any of the selected tags (just like Zendone). By pressing the Hide toggle the selection would be exactly inverted, i.e. all those tasks that meet any of those criteria will be hidden.
If many people like to have AND filtering as well, there could be a separate toggle for AND vs OR (perhaps better called Narrow vs Wide or something like that?). Default position: OR (Wide). If you select the Narrow position you would get AND filtering (just like Nirvana; and if you also press the Hide button this selection would be inverted).
Slightly more complicated and much more powerful solutions are also possible, e.g. to alt-click, ctrl-click and shift-click different tags in any order to indicate NOT, AND and OR filtering of those tags based on the filtered result so far - but the first method I believe is simpler and good enough, and actually even better if you consider also implementing it consistently in a phone app that typically does not have those special keys.