Let's say you've got a cake making business. You've decided to use Trello to organize your cake making process. You're already off to a good start.
Things are operating smoothly. You've added employees to your board and you're using labels to neatly categorize cakes. You're business is very successful, undoubtedly because Trello is keeping your team so organized and on track. But now you've got a lot of cakes in the pipeline. Every time somebody turns a corner, they bump into a cake. What Pat is doing right now. Is she working on wedding cakes? How about birthday cakes? There's a lot to take it. You panic.
We've added card filtering to Trello to solve just this problem. But, you know... not just for cakes. Filtering highlights a selected set of members and labels. It's easy. Just click the 'Card Filter' button on the board sidebar. You'll get a menu of all members and labels. Select a member and all cards assigned to that member will be highlighted. Now select a label and only cards with that member and label will be highlighted. You even get a handy ON indicator on the filter button, so you know there's an active filter.
But there's more! You can select multiple members and multiple labels. How does that work?
The filtering system evolved. In early drafts, we showed all matching cards with assigned members and labels (a union). But you couldn't filter for only birthday-labeled cakes assigned to Pat. Instead you would get ALL birthday-labeled cakes and ALL cards assigned to Pat. And if you also filtered by Carlos and the wedding label, then you got ALL Pat cakes, ALL Carlos cakes, ALL birthday cakes, and ALL wedding cakes. Probably not what you were looking for.
Then we thought, what if we used an intersect of all selected members and labels? For instance, if you selected 'Pat', 'Carlos', 'Birthday', and 'Wedding', you would get only cakes assigned to BOTH Pat and Carlos which had BOTH labels birthday and wedding. Well, turns out Pat and Carlos are rarely working on the same cake. And, uh, have you ever celebrated a birthday and a wedding together? This intersection would almost never happen.
After three tries, we think we got it right. In the final version we use a union for all members, then a smaller subset of labels. So if I select 'Pat', 'Carlos', 'Birthday', and 'Wedding', I get all cakes Pat or Carlos are working on as long as they have the birthday and/or wedding label. Pat and Carlos don't have to be working on the same cake together to match. This is not the impossible intersection of them all and not the useless union of everything.
There's one more aspect. If you select just 'Birthday' and 'Wedding' without any members, you'll get all cakes with either of those labels (or both). Similarly, if you select 'Pat' and 'Carlos' with no labels, you'll get all cakes assigned to either of those fine bakers (or both).
So now you can relax and see all those birthday and wedding cakes Pat is making. We thought briefly about allowing complex queries with nots, ands, ors, and so forth, but we didn't want you to have to buy a book on set theory. We wanted to keep the interface simple and fit most people's needs. Oh, and there are a couple keyboard shortcuts. You can use 'q' to show only your cards and 'f' to remove all filters.
Now go on and filter.