20. The computer program product of claim 17 , wherein the method includes pre-defining a profile for the user, and wherein the received new vocabulary depends on a property of the pre-defined user profile.
17. A computer program product, tangibly embodied in a non-transitory computer-readable storage medium, the computer program product including instructions operable to cause a data processing apparatus of a client user input device to perform a method comprising: storing a local primary vocabulary at the client device, wherein the local primary vocabulary pertains to any of a language, a subject matter, a functional purpose, or a content; receiving a sequence of one or more symbols from a user through entry of a sequence of keypresses by the user; transmitting at least a most recent portion of the sequence over a network after each of the keypresses; updating the locally stored primary vocabulary from a corresponding remote vocabulary of a plurality of remote vocabularies over the network that pertains to the transmitted most recent portion of the sequence after each of the keypresses, when the transmitted portion of the sequence includes one or more words that overlaps both the corresponding remote vocabulary and the locally stored primary vocabulary; receiving a new vocabulary of the plurality of remote vocabularies over the network that pertains to the transmitted most recent portion of the sequence after each of the keypresses, wherein the new vocabulary pertains to a topic, when the new vocabulary includes a plurality of words that correspond to the topic, and wherein the transmitted most recent portion of the sequence includes one or more words that overlap the vocabulary, such that the new vocabulary has associated therewith a measure of confidence above a prescribed threshold with respect to the transmitted most recent portion of the sequence, wherein the transmitted most recent portion of the sequence significantly overlaps the new vocabulary while lacking significant overlaps with the locally stored primary vocabulary and others of the plurality of remote vocabularies, wherein receiving the new vocabulary comprises receiving a notice over the network that the new vocabulary is available that pertains to the transmitted sequence, and downloading the new vocabulary over the network in response to the received notice; locally storing the received new vocabulary at the client device; receiving text entered by the user; and for the received text, using the updated locally stored primary vocabulary or the locally stored new vocabulary for any of word prediction, completion, or word correction.