Google's Instant Search feature is part of the regular Google search site. You no longer have to type in your search terms and click "Search Google" to see a list of results. After all, who has time for that? Now you go to the Google search page and just begin typing. The results start appearing as Google predicts what you are going to finish typing. Your typed string displays in black and the Google predictive text displays in gray.
In the above example, I typed the search string, "progra" and you can see Google predicted program management, programming, program analyst, etc. It immediately filtered for the number 1 predicted choice, program management, and did so in about .24 seconds.
Search is now much more interactive and actually a bit quicker. The service launched in US, France, Germany, Italy, Russia and Spain. It is supported by Chrome, Firefox, Safari and Internet Explorer 8. Instant Search only works using a regular browser but Google says a mobile version is coming. You can turn Instant Search off if you don't like it. There is an on/off toggle next to the search box or you can go into your Google Search Settings and disable it.
Instant Search: Behind the Scenes
Google estimated that this new technology would increase the results pages for a typical search 5 - 7 times. Not only did they increase their server capacity to accommodate Instant Search but they implemented smarter technology as well. In the Google official blog, they point to several server-side technology improvements, including:
- Better Caching: A solid caching strategy can add efficiency and performance as commonly requested data is loaded into server memory for super quick access.
- User-State Data: Google also started saving user-state data on their servers in an effort to keep track of what was already displayed to the user. This way, they don't need to re-fetch data already in the user's browser.
Google didn't really provide any more technical explanation from the server side of the equation. In order to analyze what's going on with the client-side, you need to launch your favorite browser development tool. I use Firebug as my browser runtime analyzer. It turns out that Google is doing an Ajax GET request on every key press.
You can see that Google is executing the GET command for each letter typed. If you add and remove letters from the search string, you will also notice that Google doesn't execute a new GET as it has what it needs for the query. This is very efficient.