Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

I have a client/server system. A database table on the server can contain a million records. I need to present various filter criteria to the user. One filter needs to be a server-side filter, such as a date range, so that the server only sends a subset of the records to the client, say 1,000. Another filter, also a date range, will filter those 1,000 records only on the client. So, say the user chooses date range 1 to filter the 1,000 records into 500, then chooses date range 2 to filter the 1,000 records into 300. The client-side filter (500 or 300 records) does not require any interaction with the server.

How would you suggest naming the server-side filter vs. the client-side filter so that a novice user understands this?

All I can think of is using something like "Quicker Download", but I don't know if they would understand. Of course, we will have tool tips to add more information, but I'm hoping for very good UI labels. I do not have any icons for this and I really don't want any.

I am planning to use a filter panel similar to reed.co.uk, so I can have headings.

share|improve this question
    
Welcome to the UX SE. Nice first post. –  3nafish Jan 4 '13 at 3:43
    
I don't really see why the user would want two different date ranges where one is a sub-range of the other. Wouldn't it be faster for them to just give the smallest range, and more efficient for the database? On the client side, you could perhaps do some handling if they change the range, so that you don't download the same records again, though. –  Sardtok Jan 4 '13 at 14:49
    
@3nafish - Thank you Sir. –  Wild Rumpus Jan 4 '13 at 20:30
    
@Sardtok - Thank you for your opinion. I am definitely listening to it. –  Wild Rumpus Jan 4 '13 at 20:32

3 Answers 3

up vote 6 down vote accepted

If possible, I would try to completely avoid showing the user the difference between server side and client side filtering.

Will your users care where the filtering is done? Unlikely. So don't give them this unnecessary info.

Better is to construct you UI in such a way that the first filter is always automaticaly server side then all subsequent filters are automaticaly client side.

share|improve this answer
    
I think I understand what you're saying, but they will care when a million records get downloaded into a report or not, don't you think? It could take a very long time to generate such a report! (We are going to offer scheduled reports at off-hours.) We're thinking we could default the server-side date range to the current month depending on the report. Are you suggesting only one date range and eventually the users will get a feel for the system behavior? –  Wild Rumpus Jan 4 '13 at 3:34
    
Maybe you could make the first (server side) filter mandatory or (as you suggested) possibly automatic. Another option would be to just return the top n results. Without knowing a bit more about what your app does/reports it is difficult to tell. In any case, I am saying that where the filtering is done is not something you should be bothering the end user with. –  Tims Jan 4 '13 at 3:59
    
I found this quote which I think applies to this quite nicely (though it was originaly aimed at more general tech)..."The most profound technologies are those that disappear." - Mark Weiser (From The Computer for the 21st Century, 1991) –  Tims Jan 4 '13 at 4:03
    
I disagree with this statement, Tims : "Better is to construct you UI in such a way that the first filter is always automaticaly server side then all subsequent filters are automaticaly client side." --- if we're talking thousands of complex records - this is a really silly (im being gracious) approach and it should not be assumed that the enduser client (think wonky old pc) can handle that sort of memory burden without being a significant detriment to the user experience ----- sure it would work - but it wouldn't be "the best idea" –  Brandt Solovij Jan 4 '13 at 6:07
    
As stated, the first subset of records sent to the client should be ~1000. Most computers (and smart phones) should be able to handle this. –  Tims Jan 4 '13 at 6:16

So the way that Reed works is that first you do a search for something and then you have a slider to move within the search.

So you can separate the forms with input buttons that will do Server side requests with more interactive javascript controls that do client side filtering.

enter image description here

share|improve this answer

It seems like you're asking the user to optimize the download process - is your target audience going to understand this and be able to make reasonable sized requests?

Why not simply paginate the results (as does reed.co.uk, google.com and many sites)? Then the result list size doesn't matter (in all but extreme cases).

Another option is to not immediately download the result of the query/filter but to indicate the number or items found, and then the user could download and display the items or refine the filter to reduce the number of items.

share|improve this answer
    
Thank you for your thoughtful answer. While valid, I think I am forced to only select one. I am giving "the" answer to Tims because he was first, provided more information, and yours seems to be a subset of his. –  Wild Rumpus Jan 4 '13 at 20:33
    
No problem, Tim's answer is a good one. –  obelia Jan 4 '13 at 20:48
    
@WildRumpus you can still up vote obelia's answer to give him some credit –  icc97 Jan 5 '13 at 22:33

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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