1. A computer-implemented method of providing speculative search results, comprising: receiving, at a search engine, over a network from a client node, a not-yet-submitted search query provided by a user; in response to receiving at the search engine, from the client node the not-yet-submitted search query, determining, at the search engine, whether the not-yet-submitted search query meets a criterion for initiating a speculative search for items that satisfy the not-yet-submitted search query; in response to determining, at the search engine, that the not-yet-submitted search query does not meet the criterion, waiting for additional input from the client node without initiating the speculative search for items that satisfy the not-yet-submitted search query; receiving, at the search engine, over the network, from the client node, an updated not-yet-submitted search query that comprises the not-yet-submitted search query and one or more additional characters; in response to receiving, at the search engine, from the client node, the updated not-yet-submitted search query, determining, at the search engine, whether the updated not-yet-submitted search query meets the criterion for initiating a speculative search for items that satisfy the updated not-yet-submitted search query; in response to determining, at the search engine, that the updated not-yet-submitted search query meets the criterion, performing, at the search engine, the speculative search for items that satisfy said updated not-yet-submitted search query prior to receiving, from said client node, an indication that said updated not-yet-submitted search query is completely formed; providing, from the search engine, to said client node, information about at least one item, found by the speculative search, that satisfies said updated not-yet submitted search query; wherein the at least one item, found by the speculative search, includes at least one of (a) a web page, (b) a graphic, or (c) textual information; wherein the method is performed by one or more computing devices.