A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent files or records but otherwise reserves all copyrights whatsoever.
The Internet makes an immense amount of information, including news and analysis, available in an instant, and the volume of information continues to grow explosively. Paradoxically, however, the sheer amount of information may keep users from finding items that they would find most useful. And although there are ways to filter this flood of information, they have proliferated as well, leading to the second-order problem of finding reliable guides to information on the Internet.
Embodiments of the invention relate to using computer networks to distribute information, such as articles and commentary. More specifically, embodiments of the invention include computerized systems and methods for creating and posting content to make it available to other users. Examples of such items of content may include, for example, news reports, news analyses, essays, and comments. User-posted items of content may according to embodiments of the invention embed or link, e.g., to other Web pages or other content. Users may see and comment upon others' posts.
A Web site according to an embodiment of the invention may select and organize user-submitted content based on measures of its overall relevance to users. According to embodiments of the invention, users may, for example: share content that they have discovered online with other similar-minded site members; follow content, viewing the most relevant items in a category sorted by recent popularity, topical relevance, and/or other weighted measurements; identify and follow other users who share specific interests; and/or identify and follow other users who have a history of providing relevant content. To encourage users to post interesting content and/or to find interesting content and/or users who provide it, a Web site according to an embodiment of the invention may use strategies such as “gamification”, e.g., by awarding points to content or users when specific interactions occur on the site.
According to an embodiment of the invention, posts may be organized using objects called “streams”. (In connection with embodiments of the invention, including embodiments depicted in this application's figures, a stream may alternatively be referred to as a “current”) A user may create a stream, and then items may be assigned to one or more streams at the time of posting. The stream may be assigned to one of a number of top-level topics and may be regarded as a user-created subtopic beneath its respective topic.
Users may in embodiments of the invention have several options for how they find and view posts. For example, according to an embodiment of the invention, a user may choose to follow one or more of: topics, streams, and other users. A user may then see new posts under a followed topic, stream, or user, e.g., by visiting the site and logging in. A user may also choose to receive alerts, e.g., in the form of email messages that list and/or summarize recent posts from followed users or in followed topics or streams.
Embodiments of the invention may include rankings or ratings of some or all objects or types of objects, including one or more of: posts, streams, users, and topics. For example, in an embodiment of the invention, posts, streams, and users may all be subject to a rating system, and such a system may help identify the posts that users may find most useful (e.g., relevant, interesting, newsworthy, insightful, etc.).
According to one rating system, in an embodiment of the invention, posts, streams, and/or users may receive points as people use the system. For example, a post may receive points each time any user retrieves it. Posts may then be ranked in order of their relative numbers of points. A stream may be rated according to the sum of the views of the posts that it contains, and a user may be rated according to the number of views of the user's posts, the number of views in streams that the user created, or both. In addition to this kind of rating, or instead of it, posts, streams, and/or users may be ranked according to whether they are “trending”, which may reflect recent changes in popularity.
According to an embodiment of the invention, a method of providing information is performed by a networked computer system that comprises one or more processors, one or more interfaces operatively coupled to one or more of the processors, and one or more databases operatively coupled to one or more of the processors. The method comprises storing in the database information that represents a plurality of streams, information that represents a plurality of posts, and, for each post, information that specifically associates that post respectively with at least one of the streams. The method also comprises receiving through at least one of the interfaces first user input that corresponds to a first plurality of actions, performed by at least one user, with regard to the plurality of posts.
According to the method, at least one of the processors executes instructions to calculate, for each of the streams, a score for the stream based upon the first user input and, for each stream, stores the respective score for that stream in the database in association with the stream. At least one of the processors calculates an ordering for a plurality of the streams based on the scores of the streams. The method also comprises transmitting through at least one of the interfaces information that indicates the ordering.
According to an embodiment of the invention, each of the first plurality of actions is an action from the group that consists of: creating the post, sharing the post via social media, following a hyperlink within the post, adding a new comment to the post, and adding the post to a new stream.
According embodiments of the invention, the method may comprise receiving through at least one of the interfaces second user input corresponding to a second plurality of actions, performed by at least one user, with regard to the plurality of streams. In such embodiments, the calculated score for each stream may be based on the first user input and the second user input.
According to some such embodiments, each of the second plurality of actions is an action from the group that consists of: creating the stream, subscribing to the stream, adding a new discussion to the stream, adding a new comment to a discussion in the stream, adding a new comment to a post in the stream, and adding a new post to the stream. Alternatively, according to some such embodiments, each of the second plurality of actions is an action with regard to a stream but not with regard to any individual post within that stream, and each of the second plurality of actions is an action from the group that consists of: creating the stream, subscribing to the stream, adding a new discussion to the stream, and adding a new comment to a discussion in the stream.
Further embodiments of the invention include computer systems that are programmed to carry out one or more of the above methods and computer-readable storage media that are encoded with instructions that, when executed by one or more processors within a computer system, cause the computer system to carry out one or more of these methods.
Embodiments of the invention relate to computerized social networking systems, which may be implemented by systems using one or more programmable digital computers.
Although the computer system 100 is shown in
One skilled in the art will recognize that, although the data storage device 120 and memory 122 are depicted as different units, the data storage device 120 and memory 122 can be parts of the same unit or units, and also that the functions of one can be shared in whole or in part by the other, e.g., as RAM disks, virtual memory, etc. It will also be appreciated that any particular computer may have multiple components of a given type, e.g., processors 110, input devices 114, communications interfaces 118, etc.
The data storage device 120 (
One skilled in the art will recognize that the computer system 100 (
As should be apparent, the term “computer-readable storage medium” means a medium that can in fact store information and therefore does not refer to a transitory propagating signal.
Two or more computer systems 100 (
One use of a network 142 (
Further, a computer system may simultaneously act as a workstation, a server, and/or a client. For example, as depicted in
The network 142 (
An internet may comprise a network of networks 142 (
As will be recognized by those skilled in the relevant art, the terms “workstation,” “client,” and “server” are used herein to describe a computer's function in a particular context. A workstation may, for example, be a computer that one or more users work with directly, e.g., through a keyboard and monitor directly coupled to the computer system. A computer system that requests a service through a network is often referred to as a client, and a computer system that provides a service is often referred to as a server. But any particular workstation may be indistinguishable in its hardware, configuration, operating system, and/or other software from a client, server, or both.
The terms “client” and “server” may describe programs and running processes instead of or in addition to their application to computer systems described above. Generally, a software client may consume information and/or computational services provided by a software server.
Embodiments of the invention may use the Web or related technologies. Information may be provided to a user in the form of one or more Web pages. A Web page may include one or more of text, sound, still and moving pictures, and other media, and it may be assembled from one or more files and/or other units accessed from one or more servers and/or other computer systems. Some or all of the content of the page may be generated dynamically, e.g., by one or more servers, and some or all of the content of the page may be generated and/or modified dynamically by the user agent (or browser), e.g., through JavaScript and/or other client-side scripting technologies.
In connection with an embodiment of the invention, a Web site may be implemented using one or more content management systems. For example, a Web site according to an embodiment of the invention may take advantage of the Drupal® content management platform.
The descriptions herein of computers, computer systems, networks, the Internet, and the World Wide Web are intended only for illustration and identification. No such description should be taken to mean that any of those terms is given a meaning other than the ordinary and customary meanings of those terms in the relevant arts.
A social networking system according to an embodiment of the invention may gather, manage, and order information. For example, users of a system according to an embodiment of the invention may provide information that other users may access, and the system may organize the information and control access to it.
In an embodiment of the invention, the shared information may include “posts” from one or more users.
Alternatively, in an embodiment of the invention, a post may include, e.g., one or more of: text, audio, video, other media, and interactive material (not pictured) in addition to one or more hyperlinks or instead of them.
As depicted, the post 310 includes a title or headline 318. The title 318 may be supplied by the user who originally made the post 310, or it may be obtained automatically at the time of posting, e.g., as the title of the content or a Web page that contains it. In an embodiment of the invention, the title 318 may also act as a hyperlink to the target of the hyperlink 314.
The post 310 may also in an embodiment of the invention include a description 322. The description 322 may be written by the user who made the post 310, although in embodiments of the invention, it may also be obtained automatically, e.g., by computerized generation of an abstract of the content, retrieval of metadata associated with the content, or otherwise. The description 322 may typically describe the content, analyze or comment on it, or both, but it will be appreciated that as with user-supplied material generally, it may be impractical in connection with a particular embodiment to ensure that the description 322 actually fulfills any of these functions.
In an embodiment of the invention such as
A post 310 may include one or more tags 330, each of which includes a term or other symbol relevant to the content. For example, when the content is a news article, a tag 330 may be the name of a person or organization who is the subject of the article (“Facebook” 334) or an event related to the article (“facebook ipo” 338). Other examples of tags (not depicted) may include a ticker symbol for a corporation described in the article and a keyword or phrase (e.g., “earnings” or “takeover”). According to embodiments of the invention, a post's tags may be created by one or more users, e.g., at the time of posting as described below, and may therefore include any term or terms that a user may consider relevant to the post.
A tag 330 according to an embodiment of the invention may act as a hyperlink that, when selected, leads, e.g., to a page (not pictured) that presents posts that have the same tag.
According to an embodiment of the invention, a user may add his own tags to another user's post. For example, as
Possibly to check needless proliferation of tags, according to an embodiment of the invention, an autocomplete feature may suggest tags that match text that has been entered in the field 342. For example, as
(Tags are discussed herein in various contexts and in association with various objects. According to embodiments of the invention, an autocomplete feature such as discussed in connection with
Once entered, the user-specific tag 380 or tags may be displayed, e.g., as
Returning to
According to embodiments of the invention, a post 310 may be assigned to one or more categories. If a post 310 is placed in a category, in an embodiment of the invention, the post 310 may include the category name 408. Thus, the post 310 that
A post 310 may include a link 412 and/or other control that allows a user to “flag” a post, which, in an embodiment of the invention, may mean, e.g., reporting the post as inappropriate. The post may then be reviewed, e.g., by an administrator for possible removal. The meaning of “inappropriate” is contextual and may depend, e.g., upon applicable terms of use of the service.
In an embodiment of the invention, users may be able to comment 414 on a post 310. For example, as
A user may be able to receive notifications upon the occurrence of certain events involving a comment, but the user may disable this feature, e.g., by selecting a checkbox 418.
When the user finishes entering the comment, the user may submit it by selecting the “COMMENT” button 420. In an embodiment of the invention, the comment may be posted immediately after submission. Alternatively, the comment may be subject to moderation, e.g., by the poster, the user who created the stream to which the post belongs, and/or an administrator, and the comment may not appear until and unless a moderator approves it.
As displayed, a comment 414 may include text 424 and a header 428, which may include the date and/or time 432 when the comment was posted. The header 428 may also include information about the commenter, including, e.g., the commenter's name (or username) 436, which may be a hyperlink to the commenter's profile, and the photo or other image 440 that represents the commenter, and which may in an embodiment of the invention also be a hyperlink to the commenter's profile. As described below, a user in an embodiment of the invention may have a score or rating, ranking, or both, and the header 428 may include the score 444 and/or other information.
Just as with the original post, in an embodiment of the invention, it may be possible to reply to a comment. For example, as
A post 310 may be displayed with post statistics 470, which, e.g., may have been automatically compiled. For example, in an embodiment of the invention, a post may indicate the number of times it has been viewed 474 and the number of comments 478. As depicted, the number of comments may also appear as a header 482 or other indicator, e.g., above the comments 414 on the post 310.
As discussed elsewhere herein, a post may also be added to one or more groupings called “streams” or (equivalently) “currents”, and the post statistics 470 may include the number of streams 486 that include the post.
According to an embodiment of the invention, a post page 300 and other Web pages may include other information that may be related to the post 310 and/or other content on the page. For example, as
The stream summary 498 may include one or more statistics about the stream. For example, as
A stream summary 498 and/or any one or more of its elements (e.g., the title 502) may be a hyperlink that, when selected, leads to display of the stream and/or information associated with it.
As
According to embodiments of the invention, posts may be organized in one or more ways and according to one or more criteria and/or attributes. Posts may be stored, retrieved, and/or presented in one or more ways that reflect that organization in whole or in part.
For example, in an embodiment of the invention, posts may be placed into and/or associated with one or more categories, where the categories reflect, e.g., a selection of topics. For example, in an embodiment, the categories may be the topics “Economy”, “Energy”, “Entertainment”, “Finance”, “Government”, “Health Care”, “Law”, and “Technology”. The post 310 that
Different embodiments may treat categories differently. For example, in an embodiment such as
In an embodiment of the invention, a user may choose to view posts by category.
Despite the apparent similarities between a standalone post 310 (
When a post 628 appears as part of a listing 610, e.g., as in
According to an embodiment of the invention, a user may be able to select from among different criteria for filtering and/or sorting the posts displayed in a listing 610, e.g., as
For example, in
In an embodiment of the invention such as
Instead of the above, or in addition to it, a page may include a control such as that labeled “Most Recent” 686, which, when selected, may cause all posts that otherwise qualify for inclusion in the listing 610 to be displayed, e.g., in reverse chronological order, with the most recent post at the top.
According to an embodiment of the invention, the leaderboard page 600 may include information besides the listing 610 of posts 620, and this information may or may not be wholly or partly related to any one or more of the posts 620. For example, as
In an embodiment of the invention, a leaderboard page 600 may include an area 694 with information about trending posts in categories that may not be limited to the selected category 624. The information in this area 694 may take the form, e.g., of one or more summaries 698 of trending posts. A summary 702 may include, e.g., the title 706 of the summarized post and a banner 710 or other indicator of the category (here, “FINANCE”).
A drop-down that shows the name of the currently selected topic 624 allows the user to change the topic filtering. When the user selects the drop-down 624, a menu 720 (as
In an embodiment of the invention, the Web page 600 (
Instead of abstract categories, topics, or both, or in addition to them, posts according to an embodiment of the invention may be placed in one or more “streams”. A stream, in connection with embodiments of the invention, may be thought of a as a user-curated group or subtopic, although this description is intended merely as an aid to understanding and not as a definition of “stream”.
It is important to note, however, that not every user-created group or subtopic maintained by or in connection with a computerized social networking service, bulletin board service, or other service may be considered a stream, except insofar as it behaves as a stream is further described herein. Further, except as explicitly stated otherwise, the terms “category”, “class”, and “topic”, and related terms (e.g., “subcategory”, “subclass”, “subtopic”, etc.), specifically do not refer herein to streams. Similarly, except as explicitly stated otherwise, placement of a post into a category, class, or topic, other association of a post with a category, class, or topic, and any related term, specifically does not refer herein to placement of a post into a stream or other association of a post with a stream, and placement of a post into a stream or other association of a post with a stream specifically does not refer herein to placement of a post into a category, class, or topic, other association of a post with a category, class, or topic, or any related term.
In an embodiment of the invention, a user may be able to comment upon a stream, e.g., as users may comment upon individual posts. In an embodiment of the invention, comments upon a stream as a whole, if any, may appear at the bottom of Web pages that list posts in the stream. Such an independent comment thread within a stream may be referred to as a “discussion”.
For example,
Returning to
In an embodiment of the invention, the comment may be posted immediately after submission. Alternatively, the comment may be subject to moderation, e.g., by the user who made the original post, the user who created the stream to which the post belongs, and/or an administrator, and the comment may not appear until and unless a moderator approves it.
Just as with the stream as a whole, in an embodiment of the invention, it may be possible to reply to a comment. For example, as
When one comment relates directly to another comment, and not directly to the underlying stream, the appearance of the comments may in an embodiment of the invention indicate this relationship. For example, as
In an embodiment of the invention, comments on a stream may otherwise appear and/or be handled similarly to comments on posts, e.g., with respect to moderation, reporting of abuse, deletion, etc.
When a user makes a comment upon a comment, the poster of the original comment may receive a notification, e.g., by email, unless that poster chose to disable notifications, e.g., by selecting the checkbox 890 at the time of commenting. Similarly, a hyperlink or control 906 may allow users to flag a comment as inappropriate.
A stream listing page 800 may include further information, e.g., about the stream. For example, as
The “leader” or (equivalently) “owner” of the stream, who may in an embodiment of the invention be the user who created the stream may be identified, e.g., with information 950 similar to that identifying the creator of a post 400 (
A stream listing 810 may also be displayed with some or all tags 954 that are associated with the stream as such. Depending on the embodiment of the invention, the tags 954 that are associated with the stream may or may not be the same as any one or more tags 958 that, e.g., may be associated with any one or more posts 820 in the stream.
A user may be able to follow or subscribe to a stream, which means that the user is able to see, e.g., lists of posts and/or discussions in that stream, and may be able to add posts and/or discussions to the stream. A stream may be public, meaning that all users, even those who do not follow it, are able to see posts and/or discussions in the stream, or private, such that the stream is invisible and/or inaccessible to all users other than its followers.
To follow a stream from a stream listing page 800, in an embodiment of the invention, a user may, e.g., select a control, such as the button 962 labeled “FOLLOW” in
A user may be able to add content, which may according to an embodiment of the invention include adding posts to a stream, creating new streams, or both. For example, one or more Web pages may include a button, hyperlink, and/or other control or element, which a user may select to begin adding content. Examples of such an element in an embodiment of the invention may include, among other possibilities, the button labeled “+CONTENT” 970, such as
In response to selection of the “+CONTENT” button 970, the user may be presented with selection Web page 1000, e.g., as
On choosing to create a post, the user may in an embodiment of the invention be presented with a post creation Web page 1050 such as
The user may also enter one or more tags to be associated with the post. For example, in an embodiment of the invention such as
In embodiments of the invention, posts may be added to streams automatically, manually, or both. For example, as described above, a stream may have one or more tags associated with it. In an embodiment of the invention, these tags may serve to define the stream, and the system may add posts to one or more streams, possibly without any user intervention, based on the correspondence between the posts' tags and those that define the different streams.
Instead of the foregoing, or in addition to it, in an embodiment of the invention, users may manually associate posts with one or more streams. For example, a user may be able to select one or more streams for the post at the time of posting. In an embodiment of the invention, a user may later add a post to stream, although, depending on the embodiment, this ability may be limited, depending, e.g., on the identities of the user who created the post, the owner of the stream, and the user who seeks to add the post to the stream.
According to embodiments of the invention, it may be possible for the user to associate a post with one or more topics. As
In the depicted embodiment of the invention, a user must associate a link with exactly one of the topics, but constraints on selecting a topic for a post may vary between embodiments of the invention. For example, in embodiments of the invention, the creator of a post may not be required to associate a post with any topic or topics, but may, depending on the embodiment, be able to associate the post with a single topic or with one or more topics. In other embodiments of the invention, the creator may have to associate the post with at least one topic but may be able to associate the post with more than one of them.
Instead of selection by the user, or in addition to it or in conjunction with it, a post may, in an embodiment of the invention, be automatically associated with one or more topics. This association may, e.g., follow directly from the user's association of the post with one or more streams, each of which may be associated respectively with one or more topics. One or more topics may be associated with the post based on automatic processing of the description entered in the text field 1078 and/or the tags, and/or the posted link, the linked-to content, and/or any metadata associated with the link and/or the content.
In an embodiment of the invention, a user may receive notifications, e.g., when another user leaves a comment on the post. Such a notification may be delivered, e.g., by email and/or any other channel for delivering messages. The poster may be able to control whether such notifications are sent, however, e.g., by selecting or deselecting a control 1140 such as
When the user is satisfied with the post, the user may submit it, e.g., by selecting a control such as the button 1150 in
Returning to the selection page 1000 that
In response to the choice to create a stream, the user may be presented, e.g., with a stream-creation page 1200, such as
In an embodiment of the invention such as
The stream-creation page 1200 may include a text field 1218 for the entry of one or more tags. As with other text fields for tag entry, the text field 1218 may support autocomplete as the user types. Once the complete text of a tag is present in the tag entry field 1218, the user may, in an embodiment of the invention such as
In an embodiment of the invention in which tags serve partly or wholly as the basis for assigning posts to streams, a user creating a stream may be required to enter at least one tag.
As discussed above, in an embodiment of the invention, the creator of a stream may be able to restrict access to a stream in whole or in part. For example, in an embodiment such as
One or more facilities may be available, according to an embodiment of the invention, which may help limit the creation of multiple streams that are substantially similar to each other. For example, as
Similarly, in an embodiment of the invention, the user's selection of a topic and tags may be used to identify posts that would be added to the stream if it were to be created with that topic and those tags. Information about some or all of the posts so identified may be displayed, e.g., in a designated area 1250 that is updated dynamically as the user selects the topic and adds, modifies, and removes tags.
When satisfied with the entered information about the stream, the user may create the stream, e.g., by selecting a button such as the depicted “SUBMIT” button 1260. In an embodiment of the invention, any user may create a stream, and submission of the form on the stream-creation page 1200 may cause the immediate creation of the stream. Alternatively, in an embodiment of the invention, creation of a stream may require, e.g., approval by a moderator or other administrative user. In yet another embodiment, some users may be able to create streams directly, while others' streams may require approval before being created.
According to an embodiment of the invention, a user may see information about existing streams, e.g., in a list. For example, when viewing a page such as the page 600 that
In response, the user may be presented with a stream listing page 1280 such as
The stream summaries 1290 that
In an embodiment as
As the presence of the “trending” selector 674 may indicate, streams in a listing, as with posts in other listings, may in an embodiment of the invention be ordered according to relative increases in popularity. This order is also disclosed more fully below.
In an embodiment of the invention such as
Some or all information in a stream summary 1298 (such as the name of the stream 1302, for example) may act as a hyperlink, e.g., to a listing of posts in the stream such as
As discussed above, information about users may be available according to an embodiment of the invention.
The profile page 1500 may include statistics about the user, the user's activities, and/or other users' interaction with the user's posts and/or streams. For example, the depicted profile page 1500 includes the number of the user's posts 1530 and the number of the user's streams 1534. The statistics may include those related to the user's popularity and/or influence, such as the number of other users 1538 that follow the user and the total number of times 1542 that the user's posts have been viewed. As discussed below, a user may have a score, which may reflect, e.g., the user's absolute and/or relative popularity, and the profile page 1500 may display that score 1546.
Displayed information about a user may include or otherwise be associated with one or more indicators (e.g., badges) 1528, e.g., on a profile page 1500. Badges 1528 may signify, e.g., the user's roles, status, and/or other achievements.
A profile page 1500 according to an embodiment of the invention may include information about some or all of the user's posts. For example, as depicted, the profile page 1500 includes a list 1550 of summary information about several of the user's streams. In the depicted embodiment, the stream summaries 1560 on a profile page 1500 may resemble the stream summaries 1290 on a stream listing page 1280 as
The view containing the list 1550 of stream summaries 1560 may be tabbed, e.g., as depicted, and the appearance of the tab 1564 labeled “Streams” may indicate that that tab has been selected. In response to the user's selection of the tab 1568 labeled “Posts”, the profile page 1500 may be modified, e.g., to display information about the user's posts.
A user may have created more posts, streams, or both, than may comfortably fit on a profile page 1500. To manage the length of the profile page 1500, in an embodiment of the invention, the list of streams 1550 (
According to an embodiment of the invention, a profile page 1500 may include other information in addition to, or instead of, some or all of the foregoing. For example, as
Similarly, in an embodiment of the invention, the profile page 1500 may include an area 1610 for information that identifies one or more streams that the user has created. The information may also take the form, e.g., of one or more stream summaries 1614, such as described elsewhere herein. Because the user may have created more streams than can be listed in the desired space, the area 1610 may include a hyperlink 1618 and/or other elements, e.g., to a page (not pictured) that directly or indirectly provides information about all of the user's streams.
A Web site according to an embodiment of the invention may make information about users available, e.g., in a listing and/or other directory.
As depicted, the listing 1660 is made up of summaries 1664 that represent the users. For example, each summary 1664 may include information about the represented user, such as the user's name 1668, a picture 1672, the user's employer 1676 and/or job title 1680, and one or more badges 1684. Some or all of this information may be the same as the corresponding information about the user that the profile page 1500 (
Consistent with the description of the format as a “leaderboard”, the listing 1660 (
As with other pages discussed above (e.g.,
As described elsewhere, embodiments of the invention may display information that implicitly or explicitly reflects evaluations of, e.g., posts, streams, or users, for example, by listing these objects in a user-selected order. For example, a Web page may list posts or streams in the form of a leaderboard, which orders the presented objects according to a score. A Web page may also display recommended posts, streams, or users, and such a recommendation may reflect, e.g., an algorithmic evaluation of the recommended objects as potentially interesting to the user.
According to an embodiment of the invention, an object—such as a stream, a post, a discussion, or a user, for example—may receive points as people use the system. Over time, these points may accumulate into one or more scores for various purposes, and the computation of one or more of these scores may also take into account, e.g., the elapsed time since the scored event.
For example, in an embodiment of the invention, a post may receive a numeric value upon it creation. Users' actions, such as adding the post to streams, adding comments to the post, following a link in a post to a source article, and sharing the post, may increase the post's score. In an embodiment of the invention, the effects of these actions may be such as in Table 1.
As discussed above, in an embodiment of the invention, a Web page may display items, such as posts, listing them in order of their relative popularity over a specified time period. For example, when viewing a Web page 600 such as
Also as discussed above, a leaderboard may include a selector 674 that causes ordering of posts according to which ones are “trending”. In an embodiment of the invention, a post may have a separate score, the “trending score” or “trending value” that places a relatively heavier weight on recent actions without necessarily disregarding older ones.
For example, in an embodiment of the invention, the trending score may increase, e.g., by the values in Table 1 upon occurrence of the specified events. The trending score may then be periodically reduced, e.g., by a specified percentage. For example, every 24 hours, a process may reduce all posts' trending scores by half.
For example, a post in such an embodiment may have a trending score of 10 points immediately upon its creation. During the first day, the post may be receive 10 comments, each of which (reflecting Table 1) adds 3 points, so that, just before the end of the first day, the post has a trending score of 40 points. At the end of the first day, however, the trending score is halved, to 20 twenty points.
To continue the example, during the second day, the post may be shared twice via other social media, receiving 4 points for each share (and 8 points total). The source link may be followed 3 times, for a total of 9 more points, and the post may receive 2 more comments, adding another 6 points. Just before the end of the second day, the trending score would be 20+8+9+6=43 points. At the end of the second day, the trending score would be halved again, to 21.5 points.
According to an embodiment of the invention, for the sake of efficiency, every post may have its score reduced at the same time (or roughly so, accounting for the time needed to update multiple records).
Other objects, e.g., streams, discussions, and users, may be scored similarly in an embodiment of the invention. Table 2 lists actions that may give points to discussions and the number of points assigned to each, according to an embodiment of the invention. Table 3 provides the corresponding information for streams.
People may have scores as well in embodiments of the invention. For example, when a stream, discussion, or post receives points as above, the user who created that object may receive the same number of points. In an embodiment of the invention, however, a user's score may not decay, e.g., in the manner described above for streams′, discussions′, and posts' trending scores.
(The discussion of scoring algorithms herein and particular point values associated with actions and/or scoring is meant solely to illustrate one embodiment of the invention and is not in any way limiting.)
Embodiments of the invention may take advantage of one or more software frameworks. For example, an embodiment of the invention may be implemented using the Drupal content management system, which in turn may use a Web server (such as Apache) and a database management system, which may be a relational database management system (RDBMS) such as MySQL. In such an embodiment, scoring information may be stored, e.g., in one or more tables within the RDBMS, and such a table may be referred to herein as a “trending table”.
In such an embodiment, a SQL command for selecting trending users may be similar, although it will be appreciated that the command may be more complex if, as discussed above, a user's score depends, e.g., on the separate scores for the users posts, streams, and discussions.
In an embodiment of the invention, one or more trending tables may also be used in algorithmically selecting related or recommended posts, streams, or other objects. For example, as
Instead of displaying “related” streams, or in addition to doing so, a system according to an embodiment of the invention may in some contexts recommend streams based on the user's activity. For example, according to an embodiment of the invention, a system may select for recommendation streams with high trending scores in categories in which the user leads or subscribes to streams.
According to an embodiment of the invention, posts may similarly be recommended and/or identified as relevant.
An embodiment of the invention may also include recommendations of users based, e.g., on user affiliations. Such affiliations may include, for example, both affiliations independent of the social networking application (e.g., employment by the same entity) and affiliations within the application (e.g., subscription to the same streams). To avoid constantly recommending the same users, selection may be partially randomized among users who share such affiliations.