The description relates to predicting terms based on text inputted by a user. One example includes a computing device comprising a processor configured to send, over a communications network, the text to a remote prediction engine. The processor is configured to send the text to a local prediction engine stored at the computing device, and to monitor for a local predicted term from the local prediction engine and a remote predicted term from the remote prediction engine, in response to the sent text. The computing device includes a user interface configured to present a final predicted term to the user such that the user is able to select the final term. The processor is configured to form the final predicted term using either the remote predicted term or the local predicted term on the basis of a time interval running from the time at which the user input the text.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A computing device comprising a processor and memory, the memory storing thereon computer-readable instructions that, when executed by the processor, configure the computing device to perform operations comprising: receiving text input; sending, over a communications network, data indicative of the text input to a remote prediction engine having been trained to predict terms based on text; provide the received text input to a local prediction engine executing at the computing device; monitor for a local predicted term from the local prediction engine and a remote predicted term from the remote prediction engine; and present, on a user interface of the computing device, a final predicted term, the user interface operable to receive an acknowledgment to enter the final predicted term into the computing device; wherein the final predicted term is determined from either the remote predicted term or the local predicted term on the basis of a time interval determined from the time at which the text input is received. 2. The computing device of claim 1, wherein the remote prediction engine is more accurate than the local prediction engine. 3. The computing device of claim 1, wherein the local or remote predicted term that is received first at the computing device is selected as the final predicted term, when no predicted terms are received during the time interval. 4. The computing device of claim 1, wherein the remote prediction is selected as the final predicted term if the remote prediction is received during the time interval. 5. The computing device of claim 1, wherein the local prediction engine is related to the remote prediction engine. 6. The computing device of claim 1, wherein the local prediction engine comprises a local model and the remote prediction engine comprises a remote model, and the local model is a subset of the remote model. 7. The computing device of claim 6, wherein n-grams with usage counts under a threshold are included in the remote model but not in the local model. 8. The computing device of claim 1, further comprising computer-readable instructions that, when executed by the processor, configure the computing device to perform operations comprising merging results from the remote prediction engine and the local prediction engine. 9. The computing device of claim 1, wherein the time interval is in the range 80 ms to 1000 ms. 10. The computing device of claim 1, wherein the time interval is dynamically adjusted based on a local condition. 11. The computing device of claim 10, wherein the local condition comprises a parameter of a connection over the communications network. 12. The computing device of claim 1, further comprising computer-readable instructions that, when executed by the processor, configure the computing device to perform operations comprising presenting a second final predicted term formed from the remote predicted term if: the final predicted term was formed from the local predicted term and the final predicted term has already been presented, and a user input to present the final predicted term formed from the remote predicted term has been received. 13. The computing device of claim 1, further comprising computer-readable instructions that, when executed by the processor, configure the computing device to perform operations comprising presenting additional final predicted terms formed from remote predicted terms as they arrive if they are received after the time interval. 14. A method performed by a computing device, the method comprising: receiving, by the computing device, text input; sending, over a communications network, data indicative of the text input to a remote prediction engine having been trained to predict terms based on text data; providing, by the computing device, data indicative of the text to a local prediction engine executing at the computing device; monitoring, by the computing device, for a local predicted term from the local prediction engine and a remote predicted term from the remote prediction engine; forming a final predicted term using either the remote predicted term or the local predicted term on the basis of a time interval determined from the time at which the text input was received; and presenting the final predicted term on the computing device. 15. The method of claim 14, wherein the remote prediction engine is more accurate than the local prediction engine. 16. The method of claim 14, further comprising selecting the local and remote predicted terms that is received first at the computing device, if no predicted terms are received during the time interval. 17. The method of claim 14, comprising selecting the remote prediction if the remote prediction is received during the time interval. 18. The method of claim 14, wherein the local prediction engine is related to the remote prediction engine. 19. The method of claim 14, wherein the local prediction engine comprises a local model and the remote prediction engine comprises a remote model, and the local model is a subset of the remote model. 20. A system for predicting terms based on text input, the system comprising: means for sending, over a communications network, data indicative of text input to a remote prediction engine having been trained to predict terms based on text data; local prediction means for generating locally predicting terms; means for monitoring for a local predicted term from the local prediction means and a remote predicted term from the remote prediction engine; means for forming a final predicted term using either the remote predicted term or the local predicted term on the basis of a time interval; and means for presenting the final predicted term and accepting an indication to enter the final predicted term into system.