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.

Is returning search results while the user is inputting each character good usability practice or a pain in the rear for the user?

share|improve this question
    
do you mean search results or autocomplete list?! I think showing search results while user is typing has so much overhead for server if you are developing web application. –  Morteza M. Aug 19 '10 at 20:48
    
Results, your point is valid, however I am not concerned with the overhead and performance, just the usability concept. –  rick schott Aug 20 '10 at 13:32
    
Looks like Google has answered with their Instant Search this week. :) –  rick schott Sep 10 '10 at 15:37
1  
It's a pain. I hate having my results sooner. –  DexterW Jan 31 '11 at 21:48
    
See also this question: ux.stackexchange.com/questions/1416/… –  James Crook May 28 '11 at 16:44
show 1 more comment

8 Answers 8

up vote 14 down vote accepted

From a user's perspective, I've never found it anything but helpful. The search results let me know how I'm most likely to find accurate information for my query and that's never a bad thing. That said, there are a few guidelines to implementing it that should or could be followed.

  • Make sure the search form works without the AJAX suggestions before adding them. Think enhancement to what's already there, not requirement.
  • Never update the search input with one of the results unless the user requests it.
  • Provide keyboard and mouse access for selecting results.
  • Look-behind is a nice complement to look-ahead.

Here's an Autocompleter for MooTools, my favorite JavaScript framework, and ones for jQuery, Dojo, Prototype, and YUI.

share|improve this answer
2  
This seems to be talking about AutoComplete while the poster seems to be asking about auto-filtering results based on what the user types, without a needing to press a button. –  Jake Aug 19 '10 at 12:14
1  
@Jake - Either way, much of the advice would still stand. –  Virtuosi Media Aug 19 '10 at 15:21
    
Can you please explain "Look-behind is a nice complement to look-ahead"? –  cottsak Nov 2 '10 at 7:58
2  
Look-ahead compares your query to the beginning of a string while look-behind compares the query to anywhere in the string. –  Virtuosi Media Nov 2 '10 at 9:15
add comment

I think everyone is getting so very very lazy. Whats wrong with typing in a question like "Where do lions come from" is it so hard to use the keyboard these days. Does everything have to be minimal. TUVM instead of Thank you very much. I know which one I prefer, and its the latter. There is only one place where saving a nano-second is worthwhile and thats in a laboratory, NOT in everyday lives. Does it really matter if your friend can download a program 3 nano-seconds faster than you. My goodness, WOW, what an earth shattering thing to happen. Get a grip folks. I am all for progress but lets not go stupid with it.

share|improve this answer
    
And how exactly does this diatribe answer the question asked? –  Charles Boyung Jan 31 '11 at 19:18
    
And actually, yes, it is much harder to use the keyboard these days, especially the virtual kind on small touchscreen devices. –  scottishwildcat Feb 1 '11 at 14:43
add comment

I agree with all the others saying "do it", with one exception:

Make sure it's instantaneous, always, or don't do it!

There is nothing worse than using an application that does this on, say, the iPhone, and every time you type a character there is a two second delay while the search/filter is performed. This makes it slow and painful instead of quick and helpful, and is a horrible user experience.

I'd say "instantaneous" is in the ballpark of a tenth of a second, maximum, because you should be able to type at normal speed and have the UI keep up.

share|improve this answer
3  
Great point. Focus should be on not blocking input rather than the search being blazing fast. It's OK for the search to take a few seconds if (a) I can still type more letters and they appear instantly (b) typing more stops current search, starting a new one and (c) there is a UI indicator search is ongoing. Good place for multithreading. –  dbkk Oct 20 '10 at 0:22
add comment

After typing a search query, there's (logically speaking) only one action that can follow: to hit the search button. Why not eliminate that extra step if it's the only logical next action.

Quote I read somewhere, can't remember by who or where I read it: "If there's only one thing left to do, have the computer do it."

share|improve this answer
add comment

You should usually prefer direct manipulation over indirect manipulation. That implies tasks are done iteratively with continuous feedback to make the user understand what he or she is doing. Returning results while user is typing is good, because it gives continuous feedback. Likewise property pages should change properties immediately rather than after you hit e.g. and apply button. E.g. selecting a color in a properties panel should immediately change the background color. Rather than it happening after you hit "apply". This helps discoverability of the user interface, because there is a one to one correspondence between what the user does and what happens.

share|improve this answer
add comment

Do it! I can't tell you how many times it has saved me unnecessary trouble because sometimes I forget exactly what I search for and it reminds me just because I remember the first word for what I have been searching for it gives me what I am looking for. Especially because places like Google gives search history.

share|improve this answer
add comment

I think it's great usability in most cases, assuming it doesn't hurt performance:

  • It's very natural not know exactly what you're search for, so showing results of a partial input is great.
    Imagine you're looking for an email and you just remember one work of the title.
    The word might be very common and hence return a lot of results. If you see right away, before "submitting" the search, that there are too many, you'll try to type something else to narrow it down immediately.
  • Moreover, getting to the result you want is quicker this way.
share|improve this answer
add comment

In most cases it's great! Generally it's great because it helps to find something without trying to guess what exactly to type into the search field. And it definitely saves time - one can type one or two letters to find what he is looking for. But of course be sure that the input would not be blocked while the search results are loading. And don't forget about the keyboard navigation.

share|improve this answer
add comment

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.