Chat-enabled social circles
First Claim
1. A system comprising:
- one or more computing devices; and
computer-readable media coupled to the one or more computing devices and having instructions stored thereon which, when executed by the one or more computing devices, cause the one or more computing devices to perform operations comprising;
chat-enabling a first social circle and a second social circle in response to user input provided by a first user, the first social circle and the second social circle being defined by the first user and comprising one or more contacts, the one or more contacts comprising a second user;
for each of the one or more contacts, issuing a subscription request;
determining that the subscription request associated with the second user is fulfilled;
in response to determining that the subscription request associated with the second user is fulfilled, adding the second user as a chat contact of the first user and adding the first user as a chat contact of the second user;
setting a first visibility of the first user based on the user input provided by the first user and associated with the first social circle, the first visibility including an availability status of the first user in a first time span;
setting a second visibility of the first user based on the user input provided by the first user and associated with the second social circle, the second visibility including an availability status of the first user in a second time span;
determining whether the first and second visibilities of the first user conflict for the second user that is in both the first social circle and the second social circle by combining the first and second visibilities based on the first time span and the second time span;
in response to determining that the first and second visibilities of the first user conflict for the second user;
ranking the first and second visibilities based at least in part on priorities associated with a first type of the first social circle and a second type of the second social circle;
resolving the conflict by determining a maximum availability status of the first user with respect to the second user based on the rankings of the first and second visibilities; and
providing the maximum availability status of the first user to the second user at a user-specific time.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for chat-enabling a social circle in response to user input provided by a first user, the social circle being defined by the first user and including one or more contacts, the one or more contacts including a second user, for each of the one or more contacts, issuing a chat service subscription request, determining that a subscription request associated with the second user is fulfilled, and in response to determining that the subscription request associated with the second user is fulfilled, adding the second user as a chat contact of the first user and adding the first user as a chat contact of the second user.
42 Citations
20 Claims
-
1. A system comprising:
-
one or more computing devices; and computer-readable media coupled to the one or more computing devices and having instructions stored thereon which, when executed by the one or more computing devices, cause the one or more computing devices to perform operations comprising; chat-enabling a first social circle and a second social circle in response to user input provided by a first user, the first social circle and the second social circle being defined by the first user and comprising one or more contacts, the one or more contacts comprising a second user; for each of the one or more contacts, issuing a subscription request; determining that the subscription request associated with the second user is fulfilled; in response to determining that the subscription request associated with the second user is fulfilled, adding the second user as a chat contact of the first user and adding the first user as a chat contact of the second user; setting a first visibility of the first user based on the user input provided by the first user and associated with the first social circle, the first visibility including an availability status of the first user in a first time span; setting a second visibility of the first user based on the user input provided by the first user and associated with the second social circle, the second visibility including an availability status of the first user in a second time span; determining whether the first and second visibilities of the first user conflict for the second user that is in both the first social circle and the second social circle by combining the first and second visibilities based on the first time span and the second time span; in response to determining that the first and second visibilities of the first user conflict for the second user; ranking the first and second visibilities based at least in part on priorities associated with a first type of the first social circle and a second type of the second social circle; resolving the conflict by determining a maximum availability status of the first user with respect to the second user based on the rankings of the first and second visibilities; and providing the maximum availability status of the first user to the second user at a user-specific time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. Non-transitory computer storage media encoded with one or more computer programs, the one or more computer programs comprising instructions that when executed by a data processing apparatus cause the data processing apparatus to perform operations comprising:
-
chat-enabling a first social circle and a second social circle in response to user input provided by a first user, the first social circle and the second social circle being defined by the first user and comprising one or more contacts, the one or more contacts comprising a second user; for each of the one or more contacts, issuing a subscription request; determining that the subscription request associated with the second user is fulfilled; in response to determining that the subscription request associated with the second user is fulfilled, adding the second user as a chat contact of the first user and adding the first user as a chat contact of the second user; setting a first visibility of the first user based on the user input provided by the first user and associated with the first social circle, the first visibility including an availability status of the first user in a first time span; setting a second visibility of the first user based on the user input provided by the first user and associated with the second social circle, the second visibility including an availability status of the first user in a second time span; determining whether the first and second visibilities of the first user conflict for the second user that is in both the first social circle and the second social circle by combining the first and second visibilities based on the first time span and the second time span; in response to determining that the first and second visibilities of the first user conflict for the second user; ranking the first and second visibilities based at least in part on priorities associated with a first type of the first social circle and a second type of the second social circle; resolving the conflict by determining a maximum availability status of the first user with respect to the second user based on the rankings of the first and second visibilities; and providing the maximum availability status of the first user to the second user at a user-specific time.
-
-
15. A computer-implemented method comprising:
-
chat-enabling a first social circle and a second social circle in response to user input provided by a first user, the first social circle and the second social circle being defined by the first user and comprising one or more contacts, the one or more contacts comprising a second user; for each of the one or more contacts, issuing a subscription request; determining, with one or more processors, that the subscription request associated with the second user is fulfilled; in response to determining that the subscription request associated with the second user is fulfilled, adding the second user as a chat contact of the first user and adding the first user as a chat contact of the second user; setting a first visibility of the first user based on the user input provided by the first user and associated with the first social circle, the first visibility including an availability status of the first user in a first time span; setting a second visibility of the first user based on the user input provided by the first user and associated with the second social circle, the second visibility including an availability status of the first user in a second time span; determining whether the first and second visibilities of the first user conflict for the second user that is in both the first social circle and the second social circle by combining the first and second visibilities based on the first time span and the second time span; in response to determining that the first and second visibilities of the first user conflict for the second user; ranking the first and second visibilities based at least in part on priorities associated with a first type of the first social circle and a second type of the second social circle; resolving the conflict by determining a maximum availability status of the first user with respect to the second user based on the rankings of the first and second visibilities; and providing the maximum availability status of the first user to the second user at a user-specific time. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification