Thursday, September 6, 2007

This Ain't Your Daddy's Search Function

A dorky and slightly technical post today.

As just mentioned on the super-official blog, we have put up a new "quick search" feature for testing. (This was the "small but cool" feature I was excited about in last week's post.)

This feature is interesting to me for three reasons:

1. It gives a new perspective on search
2. It is an interesting topic to discuss the use of "AJAX" vs. web 1.0 programming
3. It is the latest chapter in an interesting story about the design of linkspank's user interface


1. Can Search be Improved?

Google rules the world of search (image courtesy of google earth). I remember when I first tried Google (sometime around 1998) and immediately felt, wow, this is something truly new and special. The rest of the world agreed, and since then lots of people have asked, Can search be improved? What is the future of search?

To me, search is not a sensible place to compete as a little startup because it's a bloody "red ocean" of competition.

But there are two kinds of "searching" that I feel are being underserviced right now: searching for "new stuff" (including news articles, but also new websites!), and searching for or organizing links that we view, share, and receive.

Linkspank quick search is a little step towards addressing these consumer needs. Even at Linkspank's young age, I already think the quick search does a great job of helping to find new stuff and keep track of quality links.


2. On the use of "AJAX"

The quick search feature allows you to search for links and browse results without opening a new browser window. I think it's a pretty cool use of ajax technology.

Fact: Stuff that loads or processes right in the page is cool for the user, because it's so fast. But that fact stops being true when the thing in the page takes a long time to load and it would actually be faster just click a normal link.

So the challenge in making an ajax feature is whether it will be (and stay) fast enough. One interesting thing is that ordinary web search like google is generally not fast enough for ajax, whereas searching for new links IS fast enough (or at least way faster). I'll leave the argumentation as a puzzle for the technically minded. :-) If you're not familiar with ajax and you want to read about it, see this wikipedia article.


3. An Interesting Story about User Interface (UI) Design

In December 2006 I developed a very strange-looking, very slow prototype of Linkspank. (It was called "stuffmoo" at the time!) Part of what made it so slow was that I wanted people to be able to view screen of links without loading a new page in their browser. (In the terms of the last paragraph, I was using too much ajax and it was too slow.)

I hung onto this design concept. When I gave up on it for most of linkspank, I still tried to use it for searching for links within linkspank. I was foiled again: searching for links and viewing page after page of links within one page load was way too slow...

...and in fact, the "normal" search function (as an ordinary page load) was itself way too slow.

But this problem turned out to be an opportunity - through rethinking the way to format the search and display results, it was possible to make a search engine using ajax that was faster than the "normal" way we had it implemented.

Lesson to self: hang on to the design concepts you believe in - technical problems can foil them in the short term, but they may eventually sidestep, or even solve, those technical problems.