PRESENTING SUGGESTIONS FOR USER INPUT BASED ON CLIENT DEVICE CHARACTERISTICS
A computer implemented method includes: receiving an incomplete input from a user; presenting a plurality of suggestions to the user for completion of the input, wherein the suggestions are presented in a ranked order based on a characteristic associated with the user terminal; receiving a selection by the user of a suggestion from the suggestions; and completing the input with the suggestion.
1 - 20 . (canceled)
21 . A method, comprising:
storing, on a first computing device, profile data, the profile data including a profile for each of a plurality of persons, the profile data related to persons used in messages to or from the first computing device;
querying, over a network, a second computing device using information extracted from a first message of the messages to obtain first information;
querying, over a network, a third computing device using the information extracted from the first message to obtain second information;
storing the first information and the second information as part of the profile data;
querying, over a network, a fourth computing device using the first information and the second information as search criteria to obtain third information; and
updating the profile data using the third information.
22 . The method of claim 21 , wherein the querying the fourth computing device is performed after the storing the first information and the second information.
23 . The method of claim 21 , wherein the second computing device is a social network server.
24 . The method of claim 21 , wherein the information extracted from the first message is an electronic communication address of a sender of the first message, and the first information includes a link to a website of the sender.
25 . The method of claim 24 , wherein the communication address of the sender comprises a domain, and the querying the second computing device comprises using the domain as search criteria.
26 . The method of claim 21 , wherein the first information comprises a link to a website, the website comprises a web page, and the third information is obtained from the web page.
27 . The method of claim 21 , further comprising:
ranking each of the plurality of persons using the updated profile data; and
synchronizing, using the ranking, data among different computing devices of a user, the different computing devices including the first computing device.
28 . A non-transitory machine readable storage medium embodying instructions, the instructions to cause a computing device to:
obtain profile data including a profile for each of a plurality of persons, the profile data related to persons used in messages to or from a user of the computing device;
extract first information from a first message of the messages;
perform, over a network, a first search using the first information as search criteria to obtain second information;
store the second information as part of the profile data;
perform a second search using the second information as search criteria to obtain third information; and
update the profile data using the third information.
29 . The non-transitory machine readable storage medium of claim 28 , wherein the second search is performed after the storing the second information.
30 . The non-transitory machine readable storage medium of claim 28 , wherein the profile data is stored on the computing device.
31 . The non-transitory machine readable storage medium of claim 28 , wherein the persons used in messages to or from the user comprise a person that is identified in a body of the first message.
32 . The non-transitory machine readable storage medium of claim 28 , wherein the first search is performed in response to the computing device receiving the first message.
33 . The non-transitory machine readable storage medium of claim 28 , wherein the first information comprises at least one of a link to a website, a social network name, an electronic address, or a telephone number.
34 . The non-transitory machine readable storage medium of 28 , wherein the second information comprises at least one of a photo, a phone number, or an electronic address.
35 . A system, comprising:
at least one processor; and
memory storing instructions configured to instruct the at least one processor to:
obtain profile data including a profile for each of a plurality of persons, the profile data related to persons used in messages to a user of a first computing device;
extract first information from a first message of the messages;
perform a first search using the first information as search criteria to obtain second information;
store the second information as part of the profile data;
perform a second search using the second information as search criteria to obtain third information; and
update the profile data using the third information.
36 . The system of claim 35 , wherein the instructions are further configured to instruct the at least one processor to:
rank each of the plurality of persons using the updated profile data; and
synchronize, using the ranking, data among different computing devices of the user, the different computing devices including the first computing device.
37 . The system of claim 35 , wherein the first information comprises a link to a first website, and the second information comprises a link to a second website.
38 . The system of claim 35 , wherein an electronic communication address of a sender of the first message comprises a domain, and the search criteria for the first search comprises the domain.
39 . The system of claim 35 , wherein the second information comprises a link to a website, the website comprises a web page, and the third information is obtained from the web page.
40 . The system of claim 35 , wherein the instructions are further configured to instruct the at least one processor to:
receive an incomplete input made by the user via a user interface; and
cause presentation of at least one address suggestion to the user for completion of the incomplete input, wherein the address suggestion is based on the updated profile data.