Friday, June 5, 2009

Failed Searches

I'm lazy. Very lazy. I don't like keyword searches that do not return what I want on the first page. I don't like it because I have to make extra mouse clicks to find what I want. And I don't like extra mouse clicks because I'm lazy.

I'm sure I'm not alone. As obvious as this may seem, many commerce websites don't get it. They develop interfaces that make me perform unnecessary mouse clicks. They make me turn pages. If I have to turn to the next page of a results set, then your search has failed. Your search should have return the relevant results on the first page. Many sites also make me sort my search results. If I have to waste mouse clicks to sort my results, then your search has failed. Your search should have returned in the order of most relevant results. Some sites have even gone as far as making me filter my results set. If I have to filter the results set, then your search has failed. Your search should have returned only filtered results.

This all may seem a bit harsh. The point, however, is not to set unrealistically high criteria of what constitutes a good search engine. Rather, I'm suggesting that as developers we need to value mouse clicks. Every mouse click is precious and should not be wasted on paging, sorting, and filtering -- none of which would be needed if the search was done right in the first place. In the end, paging, sorting, and filtering are all crutches for broken searches.

Ego (aka About Me)

I am a software developer with about 6 years of experience in various roles such as a university researcher, independent consultant, and enterprise developer.

My criteria for good software code can be reduced to a single axiom: Good code is easily testable code. This is based on my belief that software code are ultimately theories of how a business process should work. And it is well-accepted in the scientific community that good theories are testable theories. So, good code is testable code.

I hate the word "enterprise" even though I use it quite a bit.

This blog is written for the sole purpose of shameless self-promotion. :)