NOTE: This blog has been moved to

Wednesday, May 11, 2005

Ajax Summit: LiveSearch in Moderation

A Lesson from the Ajax Summit

Often we will do something just because we have the technical ability to do it. When performing a live search (ajax-enabled searching), it is just as easy technically to get the results on each keystroke.

Dunston Orchard of Apple has a nice approach to LiveSearch that he presented. Check it out at (I suggest searching for 'puppy')

Here is the user experience issue. When the user types in an Ajax-enabled field do they want the search to happen at every keystroke? This is the approach Bitflux took. Like Dunston, I find this sort of approach annoying. Dunston provides several nice touches to his live search feature.
  1. as soon as typing stops (appears to be half second) the search initiates.
  2. you know it initiated because you get the apple style spinning wait circle
  3. the list fills in
  4. details show in very cool callouts as you hover over the summary results.
Zuggest does something similar now. It echoes as you type that it is waiting for you to finish typing before starting to search. Then says it is searching. I don't like the text approach due to it being so wordy. But is there room for some kind of visual indicator that it will search when you are done.

One interesting question. Should the search button also be available? Dunston shows it when javascript is disabled (since live search is turned off). But does not if JS is enabled (live search is on). I believe he has done the only correct thing. By the time they get around to hitting the search button, the search is either already started or in process.

However, I experience about a half-second confusion as you wait for the search to initiate.

Maybe allowing the Enter or Tab to initiate the search instantly and would alleviate the confusion (at least for the keyboarders).

BTW, while you are his site read about the panarama banner at the top. Marvel at his slide downs-- way cool and check out the balloon details that show as you mouse over the live search results.

Anyway, the moral of the story is: Remember the user is more important than technical prowess. Just because you can do it, does not mean you should do it.


Francis Shanahan said...

You're absolutely right Bill, technology for technology's sake without taking the user experience into account is definitely a poor approach. I don't have the artistic abilities :( so I went with the text approach. I also like the idea of displaying the search button when JS is disabled. I'll try to implement that if I ever get a mo'.

Thanks for the link btw.

Bill Scott said...

And its a lot easier to critique a method once you've seen it than it is to come up with the right method the first time :-)

Thanks for being one of the earliest examples. It helped us in some work we were doing at Sabre with a look up field component.