Logo

I created this search engine in September 2008 for Yahoo!'s Hack Day competition at the University of Illinois at Urbana-Champaign. The judges included Computer Science faculty and Yahoo! engineers (including Rasmus Lerdorf, the creator of PHP.)

So, Rasmus said something interesting at the kickoff dinner a few days ago. He said that if the web was written entirely by computer science students, it would suck.

He said this while talking about the history of PHP. He mentioned that he constantly gets hate mail from computer science students about how much PHP sucks. If you've used PHP, you'll almost certainly agree that it some nastiness: weird function names, parameter ordering, gobs of junk in the global namespace, and other stuff.

He said that he doesn't care: the CS folks are welcome to go off and create their own, better language. In the meantime, though, PHP has already solved the web problem. PHP has made it stupid-easy to write software for the Web.

I think there's incredible value there. By making things easy, PHP has let people outside the computer science community build and deploy software that anyone in the world with a web browser can use. PHP has opened up web application development to people outside engineering — people with infinitely more creativity than us can now bring their amazing ideas to a global audience.

Yeah, maybe these applications don't exactly follow our best practices. Maybe their design is a bit nasty. Maybe the code doesn't quite comply with the technical standards. So what? If I have a choice between compelling content and technical perfection, I'll choose compelling content any day.

The Perfect Web Search Engine is an object lesson in the importance of this attitude. It's not the perfect web search engine but the perfect web search engine. It searches only the perfect web: any search result that does not pass the W3C's strict HTML validator is dropped from the search results. It exposes how few pages are technically perfect. Try searching for "black holes": right now, six of the top ten results fail the W3C's test. (For "books," all ten results are rejected!)

Maybe the authors of the pages weren't technically inclined; maybe they were too busy to worry about niggling compliance issues. The search engine rankings, though, prove that the suppressed pages are useful and relevant. If we demanded technical perfection, though, we would never see them.

As I was leaving the lectern, Rasmus mentioned that he'd tried the search engine before the presentation and thought "wow, this sucks!" That's exactly the point: no one would ever use this search engine after seeing its results. The lesson of Perfect search is the lesson of PHP, and it's one that we too often forget: it's the content that matters, not the technical minutiae of its expression.

Perfect Web Search won the "Build your own Search Service" category.

Try it out