Presenting favorite contacts information to a user of a computing device

Information

  • Patent Grant
  • 10078819
  • Patent Number
    10,078,819
  • Date Filed
    Wednesday, June 20, 2012
    12 years ago
  • Date Issued
    Tuesday, September 18, 2018
    6 years ago
Abstract
Systems and methods to present information to a user regarding favorite contacts of the user. In one embodiment, a method includes: storing a plurality of person profiles for persons referenced in communications received by a user of a computing device; selecting, using at least one processor, a set of contacts from the plurality of person profiles based on a relevancy ranking, wherein the set of contacts is selected for display to the user on the computing device; and organizing, using the at least one processor, the set of contacts into at least two time groups, each time group associated with a different time period, wherein contacts will be displayed to the user within each time group based on a relevancy ranking for each contact within the time group.
Description
FIELD OF THE TECHNOLOGY

At least some embodiments disclosed herein relate to information processing systems in general, and more particularly, but not limited to, presenting information to a user regarding favorite contacts of the user.


BACKGROUND

Users of mobile devices such as Android and Apple iPhone devices typically send and receive email, voice and other messages to and from numerous other persons (e.g., friends or business associates). When the user of the mobile device desires to initiate a communication with one of these persons, the user in some cases may look at a list of favorites previously selected or created by the user (by manual selection) in order to choose a person for a new communication initiated from the mobile device.


SUMMARY OF THE DESCRIPTION

Systems and methods for presenting information to a user regarding favorite contacts of the user (e.g., a list of favorite contacts, as determined based on a relevancy ranking or some other correlation or association relative to the user) are described herein. Some embodiments are summarized in this section.


In one embodiment, a method includes storing a plurality of person profiles for persons referenced in communications received by a user of a computing device (e.g., a mobile device); selecting, using at least one processor (e.g., of a server or of a mobile device), a set of contacts (e.g., stored in a database on the server and/or the mobile device) from the plurality of person profiles based on a relevancy ranking, wherein the set of contacts is selected for display to the user on the computing device (e.g., a mobile device or a user terminal); and organizing, using the at least one processor, the set of contacts into at least two time groups, each time group associated with a different time period, wherein contacts will be displayed to the user within each time group based on a relevancy ranking for each contact within the time group.


The disclosure includes methods and apparatuses which perform these methods, including data processing systems which perform these methods, and computer readable media containing instructions which when executed on data processing systems cause the systems to perform these methods.


Other features will be apparent from the accompanying drawings and from the detailed description which follows.





BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements.



FIG. 1 shows an example of a display screen provided to a user of a mobile device for navigating and selecting from favorite contacts according to one embodiment.



FIG. 2 shows a system to present information to a user regarding favorite or most closely-associated contacts of the user according to one embodiment.



FIG. 3 shows a block diagram of a data processing system which can be used in various embodiments.



FIG. 4 shows a block diagram of a user device according to one embodiment.





DETAILED DESCRIPTION

The following description and drawings are illustrative and are not to be construed as limiting. Numerous specific details are described to provide a thorough understanding. However, in certain instances, well known or conventional details are not described in order to avoid obscuring the description. References to one or an embodiment in the present disclosure are not necessarily references to the same embodiment; and, such references mean at least one.


Reference in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the disclosure. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Moreover, various features are described which may be exhibited by some embodiments and not by others. Similarly, various requirements are described which may be requirements for some embodiments but not other embodiments.


In one embodiment, a computing device (e.g., a mobile device) owned by a user stores data (e.g., in a database in the form of person profiles) associated with prior communications and/or other activity of the user on the mobile device (e.g., data extracted from prior emails received by the user). Alternatively, the data may be stored on a server associated with the mobile device. A display of favorite contacts is presented to the user. The display organizes the contacts based on relevancy for two or more different time periods (i.e., a corresponding time period over which prior data in the database is analyzed for determining and ranking the favorite contacts).


One time period may be for “All Time” (i.e., the entire history of all communications by the user with others). The other time period may be a predefined time period such as “Last 10 Days” or “Today”. The favorite contacts are presented in a ranked order within each time period grouping based on a relevancy ranking for each contact (i.e., one person may be ranked highest in the “Today” grouping, but ranked lower in the “All Time” grouping). Also, the relevancy ranking criteria may be selected to be different for each grouping. The relevancy ranking may be based, for example, on a relevancy system as described in U.S. patent application Ser. No. 12/792,698, incorporated by reference above.


In one embodiment of the '698 Application incorporated above, a method includes: gathering first information from received communications and second information from outside sources, the second information comprising information gathered from a plurality of websites including a social network website, wherein the first information includes one or more keywords contained in the communications, and wherein at least a portion of the first information is used to perform a search to gather the second information; adding the first information and the second information to a first contact profile of a plurality of contact profiles in an address book of a user, wherein each contact profile has an associated contact, and the first contact profile is associated with a first contact; analyzing each contact profile including identifying one or more entries in each contact profile, each entry containing information related to the respective associated contact, and at least one of the entries including information gathered from the social network website; assigning one or more weights to the one or more entries based on one or more criteria, wherein the one or more criteria include whether the one or more keywords are contained in one or more communications with the respective associated contact from the received communications and a number of times the one or more keywords occur in the one or more communications with the respective associated contact; and ranking the plurality of contact profiles based on the one or more assigned weights.


In another embodiment of the '698 Application incorporated above, a method includes: forming a first address book of a user, the first address book comprising first person profiles including a profile of a first sender; updating, by a computing device, the first person profiles using information extracted from communications received by the user from senders including the first sender, the information extracted from bodies of the communications, and information extracted from at least one online social network; receiving a selection by the user of a subset of the first person profiles to be shared, the selection based on a search of the information extracted from the social network and the information extracted from the communications received by the user in the first person profiles to identify profiles that satisfy a keyword search criterion, the identified profiles including the profile of the first sender, and satisfaction of the keyword search criterion comprising a match to the information extracted from the social network; sharing the subset with the first sender; receiving a portion of a second address book from the first sender, the portion including second person profiles; and adding, by the computing device, the second person profiles to the first address book.


The user may scroll through a list of contacts for each grouping by moving a finger left to right or by using another predefined user action. This list may be greater in number than that number that is initially displayed on a single screen (e.g., the list may be 30 contacts or some other predefined number of contacts).


