I've been working on a project, and I found an interesting dilemma. The application I'm working on has this filter, let's say something like this:
By default, none of the "options" are selected, meaning that all the results will be listed with no filter applied. If the user wants to filter by PREMIUM or SHOP he can click on PREMIUM and/or SHOP. This kind of works like a check boxes. So if the user checks both boxes, the filter will look like this:
The thing is this. By default, since there are no filters applied, the application will show all the results. When the user clicks one of the options, the application will just show the results that matches with just that option. But when the user clicks the other option, the application will show all the results again, since it is showing the results with both the options.
Testing this filter with user resulted in no problem on the use. Users did not misunderstood how the filter would work. They understood every step of the filtering process and some even appreciated the clarity of the actions.
But the problem lies in the linguistic department. Is it ok to present a solution that shows the same result in two different states of the interaction?
Should we prioritize use over linguistic?
Do you find other solutions to the filtering problem?