1. A method for providing search results to a client system, comprising: executing an algorithm that pre-fetches into the client system one or more search terms and corresponding search results from a remote server system concerning searches presented to the remote server system by users other than users of the client system; maintaining a local cache of the pre-fetched search terms and corresponding search results at the client system; during the course of entry of one or more search terms performing at least one ordered repetition of the steps in order (a)-(c): (a) capturing characters of one or more search terms as they are entered into the client system; (b) displaying, at the client system, one or more search results from the local cache in dependence on the captured characters of the one or more search terms; (c) attempting to connect from the client system to the remote server system and, upon connection: (c1) predicting search terms in dependence on the captured characters; (c2) obtaining search results for a predetermined number of the predicted search terms from the remote server system; (c3) merging the obtained search results from the remote server system into the search results that are being displayed at the client system; and (c4) displaying, at the client system, at least a subset of the merged search results; periodically refreshing the local cache according to one or more parameters of said periodic refresh; and upon connection from the client system to the remote server system, receiving at the client system instructions configured to tune the one or more parameters of said periodic refresh and cause a change to the one or more parameters.