In another embodiment, the user may be further presented with an ability to navigate favorite contacts in an hierarchical manner using the favorite contacts that are initially displayed (i.e., displayed on the first or top screen). More specifically, the user may tap and hold (or use some other predefined user interface action) to cause the presentation of an additional subset of information for a given favorite contact. This subset of information includes a list of contacts most closely-associated with the selected favorite contact (e.g., as determined by the user's prior communications in the database). The closeness of association may be determined by relevancy as described herein and/or by other correlation or association approaches.


The user may tap on any of the persons listed to initiate a communication or get other information about that person (e.g., a person profile). This other information may itself include yet another list of contacts most closely associated with that person. Thus, a hierarchy of favorite contacts may be navigated by the user by tapping and holding (or otherwise selecting) on each of a series of contacts. This provides a convenient way to locate contact information for a person based on prior relationship data (e.g., as built up from prior communications, social network graphs or data, or other activity of the user).


After tapping and holding, other information that may be presented for any selected contact includes various ways of contacting that person (e.g., email, phone, or text message), which may be ranked in order of greatest frequency of use between the user and contact as determined from historical data (over all time or over another time period).


Numerous examples of various types of data (e.g., person profiles for callers associated with the user) that may be collected in a database as mentioned above for the user are described in U.S. patent application Ser. No. 12/792,698, incorporated by reference above. This data may be stored on the mobile device and/or on a server associated with or otherwise communicating with the mobile device.


In one embodiment, a mobile device of a user stores data (e.g., in a database in the form of person profiles) associated with prior communications and/or other activity of the user on the mobile device (e.g., data extracted from one of more of the following: prior communications such as email or text messages, voice messages, or other documents or information received by the user from the user's friends or other persons such as work associates). The other activity may include the manner or ways in which the user operates the mobile device (e.g., what buttons or functions or activated when the user has previously interacted with the caller, what online service is used by the user when previously interacting with the caller, etc.). This stored data will be used for determining relevancy of the favorite contacts to present to the user and/or of the types of communication options to present (e.g., voice versus text message).



FIG. 1 shows an example of a display screen provided to a user of a mobile device for navigating and selecting from favorite contacts (e.g., Jeff Bonforte, Angel Steger, and Josh Jacobson) according to one embodiment. As discussed above, favorite contacts are presented in three groups (All Time, Last 10 Days, and Today). This display screen is presented as a single screen on a smart phone or other mobile device (or even other computing device such as tablet or desktop), which may include a touch screen interface. Additional contacts may be scrolled onto the screen by a finger motion on a touch screen, such as discussed above.


As an example, the user may tap and hold (using a touch screen interface) on the image of Jeff Bonforte to see additional information (not shown) about Jeff Bonforte, including a list of related contacts (e.g., his brothers and sisters). A contact for a brother may then be tapped and held to present yet another list of related contacts (e.g., the children and wife of this brother) (not shown). This may continue for many levels (not shown), to the extent of data available for presenting information to the user (e.g., to the extent of the user database of stored history data or other contact data). At any point in the hierarchy, a quick tap (or other defined action) may be used to initiate a communication with the selected contact (e.g., a phone call).


In an even more specific, non-limiting example, the top line in FIG. 1 is a list of all the people the user knows ranked in order of relevancy over all time (i.e., the most important people based on prior communications over a long period of time).


The next list of contacts below that is based on the last 10 days. This list is de-duped (i.e., no duplicates are presented again) against the user's All Time list, and shows people that are most relevant to the user over the last 10 days (the relevancy for people in this list may be different than the relevancy determined for people in the All Time list).


The bottom list is for today's activity (e.g., phone behavior associated within a very short time period of the last 24 hours). Email activity or calendar information combined with email activity may be used as some of the criteria in selecting the persons in this list (relevancy also may be used).


In FIG. 1, the user can scroll each individual group (e.g., left or right) to list out or access a larger number of people. This is also a smart favorites list. In other words, if the user touches quickly on any one person, the mobile device proceeds to automatically call that person and does so using the most relevant or frequently used phone number or other way to contact that person based on the previous history of communications of the user with that person.


If the user taps and holds on the person, the mobile device presents the many ways that the user can reach that person, and also lists a predefined number of people that the user and the person have in common (not shown). This is a convenient and faster way to get in touch with someone as compared to prior approaches—the list of people is ranked in order by relevancy and the user can go down multiple levels.


The prior user history is examined to determine the most common form of communication (e.g., email, text message, or voice) of the user. This may be done for a predetermined time period, such as a set number of hours, days, or weeks. Then, that most common form is used for the immediate tap calling, or is presented in order as the number one choice when options are presented to the user.


The above approach may be extended to companies or other organizations, and even to particular topics (e.g., the user may tap and hold on a company icon, and people relevant to the company are listed in ranked order of relevance to the user).



FIG. 2 shows a system to present information to a user regarding favorite or most closely-associated contacts of the user, such as by display on a computing device of the user (e.g., a mobile device 150 such as an iPhone device), according to one embodiment. In FIG. 2, the user terminals (e.g., 141, 143, . . . , 145) and/or mobile devices including mobile device 150 are used to access a server 123 over a communication network 121.


The server 123 may include one or more web servers (or other types of data communication servers) to communicate with the user terminals (e.g., 141, 143, . . . , 145) and/or mobile devices.


The server 123 may be connected to a data storage facility to store user provided content, such as multimedia content, navigation data, preference data, etc. The server 123 may also store or have access to stored person profiles 154.


Person profiles 154 (and/or person profiles 162 and person profiles 152) may be created and updated based on email or other communications to and from mobile device 150 and other mobile devices of various users. In an alternative embodiment, person profiles 152 may be stored in a memory of mobile device 150. During operation, mobile device 150 may access and use person profiles obtained locally from mobile device 150 or obtained over communication network 121 from server 123 (and/or server 160).


Server 160 may store person profiles 162, which in some embodiments may include profiles received from mobile device 150 and/or server 123. Some or all of person profiles 162 may also be received from other computing devices not illustrated in FIG. 2. Person profiles 162 and/or contact data 164 (stored at server 160) may be accessed and used (e.g., by mobile device 150) for relevancy rankings and/or presentation of contacts as described herein.


Although FIG. 2 illustrates an example system implemented in client server architecture, embodiments of the disclosure can be implemented in various alternative architectures. For example, the system can be implemented via a peer to peer network of user terminals, where content and data are shared via peer to peer communication connections.


In some embodiments, a combination of client server architecture and peer to peer architecture can be used, in which one or more centralized servers may be used to provide some of the information and/or services and the peer to peer network is used to provide other information and/or services. Thus, embodiments of the disclosure are not limited to a particular architecture.



FIG. 3 shows a block diagram of a data processing system which can be used in various embodiments (e.g., to implement server 123 or server 160). While FIG. 3 illustrates various components of a computer system, it is not intended to represent any particular architecture or manner of interconnecting the components. Other systems that have fewer or more components may also be used.


In FIG. 3, the system 201 includes an inter-connect 202 (e.g., bus and system core logic), which interconnects a microprocessor(s) 203 and memory 208. The microprocessor 203 is coupled to cache memory 204 in the example of FIG. 3.


The inter-connect 202 interconnects the microprocessor(s) 203 and the memory 208 together and also interconnects them to a display controller and display device 207 and to peripheral devices such as input/output (I/O) devices 205 through an input/output controller(s) 206. Typical I/O devices include mice, keyboards, modems, network interfaces, printers, scanners, video cameras and other devices which are well known in the art.


The inter-connect 202 may include one or more buses connected to one another through various bridges, controllers and/or adapters. In one embodiment the I/O controller 206 includes a USB (Universal Serial Bus) adapter for controlling USB peripherals, and/or an IEEE-1394 bus adapter for controlling IEEE-1394 peripherals.


The memory 208 may include ROM (Read Only Memory), and volatile RAM (Random Access Memory) and non-volatile memory, such as hard drive, flash memory, etc.


Volatile RAM is typically implemented as dynamic RAM (DRAM) which requires power continually in order to refresh or maintain the data in the memory. Non-volatile memory is typically a magnetic hard drive, a magnetic optical drive, or an optical drive (e.g., a DVD RAM), or other type of memory system which maintains data even after power is removed from the system. The non-volatile memory may also be a random access memory.


The non-volatile memory can be a local device coupled directly to the rest of the components in the data processing system. A non-volatile memory that is remote from the system, such as a network storage device coupled to the data processing system through a network interface such as a modem or Ethernet interface, can also be used. In one embodiment, a data processing system as illustrated in FIG. 3 is used to implement a server.


In one embodiment, a data processing system as illustrated in FIG. 3 is used to implement a user terminal. A user terminal may be in the form of a personal digital assistant (PDA), a cellular phone or other mobile device, a notebook computer or a personal desktop computer.


In some embodiments, one or more servers of the system can be replaced with the service of a peer to peer network of a plurality of data processing systems, or a network of distributed computing systems. The peer to peer network, or a distributed computing system, can be collectively viewed as a server data processing system.


Embodiments of the disclosure can be implemented via the microprocessor(s) 203 and/or the memory 208. For example, the functionalities described can be partially implemented via hardware logic in the microprocessor(s) 203 and partially using the instructions stored in the memory 208. Some embodiments are implemented using the microprocessor(s) 203 without additional instructions stored in the memory 208. Some embodiments are implemented using the instructions stored in the memory 208 for execution by one or more general purpose microprocessor(s) 203. Thus, the disclosure is not limited to a specific configuration of hardware and/or software.



FIG. 4 shows a block diagram of a user device (e.g., mobile device 150) according to one embodiment. In FIG. 4, the user device includes an inter-connect 221 connecting the presentation device 229, user input device 231, a processor 233, a memory 227, a position identification unit 225 and a communication device 223.


In FIG. 4, the position identification unit 225 is used to identify a geographic location for user content created for sharing. The position identification unit 225 may include a satellite positioning system receiver, such as a Global Positioning System (GPS) receiver, to automatically identify the current position of the user device.


In FIG. 4, the communication device 223 is configured to communicate with a server. In one embodiment, the user input device 231 is configured to generate user data content. The user input device 231 may include a text input device, a still image camera, a video camera, and/or a sound recorder, etc.


Various further embodiments are now here described. In one embodiment, a method, comprises: storing a plurality of person profiles for persons referenced in communications received by a user of a mobile device; selecting, using at least one processor, a set of contacts from the plurality of person profiles based on a relevancy ranking, wherein the set of contacts is selected for display to the user on the mobile device; and organizing, using the at least one processor, the set of contacts into at least two time groups, each time group associated with a different time period (e.g., today, the last ten days, or all time prior to the present moment), wherein contacts will be displayed to the user within each time group based on a relevancy ranking for each contact within the time group.


In one embodiment, a server includes the at least one processor, and the method further comprises sending the set of contacts to the mobile device for display. In one embodiment, the method further comprises storing data associated with prior activities of the user on the mobile device, and the selecting the set of contacts is further based on the stored data.


In one embodiment, the mobile device includes the at least one processor, and the method further comprises presenting, using a display of the mobile device, the set of contacts to the user. The presenting may comprise displaying the contacts for each time group in a respective horizontal row for viewing by the user. The at least one processor may be configured to permit the user to scroll the contacts in the respective horizontal row for each time group in a left or right direction using a touch screen interface of the mobile device.


In one embodiment, the method further comprises receiving a predefined user interface action from the user to select a contact from the set of contacts, and in response to the action, presenting to the user on the display a list of contacts most closely-associated with the selected contact. The list of contacts may be selected from the plurality of person profiles. The most closely-associated contacts may be determined using relevancy rankings of the plurality of person profiles.


In one embodiment, a non-transitory computer-readable storage medium stores computer-readable instructions, which when executed, cause a computing apparatus to: store a plurality of person profiles for persons referenced in communications received by a user of a mobile device; select, using at least one processor, a set of contacts from the plurality of person profiles based on a relevancy ranking, wherein the set of contacts is selected for display to the user on the mobile device; and organize, using the at least one processor, the set of contacts into at least two time groups, each time group associated with a different time period, wherein contacts will be displayed to the user within each time group based on a relevancy ranking for each contact within the time group.


In one embodiment, a server includes the at least one processor, and the instructions further cause the computing apparatus to send the set of contacts to the mobile device for display. In one embodiment, the instructions further cause the computing apparatus to store data associated with prior activities of the user on the mobile device, and the selecting the set of contacts is further based on the stored data.


In one embodiment, a system comprises: at least one processor; and memory storing instructions configured to instruct the at least one processor to: store a plurality of person profiles for persons referenced in communications received by a user of a mobile device; select a set of contacts from the plurality of person profiles based on a relevancy ranking, wherein the set of contacts is selected for display to the user on the mobile device; and organize the set of contacts into at least two time groups, each time group associated with a different time period, wherein contacts will be displayed to the user within each time group based on a relevancy ranking for each contact within the time group.


In one embodiment, the system further comprises a display, and the instructions are further configured to instruct the at least one processor to present, using the display, the set of contacts to the user. In one embodiment, the presenting comprises displaying the contacts for each time group in a respective horizontal row for viewing by the user.


In one embodiment, the instructions are further configured to instruct the at least one processor to permit the user to scroll the contacts in the respective horizontal row for each time group in a left or right direction using a touch screen interface. In one embodiment, the instructions are further configured to instruct the at least one processor to receive a predefined user interface action from the user to select a contact from the set of contacts, and in response to the action, present to the user on the display a list of contacts most closely-associated with the selected contact.


The list of contacts may be selected from the plurality of person profiles. The most closely-associated contacts may be determined using relevancy rankings of the plurality of person profiles. The system may further comprise a database storing the plurality of person profiles.


In this description, various functions and operations may be described as being performed by or caused by software code to simplify description. However, those skilled in the art will recognize what is meant by such expressions is that the functions result from execution of the code by a processor, such as a microprocessor. Alternatively, or in combination, the functions and operations can be implemented using special purpose circuitry, with or without software instructions, such as using an Application-Specific Integrated Circuit (ASIC) or a Field-Programmable Gate Array (FPGA). Embodiments can be implemented using hardwired circuitry without software instructions, or in combination with software instructions. Thus, the techniques are limited neither to any specific combination of hardware circuitry and software, nor to any particular source for the instructions executed by the data processing system.


While some embodiments can be implemented in fully functioning computers and computer systems, various embodiments are capable of being distributed as a computing product in a variety of forms and are capable of being applied regardless of the particular type of machine or computer-readable media used to actually effect the distribution.


At least some aspects disclosed can be embodied, at least in part, in software. That is, the techniques may be carried out in a computer system or other data processing system in response to its processor, such as a microprocessor, executing sequences of instructions contained in a memory, such as ROM, volatile RAM, non-volatile memory, cache or a remote storage device.


Routines executed to implement the embodiments may be implemented as part of an operating system, middleware, service delivery platform, SDK (Software Development Kit) component, web services, or other specific application, component, program, object, module or sequence of instructions referred to as “computer programs.” Invocation interfaces to these routines can be exposed to a software development community as an API (Application Programming Interface). The computer programs typically comprise one or more instructions set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processors in a computer, cause the computer to perform operations necessary to execute elements involving the various aspects.


A machine readable medium can be used to store software and data which when executed by a data processing system causes the system to perform various methods. The executable software and data may be stored in various places including for example ROM, volatile RAM, non-volatile memory and/or cache. Portions of this software and/or data may be stored in any one of these storage devices. Further, the data and instructions can be obtained from centralized servers or peer to peer networks. Different portions of the data and instructions can be obtained from different centralized servers and/or peer to peer networks at different times and in different communication sessions or in a same communication session. The data and instructions can be obtained in entirety prior to the execution of the applications. Alternatively, portions of the data and instructions can be obtained dynamically, just in time, when needed for execution. Thus, it is not required that the data and instructions be on a machine readable medium in entirety at a particular instance of time.


Examples of computer-readable media include but are not limited to recordable and non-recordable type media such as volatile and non-volatile memory devices, read only memory (ROM), random access memory (RAM), flash memory devices, floppy and other removable disks, magnetic disk storage media, optical storage media (e.g., Compact Disk Read-Only Memory (CD ROMS), Digital Versatile Disks (DVDs), etc.), among others. The computer-readable media may store the instructions.


The instructions may also be embodied in digital and analog communication links for electrical, optical, acoustical or other forms of propagated signals, such as carrier waves, infrared signals, digital signals, etc. However, propagated signals, such as carrier waves, infrared signals, digital signals, etc. are not tangible machine readable medium and are not configured to store instructions.


In general, a tangible machine readable medium includes any mechanism that provides (e.g., stores) information in a form accessible by a machine (e.g., a computer, network device, personal digital assistant, manufacturing tool, any device with a set of one or more processors, etc.).


In various embodiments, hardwired circuitry may be used in combination with software instructions to implement the techniques. Thus, the techniques are neither limited to any specific combination of hardware circuitry and software nor to any particular source for the instructions executed by the data processing system.


Although some of the drawings illustrate a number of operations in a particular order, operations which are not order dependent may be reordered and other operations may be combined or broken out. While some reordering or other groupings are specifically mentioned, others will be apparent to those of ordinary skill in the art and so do not present an exhaustive list of alternatives. Moreover, it should be recognized that the stages could be implemented in hardware, firmware, software or any combination thereof.


In the foregoing specification, the disclosure has been described with reference to specific exemplary embodiments thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope as set forth in the following claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.

Claims
  • 1. A method, comprising: in response to receiving first communications from persons other than a user of a mobile device, extracting information from each communication of the first communications, wherein each of the first communications is addressed to the user;storing a plurality of person profiles for the persons, wherein each profile of the person profiles includes information extracted from at least one of the first communications, and further includes data associated with prior activities of the user on the mobile device when interacting with a person corresponding to the profile;searching, for each person profile, using the respective information extracted from the first communications as search criteria to provide a respective search result;extracting, for each person profile, respective social information from at least one social network;adding the respective search result and respective social information to each person profile;determining a relevancy ranking for each of the persons using the plurality of person profiles, the relevancy ranking determined based on the extracted information and the data associated with the prior activities of the user;selecting, using at least one processor, a first set of contacts from the plurality of person profiles for a first time group and a second set of contacts for a second time group, wherein the first time group is for a different time period than the second time group, each contact of the first set of contacts corresponds to a different one of the persons, and each contact of the second set of contacts corresponds to a different one of the persons;organizing, using the at least one processor, each of the first and second sets of contacts in a respective ranked order for display to the user based on the relevancy ranking, the first and second sets simultaneously displayed on a same screen of a user interface, wherein a first ranked order of the first set of contacts as displayed to the user is different than a second ranked order of the second set of contacts as displayed to the user, wherein the first set of contacts is ranked based on first criteria comprising the respective social information for each person profile, wherein the second set of contacts is ranked based on second criteria comprising the respective search result for each person profile, and wherein the first criteria and second criteria are different; andin response to a selection of a first contact from the first set of contacts, the selection made by the user in the same screen of the user interface, causing display of a list of persons that the user and the first contact have in common, wherein the list of persons is ranked in an order based on the relevancy ranking, and further causing display of multiple options for communicating with the first contact, each of the options ranked in order based on frequency of use in prior communications between the user and the first contact.
  • 2. The method of claim 1, further comprising sending the first and second sets of contacts to the mobile device for display.
  • 3. The method of claim 1, further comprising presenting, on the same screen using a display of the mobile device, the first and second sets of contacts to the user.
  • 4. The method of claim 3, wherein the presenting comprises displaying each of the first and second sets of contacts in a respective horizontal row for viewing on the same screen by the user.
  • 5. The method of claim 4, wherein a touch screen interface displays the same screen, the method further comprising enabling the user to scroll contacts in the respective horizontal row in a left or right direction using the touch screen interface.
  • 6. The method of claim 1, further comprising de-duping the first and second sets of contacts prior to the display to the user.
  • 7. The method of claim 1, wherein at least one of the first communications is a text message.
  • 8. The method of claim 1, wherein information extracted from the first communications comprises information extracted from a document received from a person other than the user.
  • 9. The method of claim 1, further comprising storing an additional plurality of person profiles, the additional plurality associated with an additional user, wherein each profile of the additional plurality of person profiles includes information extracted from at least one of second communications addressed to the additional user, and further includes data associated with prior activities of the additional user on a different mobile device when interacting with a person corresponding to the profile.
  • 10. A non-transitory computer-readable storage medium storing computer-readable instructions, which when executed, cause a computing apparatus to: in response to receiving communications from persons other than a user of a mobile device, extract information from each communication of the communications, wherein each of the communications is addressed to the user;store a plurality of person profiles, wherein each profile of the person profiles includes information extracted from at least one of the communications, and further includes data associated with prior activities of the user on the mobile device;search, for each person profile, using the respective information extracted from the communications as search criteria to provide a respective search result;extract, for each person profile, respective social information from at least one social network;add the respective search result and respective social information to each person profile;determine a relevancy ranking for each of the persons using the plurality of person profiles;select, using at least one processor, a first set of contacts from the plurality of person profiles for a first time group and a second set of contacts for a second time group, wherein the first time group is for a different time period than the second time group, each contact of the first set of contacts corresponds to a different one of the persons, and each contact of the second set of contacts corresponds to a different one of the persons;organize, using the at least one processor, the first and second sets of contacts in a respective ranked order for display to the user based on the relevancy ranking, the first and second sets simultaneously displayed on a same screen of a user interface, wherein a first ranked order of the first set of contacts as displayed to the user is different than a second ranked order of the second set of contacts as displayed to the user, wherein the first set of contacts is ranked based on first criteria comprising the respective social information for each person profile, wherein the second set of contacts is ranked based on second criteria comprising the respective search result for each person profile, and wherein the first criteria and second criteria are different; andin response to a selection of a first contact from the first set of contacts, the selection made by the user in the same screen of the user interface, cause display of a list of persons that the user and the first contact have in common, wherein the list of persons is ranked in an order based on the relevancy ranking, and further cause display of multiple options for communicating with the first contact, each of the options ranked in order based on frequency of use in prior communications between the user and the first contact.
  • 11. The storage medium of claim 10, wherein the instructions further cause the computing apparatus to send the first and second sets of contacts to the mobile device for display on the same screen.
  • 12. A system, comprising: a display;at least one processor; andmemory storing instructions configured to instruct the at least one processor to: in response to receiving communications from persons other than a user, extract information from each communication of the communications, wherein each of the communications is addressed to the user;store a plurality of person profiles for the persons, wherein each profile of the person profiles includes information extracted from at least one of the communications, and further includes data associated with prior activities of the user when interacting with a person corresponding to the profile;search, for each person profile, using the respective information extracted from the communications as search criteria to provide a respective search result;extract, for each person profile, respective social information from at least one social network;add the respective search result and respective social information to each person profile;determine a relevancy ranking for each of the persons using the plurality of person profiles, the relevancy ranking determined based on the extracted information and the data associated with the prior activities of the user;select a first set of contacts from the plurality of person profiles for a first time group and a second set of contacts for a second time group, wherein the first time group is for a different time period than the second time group, each contact of the first set of contacts corresponds to a different one of the persons;organize each of the first and second sets of contacts in a respective ranked order for display to the user based on the relevancy ranking, the first and second sets simultaneously displayed on a same screen, wherein a first ranked order of the first set of contacts as displayed to the user is different than a second ranked order of the second set of contacts as displayed to the user, wherein the first set of contacts is ranked based on first criteria comprising the respective social information for each person profile, wherein the second set of contacts is ranked based on second criteria comprising the respective search result for each person profile, and wherein the first criteria and second criteria are different;present, using the display, the first and second sets of contacts to the user; andin response to receiving a predefined user interface action from the user to select a contact from the first set of contacts, the user interface action made in the same screen, present to the user on the display a list of contacts most closely-associated with the selected contact, wherein the list of contacts is selected from the plurality of person profiles, and the most closely-associated contacts are determined using the relevancy ranking, and further present to the user on the display multiple options for communicating with the selected contact, each of the options ranked in order based on frequency of use in prior communications between the user and the selected contact.
  • 13. The system of claim 12, wherein the presenting comprises displaying each of the first and second sets of contacts in a respective horizontal row for viewing on the same screen by the user.
  • 14. The system of claim 13, wherein a touch screen interface displays the same screen, and the instructions are further configured to instruct the at least one processor to enable the user to scroll contacts in the respective horizontal row in a left or right direction using the touch screen interface.
  • 15. The system of claim 12, further comprising a database storing the plurality of person profiles.
CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims priority to U.S. Provisional Application Ser. No. 61/499,652, filed Jun. 21, 2011, entitled “Presenting Favorite Contacts Information to a User of a Computing Device,” by J. Bonforte, the entire contents of which application is incorporated by reference as if fully set forth herein. The present application is related to U.S. patent application Ser. No. 12/792,698, filed Jun. 2, 2010, entitled “SELF POPULATING ADDRESS BOOK,” by Smith et al., which was also published as U.S. Patent Publication No. 2010/0306185 on Dec. 2, 2010, the entire contents of which applications are incorporated by reference as if fully set forth herein. The present application is also related to U.S. Patent Application Ser. No. 61/423,052, filed Dec. 14, 2010, entitled “SENDER-BASED RANKING OF PERSON PROFILES AND MULTI-PERSON AUTOMATIC SUGGESTIONS,” by P. Monaco, and also to U.S. Patent Publication No. 2012/0150979 published on Jun. 14, 2012, and having the same title and inventor as the foregoing provisional application, the entire contents of which applications are incorporated by reference as if fully set forth herein.

US Referenced Citations (578)
Number Name Date Kind
5396647 Thompson et al. Mar 1995 A
5610915 Elliott et al. Mar 1997 A
5966714 Huang et al. Oct 1999 A
6020884 MacNaughton et al. Feb 2000 A
6285999 Page Sep 2001 B1
6385644 Devine et al. May 2002 B1
6405197 Gilmour Jun 2002 B2
6484196 Maurille Nov 2002 B1
6510453 Apfel et al. Jan 2003 B1
6560620 Ching May 2003 B1
6594654 Salam et al. Jul 2003 B1
6615348 Gibbs Sep 2003 B1
6714967 Horvitz Mar 2004 B1
6721748 Knight et al. Apr 2004 B1
6816850 Culliss Nov 2004 B2
6832245 Isaacs et al. Dec 2004 B1
6931419 Lindquist Aug 2005 B1
6952805 Tafoya et al. Oct 2005 B1
6965918 Arnold et al. Nov 2005 B1
6996777 Hipakka Feb 2006 B2
7003724 Newman Feb 2006 B2
7058892 MacNaughton et al. Jun 2006 B1
7076533 Knox et al. Jul 2006 B1
7085745 Klug Aug 2006 B2
7103806 Horvitz Sep 2006 B1
7181518 Matsumoto et al. Feb 2007 B1
7185065 Holtzman et al. Feb 2007 B1
7246045 Rappaport et al. Jul 2007 B1
7289614 Twerdahl et al. Oct 2007 B1
7328242 McCarthy et al. Feb 2008 B1
7333976 Auerbach et al. Feb 2008 B1
7359894 Liebman et al. Apr 2008 B1
7383307 Kirkland et al. Jun 2008 B2
7444323 Martinez et al. Oct 2008 B2
7454464 Puthenkulam et al. Nov 2008 B2
7475109 Fletcher et al. Jan 2009 B1
7475113 Markus Jan 2009 B2
7512788 Choi et al. Mar 2009 B2
7512814 Chen et al. Mar 2009 B2
7536384 Venkataraman et al. May 2009 B2
7539676 Aravamudan et al. May 2009 B2
7580363 Sorvari et al. Aug 2009 B2
7593995 He et al. Sep 2009 B1
7606860 Puthenkulam et al. Oct 2009 B2
7620407 Donald et al. Nov 2009 B1
7624103 Wiegering et al. Nov 2009 B2
7627598 Burke Dec 2009 B1
7634463 Katragadda et al. Dec 2009 B1
7639157 Whitley et al. Dec 2009 B1
7653695 Flury et al. Jan 2010 B2
7685144 Katragadda Mar 2010 B1
7692653 Petro et al. Apr 2010 B1
7698140 Bhardwaj et al. Apr 2010 B2
7702730 Spataro et al. Apr 2010 B2
7707249 Spataro et al. Apr 2010 B2
7707509 Naono et al. Apr 2010 B2
7716140 Nielsen et al. May 2010 B1
7720916 Fisher et al. May 2010 B2
7724878 Timmins et al. May 2010 B2
7725492 Sittig May 2010 B2
7743051 Kashyap et al. Jun 2010 B1
7752081 Calabria Jul 2010 B2
7756895 Emigh Jul 2010 B1
7756935 Gaucas Jul 2010 B2
7761436 Norton et al. Jul 2010 B2
7788260 Lunt Aug 2010 B2
7805492 Thatcher et al. Sep 2010 B1
7818396 Dolin et al. Oct 2010 B2
7827208 Bosworth Nov 2010 B2
7827265 Cheever et al. Nov 2010 B2
7831692 French et al. Nov 2010 B2
7836045 Schachter Nov 2010 B2
7836134 Pantalone Nov 2010 B2
7849141 Bellegarda et al. Dec 2010 B1
7849142 Clegg et al. Dec 2010 B2
7853602 Gorti et al. Dec 2010 B2
7853881 Aly Assal et al. Dec 2010 B1
7865562 Nesbitt et al. Jan 2011 B2
7870197 Lewis et al. Jan 2011 B2
7899806 Aravamudan Mar 2011 B2
7899871 Kumar et al. Mar 2011 B1
7908647 Polis et al. Mar 2011 B1
7925690 Smith et al. Apr 2011 B2
7930430 Thatcher et al. Apr 2011 B2
7949611 Nielsen et al. May 2011 B1
7949627 Aravamudan May 2011 B2
7970832 Perry, Jr. et al. Jun 2011 B2
7979569 Eisner et al. Jul 2011 B2
7991764 Rathod Aug 2011 B2
7996456 Gross Aug 2011 B2
8005806 Rupp et al. Aug 2011 B2
8032598 He et al. Oct 2011 B1
8055715 Bensky et al. Nov 2011 B2
8073928 Dolin et al. Dec 2011 B2
8086676 Palahnuk et al. Dec 2011 B2
8086968 McCaffrey et al. Dec 2011 B2
8112437 Katragadda et al. Feb 2012 B1
8140566 Boerries et al. Mar 2012 B2
8145791 Thatcher et al. Mar 2012 B2
8151358 Herold Apr 2012 B1
8161122 Sood et al. Apr 2012 B2
8200761 Tevanian Jun 2012 B1
8200808 Ishida Jun 2012 B2
8204897 Djabarov et al. Jun 2012 B1
8239197 Webb et al. Aug 2012 B2
8244848 Narayanan et al. Aug 2012 B1
8271025 Brisebois et al. Sep 2012 B2
8284783 Maufer et al. Oct 2012 B1
8291019 Rochelle et al. Oct 2012 B1
8296179 Rennison Oct 2012 B1
8316315 Portnoy et al. Nov 2012 B2
8363803 Gupta Jan 2013 B2
8365235 Hunt et al. Jan 2013 B2
8392409 Kashyap et al. Mar 2013 B1
8392836 Bau Mar 2013 B1
8412174 Khosravi Apr 2013 B2
8423545 Cort et al. Apr 2013 B2
8433762 Wald et al. Apr 2013 B1
8443441 Stolfo et al. May 2013 B2
8447789 Geller May 2013 B2
8452745 Ramakrishna May 2013 B2
8463872 Pounds et al. Jun 2013 B2
8468168 Brezina et al. Jun 2013 B2
8495045 Wolf et al. Jul 2013 B2
8510389 Gurajada et al. Aug 2013 B1
8522257 Rupp et al. Aug 2013 B2
8549412 Brezina et al. Oct 2013 B2
8566306 Jones Oct 2013 B2
8600343 Brezina et al. Dec 2013 B2
8606335 Ozaki Dec 2013 B2
8620935 Rubin et al. Dec 2013 B2
8661002 Smith et al. Feb 2014 B2
8666035 Timmins et al. Mar 2014 B2
8694633 Mansfield et al. Apr 2014 B2
8745060 Brezina et al. Jun 2014 B2
8768291 Williams et al. Jul 2014 B2
8793625 Rhee et al. Jul 2014 B2
8818995 Guha Aug 2014 B1
8849816 Burba et al. Sep 2014 B2
8930463 Bonforte et al. Jan 2015 B2
8972257 Bonforte Mar 2015 B2
8984074 Monaco Mar 2015 B2
8990323 Hein et al. Mar 2015 B2
9009065 Reis et al. Apr 2015 B2
9020938 Cort et al. Apr 2015 B2
9058366 Brezina et al. Jun 2015 B2
9087323 Hein et al. Jul 2015 B2
9159057 Monaco Oct 2015 B2
9195753 King et al. Nov 2015 B1
9195969 Bau et al. Nov 2015 B2
9235848 Gourley et al. Jan 2016 B1
9275118 Brezina et al. Mar 2016 B2
9275126 Smith et al. Mar 2016 B2
9298783 Brezina et al. Mar 2016 B2
9304621 Wakim et al. Apr 2016 B1
9501561 Rubin et al. Nov 2016 B2
9569529 Rubin et al. Feb 2017 B2
9584343 Brezina et al. Feb 2017 B2
9591086 Brezina et al. Mar 2017 B2
9594832 Rubin et al. Mar 2017 B2
9596308 Brezina et al. Mar 2017 B2
9685158 Bonforte Jun 2017 B2
9699258 Brezina et al. Jul 2017 B2
9716764 Brezina et al. Jul 2017 B2
9721228 Cort et al. Aug 2017 B2
9747583 Monaco Aug 2017 B2
9800679 Hein et al. Oct 2017 B2
9819765 Thatcher et al. Nov 2017 B2
9842144 Cort et al. Dec 2017 B2
9842145 Cort et al. Dec 2017 B2
20010037407 Dragulev et al. Nov 2001 A1
20010049628 Icho Dec 2001 A1
20020016818 Kirani et al. Feb 2002 A1
20020024536 Kahan et al. Feb 2002 A1
20020049751 Chen et al. Apr 2002 A1
20020054587 Baker et al. May 2002 A1
20020059402 Belanger May 2002 A1
20020059418 Bird et al. May 2002 A1
20020059425 Belfiore et al. May 2002 A1
20020073011 Brattain et al. Jun 2002 A1
20020073058 Kremer et al. Jun 2002 A1
20020076004 Brockenbrough et al. Jun 2002 A1
20020078090 Hwang et al. Jun 2002 A1
20020087647 Quine et al. Jul 2002 A1
20020091777 Schwartz Jul 2002 A1
20020103873 Ramanathan et al. Aug 2002 A1
20020103879 Mondragon Aug 2002 A1
20020107991 Maguire et al. Aug 2002 A1
20020116396 Somers et al. Aug 2002 A1
20020143871 Meyer et al. Oct 2002 A1
20020152216 Bouthors Oct 2002 A1
20020163539 Srinivasan Nov 2002 A1
20020194502 Sheth et al. Dec 2002 A1
20030028525 Santos et al. Feb 2003 A1
20030037116 Nolan et al. Feb 2003 A1
20030041030 Mansfield Feb 2003 A1
20030093483 Allen et al. May 2003 A1
20030114956 Cullen et al. Jun 2003 A1
20030120608 Pereyra Jun 2003 A1
20030142125 Salmimaa et al. Jul 2003 A1
20030167324 Farnham et al. Sep 2003 A1
20030195937 Kircher, Jr. et al. Oct 2003 A1
20030204439 Cullen, III Oct 2003 A1
20030220978 Rhodes Nov 2003 A1
20030220989 Tsuji et al. Nov 2003 A1
20030233419 Beringer Dec 2003 A1
20040002903 Stolfo et al. Jan 2004 A1
20040015547 Griffin et al. Jan 2004 A1
20040015554 Wilson Jan 2004 A1
20040034537 Gengarella et al. Feb 2004 A1
20040039630 Begole et al. Feb 2004 A1
20040056901 March et al. Mar 2004 A1
20040068545 Daniell et al. Apr 2004 A1
20040073616 Fellenstein et al. Apr 2004 A1
20040078443 Malik Apr 2004 A1
20040078444 Malik Apr 2004 A1
20040078445 Malik Apr 2004 A1
20040100497 Quillen et al. May 2004 A1
20040128355 Chao et al. Jul 2004 A1
20040128356 Bernstein et al. Jul 2004 A1
20040133561 Burke Jul 2004 A1
20040153504 Hutchinson et al. Aug 2004 A1
20040162878 Lewis et al. Aug 2004 A1
20040174964 Koch Sep 2004 A1
20040177048 Klug Sep 2004 A1
20040186851 Jhingan et al. Sep 2004 A1
20040202117 Wilson et al. Oct 2004 A1
20040205002 Layton Oct 2004 A1
20040210827 Burg Oct 2004 A1
20040215726 Arning et al. Oct 2004 A1
20040260756 Forstall et al. Dec 2004 A1
20040268229 Paoli et al. Dec 2004 A1
20050015432 Cohen Jan 2005 A1
20050027779 Schinner Feb 2005 A1
20050038687 Galdes Feb 2005 A1
20050044152 Hardy et al. Feb 2005 A1
20050055409 Alsarraf et al. Mar 2005 A1
20050055639 Fogg Mar 2005 A1
20050060638 Mathew et al. Mar 2005 A1
20050076090 Thuerk Apr 2005 A1
20050080868 Malik Apr 2005 A1
20050091272 Smith et al. Apr 2005 A1
20050091314 Blagsvedt et al. Apr 2005 A1
20050102257 Onyon et al. May 2005 A1
20050102361 Winjum et al. May 2005 A1
20050108273 Brebner May 2005 A1
20050131888 Tafoya et al. Jun 2005 A1
20050138070 Huberman et al. Jun 2005 A1
20050138631 Bellotti et al. Jun 2005 A1
20050149620 Kirkland et al. Jul 2005 A1
20050159970 Buyukkokten et al. Jul 2005 A1
20050164704 Winsor Jul 2005 A1
20050165584 Boody et al. Jul 2005 A1
20050165893 Feinberg et al. Jul 2005 A1
20050188028 Brown, Jr. et al. Aug 2005 A1
20050198159 Kirsch Sep 2005 A1
20050198299 Beck et al. Sep 2005 A1
20050198305 Pezaris et al. Sep 2005 A1
20050203929 Hazarika et al. Sep 2005 A1
20050204009 Hazarika et al. Sep 2005 A1
20050213511 Reece, Jr. et al. Sep 2005 A1
20050216300 Appelman et al. Sep 2005 A1
20050222890 Cheng et al. Oct 2005 A1
20050228881 Reasor et al. Oct 2005 A1
20050228899 Wendkos et al. Oct 2005 A1
20050235224 Arend et al. Oct 2005 A1
20050278317 Gross et al. Dec 2005 A1
20060004713 Korte et al. Jan 2006 A1
20060004892 Lunt Jan 2006 A1
20060004914 Kelly et al. Jan 2006 A1
20060015533 Wolf et al. Jan 2006 A1
20060020398 Vernon et al. Jan 2006 A1
20060031340 Mathew et al. Feb 2006 A1
20060031775 Sattler et al. Feb 2006 A1
20060047747 Erickson et al. Mar 2006 A1
20060053199 Pricken et al. Mar 2006 A1
20060056015 Nishiyama Mar 2006 A1
20060059151 Martinez et al. Mar 2006 A1
20060059238 Slater et al. Mar 2006 A1
20060064431 Kishore et al. Mar 2006 A1
20060064434 Gilbert et al. Mar 2006 A1
20060065733 Lee et al. Mar 2006 A1
20060074932 Fong et al. Apr 2006 A1
20060075046 Yozell-Epstein et al. Apr 2006 A1
20060083357 Howell et al. Apr 2006 A1
20060083358 Fong et al. Apr 2006 A1
20060085752 Beadle et al. Apr 2006 A1
20060095331 O'Malley May 2006 A1
20060095502 Lewis et al. May 2006 A1
20060101285 Chen et al. May 2006 A1
20060101350 Scott May 2006 A1
20060123357 Okamura Jun 2006 A1
20060136494 Oh Jun 2006 A1
20060168073 Kogan et al. Jul 2006 A1
20060173824 Bensky et al. Aug 2006 A1
20060173961 Turski et al. Aug 2006 A1
20060179415 Cadiz et al. Aug 2006 A1
20060195361 Rosenberg Aug 2006 A1
20060195474 Cadiz et al. Aug 2006 A1
20060195785 Portnoy et al. Aug 2006 A1
20060217116 Cassett et al. Sep 2006 A1
20060218111 Cohen Sep 2006 A1
20060224675 Fox et al. Oct 2006 A1
20060242536 Yokokawa et al. Oct 2006 A1
20060242609 Potter et al. Oct 2006 A1
20060248151 Belakovskiy et al. Nov 2006 A1
20060256008 Rosenberg Nov 2006 A1
20060271630 Bensky et al. Nov 2006 A1
20060281447 Lewis et al. Dec 2006 A1
20060282303 Hale et al. Dec 2006 A1
20070005702 Tokuda et al. Jan 2007 A1
20070005715 LeVasseur et al. Jan 2007 A1
20070005750 Lunt et al. Jan 2007 A1
20070011367 Scott et al. Jan 2007 A1
20070016647 Gupta et al. Jan 2007 A1
20070022447 Arseneau et al. Jan 2007 A1
20070038720 Reding et al. Feb 2007 A1
20070050455 Yach et al. Mar 2007 A1
20070060328 Zrike et al. Mar 2007 A1
20070071187 Apreutesei et al. Mar 2007 A1
20070083651 Ishida Apr 2007 A1
20070088687 Bromm et al. Apr 2007 A1
20070106780 Farnham et al. May 2007 A1
20070112761 Xu et al. May 2007 A1
20070115991 Ramani et al. May 2007 A1
20070118533 Ramer et al. May 2007 A1
20070123222 Cox et al. May 2007 A1
20070124432 Holtzman et al. May 2007 A1
20070129977 Forney Jun 2007 A1
20070130527 Kim Jun 2007 A1
20070135110 Athale et al. Jun 2007 A1
20070143414 Daigle Jun 2007 A1
20070153989 Howell et al. Jul 2007 A1
20070156732 Surendran et al. Jul 2007 A1
20070162432 Armstrong et al. Jul 2007 A1
20070174304 Shrufi et al. Jul 2007 A1
20070174432 Rhee et al. Jul 2007 A1
20070177717 Owens et al. Aug 2007 A1
20070185844 Schachter Aug 2007 A1
20070192490 Minhas Aug 2007 A1
20070198500 Lucovsky et al. Aug 2007 A1
20070203991 Fisher et al. Aug 2007 A1
20070208802 Barman et al. Sep 2007 A1
20070214141 Sittig Sep 2007 A1
20070218900 Abhyanker Sep 2007 A1
20070244881 Cha et al. Oct 2007 A1
20070250585 Ly et al. Oct 2007 A1
20070255794 Coutts Nov 2007 A1
20070271527 Paas et al. Nov 2007 A1
20070273517 Govind Nov 2007 A1
20070282956 Staats Dec 2007 A1
20070288578 Pantalone Dec 2007 A1
20070294428 Guy et al. Dec 2007 A1
20080005247 Khoo Jan 2008 A9
20080005249 Hart Jan 2008 A1
20080031241 Toebes et al. Feb 2008 A1
20080037721 Yao et al. Feb 2008 A1
20080040370 Bosworth Feb 2008 A1
20080040435 Buschi et al. Feb 2008 A1
20080040474 Zuckerberg Feb 2008 A1
20080040475 Bosworth Feb 2008 A1
20080055263 Lemay et al. Mar 2008 A1
20080056269 Madhani et al. Mar 2008 A1
20080065701 Lindstrom et al. Mar 2008 A1
20080071872 Gross Mar 2008 A1
20080077614 Roy Mar 2008 A1
20080104052 Ryan et al. May 2008 A1
20080113674 Baig May 2008 A1
20080114758 Rupp et al. May 2008 A1
20080119201 Kolber et al. May 2008 A1
20080120411 Eberle May 2008 A1
20080122796 Jobs et al. May 2008 A1
20080134081 Jeon et al. Jun 2008 A1
20080147639 Hartman et al. Jun 2008 A1
20080147810 Kumar et al. Jun 2008 A1
20080162347 Wagner Jul 2008 A1
20080162649 Lee et al. Jul 2008 A1
20080162651 Madnani Jul 2008 A1
20080163164 Chowdhary et al. Jul 2008 A1
20080170158 Jung et al. Jul 2008 A1
20080172362 Shacham et al. Jul 2008 A1
20080172464 Thattai et al. Jul 2008 A1
20080183832 Kirkland et al. Jul 2008 A1
20080189122 Coletrane Aug 2008 A1
20080208812 Quoc et al. Aug 2008 A1
20080216092 Serlet Sep 2008 A1
20080220752 Forstall et al. Sep 2008 A1
20080222279 Cioffi et al. Sep 2008 A1
20080222546 Mudd et al. Sep 2008 A1
20080235353 Cheever et al. Sep 2008 A1
20080242277 Chen et al. Oct 2008 A1
20080270038 Partovi et al. Oct 2008 A1
20080270939 Mueller Oct 2008 A1
20080275748 John Nov 2008 A1
20080275865 Kretz et al. Nov 2008 A1
20080290987 Li Nov 2008 A1
20080293403 Quon et al. Nov 2008 A1
20080301166 Sugiyama et al. Dec 2008 A1
20080301175 Applebaum et al. Dec 2008 A1
20080301245 Estrada et al. Dec 2008 A1
20080307066 Amidon et al. Dec 2008 A1
20080319943 Fischer Dec 2008 A1
20090005076 Forstall et al. Jan 2009 A1
20090006366 Johnson et al. Jan 2009 A1
20090010353 She et al. Jan 2009 A1
20090029674 Brezina et al. Jan 2009 A1
20090030773 Kamhoot Jan 2009 A1
20090030872 Brezina et al. Jan 2009 A1
20090030919 Brezina et al. Jan 2009 A1
20090030927 Cases et al. Jan 2009 A1
20090030933 Brezina et al. Jan 2009 A1
20090030940 Brezina et al. Jan 2009 A1
20090031232 Brezina et al. Jan 2009 A1
20090031244 Brezina et al. Jan 2009 A1
20090031245 Brezina et al. Jan 2009 A1
20090037541 Wilson Feb 2009 A1
20090041224 Bychkov et al. Feb 2009 A1
20090048994 Applebaum et al. Feb 2009 A1
20090054091 van Wijk et al. Feb 2009 A1
20090070412 D'Angelo Mar 2009 A1
20090077026 Kazuhisa Mar 2009 A1
20090083278 Zhao et al. Mar 2009 A1
20090100384 Louch Apr 2009 A1
20090106415 Brezina et al. Apr 2009 A1
20090106676 Brezina et al. Apr 2009 A1
20090111495 Sjolin et al. Apr 2009 A1
20090119678 Shih et al. May 2009 A1
20090150251 Zhitomirsky Jun 2009 A1
20090156170 Rossano et al. Jun 2009 A1
20090157717 Palahnuk et al. Jun 2009 A1
20090171930 Vaughn et al. Jul 2009 A1
20090171979 Lubarski et al. Jul 2009 A1
20090174680 Anzures et al. Jul 2009 A1
20090177754 Brezina et al. Jul 2009 A1
20090182788 Chung et al. Jul 2009 A1
20090191899 Wilson et al. Jul 2009 A1
20090198688 Venkataraman et al. Aug 2009 A1
20090209286 Bentley et al. Aug 2009 A1
20090213088 Hardy et al. Aug 2009 A1
20090217178 Niyogi Aug 2009 A1
20090228555 Joviak et al. Sep 2009 A1
20090234815 Boerries et al. Sep 2009 A1
20090234925 Seippel, III et al. Sep 2009 A1
20090248415 Jablokov et al. Oct 2009 A1
20090249198 Davis et al. Oct 2009 A1
20090271370 Jagadish et al. Oct 2009 A1
20090271409 Ghosh Oct 2009 A1
20090299824 Barnes, Jr. Dec 2009 A1
20090300127 Du Dec 2009 A1
20090300546 Kwok et al. Dec 2009 A1
20090306981 Cromack et al. Dec 2009 A1
20090313573 Paek et al. Dec 2009 A1
20090319329 Aggarwal et al. Dec 2009 A1
20090328161 Puthenkulam et al. Dec 2009 A1
20100009332 Yaskin et al. Jan 2010 A1
20100015954 Yang Jan 2010 A1
20100030715 Eustice et al. Feb 2010 A1
20100036833 Yeung et al. Feb 2010 A1
20100049534 Whitnah Feb 2010 A1
20100057858 Shen et al. Mar 2010 A1
20100057859 Shen et al. Mar 2010 A1
20100062753 Wen et al. Mar 2010 A1
20100070875 Turski Mar 2010 A1
20100077041 Cowan et al. Mar 2010 A1
20100082693 Hugg et al. Apr 2010 A1
20100083182 Liu et al. Apr 2010 A1
20100088340 Muller et al. Apr 2010 A1
20100094869 Ebanks Apr 2010 A1
20100100899 Bradbury Apr 2010 A1
20100121831 Lin et al. May 2010 A1
20100131447 Creutz et al. May 2010 A1
20100153832 Markus et al. Jun 2010 A1
20100158214 Gravino et al. Jun 2010 A1
20100161547 Carmel et al. Jun 2010 A1
20100161729 Leblanc et al. Jun 2010 A1
20100162171 Felt et al. Jun 2010 A1
20100164957 Lindsay Jul 2010 A1
20100167700 Brock et al. Jul 2010 A1
20100169327 Lindsay Jul 2010 A1
20100174784 Levey et al. Jul 2010 A1
20100185610 Lunt Jul 2010 A1
20100191844 He et al. Jul 2010 A1
20100216509 Riemer et al. Aug 2010 A1
20100228560 Balasaygun et al. Sep 2010 A1
20100229096 Maiocco et al. Sep 2010 A1
20100229223 Shepard Sep 2010 A1
20100235375 Sidhu et al. Sep 2010 A1
20100241579 Bassett et al. Sep 2010 A1
20100250682 Goldberg et al. Sep 2010 A1
20100281535 Perry, Jr. et al. Nov 2010 A1
20100306185 Smith Dec 2010 A1
20100312837 Bodapati et al. Dec 2010 A1
20100318614 Sager et al. Dec 2010 A1
20100330972 Angiolillo Dec 2010 A1
20110010423 Thatcher et al. Jan 2011 A1
20110035451 Smith et al. Feb 2011 A1
20110040726 Crosbie et al. Feb 2011 A1
20110072052 Skarin et al. Mar 2011 A1
20110078259 Rashad Mar 2011 A1
20110086627 Khosravi Apr 2011 A1
20110087969 Hein et al. Apr 2011 A1
20110145192 Quintela et al. Jun 2011 A1
20110145219 Cierniak et al. Jun 2011 A1
20110173274 Sood Jul 2011 A1
20110173547 Lewis et al. Jul 2011 A1
20110191337 Cort et al. Aug 2011 A1
20110191340 Cort et al. Aug 2011 A1
20110191717 Cort Aug 2011 A1
20110196802 Ellis et al. Aug 2011 A1
20110201275 Jabara et al. Aug 2011 A1
20110219317 Thatcher Sep 2011 A1
20110225293 Rathod Sep 2011 A1
20110231407 Gupta et al. Sep 2011 A1
20110235790 Strope et al. Sep 2011 A1
20110252383 Miyashita Oct 2011 A1
20110276396 Rathod Nov 2011 A1
20110282905 Polis et al. Nov 2011 A1
20110291860 Ozaki et al. Dec 2011 A1
20110291933 Holzer et al. Dec 2011 A1
20110298701 Holzer et al. Dec 2011 A1
20120011204 Morin et al. Jan 2012 A1
20120017158 Maguire et al. Jan 2012 A1
20120036254 Onuma Feb 2012 A1
20120041907 Wang et al. Feb 2012 A1
20120054681 Cort et al. Mar 2012 A1
20120079023 Tejada-Gamero et al. Mar 2012 A1
20120084461 Athias et al. Apr 2012 A1
20120089678 Cort Apr 2012 A1
20120089690 Hein et al. Apr 2012 A1
20120110080 Panyam et al. May 2012 A1
20120110096 Smarr et al. May 2012 A1
20120150970 Peterson et al. Jun 2012 A1
20120150978 Monaco et al. Jun 2012 A1
20120150979 Monaco Jun 2012 A1
20120166999 Thatcher Jun 2012 A1
20120197871 Mandel Aug 2012 A1
20120198348 Park Aug 2012 A1
20120246065 Yarvis et al. Sep 2012 A1
20120259834 Broder et al. Oct 2012 A1
20120271822 Schwendimann et al. Oct 2012 A1
20120278428 Harrison et al. Nov 2012 A1
20120330658 Bonforte Dec 2012 A1
20120330980 Rubin et al. Dec 2012 A1
20130007627 Monaco Jan 2013 A1
20130014021 Bau et al. Jan 2013 A1
20130080915 Lewis et al. Mar 2013 A1
20130091288 Shalunov et al. Apr 2013 A1
20130120444 Allyn et al. May 2013 A1
20130173712 Monjas Llorente et al. Jul 2013 A1
20130246931 Harris et al. Sep 2013 A1
20130260795 Papakipos et al. Oct 2013 A1
20140011481 Kho Jan 2014 A1
20140081914 Smith et al. Mar 2014 A1
20140081964 Rubin et al. Mar 2014 A1
20140087687 Brezina et al. Mar 2014 A1
20140089304 Rubin et al. Mar 2014 A1
20140089411 Rubin et al. Mar 2014 A1
20140095433 Cort et al. Apr 2014 A1
20140100861 Ledet Apr 2014 A1
20140115086 Chebiyyam Apr 2014 A1
20140156650 Jacobson Jun 2014 A1
20140207761 Brezina et al. Jul 2014 A1
20140214981 Mallet et al. Jul 2014 A1
20140280097 Lee et al. Sep 2014 A1
20140287786 Bayraktar et al. Sep 2014 A1
20150074213 Monaco Mar 2015 A1
20150170650 Bonforte Jun 2015 A1
20150222719 Hein et al. Aug 2015 A1
20160070787 Brezina et al. Mar 2016 A1
20160182661 Brezina et al. Jun 2016 A1
20170147699 Rubin et al. May 2017 A1
20170171124 Brezina et al. Jun 2017 A1
20170187663 Brezina et al. Jun 2017 A1
20170287483 Bonforte Oct 2017 A1
20170302749 Brezina et al. Oct 2017 A1
20170324821 Brezina et al. Nov 2017 A1
20170337514 Cort et al. Nov 2017 A1
20180046985 Monaco Feb 2018 A1
Foreign Referenced Citations (14)
Number Date Country
101351818 Jan 2009 CN
0944002 Sep 1999 EP
944002 Sep 1999 EP
2003006116 Jan 2003 JP
2007249307 Sep 2007 JP
20060056015 May 2006 KR
1020090068819 Jun 2009 KR
1020090112257 Oct 2009 KR
1020020060386 Aug 2012 KR
1020090115239 Aug 2012 KR
2003098515 Nov 2003 WO
2007037875 Apr 2007 WO
2007143232 Dec 2007 WO
2012082929 Jun 2012 WO
Non-Patent Literature Citations (34)
Entry
Android-Tips.com, “Android Tips & Tricks: How to Import Contacts into Android Phone,” located at http://android-tips.com/how-to-import-contacts-into-android/, Nov. 17, 2008 (document provided includes third-party comments submitted under the USPTO PeerToPatent program).
Bernstein, Michael S. et al., “Enhancing Directed Content Sharing on the Web,” Proceedings of the 28th International Conference on Human Factors in Computing Systems, Atlanta, GA, Apr. 10-15, 2010, pp. 971-980.
Carvalho, Vitor R. et al., “Ranking Users for Intelligent Message Addressing,” Proceedings of the 30th European Conference on Information Retrieval, Glasgow, England, Mar. 30-Apr. 3, 2008, pp. 321-333.
Culotta, Aron et al., “Extracting Social Networks and Contact Information from Email and the Web,” Proceedings of the First Conference on Email and Anti-Spam (CEAS), Mountain View, CA, Jul. 30-31, 2004 (document provided includes third-party comments submitted under the USPTO PeerToPatent program).
Elsayed, Tamer et al., “Personal Name Resolution in Email: A Heuristic Approach,” University of Maryland Technical Report No. TR-LAMP-150, Mar. 17, 2008.
Fitzpatrick, Brad, “AddressBooker,” Github Social Coding, located at http://addressbooker.appspot.com/, Nov. 28, 2008 (document provided includes third-party comments submitted under the USPTO PeerToPatent program).
Google Inc. “OpenSocial Tutorial,” located at http://code.google.com/apis/opensocial/articles/tutorial/tutorial-0.8.html, Aug. 2008.
Google Inc., “Automatic Updating of Contacts,” Gmail help forum, located at http://74.125.4.16/support/forum/p/gmail/thread?tid=03f7b692150d9242&hl=en, Apr. 27, 2009 (document provided includes third-party comments submitted under the USPTO PeerToPatent program).
Hillebrand, Tim, “Plaxo: The Smart Auto Update Address Book,” Smart Phone Mag, located at http://www.smartphonemag.com/cms/blogs/9/plaxo_the_smart_auto_update_address_book, Nov. 6, 2006 (document provided includes third-party comments submitted under the USPTO PeerToPatent program).
International Patent Application PCT/US10/34782, International Search Report, dated Dec. 22, 2010.
International Patent Application PCT/US10/34782, Written Opinion, dated Dec. 22, 2010.
International Patent Application PCT/US10/35405, International Search Report and Written Opinion, dated Jan. 3, 2011.
International Patent Application PCT/US12/043523, International Search Report and Written Opinion, dated Nov. 28, 2012.
Microsoft Corporation, “About AutoComplete Name Suggesting,” Microsoft Outlook 2003 help forum, located at http://office.microsoft.com/en-us/outlook/HP063766471033.aspx, 2003.
OpenSocial Foundation, “Social Application Tutorial (v0.9),” located at http://wiki.opensocial.org/index.php?title=Social_Application_Tutorial, accessed Oct. 8, 2010.
PCWorld Communications, Inc., “Your Contacts Are Forever: Self-Updating Address Book,” located at http://www.pcworld.com/article/48192/your_contacts_are_forever_selfupdating_address_book.html, May 1, 2001 (document provided includes third-party comments submitted under the USPTO PeerToPatent program).
International Patent Application PCT/US2011/064892, International Search Report and Written Opinion, dated Aug. 22, 2012.
European Patent Application No. 11849271.9, Extended Search Report, dated Apr. 3, 2014.
Extended European Search Report, EP 10 78 3783, dated Mar. 24, 2014.
International Patent Application PCT/US10/52081, International Search Report and Written Opinion, dated May 20, 2011.
International Patent Application PCT/US11/64958, International Search Report and Written Opinion, dated Jul. 31, 2012.
International Patent Application PCT/US2012/043507, International Search Report and Written Opinion, dated Jan. 3, 2013.
U.S. Appl. No. 61/407,018, filed Oct. 27, 2010.
European Patent Application No. 12801970.0, Extended Search Report, dated Oct. 23, 2014.
European Patent Application 12801998.1, Extended Search Report, dated Feb. 10, 2015.
Epstein, “Harnessing User Data to Improve Facebook Features”, Doctoral dissertation, Boston College, May 12, 2010.
Hannon et al., “Recommending Twitter Users to Follow Using Content and Collaborative Filtering Approaches”, RecSys2010, Sep. 26-30, 2010, Barcelona, Spain.
International Patent Application PCT/US10/56560, International Search Report and Written Opinion, dated Jun. 21, 2011.
Oberhaus, Kristin, “Look for Cues: Targeting Without Personally Identifiable Information,” W3i, LLC blog entry located at http://blog.w3i.com/2009/09/03/looking-for-cues-targeting-without-personally-identifiable-information/, Sep. 3, 2009.
W3i, LLC, “Advertiser Feedback System (AFS),” company product description. Sep. 22, 2009.
Wikimedia Foundation, Inc., “Machine Learning,” Wikipedia encyclopedia entry located at http://en.wikipedia.org/wiki/Machine_learning, Jan. 30, 2011.
“OpenSocial Specification v0.9”, OpenSocial and Gadgets Specification Group, Apr. 2009.
“The Ultimate Guide for Everything Twitter”, Webdesigner Depot, archive.org webpage https://web.archive.org/web/20090325042115/http://www.webdesignerdepot.com/2009/03/the-ultimate-guide-for-everything- twitter/ from Mar. 25, 2009.
European Patent Application No. 10797483.4, extended European Search Report, dated Dec. 20, 2016.
Related Publications (1)
Number Date Country
20120331418 A1 Dec 2012 US
Provisional Applications (1)
Number Date Country
61499652 Jun 2011 US