Friday, December 11, 2009

While-you-type Searching

Here's an idea that is just begging to be implemented as a Firefox extension.

You know how there's a while-you-type spell checker that's always on when you are editing text in a multi-line text box? There should be a feature that takes the last few words you're typing (or the entire current paragraph, or whatever works best), does a Google search, and presents snippets for the top few results in an unobtrusive pop-up window.

Sure, maybe you're thinking "It looks like you're writing a letter. Do you want me to write it for you?" (the Microsoft paperclip). But using web search instead of a fixed set of patterns could actually make this useful. Imagine the number of messages to customer support forums that will never have to be sent because this feature pops up the answer the user was looking for. And so on.

You might also think, "this already exists, it's called Google auto-suggest." But I specifically want it to work when I'm not (yet) actively searching, but just writing. (If it already existed, it might have stopped me from writing this blog post. :-) Twitter might also become a different place if users realized how many others have already entered the same item.

Of course there's a little privacy issue. But still, if this existed, I'd opt in! (In fact, I did half a dozen searches while I was typing this. How much easier it would be if I didn't have to select text, switch to a different tab, paste, and hit enter, losing my writing context each tim.)

25 comments:

  1. I wonder how many people (including me) just started working on this, right?
    I'll do it for Chrome, though :)

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. Go check out Ubiquity (https://mozillalabs.com/ubiquity/) It doesn't quite do the search results like you want, but it's a great jumping off point if someone wanted to add that.

    ReplyDelete
  4. makes me think about stackoverflow. when you are posting something, you get suggestions of what has already been asked before.

    ReplyDelete
  5. Don't you mean a Chrome extension? I thought you worked for Google!

    ReplyDelete
  6. Very soon after your "IronPython in Action and the Decline of Windows" post, Google announce Google Chrome OS.

    Interesting to see what Google will announce next.

    ReplyDelete
  7. implicit contextual search! agreed, i've wanted this for ages. i used to follow nat friedman's beagle, back when it was called dashboard, and now there are lots of other similar projects.

    for the record, on the service provider side, ideas like this always scare me a little. they have the potential to increase load so much, and compared to the old "explicit" load, only a very small fraction of that new implicit load will actually be looked at and provide any value.

    having said that, if the incremental cost still goes to zero, or the newly lower cpms/cpcs still cover the costs, maybe it doesn't matter.

    ReplyDelete
  8. In the academic world, this can be categorized to 'just-in-time information retrieval', first reported from MIT. A remembrance agent was first implemented in Emacs (http://www.media.mit.edu/~rhodes/RA/). When the user writes a paper, a list of related papers will be displayed in non-intrusive manner. There are also some prototype implementation in the browser, which provide extra related pages when u'r reading the current page.

    ReplyDelete
  9. Han Xiaogang hit the nail on the head! The Remembrance Agent in Emacs was also very popular for searching personal information. Not only did that mean that related emails would appear as you typed phrases into new emails, but the wearable computing folks loaded it into the Emacs instances they ran in their headsets as a form of real-time associative digital memory. As you sat talking to someone like Thad Starner, he would twiddle phrases into his one-handed keyboard, and all possibly-related documents and emails to the current conversation would be popping up in front of his eye for potential mention. Check out:

    http://wearcam.org/computing.html/

    ReplyDelete
  10. I have seen a couple of the semantic search companies do this. The best example is probably zemanta.com that will suggest similar content for you while blogging. It exists as a firedox plugin (although I haven't used it)

    ReplyDelete
  11. Zemanta also exists as a Chrome extension and is supposed to for for both email and blogging. I say it's "supposed" to work, because I have it installed for a while now, and it has not worked so far...(I am using Chrome beta for Linux)

    ReplyDelete
  12. I must correct my previous statement. Zemanta does not work for Gmail(at least for me), but is brilliant when blogging. (I tested only on blogger)

    ReplyDelete
  13. Thank you for mentioning Zemanta!

    We are aware that gmail does not work right now under Zemanta + Chrome combination, but we're working on it and it's going to be fixed next week.

    The issue is that we had to produce Chrome extension in a single day ... :) Long story short: we did it, but had to cut corners.

    Anyway Zemanta's main paradigm is exactly what Guido is describing -- try to figure out what the user might want to see based on analysis of larger piece of content he has written. And you should probably tell if we are doing a good job or not?

    Andraz Tori, CTO at Zemanta

    ReplyDelete
  14. btw, there's even proof of concept zemanta for ubiquity command avaliable to do this on any selection in a browser, not just within blog editor...

    http://code.zemanta.com/bostjan/ubiquity/

    best, b

    ReplyDelete
  15. not an FF extension but a FF webpage with similar intentions allows easy retrieval of a programming languages wiki page titles
    http://taipu.de/ida.htm

    Roland Frank

    ReplyDelete
  16. "Of course there's a little privacy issue."

    You are joking, right?

    I'm not a google basher, but I would be VERY concerned if google knew everything I typed into multiline edit boxes...

    ReplyDelete
  17. @theller:

    indeed there are things to be careful about.

    However when you use such technologies to create content for open public consumption (blog posts, web content, twitter) privacy is not an issue anymore.

    Andraz Tori

    ReplyDelete
  18. Surely there is some limit to the load that even Google can manage? :)

    That sounds like a lot of queries.

    Safe-search would also become more of an issue if Google and/or Firefox didn't want complaints from people who were just writing blog entries about roosters, or whatever.

    ReplyDelete
  19. Yup, stackoverflow's suggestions are really nice; practical way of preventing question repetition.

    ReplyDelete
  20. "Imagine the number of messages to customer support forums that will never have to be sent because this feature pops up the answer the user was looking for."

    Whatever WebFaction is using for its ticketing also has this feature, and you're right that it's a good feature. When you are composing a ticket, it suggests documentation. I've been surprised at how relevant the results are.


    "Twitter might also become a different place if users realized how many others have already entered the same item."

    Perhaps, but I'm not sure it'd be a change for the better. Twitter is realtime zeitgeist, isn't it? For that to work, you *want* all 100,000 people thinking about X to tweet about it, so you can compare that to the 1,000,000 people thinking about Y.

    ReplyDelete
  21. Ah, history is remembering the many times of repetition.

    The first instance of this project was from Dr. Bradley Rhodes at the MIT Media Lab ('Remembrance Agent'). Using emacs integrations, a window would pull up interesting snippets from old emails and other sources.

    Microsoft Research 'discovered' this feature, as it does all MIT Media Lab thesis features, a few years later.

    There were also some research projects aimed specifically at commands for constructing complicated graphs.

    ReplyDelete
  22. Have you tried Ubiquity? Set your hotkey, and go. I set mine for S-Space. Hit the hotkey, a popup comes up and then type your query. Don't hit enter, just wait a second or two and the results will appear in the popup.

    ReplyDelete
  23. Hey Guido, I like your idea.

    I was thinking about it for a while, and I got an idea as well.

    Wouldn't it be nice if the server could automatically fill in the missing pieces when the user is typing out the URL?

    E.g. You type in something like:

    http://website.com/content/

    And automagically you get a drop-down list of possible endings to that URL (retrieved by the server)

    E.g. You could get a small list of popular destinations that start with website.com/content:

    http://website.com/content/sub1/
    http://website.com/content/sub2/
    http://website.com/content/sub4/

    The server could also notify the user if the URL he just typed in (or pasted) gives a 404, and perhaps provide alternative links.

    Or perhaps this is more suited for a future HTML6. :)

    ReplyDelete
  24. It's good concept to approach. I've been doing typing a lot and search for information through the internet, I never thought about this. If it got implemented, I hope it will become common feature for other browsers too. I'm using Opera in my PC.

    ReplyDelete
  25. Like Victor, this also reminded me of Stackoverflow.com, when you compose your question.

    ReplyDelete