I'm beginning to get a clearer picture of what I believe is going to replace (or more accurately, make irrelevant) current search engines. Most of the pieces are already in place.
Let's say I'm in the mood for a donut, but I can't remember how late my favorite donut place is open (as if, but bear with me).
If I had a knowledgable human at my disposal, I could ask them "When does that donut place close?"
They might answer that "they're open for another hour."
There are two important differences between this and search:
First, my friend uses contextual data s/he knows about me to determine what specifically it is that I want to know, and takes my "query" in natural language. Services like Siri already go a long way toward making this a reality, and good natural language search queries have been quite usable for years now.
Second, the answer is a natural language representation of the information I was looking for, rather than a pointer to where I can find it. Wolfram Alpha does a pretty good job of this if your query is about math or science or some other type of data that can be relatively straightforwardly curated.
If I do the same with Google, I get a Yahoo Answers page asking why donut places close at noon. If I'm a bit more specific and ask "When does Rocket Donuts close?", the top result is, helpfully, their home page. I then click the result and look around the page for their hours, and finally find them at the bottom of the screen. Then I have to remember what day it is, what time it is, and subtract that from the appropriate number.
I also don't have much information about how current their information is, even though the web server helpfully responds that the page was last updated around noon on April 2nd.
One approach would be the so-called "Semantic Web", but I believe getting a majority of unsophisticated web publishers to reliably include semantic information is a fool's errand.
What's really missing is a way to index the web not by text, but by a machine's best guess at the interpretation of the of the text. Basically index a bunch of "facts" on the web, including who is claiming that they're true, and how long ago they made that claim. So the "key" would be something like "Rocket Donuts, Bellingham, WA, USA: Closing time on Thursday" and you would get a bunch of results, but you would sort by authority (something like PageRank) and recency (both descending). Hopefully the top value would be "5:00PM PDT".
Obviously one does not simply walk in and solve this kind of problem, but I believe whoever does would have a shot at replacing "search" as we know it.