15. A non-transitory computer-readable storage device storing a computer program, the program comprising instructions that when executed by a computing device cause the computing device to perform operations comprising: downloading, to the computing device, code that, when executed by the computing device, causes the computing device to perform second operations comprising: receiving, by the computing device, a user input; identifying, by the computing device, a set of cached autocomplete suggestions for the user input; requesting, by the computing device, a set of additional autocomplete suggestions for the user input over a network; after identifying the set of cached autocomplete suggestions, delaying, by the computing device, presentation of the set of cached autocomplete suggestions until an end of a timeout period; determining, by the computing device, that the set of additional autocomplete suggestions has not been received by the end of the timeout period; and in response to determining that the set of additional autocomplete suggestions has not been received by the end of the timeout period, presenting, by the computing device, at least a portion of the set of cached autocomplete suggestions.
16. The non-transitory computer-readable storage device of claim 15 , wherein the second operations further comprise: receiving the additional autocomplete suggestions over the network after the end of the timeout period; and updating a user interface to display the received additional autocomplete suggestions.