Introducing Filtering

by Niki on July 22, 2010

We’re excited to announce a new feature in AgileZen: filtering the board! You can now filter your board on everything from a story’s colors to tags to owner and more! Some of this feature’s highlights are the ability to:

  • Toggle between fading or hiding information that doesn’t apply to your filter
  • Name and save a filter to be able to re-apply it any time
  • Share a filter with your team

We’re working on a manual that contains videos, screenshots, and descriptions of how to use features like filtering, but while we’re working on that, we wanted to be sure everyone could use this feature right away. Here’s a quick video that gives a basic overview of how to use the new filter panel. For even more information, check out the AgileZen wiki at http://learn.agilezen.com/filtering.

c8fcd3ed7f7ca2b65adf058026fa4a85
  • http://techarch.pip.verisignlabs.com/ Philippe Monnet

    Congratulations on rolling out the filtering feature for the board. I really like the way you provide either full-filtering out or dimming of stories not matching the filter. Very clever!
    I also like the little help callout to make it easier for us to learn what query expressions to use.
    It's a great add-on to AgileZen my favorite tool in that space. Now that I am excited to use the feature I would also love to see it in the Work view. ;-)

  • http://twitter.com/nikibeth Nicole Kohari

    Thanks for your feedback! We're looking at the potential to add filtering to other pages in AgileZen. We'd like to get feedback from more of our customers to see how they like the feature.

  • coreyward

    Count me as the first if you have to, but I think that this is an entirely convoluted way of doing this. There are some clever aspects, but they come at the detriment of usability. I work with people that do marketing that will never understand how to use this filter system. Consider the following:

    I am looking for everything pertaining to “Email” in the system. Some stories are tagged with it, some have it in the details or comments, others have it in the text, a couple might have it in the blocked status, and others still have it as part of a task. If a marketing person wants to find all of them, they are going to type 'email' in the filter box and get an error. I'm going to have to type “tag:email or details:email or text:email” and I'm going to miss any with 'email' in the tasks or blocked status.

    Also, there's no indication of how many stories match the filter, so if there aren't any I still have to scroll up and down each column to look for them.

    A better implementation would have been to have a single search box that is always shown. When it gets focus, show the filter bar with different options. By default, do a fulltext search on everything (text, details, tasks, blocked status messages, etc.) against the input, but also allow power users to utilize the filters you've provided already.

  • http://kohari.org/ nkohari

    Thanks for the feedback! You have a very valid point. When we first started talking about implementing filters, we started out with the idea of using a full-text search, and it grew into the key/value expression language. There are two reasons why we went with the expression language:

    1. Performance. It's very expensive to search for a keyword across all the different fields of a story. That can be mitigated by introducing a search engine, but we decided that wasn't worth the additional effort yet. This will likely change in the future.

    2. False positives. When you're looking for a webpage via Google, it makes sense to use a full-text search. However, when you're looking through items that all have the same structure (like stories in AgileZen), it's pretty rare that you'd actually want to look for *every* story involving email. Instead, it's more likely you'd have tagged everything with an “email” tag. The expression language requires that you understand what you're looking for a bit more, but in return it makes your search quite a bit more powerful.

    In the end, I don't think the expression language is really too complex for anyone to use it for the simple cases, and as you become more accustomed to it you can use it for the more advanced ones. Plus, the ability to save filters allows power users to create complex filters and share them with the rest of the team, who may or may not be power users.

  • Kishan

    I have to agree with corey. This filtering system sounds more something you would use to create saved reports.

    I would envisage the filter to be like this:

    1. Search box on the far right that allows user to search for key words from key information fields (e.g. title, description).

    2. Next to the search box, some coloured boxes that allow users to filter by colour (simply click / un click colour box)

    3. Next (or far right) a drop down list of member names

    4. Priority tick boxes (optional but some teams may find useful).

    I this could be logically and sensibly arranged across the filter bar I believe this would make far easier filter for all users (including developers).

    Just my opinion though.

  • Andrew

    This is great. Agree with Philippe that filtering in Work would be helpful.

    I like that you didn't wait for a manual to implement the update. Looking forward to the next enhancement.

  • coreyward

    You might not think it is too complex, but in my professional usability experience, you're wrong. I've already demonstrated a case where it's inadequate for even power users, and as Kishan pointed out, there's a much more user-friendly way of doing it.

    As far as your abatement of my use case, well, I needed to do just that except for a different keyword to verify whether or not the story I was creating had already been added somewhere. Turns out it had been, in a task under a story.

    At the end of the day you chose to do this because of performance, and I hope you'll learn quickly that it's a bad reason to skimp on something internet-users have become quite accustomed to. That's the irony in your contrasting with Google: they've already trained billions of people what to expect with search — you had better have a very compelling reason if you're going to ignore it.

    Last note: this is why it is important to release early and often. Had you presented a very basic version of this a month or two ago you could have gotten valuable user feedback on it and adapted. Agile development isn't just a fad, and I'd hope you'd know that given your name & product.

  • http://kohari.org/ nkohari

    I understand your perspective, and I appreciate that our software is able to evoke such a strong response in our users!

    I don't believe I ignored your use case in my reply — it's a reasonable way of using the software. That being said, there are two distinct problems that I think you're conflating: *filtering*, which produces a limited view of the board based on well-defined criteria, and *search*, in which you're looking for something that you can't find, based on what you know about it. The ideas are similar but not identical, and while we do eventually intend to solve them both, only the former is solved in this release.

    We certainly understand the Agile concept of releasing early and often, and I believe the product's history has shown that we practice it pretty well. We also believe strongly in the Lean idea of the minimally-marketable feature. In filtering's case, the shortest path to release that provided the highest value to our users was to implement the expression language as we did.

    We could have solved both problems at once, but from a development standpoint, it would have been significantly more expensive. In order to implement full-text search without degrading performance, we would have had to integrate a search engine into AgileZen. Since that would have required quite a bit of additional engineering effort, we decided the expression language allowed a great deal of power, while not significantly degrading the user experience.

    In the end, by implementing the feature in this way, we got the most often-requested feature to market very quickly, while still leaving the door open to expand it in the future by adding full-text search capabilities. We've provided a solution only to the filtering problem (which is a minimally-marketable feature), while leaving the search problem to be solved by a future release.

    Thanks again for sharing your opinion! So far we've had a very positive reaction to the release, but I'm always interested in hearing criticisms as well as praise. :) I'd encourage you to continue to use filtering for awhile. After you get accustomed to the filter expressions, I think you'll agree that it's really not that difficult to use.

  • Andrew

    Its always nice to see new features – although to be honest I'm not sure that filtering the board has that much value.

    Filtering the work tab on the other hand would have a lot of value – specifically filter by owner & complete date. Right now there is zero way to know how many actions any team member has completed & to us that is the biggest flaw – you add that and really you have a close to perfect system.

  • Jack

    I was looking forward to this feature but also found some usability problems. Here is what happens to me:

    I go to the board and setup my filter.
    Each time I visit the board it forgets my last filter.
    To apply the filter I need to click 4 times (each click has a lag because of the AJAX and I am in Australia so not everyone gets to feel zippy performance!). I always want to hide the filtered out stories, hence the 4th click.
    I use the board, find a story and click its details to edit (takes me to a new page)
    I come back and the board has forgotten my filter. Go back to step 1

    So now I try to leave the board open in one window (with filter applied) and *carefully* right click on the story to open them in a new window. After I make changes to the story, they are not reflected in the board window because it does not know about them!

    Anyway, keep up the good work.

  • Ryan

    I completely agree with this. I love agile zen, but lately I've been disappointed that no new features have been released. (I keep hearing they're coming, but nothings materializing.) Then filtering came out, I got excited but discovered that it was barely functional for my scenario. I'd prefer full text search over filtering. I'm not generating reports, I'm looking for any task that contains a certain bit of text in it (title, tasks, details, and anywhere else).

    With respect to filtering by color, you have color boxes everywhere except in the filter. Why do I have to type out the color's name? Wouldn't showing the same color boxes and allowing me to select/deselect them make much more sense?

    In my opinion, the filtering feature feels like a power user feature and not what I'd expect for a “simple” interface like AZ.

Previous post:

Next post: