Integrating structured objects and actions generated on external systems into a social networking system
First Claim
1. A method comprising:
- storing at a social networking system a social graph comprising a plurality of graph objects interconnected by graph actions, the graph actions having graph action types defined by entities external to, and independent from, the social networking system, where each of the graph actions represent a relationship between two or more graph objects and each of the graph action types define the relationship between the two or more graph objects;
receiving user interactions on one or more external systems, the user interactions including graph actions performed on a first set of graph objects by users of the social networking system;
providing a social content product interface to a viewing user, the social content product interface including selectable links associated with the received user interactions on the one or more external systems, the social content product interface associated with a user profile object on the social networking system and provided for display to users of the social networking system;
receiving a selection of a link of the selectable links from the viewing user to perform a graph action on a graph object on an external system associated with a particular user interaction of the received user interactions, the particular user interaction associated with a particular user;
sending a request to the external system for the viewing user to perform the graph action on the graph object associated with the particular user interaction, the request including an instruction to the external system to execute user input associated with the graph action on a user device associated with the viewing user; and
responsive to the request, receiving an indication from the external system that the user device associated with the viewing user executed the user input associated with the graph action performed on the graph object associated with the particular user interaction, and updating the social graph based on the graph action performed, where the graph action is of a graph action type that was defined by one of the entities external to the social networking system.
3 Assignments
0 Petitions
Accused Products
Abstract
A social networking system includes a mechanism for integrating user actions on objects outside of the social networking system in the social graph. For example, streaming music on external systems may be integrated into the user experience on the social networking system. Third-party developers, in addition to administrators of the social networking system, may define objects and actions that enable integration of external music sources to be played and controlled using the social networking system while also providing socially relevant information to other users of the social networking system. Actions and objects recorded from these external user interactions are structured to enable aggregation and structured querying, which enables data visualizations of the information discoverable on the social graph. In this way, interesting information about users'"'"' actions outside of the domain of the social networking system may be shared and compared with other users on the social networking system.
23 Citations
28 Claims
-
1. A method comprising:
-
storing at a social networking system a social graph comprising a plurality of graph objects interconnected by graph actions, the graph actions having graph action types defined by entities external to, and independent from, the social networking system, where each of the graph actions represent a relationship between two or more graph objects and each of the graph action types define the relationship between the two or more graph objects; receiving user interactions on one or more external systems, the user interactions including graph actions performed on a first set of graph objects by users of the social networking system; providing a social content product interface to a viewing user, the social content product interface including selectable links associated with the received user interactions on the one or more external systems, the social content product interface associated with a user profile object on the social networking system and provided for display to users of the social networking system; receiving a selection of a link of the selectable links from the viewing user to perform a graph action on a graph object on an external system associated with a particular user interaction of the received user interactions, the particular user interaction associated with a particular user; sending a request to the external system for the viewing user to perform the graph action on the graph object associated with the particular user interaction, the request including an instruction to the external system to execute user input associated with the graph action on a user device associated with the viewing user; and responsive to the request, receiving an indication from the external system that the user device associated with the viewing user executed the user input associated with the graph action performed on the graph object associated with the particular user interaction, and updating the social graph based on the graph action performed, where the graph action is of a graph action type that was defined by one of the entities external to the social networking system.
-
-
2. The method of claim 1, wherein the graph object has a song object type and the graph action has a listen action type.
-
3. The method of claim 1, wherein the graph object has an artist object type and the graph action has a listen action type.
-
4. The method of claim 1, wherein receiving an indication from the external system that the user device associated with the viewing user executed the user input associated with the graph action performed on the graph object associated with the particular user interaction further comprises:
-
receiving from the external system the graph object and the graph action associated with the viewing user, the graph object and the graph action corresponding to the particular user interaction on the external system; and providing on the social content product interface on the social networking system the indication that the user device associated with the viewing user executed the user input associated with the graph action performed on the graph object associated with the particular user interaction.
-
-
5. The method of claim 1, further comprising:
communicating the graph action performed on the graph object on the external system as a content item in a stream directed to one or more other users of the social networking system with whom the viewing user has established a connection.
-
6. The method of claim 1, wherein providing the social content product interface to the viewing user further comprises:
-
retrieving content items including graph actions performed by other users of the social networking system on a second set of graph objects; and providing the content items for display in the social content product interface.
-
-
7. The method of claim 6, wherein providing the content items for display in the social content product interface further comprises:
-
retrieving affinities for the viewing user; ranking the content items according to the retrieved affinities of the viewing user; and providing the ranked content items for display in the social content product interface.
-
-
8. The method of claim 6, wherein providing the content items for display in the social content product interface further comprises:
-
retrieving a popularity of the retrieved content items across users of the social networking system; ranking the content items according to the retrieved popularity of the retrieved content items; and providing the ranked content items for display in the social content product interface.
-
-
9. method of claim 6, wherein providing the content items for display in the social content product interface further comprises:
-
retrieving tracking histories associated with the retrieved content items, the tracking histories including user identifiers of users that initially performed the graph actions on the second set of graph objects; filtering the retrieved content items by a user identifier in the user profile object associated with the social content product interface; and providing the filtered content items for display in the social content product interface.
-
-
10. The method of claim 1, wherein receiving user interactions on one or more external systems, further comprises:
-
receiving the user interactions as graph actions performed by users of the social networking system on the first set of graph objects on different external systems; categorizing the user interactions by which of the external systems the graph actions were performed on the first set of graph objects; and storing the categorization of the user interactions by external systems as a parameter in content item objects associated with content items.
-
-
11. The method of claim 10, further comprising:
-
aggregating graph actions performed by users connected to the viewing user based on the graph objects the graph actions were performed on in the different external systems; and generating content items comprising the aggregated graph actions performed by users connected to the viewing user based on the graph objects the graph actions were performed on in the different external systems.
-
-
12. The method of claim 1, wherein the social content product interface is provided on a page on the social networking system, wherein the page is associated with an indexed graph object stored on the social networking system, and wherein providing the social content product interface to the viewing user further comprises:
-
filtering received graph objects by the indexed graph object stored on the social networking system; aggregating the filtered graph objects and associated graph actions; and providing the aggregated filtered graph objects and associated graph actions in the social content product interface.
-
-
13. The method of claim 12, wherein aggregating the filtered graph objects and associated graph actions further comprises:
-
retrieving metadata about the filtered graph objects; and grouping the filtered graph objects by the metadata shared between the filtered graph objects.
-
-
14. The method of claim 1, wherein the social content product interface is provided within an event page on the social networking system and wherein providing the social content product interface to the viewing user further comprises:
-
receiving a selection of a graph action and a graph object on an external system for display on the event page; and providing the selected graph action and the selected graph object for display on the event page according to the selection.
-
-
15. The method of claim 1, further comprising:
providing for display in the social content product interface recent user interactions from other users connected to a user associated with the social content product interface.
-
16. The method of claim 1, further comprising:
providing for display in the social content product interface recent user interactions from a user associated with the social content product interface.
-
17. The method of claim 1, further comprising:
providing for display in the social content product interface popular graph objects generated by users of the social networking system.
-
18. The method of claim 17, further comprising:
-
responsive to a query for popular graph objects generated by users of the social networking system, determining an aggregate value of results to the query by a grouping parameter and a grouping function; and providing the aggregate value of the results for display in the social content product interface.
-
-
19. A method comprising:
-
storing at a social networking system a social graph comprising a plurality of graph objects interconnected by graph actions, the graph actions having graph action types defined by entities external to, and independent from, the social networking system, where each of the graph actions represent a relationship between two or more graph objects and each of the graph action types define the relationship between the two or more graph objects; providing a music listening interface for display to a second user, the music listening interface including a link associated with a graph action being performed by a first user upon a graph object on an external system; receiving from the second user a selection of the link associated with the graph action being performed by the first user upon the graph object on the external system; responsive to the selection of the link, sending a request to the external system for the second user to perform the graph action being performed by the first user upon the graph object on the external system; and
enabling a collaborative music listening interaction with the external system, the collaborative music listening interaction including the first user and the second user synchronously performing the graph action on the graph object; andupdating the social graph based on the graph action performed, where the graph action is of a graph action type that was defined by one of the entities external to the social networking system.
-
-
20. The method of claim 19, wherein the graph object has a song object type and the graph action has a listen action type.
-
21. The method of claim 19, wherein the graph object has an artist object type and the graph action has a listen action type.
-
22. The method of claim 19, wherein the graph object has a radio station object type and the graph action has a listen action type.
-
23. The method of claim 19, wherein the graph object has a playlist object type and the graph action has a listen action type.
-
24. The method of claim 19, wherein providing the music listening interface further comprises:
providing a link associated with the first user, the link associated with the first user providing a pop up window including information about the graph action being performed by the first user on the external system as the second user generates a user input over the link associated with the first user.
-
25. The method of claim 19, wherein providing the music listening interface further comprises:
-
providing a chat interface that enables real-time communication between the first user and the second user; and providing within the chat interface a link associated with the first user, the link associated with the first user providing a pop up window including information about the graph action being performed by the first user on the external system as the second user generates a user input over the link associated with the first user.
-
-
26. A method comprising:
-
requesting content from a social networking system for rendering on a user device associated with a user of the social networking system, the social networking system storing a social graph comprising a plurality of graph objects interconnected by graph actions, wherein the graph actions having graph action types defined by an entity external to, and independent from, the social networking system to deliver the content on the user device, the content hosted on an external system and the content associated with a graph object, and wherein each of the graph actions represent a relationship between two or more graph objects and each of each of the graph action types define the relationship between the two or more graph objects; receiving the requested content for rendering on the user device, the requested content including an interface including selectable links associated with user interactions on external systems associated with users of the social networking system, the interface associated with a user profile object on the social networking system corresponding to the user associated with the user device; rendering the interface including the selectable links associated with the user interactions on the external systems on the user device, the user interactions comprising graph actions performed on graph objects by users of the social networking system; selecting a link associated with a user interaction on one of the external systems, the link associated with an instruction to the social networking system to send request to the one of the external systems to perform a graph action on a graph object associated with the user interaction on the one of the external systems; receiving from the external system, a delivery of content on the user device associated with the graph action and the graph object responsive to selecting the link; and communicating the graph action performed on the graph object associated with the user interaction to the social networking system, wherein the social networking system updates the social graph based on the graph action performed, and the graph action is of a graph action type that was defined by the entity external to the social networking system.
-
-
27. The method of claim 26, wherein receiving the delivery of content on the user device associated with the graph action and the graph object associated with the user interaction from the external system responsive to selecting the link further comprises:
-
identifying the graph object associated with the user interaction as associated with local content stored on the user device; and viewing the local content on the user device.
-
-
28. The method of claim 26, wherein receiving the delivery of content on the user device associated with the graph action and the graph object associated with the user interaction from the external system responsive to selecting the link further comprises:
-
receiving, on the user device, content associated with the graph object associated with the user interaction, the received associated content stored on one of the external systems; and viewing the received associated content on the user device.
-
Specification