Aggregating social networking system user information for timeline view
First Claim
1. A method comprising:
- receiving a request from a viewing user of a social networking system for a timeline view presenting a plurality of stories in a chronological order based on a time associated with each of the one or more stories;
accessing a plurality of items of narrative data maintained by the social networking system and related to the viewing user;
filtering the plurality of items of narrative data based at least in part on one or more time periods;
generating one or more timeline units from the filtered plurality of items of narrative data;
generating an affinity score for each of the one or more timeline units, each affinity score comprising a measure of the relevance of a timeline unit to the viewing user;
generating a ranking of the one or more timeline units based on the affinity scores;
determining a quantity of timeline units to be displayed in the timeline view;
selecting the quantity of timeline units from the ranked timeline units based at least in part on the ranking; and
sending to the client device for display to the viewing user the timeline view comprising displayable representations of the plurality of stories in the chronological order, the plurality of stories corresponding to the narrative data of the selected quantity of timeline units.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention provides a display interface in a social networking system that enables the presentation of information related to a user in a timeline view. The system accesses information about a user of a social networking system, including both data about the user and social network activities related to the user. The system then selects one or more of these pieces of data and/or activities from a certain time period and gathers them into timeline units based on their relatedness and their relevance to users. These timeline units are ranked by relevance to the user, and can then determine a quantity of timeline for display in the timeline view and select them based at least in part on the ranking. The units then are used to generate a timeline view for the user containing visual representations of the timeline units organized by location or time.
-
Citations
20 Claims
-
1. A method comprising:
-
receiving a request from a viewing user of a social networking system for a timeline view presenting a plurality of stories in a chronological order based on a time associated with each of the one or more stories; accessing a plurality of items of narrative data maintained by the social networking system and related to the viewing user; filtering the plurality of items of narrative data based at least in part on one or more time periods; generating one or more timeline units from the filtered plurality of items of narrative data; generating an affinity score for each of the one or more timeline units, each affinity score comprising a measure of the relevance of a timeline unit to the viewing user; generating a ranking of the one or more timeline units based on the affinity scores; determining a quantity of timeline units to be displayed in the timeline view; selecting the quantity of timeline units from the ranked timeline units based at least in part on the ranking; and sending to the client device for display to the viewing user the timeline view comprising displayable representations of the plurality of stories in the chronological order, the plurality of stories corresponding to the narrative data of the selected quantity of timeline units.
-
-
2. The method of claim 1, further comprising:
-
prior to sending the timeline view to the client device for display, determining whether the selected timeline units includes narrative data that the viewing user does not have permission to view; in response to determining that one or more timeline units includes narrative data that the viewing user does not have permission to view; removing the one or more determined timeline units; and replacing the removed one or more timeline units in the timeline view with one or more replacement timeline units to maintain the determined quantity of timeline units to display.
-
-
3. The method of claim 2, wherein the one or more replacement timeline units are selected for replacement based at least in part on the ranking.
-
4. The method of claim 1, wherein selecting the quantity of timeline units from the ranked timeline units based at least in part on the ranking further comprises:
-
modifying the ranking by removing one or more duplicate timeline units from the ranking that include narrative data included in one or more other timeline units in the ranking; and selecting the quantity of timeline units based at least in part on the modified ranking.
-
-
5. The method of claim 1, wherein selecting the quantity of timeline units from the ranked timeline units based at least in part on the ranking comprises:
-
modifying a position in the ranking of a timeline unit having a type based in part on a number of timeline units having the type and having at least a threshold position in the ranking; and selecting the quantity of timeline units based at least in part on the modified ranking.
-
-
6. The method of claim 5, wherein modifying the position in the ranking of the timeline unit having the type removes the timeline unit having the type from the quantity of timeline units based at least in part on the modified ranking.
-
7. The method of claim 1, wherein selecting the quantity of timeline units from the ranked timeline units based at least in part on the ranking further comprises:
removing narrative data included in a timeline unit from an additional timeline unit.
-
8. The method of claim 1, wherein filtering the narrative data comprises:
removing narrative data included in a timeline unit previously viewed by the viewing user.
-
9. The method of claim 1, wherein filtering the narrative data comprises:
removing narrative data having one or more types not associated with the timeline view.
-
10. The method of claim 1, wherein each generated timeline unit comprises story metadata and one or more references to narrative data, the story metadata describing visual presentation of a displayable representation of a timeline unit.
-
11. A non-transitory computer-readable storage medium storing instructions, the instructions when executed by a processor in a social networking system, causes the processor to:
-
receive a request from a viewing user of a social networking system for a timeline view presenting a plurality of stories in a chronological order based on a time associated with each of the one or more stories; access a plurality of items of narrative data maintained by the social networking system and related to the viewing user; filter the plurality of items of narrative data based at least in part on one or more time periods; generate one or more timeline units from the filtered plurality of items of narrative data; generate an affinity score for each of the one or more timeline units, each affinity score comprising a measure of the relevance of a timeline unit to the viewing user; generate a ranking of the one or more timeline units based on the affinity scores; determine a quantity of timeline units to be displayed in the timeline view; select the quantity of timeline units from the ranked timeline units based at least in part on the ranking; and send to the client device for display to the viewing user the timeline view comprising displayable representations of the plurality of stories in the chronological order, the plurality of stories corresponding to the narrative data of the selected quantity of timeline units.
-
-
12. The non-transitory computer-readable storage medium of claim 11, further comprising instructions that cause the processor to:
-
prior to sending the timeline view to the client device for display, determine whether the selected timeline units includes narrative data that the viewing user does not have permission to view; in response to determining that one or more timeline units includes narrative data that the viewing user does not have permission to view; remove the one or more determined timeline units; and replace the removed one or more timeline units in the timeline view with one or more replacement timeline units to maintain the determined quantity of timeline units to display.
-
-
13. The non-transitory computer-readable storage medium of claim 11, wherein the instructions causing the processor to select the quantity of timeline units from the ranked timeline units based at least in part on the ranking further comprise instructions that cause the processor to:
-
modify the ranking by removing one or more duplicate timeline units from the ranking that include narrative data included in one or more other timeline units in the ranking; and select the quantity of timeline units based at least in part on the modified ranking.
-
-
14. The non-transitory computer-readable storage medium of claim 11, wherein the instructions causing the processor to select the quantity of timeline units from the ranked timeline units based at least in part on the ranking further comprise instructions that cause the processor to:
-
modify a position in the ranking of a timeline unit having a type based in part on a number of timeline units having the type and having at least a threshold position in the ranking; and select the quantity of timeline units based at least in part on the modified ranking.
-
-
15. The non-transitory computer-readable storage medium of claim 14, wherein the instructions causing the processor to modify the position in the ranking of the timeline unit having the type further comprise instructions that cause the processor to remove the timeline unit having the type from the quantity of timeline units based at least in part on the modified ranking.
-
16. The non-transitory computer-readable storage medium of claim 11, wherein the instructions causing the processor to select the quantity of timeline units from the ranked timeline units based at least in part on the ranking further comprise instructions that cause the processor to:
remove narrative data included in a timeline unit from an additional timeline unit.
-
17. The non-transitory computer-readable storage medium of claim 11, wherein the instructions causing the processor to filter the narrative data further comprise instructions that cause the processor to remove narrative data having one or more types not associated with the timeline view.
-
18. A system comprising:
-
a user interface manager configured for receiving, by one or more processors, a request from a viewing user of a social networking system for a timeline view presenting a plurality of stories in a chronological order based on a time associated with each of the one or more stories; a timeline unit generator configured for accessing, by the one or more processors, a plurality of items of narrative data maintained by the social networking system and related to the viewing user; a timeline manager configured for filtering, by the one or more processors, the plurality of items of narrative data based at least in part on one or more time periods; wherein the timeline unit generator is further configured for generating, by the one or more processors, one or more timeline units from the filtered plurality of items of narrative data and for generating, by the one or more processors, an affinity score for each of the one or more timeline units, each affinity score comprising a measure of the relevance of a timeline unit to the viewing user; a timeline unit ranker configured for generating, by the one or more processors, a ranking of the one or more timeline units based on the affinity scores; wherein the timeline manager is further configured for determining, by the one or more processors, a quantity of timeline units to be displayed in the timeline view and selecting, by the one or more processors, the quantity of timeline units from the ranked timeline units based at least in part on the ranking; and wherein the user interface manager is further configured for sending, by the one or more processors, to the client device for display to the viewing user the timeline view comprising displayable representations of the plurality of stories in the chronological order, the plurality of stories corresponding to the narrative data of the selected quantity of timeline units.
-
-
19. The system of claim 18, wherein the timeline manager is further configured for:
-
prior to sending the timeline view to the client device for display, determining whether the selected timeline units includes narrative data that the viewing user does not have permission to view; in response to determining that one or more timeline units includes narrative data that the viewing user does not have permission to view; removing the one or more determined timeline units; and replacing the removed one or more timeline units in the timeline view with one or more replacement timeline units to maintain the determined quantity of timeline units to display.
-
-
20. The system of claim 19, wherein the one or more replacement timeline units are selected for replacement based at least in part on the ranking.
Specification