First post here.

I have read some relevant posts on filtering and sorting. I feel I need more help in figuring this out.

Table Data

enter image description here So I have this table data where there are 4-5 columns of different data types. In the first column though I have the Name of the Product and it's location. I need to provide Sorting of this column. But this column contains 5-6 entities which are stored as separate values in the database. So the question is, Do I allow sort only by 'Name' (alphabetical) and provide filters to narrow down by location specifics on a sidebar? Or do I do something like a 'Sort by' button in the first column and users can select either 'Name' or 'City' or 'State' or 'Country'. If I do this, there would be a third step which would be to choose the direction of the sort i.e. (Ascending or descending)

I personally do not like the 2nd option. I feel the power of sorting comes in when it helps you visually scan much faster.Just alphabetical sort on 1st word is easier to scan and get to the letter you are looking for. But here, the City, State and Country items are in a paragraph format and may be the 2nd, 3rd, 4th words which makes it hard to scan. And I would rather use filters to get to the result I was looking for.

Another question is about Location filters. How do I implement country, state, city filters? Do I show all values of the filter in a scrollable section or do I show top fields and provide 'Show more'? I like how linkedin combines all location types i.e. state, city, country into on section called 'Locations', shows the top 10 values in this category and provides a text input box to enter a location not in the top 10. I don't think I will be able to do that since the state, city and country are handled differently in my data-set.

Do I do top 'Countries', top 'States', top 'Cities'? or do I do a drill down type filtering where you go from country > State > city?

  • 2
    If you have the image online, edit your question and add a link to the image. Someone with enough rep may then be kind enough to add it for you. Jan 1, 2013 at 12:16
  • upload the image to something like tinypic and post the link here.Its difficult to understand your question without an image
    – Mervin
    Jan 1, 2013 at 14:22
  • Regarding that first column populated by several db entries, why not simply expand those to different columns? Would be much easier to visually parse the data.
    – fdmsaraiva
    Jan 1, 2013 at 22:11
  • @fdmsaraiva Yes I agree. But the problem is, I only have space for about 4 columns. and I have more important data to be displayed about these entities. If they are consumed by City, State and Country, visually it would be very neat, but then no space for actual data.
    – imbakaran
    Jan 2, 2013 at 16:08

2 Answers 2


Change the way you think. What I mean by that is you know what you have, you don't know what you need. The filtering could be placed in a hidden panel or drawer that is above the the content. Use a trigger to easily get to it. It would then push down the data table. This way it's not in the users face taking up valuable space but is there when needed.

Allow sorting of the content that's returned after that.

  • My requirement here is to let people 'funnel down' on the information dynamically. On LinkedIn, when I change the values of a certain filter, only part of the page that needs a refresh, refreshes. I want to do a similar thing. That is why I would like users to always 'see' the changes that happened to their data when they operated on the filters. But I do like the suggestion of a collapsable panel.
    – imbakaran
    Jan 2, 2013 at 21:16
  • It can still operate and for an end user understanding what the filter has changed is still there. The panel stays open until the user closes it. This way the user could play around with the filters as needed but when they're done close them.
    – Tony
    Jan 3, 2013 at 1:37

How about a filter text field, where you can type in filters which are auto-completed to known legal values? These could be added similar to tags in small button like boxes below that text field as they are added with a button/icon to remove them. This would allow you to add many filters, and it wouldn't matter whether they filtered by country, city or state, but they would have to be valid tags of some kind. You could also add some hidden meta-data to such tags (whether they are country tags or what).

One sorting method that is nice for geographical data is sorting by distance. If you have geo-tags for data, you can calculate the distance relatively easily. This does take some processing, and should probably be done as simple as possible. For instance to find the shortest distance ones, use just the distance squared (don't calculate the square root for Euclidean distance). The client side can do more exact measures, while the server handles a rough selection. This is just a suggestion for the sorting, though. I'm guessing you want to limit the amount of data the server sends in the first place, so some processing would at least be done server side.

  • The filter text field is a very neat idea. And the more I am fiddling with my mocks, I am moving away from proving sorting options for Location. So I am deciding just to allow a sort by the 'Name' which would be alphabetical Up or Down. The filter txt is kind of what linkedin does too. So I think I will have the top 5 values from Country, State and city with a single text input after these fields. When user enters valid tags (auto-complete) it is added to the relevant section (hidden meta-data)
    – imbakaran
    Jan 2, 2013 at 22:18
  • 1
    I thought of this one as well. The one thing is users would have to know going into the app what could be some of the filters that they could type in and possibly have auto completed. Without knowing this you would at first have to guide the user into know what they could enter. While not impossible it just takes a little education to get the user started.
    – Tony
    Jan 3, 2013 at 1:39
  • You definitely need to inform the user somehow. Preferably this shouldn't take up too much space or time though. Perhaps something similar to the help box that pops up and can be hidden in the answer text areas here on Stack Exchange could work.
    – Sardtok
    Jan 3, 2013 at 10:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.