Is there a such thing as “perfect search”? The short answer is no, and in your gut you’d probably agree with me. Let’s take the Goog as our hypothesis testbed. Does Google index everything publically available on the web? No. Does it index content I just added one minute ago? No (yet.). Does it do a good job of reading my mind and know that I want only results from 2010, instead of a highly-linked result from 2004? No. (although advanced search gives you options here).
At any rate, Google has done a poor job at designing the perfect search, but have done an excellent job at designing a good-enough search. That’s a fuzzy term, but Google didn’t become #1 without returning good-enough results for the vast majority of the billions (trillions? quintillions?) of searches they process.
On a related note, let’s throw out a thought experiment. Suppose I wanted a perfect search, but it would take 15 minutes to return SERPs. My response: go fuck yourself. So speed is important for good-enough search. I’d rather have a good-enough result NOW than a perfect result after my cappuccino foam has dried up and blown away.
So it’s surprising that Microsoft Office Visio 2007 still hasn’t gotten the message. Here’s me searching for “triangle”:
15 seconds later, here’s the result:
Really? 15 seconds to return 4 results from a local disk cache somewhere?
I conclude that the implementation of search is either incredibly naive – loop through every shape template definition and for every word in the definition, see if it equals the term “triangle” – or, maybe more likely, it’s incredibly complicated and attempts to be perfect. But it’s slow. Annoyingly so.
There are few ways to do things simply, but lots of ways to do things in a complicated way. And to paraphrase Mae West, I’ve seen complicated and stupid, and I’ve seen simple and stupid, and simple is better.
Lesson for life right there. You’re welcome.

