Unfeature 5: Sorting and Filtering   by Ryan

One thing practically every single bug tracker out there has is sorting and filtering options. Of course they do, right? How can you not have sorting and filtering of bugs? Well, in a small dev team, we don’t think it’s neccessary at all — to us it’s just UI noise.

Alright, alright, let’s back up a bit. We aren’t saying no sorting or filtering of any kind. Of course you need to be able to find the things you’re looking for, and scanning a page of 150 bugs or using your browsers find-in-page are pretty unappealing solutions.

What we mean is the full-fledged, up-and-down-arrows, query-string uglifying table-with-nine-columns type stuff. The list of bugs should be sparse and include information which helps you:

  • recognize what the bug is about (title, tags)
  • see what kind of state the bug is in (status, priority)
  • know who it is assigned to (and reported by)

We don’t need columns for all of these things, and we definitely don’t need ascending/descending toggles for each one!

Unfeature

So what does Bugrocket do to make this possible, yet not go all out with ‘standard’ sorting and filtering controls?

Let’s say you’re looking at this list page:

And you want to know what’s assigned to you. You simply click the ‘assignee’ flag next to yourself in the sidebar:

Notice on the left side the list has now re-ordered itself with the relevant tickets at the top, and the rest grayed out.

Now I just want to see all the tickets which are ‘assigned’. I just click again on the ‘assignee’ flag to turn it off, and click the ‘assigned’ flag under the status section:

This example is obviously simplified, it has only 6 tickets, but this feature works with hundreds of tickets, instantly bringing the ‘matching’ tickets to the top of the list. You can choose as many or as few filtering options as you like. Here the user has selected tickets assigned to themselves, in QA and high priority.

And there are a few more niceties as well, if you hover on a row the assignee and reporter light up a bit in the sidebar to show you who is currently assigned or who reported that ticket respectively. On search pages you get a similar UI but instead of users it has project/list filter controls instead:

(this page may get a user selector too at some point)

Lastly, if you’ve tagged any tickets you can click on a tag in the list, and other tags will light up as if you clicked them too. This can be a handy way to visualize everything related to that big new feature without actually having to search for it or requiring more filtering controls.

Trade-Off

There is inevitably a time when you just can’t seem to find that obscure bug you know is in here somewhere. We have searching for that. But even without search, we still don’t think it’s worth cluttering up the UI for such a rare occurrence. The vast majority of the time you just need a little bit of help, so let’s not go down the road of permanent UI widgets and page-reloading sorting controls just to save a few seconds once a month!

Conclusion

Like with many parts of Bugrocket, this is a pretty significant departure from how other bug trackers handle sorting/filtering of ticket lists.

We are in the somewhat unique position in that we target small teams exclusively, and that means we can push for keeping things simple where another product has to have heavier features which appeal to teams/projects with more people.

Enjoy!