PROXIMITY-BASED SOCIAL GRAPH CREATION
Systems and methods are disclosed for creating social connections. In general, a current crowd of a first user is monitored to detect if the current crowd matches an active interest of the first user. If the current crowd matches the active interest, a beacon is narrowcast to mobile devices of at least a subset of a number of other users in the current crowd of the first user. In one embodiment, the beacon is narrowcast to mobile devices of all of the other users in the current crowd. In another embodiment, the beacon is narrowcast to the mobile devices of only those other users having user profiles that include interests that match the active interest of the first user. Subsequently, a response to the beacon is received from a mobile device of a second user, and a new social connection is created between the first and second users.
1 . A computer-implemented method comprising:
detecting when a current crowd of a first user matches an active interest of the first user, the current crowd comprising the first user and a plurality of other users;
narrowcasting a beacon to mobile devices of at least a subset of the plurality of other users in response to detecting that the current crowd of the first user matches the active interest of the first user;
receiving a response to the beacon from a mobile device of a second user from the plurality of other users in the current crowd of the first user; and
creating a new social connection between the first and second users upon receiving the response to the beacon from the mobile device of the second user.
2 . The method of claim 1 wherein narrowcasting the beacon comprises narrowcasting the beacon only to the mobile devices of the plurality of other users in the current crowd of the first user.
3 . The method of claim 1 wherein narrowcasting the beacon comprises narrowcasting the beacon only to the mobile devices of a subset of the plurality of other users in the current crowd of the first user that have user profiles including interests that match the active interest of the first user.
4 . The method of claim 1 wherein the beacon is a two-way beacon, and creating the new social connection comprises adding a new two-way social connection between the first and second users in a social network.
5 . The method of claim 4 wherein the social network is maintained by a remotely hosted social networking service.
6 . The method of claim 4 further comprising:
providing a secret to the mobile device of the second user such that the second user shares the secret with the first user via out-of-band communication; and
receiving the secret from a mobile device of the first user;
wherein creating the new social connection comprises creating the new social connection upon receiving the secret from the mobile device of the first user.
7 . The method of claim 1 wherein the beacon is a one-way beacon, and creating the new social connection comprises adding a new tentative social connection between the first and second users.
8 . The method of claim 7 further comprising making a determination as to whether to recommend a two-way social connection between the first and second users based on an analysis of the new tentative social connection between the first and second users and one or more additional tentative social connections between the first and second users that were previously added.
9 . The method of claim 8 wherein making a determination as to whether to recommend a two-way social connection between the first and second users comprises making a determination to recommend a two-way social connection between the first and second users if a number of tentative social connections between the first and second users is greater than a predefined threshold number.
10 . The method of claim 8 wherein making a determination as to whether to recommend a two-way social connection between the first and second users comprises making a determination to recommend a two-way social connection between the first and second users if a number of tentative social connections between the first and second users created during a defined time window is greater than a predefined threshold number.
11 . The method of claim 8 wherein each tentative social connection of the new tentative social connection and the one or more additional tentative social connections is associated with a geographic location, and making a determination as to whether to recommend a two-way social connection between the first and second users comprises making a determination to recommend a two-way social connection between the first and second users if a number of tentative social connections between the first and second users associated with the same geographic location is greater than a predefined threshold number.
12 . The method of claim 8 wherein each tentative social connection of the new tentative social connection and the one or more additional tentative social connections is associated with a geographic location, and making a determination as to whether to recommend a two-way social connection between the first and second users comprises making a determination to recommend a two-way social connection between the first and second users if a number of tentative social connections between the first and second users associated with the same geographic area is greater than a predefined threshold number.
13 . The method of claim 8 wherein each tentative social connection of the new tentative social connection and the one or more additional tentative social connections is associated with a geographic location, and making a determination as to whether to recommend a two-way social connection between the first and second users comprises making a determination to recommend a two-way social connection between the first and second users if a number of tentative social connections between the first and second users, including the new tentative social connection and the one or more additional tentative social connections, created within a defined time window and associated with the same geographic location is greater than a predefined threshold number.
14 . The method of claim 8 wherein each tentative social connection of the new tentative social connection and the one or more additional tentative social connections is associated with a geographic location, and making a determination as to whether to recommend a two-way social connection between the first and second users comprises making a determination to recommend a two-way social connection between the first and second users if a number of tentative social connections between the first and second users, including the new tentative social connection and the one or more additional tentative social connections, created within a defined time window and associated with the same geographic area is greater than a predefined threshold number.
15 . The method of claim 8 further comprising providing an alert to the first user including a recommendation to add a two-way social connection between the first and second users if a determination is made to recommend a two-way social connection between the first and second users.
16 . The method of claim 15 further comprising adding a new two-way social connection between the first and second users if the first user accepts the recommendation to add the two-way social connection between the first and second users.
17 . The method of claim 16 further comprising, if the first user accepts the recommendation to add the two-way social connection between the first and second users:
providing a secret to the mobile device of the second user such that the second user shares the secret with the first user via out-of-band communication; and
receiving the secret from a mobile device of the first user;
wherein adding the new two-way social connection comprises adding the new two-way social connection between the first and second users upon receiving the secret from the mobile device of the first user.
18 . The method of claim 1 wherein detecting when the current crowd of the first user matches the active interest of the first user comprises:
obtaining an aggregate profile of the current crowd of the first user; and
determining whether the current crowd matches the active interest based on the aggregate profile of the current crowd.
19 . The method of claim 18 wherein:
obtaining the aggregate profile of the current crowd of the first user comprises comparing the active interest of the first user to user profiles of the plurality of other users in the current crowd to determine a number of user matches for the active interest in the current crowd of the first user; and
determining whether the current crowd matches the active interest based on the aggregate profile of the current crowd comprises making a determination that the current crowd of the first user matches the active interest of the first user if the number of user matches for the active interest in the current crowd is greater than a predefined threshold number of user matches.
20 . The method of claim 18 wherein:
obtaining the aggregate profile of the current crowd of the first user comprises comparing the active interest of the first user to user profiles of the plurality of other users in the current crowd to determine a ratio of a number of user matches for the active interest in the current crowd of the first user over a number of users in the plurality of other users in the current crowd of the first user; and
determining whether the current crowd matches the active interest based on the aggregate profile of the current crowd comprises making a determination that the current crowd of the first user matches the active interest of the first user if the ratio is greater than a predefined threshold ratio.
21 . The method of claim 1 further comprising forming the current crowd of the first user via a spatial crowd formation process.
22 . A computer-readable medium storing software for instructing a controller of a computing device to:
detect when a current crowd of a first user matches an active interest of the first user, the current crowd comprising the first user and a plurality of other users;
narrowcast a beacon to mobile devices of at least a subset of the plurality of other users in response to detecting that the current crowd of the first user matches the active interest of the first user;
receive a response to the beacon from a mobile device of a second user from the plurality of other users in the current crowd of the first user; and
create a new social connection between the first and second users upon receiving the response to the beacon from the mobile device of the second user.
23 . A computing system comprising:
a communication interface communicatively coupling the computing system to mobile devices via a network; and
a controller associated with the communication interface and adapted to:
detect when a current crowd of a first user matches an active interest of the first user, the current crowd comprising the first user and a plurality of other users;
narrowcast a beacon to mobile devices of at least a subset of the plurality of other users in response to detecting that the current crowd of the first user matches the active interest of the first user;
receive a response to the beacon from a mobile device of a second user from the plurality of other users in the current crowd of the first user; and
create a new social connection between the first and second users upon receiving the response to the beacon from the mobile device of the second user.