1. Field of Technology
The present embodiments relate to organizing a contact list based on social network context.
2. Background of Technology
A cell phone user may use a contact list to look up contact information. To locate contact information, the cell phone search may be based on various inputs from the user. Once located, the contact information may be selected to initiate connection with the other communication device.
The present embodiments relate to arranging or organizing a contact list based on social network service context. A “contact” may be a person or device that uses a communication device to communicate. A “contact list” may be a listing of one or more contacts. The contact list may include contact information used to communicate with one or more of the contact's communication devices. For example, the contact list may include a contact's email address and phone number. The contact information may be selected to initiate communication with the contact.
The contact list may be arranged based on social network service context. A social network service uses software to build online social networks. The social network service context may be used to determine the likelihood that a contact or contact information will be selected from the contact list. For example, increased interaction with a contact using a social network service may increase the likelihood that a contact will be selected.
In a first aspect, an apparatus includes a memory; and a processor in communication with the memory. The memory includes computer code executable with the processor. The computer code is configured to determine one or more social network weightings for one or more contacts in a social network. The social network weightings are determined based on social network context. The one or more social network weightings are operable to be used to arrange a contact list as a function of the social network weightings for the one or more contacts in the social network.
In a second aspect, a method includes determining a social network weighting for one or more contacts in a contact list, and arranging the contact list as a function of the social network weighting for one or more contacts.
In a third aspect, a system includes a memory having generating instructions that are executable to generate a social network weighting for a contact in a contact list and a social network; and a processor that is operable to execute instructions stored in the memory.
As one example, Bob Johnson uses Facebook to build an online social network, which includes Mary Johnson, Jack Wo, Jane Doe (4), Jane Doe (5), and David Smith. Bob uses Facebook to interact with the individuals in the online social network. For example, Bob can send/receive messages, join groups, and update his profile. Bob's interaction with the individuals is used to generate a social network weighting for each individual in the online social network. The type and amount of interaction with a contact determines the weight of a social network weighting for that contact. For example, increased interaction may increase the weight of the social network weighting. The social network weighting may be used to arrange Bob's cellular phone contact list. For example, Bob may be trying to call Jack Wo. Bob uses his cellular phone to search for Jack Wo's phone number in the cellular phone contact list. Jack's social network weighting is used to determine Jack's place in the cellular phone contact list. For example, if Jack Wo's social network weighting has the greatest weight relative to the other individuals, Jack Wo's contact information may be disposed at the top of the cellular phone contact list.
The system 10 is a network of communication devices, routers, servers, workstations, personal computers, any combination thereof, or other now known or later developed system for providing predictive support. For example, the system 10 is a network of devices that automatically arranges a contact list 25 based on social network service context. Automated assistance is provided to a user for predicting a desired contact in a contact list 25. In another example, the system 10 is a server that automatically weights social network service context. The weights may be determined based, directly or indirectly, on the likelihood that a contact will be selected from the contact list 25. The weights may be used to determine a social network weighting for each individual in the social network. In another example, the system 10 is a communication device for intelligent dialing. Intelligent dialing may combine keystrokes and weighted interactions to predict the contact that is likely to be selected.
The network 30 interconnects the communication device 20 and server 40. The network 30 may be used for communication. The communication may include transmission using any now known or later developed protocol. For example, the Internet Protocol (IP) or the Transmission Control Protocol (TCP) may be used.
The server 40 may be a web server, remote terminal server, network server, central server, personal server, or any other now known or later developed server. The server 40 may support client interaction with web applications. For example, the server 40 may operate to accept an HTTP request from a client, and provide an HTTP response to the client. The HTTP response may be an HTML document, but can also be a raw file, an image, or some other type of document.
The processor 41 may monitor a social network service. Monitoring may include logging, recording, copying, observing, tracking, documenting, requesting, or reporting. The social network service may be an online social network service, a communication service, a networking service, or any other service for social networking. For example, a social network service may be an online social networking service for building a network 51 and interacting with people, groups, or organizations. In another example, a social network service may be a communication service for communication service with one or more individuals in a network 51. In another example, a social network services 50 is, for example, a social service (e.g., MySpace), a business network service (e.g., Linked-In), a dating service network (e.g., Harmony.com), or an invitation service (e.g., Evite). In the example above, Facebook is the social network service. The server 40 may monitor Bob's use of Facebook. The server 40 may monitor use of multiple social networks.
A social network service may be used to establish a social network 51. The network 51 may be a community of people who share interests and activities or who are interested in exploring the interests and activities of others, such as an association of individuals. For example, social network service users may be an online association of friends, colleagues, acquaintances, or business partners. The network 51 may be customized or defined by a social network service user. The user may accept or reject requests to be in the user's network 51. In the example above, Bob Johnson is the social network service user. Bob Johnson uses Facebook to build a social network 51, which Facebook labels “Friends.” Accordingly, Bob may use Facebook to invite someone to be his Friend or in the social network 51. Bob may also reject or accept another individual's invitation to be a Friend.
The processor 40 may generate one or more social network weightings for individuals in the social network 51. A social network weighting may be a rating, ranking, vote, score, word, bit, byte, or other factor for determining the likelihood that the social network service user will contact the individual in the social network 51. For example, the weighting may be a numerical score, such as +10 or +5. In another example, the weighting may a word, such as “important” or “average.”
The social network weighting is determined as a function of social network service context. Social network service context may include social network interaction, social network association, online social network activities, number of shared links (e.g., number of shared friends) or any combination thereof. Additional, different, or less social network service features may be included as social network context.
A social network interaction may include communication, chat, messaging, email, video sharing, voice chat, text chat, game playing, file sharing, wall posting, blogging, discussion groups, calls, or any combination thereof. As shown in
A social network association may include inclusion in a social network 51. The social network 51 may be individuals having mutual association, one-way association, direct association, indirect association, short term association, long term association, or any combination thereof. In the example above, as shown in
A social network association may also include association with an individual in a social network group. The social network group may be a group of individuals having a similar interest, such as collecting antiques. The group may include individuals that are not in network 51. In the example above, Bob Johnson may join a group, such as “10,000 people against World Hunger.” The individuals associating with “10,000 people against World Hunger” may or may not be in Bob's social network 51.
A social network association may also include association with an individual associated with a social network event 54. A social network event 54 may be a group of individuals that plan to be at a certain place during a particular interval of time. Individuals that plan to attend the event may join the social network event 54. In the example above, as shown in
A social network activity may include updating, adding, deleting, or changing a social network profile 55. In the example above, as shown in
The processor 41 may associate, assign, or relate a social network context weight to a social network context. For example, one, some, or all of the social network interactions, associations, or activities may receive a social network context weight. The weights may be fixed or adjusted. The social network context weights may be defined based on the likelihood that an individual will be contacted.
The social network context weight may indicate the importance of the interaction, association, or activity with respect to determining the likelihood that an individual will be contacted by the social network service user. For example, a greater social network context weight may indicate an increased likelihood that an individual in the social network 51 will be contacted. In an alternative example, a lower social network context weight may indicate an increased likelihood that an individual in the social network 51 will be contacted.
As shown in
In one example, a social network weight may be increased for based on the number of mutual contacts or the degrees of mutual contacts in a social network 51. The number of mutual contacts is the number of contacts in network that are also in another network. For example, if Mary Johnson has a network that includes David Smith (1), David Smith (2), and David Smith (3), then Mary and Bob have one (1) mutual contact—David Smith (3). Another contact, such as Jack Wo, may have two (2) mutual contacts with Bob Johnson. Accordingly, Jack Wo's social network weight may be increased more than Mary Johnson's social network weight.
A social network weight may be reduced for social network context that is less-relevant. Social network context that is less-relevant may include social network context that is not current. For example, an individual that has recently communicated with the social network service user may have a greater likelihood of being contacted, than an individual that has not communicated with the user recently. As shown in
A social network weight may be reduced based on decay over time, a list of mutual contacts is reduced, you are removed from a network, the amount of time that it takes for communication to be deleted, when one individual does not return communication from another individual. For example, if Jack Wo is removed from network 51, then Jack Wo may have a social interaction weight that is reduced to 0 or a negative value. In another example, if Mary Johnson continuously sends Bob Johnson private messages 53, but Bob Johnson does not return the messages 53, then Mary Johnson may have a social interaction weight that is reduced to 0 or a negative value.
The processor 41 may sum the social network weights of an individual in the social network 51. The sum of the social network weights is the social network weighting for the individual in the social network 51.
The processor 40 may transmit one or more social network weightings to the communication device 40. Alternatively, the processor 40 may transmit social network context information to the communication device 40. The processor 21 may use the social network context information to generate social network weightings. In other alternatives, the processor 40 transmits a relative ranking of the contacts. As used herein, logic encoded in one or more tangible media for execution is defined as the instructions that are executable by the processor and that are provided on the computer-readable storage media, memories, or a combination thereof.
The memory 42 is computer readable storage media. The memory 42 may store data representing instructions executable by a programmed processor, such as the processor 41 for determining a social network weighting. The instructions may include acts shown in the Figures or described herein. For example, as shown in
The monitoring instructions 43 may be executed to monitor a social network service. The social network service is monitored to identify social network context. For example, the monitoring instructions 43 are executable to identify social network interactions, such as messages, and social network associations.
The weighting instructions 44 may be executed to generate a social network weighting for individuals in the network 51. The weighting instructions 44 may relate social network context to a social network context weight. The social network context weight may indicate the relevance of the social network context, with respect to determining the likelihood a user will contact an individual in the social network. The weighting instructions 44 may be executed to sum the social network context weights for an individual. Summing the social network context weights may include increasing or decreasing the weight of the social network weighting based on the social network context weight.
The transmitting instructions 45 may be executed to transmit one or more social network weightings or social network context information to a communication device.
The communication device 20 is a telephone, cellular phone, mobile phone, telecommunications device, satellite phone, wireless phone, Internet Protocol (IP) phone, voice-over-IP (VOIP) device, personal digital assistant (PDA), network phone, personal computer, server, remote terminal, network endpoint, session initiation protocol (SIP) device, or any other now known or later developed device for communicating with other communication devices. For example, the communication device 20 is a cellular phone for communicating over a cellular network of base stations. In another example, the communication device 20 is a personal computer for communicating over the Internet. In the example above, Bob Johnson's cellular telephone is the communication device 20.
The processors 21, 41 are general processors, digital signal processors, application specific integrated circuits, field programmable gate arrays, analog circuits, digital circuits, combinations thereof, or other now known or later developed processors. The processors 21, 41 may be single devices or a combination of devices, such as associated with a network or distributed processing. Any of various processing strategies may be used, such as multi-processing, multi-tasking, parallel processing, or the like. Processing may be local, as opposed to remotely. For example, the processor 21 is operable to perform processing completed by the processor 41. The processors 21, 41 are responsive to instructions stored as part of software, hardware, integrated circuits, firmware, micro-code or the like.
The processor 21 may receive one or more social network weightings for one or more individuals in the social network 51. For example, the social network weightings may be received from the server 40.
The processor 21 may access a contact list 25. Accessing the contact list 25 may include retrieving from memory 22, requesting and/or receiving from another communication device or server 40, or using any other now known or later developed technique for accessing a contact list 25. Universal, global, local, shared, private, public, or network contact listing techniques may be used. For example, the processor 21 may retrieve a local contact list 25 stored in memory 22. In the example above, as shown in
The contact list 25 may include contact information for one or more contacts. The contact information may include identification information, address information, a combination thereof, or other information relating to the contact. Additional, different, or less information may be provided in the contact list 23. For example, the contact list 25 may include notes, photos, or remarks related to the contact. In the example above, as shown in
The contact information may be used to connect with the contact. Connecting with the contact may include establishing a connection with a communication device, sending a message to an address, or any other communication process. For example, the contact information may include a phone number. Once the contact is selected, the communication device 20 may dial the phone number. In another example, the contact information may be a VOIP address. Once selected, the communication device 20 may establish a VOIP connection to the VOIP address for VOIP communication.
The processor 21 may automatically arrange the contact list 21. Arranging may include ordering, sequencing, organizing, sorting, systemizing, negotiating, comparing, correlating, coordinating, or any process of placing in an order. The processor 21 may arrange all, some, or none of the contact list 21 in one or more sequences. For example, the contact list 21 may be arranged alphabetically, numerically, based on one or more social network weightings, based on one or more inputs, any combination thereof, or based on any other ordering technique.
The processor 21 may update the contact list 25 based on social network context information. For example, if Jack Wo changes a phone number in his profile of the social network service, the phone number may be updated in the contact list 25. In another example, if Bob Johnson adds more individuals to the social network 51, the individual's contact information may be added into the contact list 25. For example, if Sue Tomlison is added to the social network 51, then Sue Tomlison's name and phone number may be added to the contact list 25.
The processor 21 may arrange the contact list 25 as a function of social network service context. Arranging the contact list 25 may include comparing social network service weightings and placing the contacts in order based on the social network service weightings, other social network context information, input information, a combination thereof, or other information used to identify a likely contactee.
The processor 21 may compare social network weightings. Comparing may include determining the contacts with the greatest social network weighting or the least social network weighting. The social network weightings for one, some, or all of the contacts in the contact list 25 may be compared to the social network weightings for one, some, or all of the contacts in the contact list 25. For example, the social network weighting for Mary Johnson (+21) may be compared to the social network weighting for David Smith (3). In another example, the social network weighting for Mary Johnson (+21) may be compared to the social network weighting for Jane Doe (3) (N/A).
The processor 21 may place the contacts in order based on the social network service weightings, other social network context information, input information, a combination thereof, or other information used to identify a likely contactee. For example, as shown in
The processor 21 may cause the contact list 25 to be displayed on the display device 24. The display device 24 may display all, some, or none of the contact list 25. For example, the display device 24 may display three contacts in the contact list, even though there may be ten (10) total contacts in the contact list 25. The input device 23 may be used to navigate or scroll through the contact list 25.
Referring back to
The memories 22, 42 may be computer readable storage media having stored therein data representing instructions executable by the programmed processors 21, 41 for arranging a contact list 25. The memories 22, 42 store instructions for the processors 21, 41. The processors 21, 41 are programmed with and execute the instructions. The functions, acts, methods or tasks illustrated in the figures or described herein are performed by the programmed processors 21, 41 executing the instructions stored in the memory 22, 42. The functions, acts, methods or tasks are independent of the particular type of instructions set, storage media, processor or processing strategy and may be performed by software, hardware, integrated circuits, firm ware, micro-code and the like, operating alone or in combination. The instructions are for implementing the processes, techniques, methods, or acts described herein.
The memory 22 may store the contact list 25. The processor 21 may cause the contact list 25 to be stored in memory 22. For example, the processor 21 may read or write the contact list 25. The contact list 25 may be accessed for processing. For example, the contact list 25 may be accessed, arranged based on social network service context, and displayed on the display device 24.
The memory 22 may store data representing instructions executable by programmed processor 21. The instructions may be executed to arrange a contact list 25 as a function of social network context. The instructions may include acts shown in the Figures or described herein. For example, as shown in
The receiving instructions 26 may be executed to receive a social network weighting for one or more contacts in the contact list 25. The social network weighting may be received from the server 40 or memory 22.
The ordering instructions 27 may be executed to arrange the contact list 25 based on the social network weightings for one or more contacts. Arranging the contact list 25 may include comparing the social network weightings to determine the contact with the social network weighting having the greatest weight. In other words, the social network weightings may be compared to determine the contact most likely to be selected based on the social network context. The contact list 25 may be arranged in any sequence or combination of sequences. The displaying instructions 28 may be executed to display the arranged contact list on the display device 24.
The input device 23 may be dial pad, key board, touch pad, scroll device, or other input device. The input device 23 may be used to input information to the processor 21. The processor 21 may use the input information to search for a contact in the contact list 25. In the example above, Bob Johnson may begin typing Jack's name (e.g., “Ja”) using the dial pad on his cellular phone.
The display device 23 may be a CRT, monitor, flat panel, a general display, LCD, projector, printer or other now known or later developed display device for outputting determined information. The display device 23 may display one or more images. For example, the display device 23 displays a contact list 25. In another example, the display device 23 displays input information.
The display device 23 may be used to display social network information. The display device 23 may display a graphical interface that illustrates social network context generated by a social network service. In the example above, the display device 23 may display a graphical interface that includes one, some, or all of the features shown in
The method includes determining a social network weighting for one or more contacts in a contact list, and arranging the contact list as a function of the social network weighting for one or more contacts. Additional, different, or fewer acts may be provided.
In act 810, a social network weighting is determined. A social network weighting may be determined for one or more contacts in a contact list is determined. For example, a social network weighting may be determined for each individual in a contact list and social network. The social network weighting may be an overall weighting.
Determining a social network weighting may include determining a social network weighting based on social network context, transmitting a social network weighting, receiving a social network weighting, or a combination thereof. Additional, different, or fewer acts may be provided. For example, a communication device may receive social network context and determine a social network weighting based on social network context.
A social network weighting may be determined based on social network context. Social network context may include the interactions, activities, and/or associations of a social network user. The interactions, activities, and associations may be assigned a weight. The weight may be determined based on the likelihood that the contact will be selected in the contact list. The likelihood that the contact will be selected in the contact list may be based on the date, importance, or type of social network interaction, activity, or association.
The user may be able to adjust the weighting or determination of the weighting. For example, the user indicates attendance at events as being more highly weighted than other context. The relative weights for different context may be set statistically, such as being based on a study of contacts by context. The relative weights may adapt, such as determining a particular users contact usage pattern in light of social context.
The social network weighting may be transferred from a server monitoring a social network service. Monitoring a social network service may include monitoring social network context. A communication device may receive the social network weighting.
In act 820, the contact list is arranged as a function of the social network weightings for one or more contacts. Arranging the contact list may include comparing social network weightings. For example, a first social network weighting for a first contact may be compared to second social network weighting for a second contact. The contact list may be arranged so that the first or second contact with a greater weighting is arranged above the first or second contact with a lesser weighting.
One benefit of using social network context to arrange a contact list is that the arranged contact list reflects a user's interactions, activities, or associations with members of a social network. Since the user's interactions, activities, or associations may indicate an increased likelihood that the user will contact a member of the social network, the user's interactions, activities, and associations may be used to identify members of the social network that a user is likely to contact.
Various embodiments described herein can be used alone or in combination with one another. The forgoing detailed description has described only a few of the many possible implementations of the present invention. For this reason, this detailed description is intended by way of illustration, and not by way of limitation. It is only the following claims, including all equivalents that are intended to define the scope of this invention.