17. A method for predicting text while a message is being composed, comprising: generating a data structure associating, for each one of a plurality of a user's contacts, usage data about a history of usage of words in messages sent to and received from the user contact; updating the data structure as additional messages with each user contact are sent and received, and additional usage data is obtained therefrom; receiving an incoming message from one of the plurality of the user's contacts; and predicting text while the user is composing a reply to the incoming message, comprising: parsing the incoming message to identify questions, phone numbers and special phrases therein; presenting possible responses that the user may choose from, based on the questions, phone numbers and special phrases identified by said parsing; receiving as input from the user a character string; and generating as output an ordered list of predicted words, based on usage data in the data structure associated with the user contact from whom the incoming message was received.
17. A method for predicting text while a message is being composed, comprising: generating a data structure associating, for each one of a plurality of a user's contacts, usage data about a history of usage of words in messages sent to and received from the user contact; updating the data structure as additional messages with each user contact are sent and received, and additional usage data is obtained therefrom; receiving an incoming message from one of the plurality of the user's contacts; and predicting text while the user is composing a reply to the incoming message, comprising: parsing the incoming message to identify questions, phone numbers and special phrases therein; presenting possible responses that the user may choose from, based on the questions, phone numbers and special phrases identified by said parsing; receiving as input from the user a character string; and generating as output an ordered list of predicted words, based on usage data in the data structure associated with the user contact from whom the incoming message was received. 21. The method of claim 17 wherein the data structure comprises a tree data structure, the nodes of which contain linked lists of words or of pointers to words.