Here is Judy's Book talking about implementing a new feature called "Coupon Finder". Sounds like an interesting idea. The premise is that:
"...It's my hypothesis that users often go hunting for coupon codes after they see the 'Coupon Code' or 'Promotion Code' textbox on a shopping cart checkout form ..."
Fantastic! I do it all the time. Chad is dead on.
Now, here comes the description:
* Simple rectangular box with clear call-to-action and a search box
* Coupon results should return asynchronously as the user types
* Should be portable and scalable in presentation and implementation (center-column feature on some pages, side-column on others, eventually a toolbar or widget)
There are three mistakes on the description, but I'll only talk about item # 2 above: "returned assynchronously as user types", a.k.a., an AJAX-based search.
I worked on Search before. Search-as-you-type is very powerful on client software, if implemented right. Users do get very annoyed if every key that they type takes a half-second for the UI to become responsive again. In the context of web-pages and browser that is very easy to happen. You have to have a server that responds in fantastic amazing time for that to be valuable, otherwsie as the user types as soon as he gets the response from the first AJAX call he already typed a bunch of other characters.
Now, I want to see a web-based search built on top of AJAX that is capable of reading the response and render the content as the user types. It will be very annoying because browsers take time to render content. Imagine if you are typing "sony digital camera" and for each letter there is an AJAX call and re-rendering of the results. Gosh. That would be overkill.
Yes, that can be optimized, but there are many gotchas: If you optimize for waiting a pause between keystrokes, then, users that type fast once have any benefit, because the system will wait them to type the entire phrase. Basically what you did is you saved the user from pressing enter. On the other hand, if you decide to do every 3 keys or every second, whichever is first, you are back at the problem that you'll have up to 7 re-rendering of the results.
The point that I'm trying to make is not that AJAX-search is bad, but that is hard to do, and more importantly, how is that relevant to a "Coupon Finder" embedded inside Judy's Book site?
You know the coupon finder that I want? A browser toolbar/extension that when I'm about to finish my purchase on Best Buy immediately tells me that there is a coupon for that site... "do you want to go to Judy's Book to see more about it"....
I'm the Co-founder & CTO of