CROSS-REFERENCE TO RELATED APPLICATIONThis application claims priority to U.S. Provisional Patent Application No. 61/378,817, filed Aug. 31, 2010, entitled “CLASSIFICATION AND STATUS OF USERS OF NETWORKING AND SOCIAL ACTIVITY SYSTEMS,” and incorporated herein by reference for all purposes.
BACKGROUND OF THE INVENTIONNetworks and networking systems have been widely used for various applications. In recent times, social networks and social activity systems have become especially popular. Social networking or activity systems allow social interaction online amongst users located in various distant parts of the world. Typically, in a social networking or activity system, users have a user page accessible to other users. Furthermore, in some social activity systems, one user can “follow” another user. In these systems, typically, when one or more users follow another user, “posts” provided by the followed user are presented to all the followers of the followed user. A “post” can, for example, be presented as an update with respect to a location, a mood/feeling, or as recent comments provided by the user being followed. In some systems, location status can be updated automatically.
As social networks become more popular, “following” a significant number of other users can result in a user receiving excessive “posts”. This can result in a user missing or ignoring “posts” that are important or of particular interest to the user. In addition, an ever increasing variety of media, applications, and products are becoming widely available to users of online systems. Today, various forms of media, including music and movies are available from various online sources including several online stores. In addition, a wide variety of applications, including games and non-gaming applications (or computer application programs) are available online for download to various devices (e.g., smart phones, computers).
Thus, there is a need for improved management of networks, especially social activity networks supporting a relatively large number of users interested in various forms of media, applications, as well as other products.
SUMMARYEmbodiments of the invention disclosed herein relate to enhanced networks and social activity or networking systems. According to one aspect, methods and systems being described can assign classification and/or status to various entities and devices associated with a network (e.g., users of a social activity or networking system) based on media, application, network and/or other information (e.g., purchasable product information). A status or classification can pertain to a subject matter that is, for example, associated with media and/or application in a broad sense or in a specific context (e.g., category, genre, item). As such, a status or a classification can, for example, provide valuable information regarding a user to other users of a social activity system. By way of example, a user can be classified as a music expert, as a high volume application user, as an expert in a particular genre of music or movies, or as a novice with respect to a specific media asset, item, or event (e.g., a particular song, a movie, concert, gaming application, product). Among other things, a status or classification can be used to manage a social activity system, as well as to manage information provided by the social activity system.
Embodiments of the invention can be implemented in numerous ways, including as a method, system, device, apparatus (including computer readable medium and graphical user interface). Several embodiments of the invention are discussed below.
As a method for assigning a status to a user of a social activity system, one embodiment of the method can, for example, include at least the operations of: monitoring user attribute information for a plurality of users of the social activity system; and evaluating the user attribute information to assign a user status to one or more of the users. The method can further include the operation of arranging information provided by the social activity system in accordance with the user status of the one or more users.
As a method of assigning a classification to an entity that can be connected to a network for communication with one or more other entities, one embodiment of the method can, for example, include at least the operations of obtaining at least one of (i) first media information associated with at least a first entity that can be connected to the network, and (ii) first network information associated with at least the first entity. The method can also include the operation of assigning one or more classifications to at least the first entity at least partially based on at least one of the first media information (i) and the first network information (ii), wherein the one or more classifications are at least reflective of a media classification of the first entity.
As computing system (e.g., a server, an online activity monitoring and distribution system), one embodiment of the system can, for example, include one or more processors or processing cores configured to at least monitor user attribute information for a plurality of users of a social networking system, evaluate the user attribute information, and assign a user status to one or more of the users at least partly based on the evaluation.
As a computer readable medium including at least computer program code tangibly stored thereon for assigning a status to a user of a social networking system, the computer readable medium can include at least computer program code for monitoring user attribute information for a plurality of users of a social networking, computer program code for evaluating the user attribute information, and computer program code for assigning a user status to one or more of the users at least partly based on the evaluation.
Other aspects and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the invention.
BRIEF DESCRIPTION OF THE DRAWINGSThe invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like elements, and in which:
FIG. 1 is a block diagram of a communication or networking environment in accordance with one embodiment.
FIG. 2 depicts an exemplary method for assigning a classification (or status) to an entity in a network in accordance with one embodiment.
FIG. 3 depicts an exemplary method for assigning a classification (or status) to a user of a social networking system in accordance with one embodiment.
FIG. 4 depicts another exemplary method for assigning a classification or status to a user of a social networking system in accordance with another embodiment.
FIG. 5 depicts a block diagram of a social activity system according to one embodiment.
FIG. 6 depicts an exemplary method for assigning (or reassigning) one or more statuses to one or more users of a social networking system in accordance with yet another embodiment.
FIG. 7 is an illustrative diagram of a user page according to one embodiment.
FIG. 8A is a user page according to one embodiment.
FIG. 8B is a user page according to another embodiment.
FIG. 9 is a connection page according to one embodiment.
FIG. 10A is a block diagram of an event processing system according to one embodiment.
FIG. 10B is a block diagram of an event processing system according to another embodiment.
FIGS. 11A and 11B are flow diagrams of a commerce posting process according to one embodiment.
FIG. 12 is a flow diagram of a followed activity posting process according to one embodiment.
FIG. 13 illustrates a block diagram of a computing device according to one embodiment.
DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTIONEmbodiments of the invention disclosed herein relate to enhanced networking and social activity systems. According to one aspect, methods and systems can assign a classification and/or status to various persons or entities associated with a networking and social activity systems based on media, application, network and/or other information (e.g., purchasable product information). A status or classification can pertain to a subject matter that is, for example, associated with media and/or applications in a broad sense or in a specific context (e.g., category, genre, media item). As such, a status or classification can, for example, provide valuable information from or regarding one user to other users of a social activity system. By way of example, a user can be classified as a music expert, as a high volume application user, as an expert in a particular genre of music or movies, or as a novice with respect to a specific media asset, item, or event (e.g., a song, a movie, concert, gaming application, product). Among other things, a status or classification can be used to manage a social activity system, such as managing information provided by the social activity system.
Several embodiments of the invention are discussed below with reference toFIGS. 1-13. However, those skilled in the art will readily appreciate that the detailed description given herein with respect to these figures is for explanatory purposes as the invention can extend beyond these limited embodiments.
FIG. 1 depicts a communication ornetworking environment10 in accordance with one embodiment. Referring toFIG. 1, anetwork12 can facilitate communication between entities14 (e.g.,entries14A,14B). In other words, entities14 can effectively communicate via a network12 (e.g., a public network, a private network, a Local Area Network (LAN), a Wide Area Network (WAN), the Internet). An entity14 can, for example, be representative of one or more persons or individuals, a group, company, an organization, and so on. To communicate vianetwork12, an entity14 can use one or more devices16 (e.g., a computing device, a communication device, a Personal Computer (PC), a laptop, a pad computer, a smart phone, a media player). An entity14 may also be associated with the same device or devices16 used to connect to and/or communicate via thenetwork12. By way of example, a person may own a number of devices16 registered and/or identifiable in thenetwork12. In addition to communication capabilities, a device16, such as, for example, a PC or a smart phone may have media playback capabilities and/or capable of executing or running one or more applications including games, and so on. It should be noted that a media playback device16 (e.g., a media player) may be operable to be connected to thenetwork12 via another device (e.g., a PC) to facilitate exchange of media and information via thenetwork12. Generally,media20 andapplications22 can be distributed in thenetwork12. Themedia20 andapparatus22 can be available from one or more libraries or online stores (not shown) coupled to thenetwork12, or can be stored on various devices (not shown) operable to connect to thenetwork12. As such, a number of entities14 can use various devices16 to connect tonetwork12, and access orplayback media20 and/or execute or run one ormore applications22.
The communication ornetworking environment10 also include asocial network system23. Thesocial network system23 is supported by one or more computing devices, such as server computers, and one or memory devices. Thesocial network system23 can include a Classification Management System (CMS)24 that can effectively assign classification (or statuses) to entities14 and/or devices16. TheCMS24 can, for example, be provided as computing system (e.g., a server) that includes one or more processors or processing cores operable to execute computer program code stored in a computer readable medium (e.g., memory). Generally, a classification assigned by theCMS24 can correspond to a classification (or status) of an entity14 with respect tomedia20 and/or one ormore applications22. It will be appreciated that a classification can, for example, be reflective of ranking, position, or placement of a person with respect tomedia20 orapplications22, in a general sense or in a specific category (e.g., music, movies, games), a genre or a specific category ofmedia10 or applications22 (e.g., jazz, comedy, first person shooter games), specific to a single or narrow topic, asset, item, collection, artist, band, director, game (e.g., “Pink Floyd” music., “God Father” movies, “Rod Stewart's best live concerts,” “Billy Joel's videos,” “Company of Heroes” games). By way of example, a classification assigned to anentity14A can be reflective of knowledge, level of expertise, or interest of theentity14A in a genre of music, a particular band, a particular artist, a particular album, or a song.
It will also be appreciated thatCMS24 can assign one or more classifications to an entity14 and/or a device16 based onmedia information26 and/ornetwork information28. In other words,CMS24 can effectively usemedia information26A and/ornetwork information28B that may, for example, be associated with or pertain to aspecific entity14A to assign one or more classifications to theentity14A. Similarly, aCMS24 can effectively usemedia information26 and/ornetwork information28 pertaining to a specific device to assign one or more classifications to the device. It should be noted thatinformation26A can, for example, include media collection information pertaining to media content associated with theentity14A and/or media usage information associated with use of media by theentity14A. Generally,network information28A pertains to information available, known, or in thenetwork12 regarding theentity14A. In one embodiment, a classification assigned by theCMS24 can be reflective of media (e.g., media knowledge, media usage). As such, a classification assigned by theCMS24 to a particular person can, for example, be based on media played and/or purchased by the person, as well as other information that might be known regarding the person (e.g., location, number of friends in the network, active participation is media related activities, such as, posting reviews). It should be noted thatCMS24 can additionally or alternatively useaggregate media information26 andaggregate network information28 pertaining to multiple entities14. By way of example, media andnetwork information26 and28 in the aggregate can be used to comparatively rank entities14 with respect to their media collection, media knowledge, media use, and/or active participation.
Generally, a classification or status assigned to an entity14 can be made known to the entity and possibly other entities in the communication ornetworking environment10 by various mechanisms (e.g., displaying a status on a page, informing a user by email or postal mail). Making a user classification or status known in context of social activity can be generally desirable and useful. It will be appreciated that the communication ornetworking environment10 can, for example be, a social networking system (e.g., a social activity system, or a social activity following system) where assigning classifications or status to users and can be especially useful.
Referring toFIG. 1, as a social networking system, thenetworking environment10 can connect a number of users (represented as entities)14 for social networking or social activity. In this social networking system,CMS24 can obtain media information pertaining at least in part to media associated with a user (e.g., auser14A). The media information can be used by theCMS24 to determine and assign one or more classifications to the user. The classification can, for example, effectively rank or place the user with respect to his or her media collection, media knowledge and/or media use relative to other users of the social networking system (10) so that a user may, for example, be distinguished from other users. For example, a particularly knowledgeable user may be classified as an expert, while other users may be classified as novice. Such classifications are especially useful in large or public social networking systems supporting many users where additional objective knowledge about users may be useful. Generally, classification of users at least with respect to their association with media in a general sense or with respect to a specific context (e.g., a particular form of media) is especially useful in social networking system where, among other things, classifications can be used to affect communication or social activity in a social setting.
Still further, in thesocial networking system10, theCMS24 can be operable to assign contextual classifications pertinent to a specific context or subject area (e.g., category, type, genre, item, etc.). Such classifications are especially useful today when a wide variety of media and applications are available and are widely used. By way of example, theCMS24 can assign a classification that effectively identifies a user as an expert in particular applications. As another example, theCMS24 can assign another classification to another user identifying the user as an expert in a particular area of media. As another example, classifications can pertain to a specific category or type of media or applications (e.g., music, games, videos, word processing applications). Still, classifications assigned by theCMS24 can classify a user in the context of a specific genre, topic, or even an item of media or application that may be input as a search phrase (e.g., Beatles music, the “dark side of the moon” album, a song named “songs to the siren,” by “This Mortal Coil,” the “Mafia Wars” games, Christian rock music, Visio drawings). Referring toFIG. 1, theCMS24 can obtain data from themedia information26,network information28 and/orapplication information30 associated with one or more users14 of the social networking oractivity system10. TheCMS24 can then assign one or more classifications to one or more users based on the information obtained. It should be noted that the one or more classifications can effectively rank or position users of the social network at least with respect to a specific subject area (e.g., media, music, applications, classical music, games, music of Pink Floyd, a particular song album, song, gaming or non-gaming application). In any case, an assigned user classification or status can be effectively communicated to entities14 via devices16 via thesocial networking system10. By way of example,CMS24 can cause a user status assigned to anentity14A to be displayed on a display associated with adevice16A used by theentity14A. TheCMS24 may also cause the user status assigned to theentity14A to be displayed on a display associated with anotherdevice16D used by an anotherentity14B.
The classifications or statuses can be used to impact presentation of information for users. For example, information associated with user classified as “experts” can be more likely presented. As another example, information associated with “novices” can be filtered out so that it is not presented (e.g., displayed) and thus more relevant information can be displayed.
FIG. 2 depicts anexemplary method40 for assigning a classification (or status) to an entity in a social network in accordance with one embodiment. Themethod40 can, for example, be performed by theCMS24 depicted inFIG. 1. Referring toFIG. 2, initially, it is determined42 whether to classify an entity in the social network. By way of example, it can be determined42 in a social networking system whether to classify a user. Thisdetermination42 can, for example, be made based on occurrence of an event, request made by the user, or purchase of a media or application at an online store. In effect,method40 can wait for adetermination42 to classify an entity. When it is determined42 to classify an entity, it is determined44 whether to obtain media information. Media information can, for example, pertain to media associated, owned, purchased and/or used by a person who uses the social networking system. Consequently, media information can be obtained46. Next, it is determined48 whether to obtain network information. It should be noted that if it is determined44 not to obtain media information, themethod40 can proceed directly to determine48 whether to obtain network information. Those skilled in the art will readily appreciate that thedeterminations44 and48 of whether to obtain media and network information can, for example, each represent a system or programming choice, or can be made statically or dynamically based on various criteria, including system or user settings and/or preferences. In any case, if it is determined48 to obtain network information, network information can be obtained50. Network information can, for example, include information regarding reviews or conversations that a user has had regarding media or a particular form of media in the social networking system. As another example, network information can include the number of users that are following a user or have read the reviews of the user, and/or reflect expressed opinions regarding the user's level of knowledge and usefulness of his or her recommendations about media, applications, or a specific subject area relating to media and/or applications.
In effect, media and/or network information can be obtained before a classification is determined. In addition, it can optionally be determined52 whether adequate information has been obtained to determine and assign a classification. Although not shown inFIG. 2, it should be noted that in the absence of adequate information, for example, a default classification can be determined for assignment. Also, it is possible to make a classification simply based on any information available. However, referring back to theexemplary method40 depicted inFIG. 2, if it is determined52 that adequate information has not been obtained, themethod40 can end. On the other hand, if it is determined52 that adequate information has been obtained, one or more classifications are determined and/or assigned54 to an entity at least partially based on media information and/or network information that has been obtained. Themethod40 ends following the determination and/orassignment54 of one or more classifications to an entity.
FIG. 3 depicts anexemplary method60 for assigning a classification (or status) to a user of a social networking system in accordance with one embodiment. Themethod60 can, for example, be used by theCMS24 depicted inFIG. 1. Referring toFIG. 3, initially, it is determined62 whether to classify or assign a status to a user of the social networking system. Thisdetermination62 can, for example, be made based on occurrence of an event, request made by the user, and purchase of a media or application at an online store. In effect,method60 can wait62 for a determination to classify or assign a status to a user of the social networking system. If it is determined62 to classify or assign a status to a user of the social networking system, media information is obtained64. The media information can at least in part pertain to media associated with the user of the social networking system. As such, media information can include other information. For example, the media information can also include media information associated with media not associated with the user and/or media associated with other users of the social networking system. Subsequently, one or more classifications or statuses are determined and/or assigned66 to the users based at least partly based on the media information. Themethod60 can end following the determination and/orassignment66 of the one or more classifications or statuses. Although not shown inFIG. 3, it should be noted that additional information including network and application information can be obtained and used to classify or assign a status to a user in a social networking system.
To further elaborate,FIG. 4 depicts anotherexemplary method70 for assigning a classification or status to a user of a social networking system in accordance with another embodiment. Themethod70 can, for example, be performed by theCMS24 depicted inFIG. 1. Referring toFIG. 4, initially, it is determined70 whether to classify or assign a status to a user of the social networking system. In effect, themethod70 can wait72 for a determination to classify or assign a status to a user of the social networking system. If it is determined72 to classify or assign a status to a user of the social networking system, information pertaining to media and one or more applications associated with the user of the social networking system can be obtained74. Subsequently, one or more classifications or statuses pertaining to a subject area (or subject matter) associated with media and/or application(s) are determined and/or assigned76 at least partly based on the information obtained. A classification or status can effectively rank or comparatively place a user relative to other users of the social networking system with respect to a subject area. The subject matter may merely make a distinction between applications and media (e.g., a media expert versus an application expert). The subject matter may also pertain to a broad category (e.g., application knowledge, music use), or may be directed to a narrower subject matter (e.g., word processing reviews, Rod Stewart music), and so on. Themethod70 ends following the determination and/orassignment76 of the classification(s) or statuses to a user. Although not shown inFIG. 4, it should be noted that additional information including network information can be obtained and used to classify or assign a status to a user in a social networking system.
Typically, it is more desirable and/or useful to assign a classification to a person, or at least an entity, rather than a device. As such, assignments of classifications to entities, especially users of the devices and the system (e.g., persons, and individuals) are described in greater detail below. Furthermore, given the prevalence of social networking, classifications assigned to persons in or in the context of a social network or social activity network (e.g., a social activity following system) are described in greater detail below.
To further elaborate,FIG. 5 depicts a block diagram of a social activity system100 (e.g., social networking system) according to one embodiment. Referring toFIG. 5, thesocial activity system100 includes acentral server102. Those skilled in the art will readily know that thecentral server102 can, for example, include one or more central processors or processing cores (not shown). As such, thecentral server102 can be operable to execute code stored in a computer readable storage medium (e.g., memory, storage device) (not shown). Thecentral server102 can also store media information and/or network information, as well as profiles and other information pertaining to a plurality of users of thesocial activity system100.
Thesocial activity system100 can, for example, be a social activity following system allowing its users to access their profile, as well as profiles of other users. Additionally, users of the social activity following system can allow users to follow other users. Thecentral server102 can be operable to facilitate social activities or social following activities. Still further, as a component of the social activity system, thecentral server102 may be operable to provide recommendations of other users that one might be interested in following.
Generally, thesocial activity system100 can support a plurality of user computers associated with the users of thesocial activity system100. This support can be at least provided or facilitated by thecentral server102. In particular, thesocial activity system100 illustrates auser computer104 that can couple to adata network106. Thecentral server102 is also coupled to thedata network106. Theuser computer104, though interaction with thecentral server102, can for example be capable of presenting auser page108. For example, theuser computer104 can include a display that is capable of presenting theuser page108 with auser activity region110. Theuser activity region110 can, for example, present an activity feed within theuser activity region110.
Referring toFIG. 5, for simplicity, thecentral server102 is depicted to include aCMS140 operable to assign classifications to users of thesocial activity system100. However, it should be noted thatCMS140 can be separated from thecentral server102 and/or can be effectively distributed between a number of devices, including or not including thecentral server102. In addition to assigning classifications to users, theCMS140 and/or thecentral server102 can also be operable to effectively make use of the classifications, for example, to affect social communication between the users in thesocial activity system100.
Conceptually, theCMS140 can at least include aclassifier component140A and optionally include aneffectuating component140B. Theclassifier component140A can determine and assign a classification or status to various users of thesocial activity system100. The determination of a classification or status can at least in part be made based onmedia information150,application information151 and/ornetwork information152. Generally, this information used to determine a classification or user status can at least in part be stored by thecentral server102. As shown inFIG. 5, themedia information150 can includemedia collection information150A and media usage information1508.Media collection information150A can, for example, include media content and metadata. Media content typically represent a portion of media that can be presented (e.g., musical, video or image content). In contrast, media metadata may include information or data about the media content. Media content can, for example include one or more of the following forms: an audio file, a video file, an audio visual file, a song, an album, a movie, a book, a playlist, and a media library. Metadata can, for example, include one or more of the following: information about the media content, album art, title, textual data, rating, purchase, time of purchase, and place of purchase. In contrast, media usage information1508 can generally provide information regarding the use of media by one or more users. As such, the media usage information1508 can, for example, include one or more of the following: time, place, manner and/or number of times media has been used, and duration of usage.
Theclassifier component140A can obtain themedia collection information150A and/ormedia usage information150B. Moreover, theclassifier component140A can determine a classification or a user status based on themedia collection information150A and/ormedia usage information150B. This information can pertain to a particular user and/or pertain to data collected for multiple users of thesocial activity system100. By way of example, theclassifier component140A can obtainmedia collection information150A indicative of a user having purchased or owning a complete collection of a particular artist (e.g., complete collection of music by Rod Stewart). Based on this information, theclassifier component140A can determine and assign a user status to the user, such as, for example, “a music fan,” “Rod Stewart fan,” “80's Rock fan.” As another example, theclassifier component140A can also obtain themedia usage information150B pertaining to use of his or her collection, and determine that the user has recently (e.g., in the last 6 months) played a relatively large portion (e.g., at least 90 percent) of this collection. As such, theclassifier component140A can assign one or more user statuses, such as, for example, “active music fan,” “serious Rod Stewart player,” and so on.
It will also be appreciated thatnetwork information152, especially,social network information152A can additionally or alternatively be used by theclassifier component140A to determine a classification for a user of thesocial activity system100. Generally, thesocial network information152A can provide personal or social information pertaining to one or more users, user interactions, and/or social activity or participation in thesocial activity system100. As such, referring to the example noted above, thesocial network information152A can, for example, indicate that the same user who has been actively playing a significant collection of works by an artist, has also written a number of reviews regarding the work of this artist, and/or has also received a number of positive feedbacks on his reviews. Thesocial network information152A may also include a user profile which can, for example, be indicative of an observed level of knowledge of the user regarding a particular form of media, such as being particularly knowledgeable in a specific genre of media (e.g., Rod Stewart's music). Thesocial network information152A may also, for example, indicate that the user has several friends or followers who have expressed positive feedback regarding recommendations made by this user regarding one or more media items pertaining to an artist, and so on. As a result, this user may, for example, be classified or assigned one or more users statuses, such as, for example, “knowledgeable music fan,” “Rod Stewart expert,” and so on.
It should be noted that theCMS140 can also useapplication information151 in a similar manner as noted above with respect to media information. Although not illustrated inFIG. 5, the application information can include application collection information and application usage information. The application collection information can include data regarding application content (e.g., applications purchased or downloaded) and the application usage information can include data pertaining to usage of applications (e.g., time and duration of use) by users of thesocial activity system100. Thenetwork information152 can also provide additional information associated with users pertaining to applications similar to that noted above with respect to media.
As noted above, theCMS140 can optionally include aneffectuating component140B operable to effectively use a classification assigned to a user in thesocial activity system100. Theeffectuating component140B can, for example, use one or more user statuses assigned to one or more users to effect communications associated with the same or other users of thesocial activity system100. By way of example, communications or feeds of a user regarding a specific media item can be optionally filtered or blocked with respect to other users if the user providing the communication or feed is not classified as an expert in a specific genre pertaining to the specific media item. As a result, the effectuatingcomponent140B can, for example, effectively block or filter reviews submitted by non-expert users regarding a media asset (e.g., an album, a song, a movie) for other users who wish to see only reviews by “expert” users in a subject matter pertaining to the media asset.
Theeffectuating component140B may also be operable to determine one or more events based on the one or more statuses assigned to one or more users. For example, the effectuating component1408 can determine that a user classified as an “expert” in Rod Stewart's music has just purchased music by the same or another similar artist. This would constitute an event (or a synthetic event) that may cause an action, such as, for example, notifying other users with similar interests and/or other users that are explicitly following the user of the purchase in case other users would also be interested in making the same purchase. For example, those other users following the user can receive or access a post, which is one example of an action.
In addition, various other actions can be taken or caused to be taken by the effectuating component1408. For example, a form of a reward, gift, and/or complementary value can be assigned to one or more users by the effectuatingcomponent140B at least partly based on one or more status determined and assigned by theclassifier component140A. A reward can, for example, be an unreleased song, limited edition media items with release numbers, and allowing a user to host their own page. Other examples include: (i) storing one or more classifications for one or more users, (ii) sending one or more users a communication, a notice, or an offer; (iii) displaying one or more classifications assigned to a user to one or more other users; (iv) and identifying or recommending to users a particular user as a one to be followed or not to be followed, possibly with respect to a particular media categories, genres, or items.
Generally, in thesocial activity system100, theCMS140 can also be operable to monitor user attribute information for and/or pertaining to multiple users of the social activity system100 (e.g.,media information150,network information152, application information151). As such, the user attribute information can, for example, include media information, application information, and network information. TheCMS140 can evaluate the user attribute information to assign one or more user statuses to one or more of the users. In addition, theCMS140 can arrange information provided by thesocial networking system100 in accordance with the one or more user statuses of the one or more users. It will be appreciated that the user status can be associated with a subject area including subject areas associated with media and applications. In addition, theCMS140 can evaluate and assign a plurality of user statuses to a user, such that each user status can be associated with a different subject area. It should be noted that a subject area can, for example, be a genre of digital media assets and/or pertain to an artist or author of digital media assets.
Generally, a user classification or user status can be assigned to a user of a social activity system. Furthermore, a classification or status can be made known to the user and possibly other users of the social activity system. By way of example, a user status can be displayed on auser page108 such that other users of thesocial activity system100 may also be able to view the status assigned to the user. A user status is especially useful in the context of a social activity system where activities of a user may be followed by others. As such, displaying a user status is further described in the context of a social activity system.
As noted above, thesocial activity system100 can, for example, be a social activity following system. In a social activity following system, auser computer104 can, for example, include a display that is capable of presenting theuser page108. Theuser page108 can include auser activity region110. Theuser activity region110 can present an activity feed within theuser activity region110. Generally, a classification or user status can be displayed
As a social activity following system, thesocial activity system100 can also support a plurality of follower computers that can be associated with users that follow other users. In the example illustrated inFIG. 5, there are two followers of the user associated with theuser computer104. Specifically, as a social activity following system, thesocial activity system100 can support afollower computer112 having a display capable of presenting afollower page114. Thefollower page114 can include anactivity feed116. The activity feed116 can, among other things, include followed user activity. As an example, the followed user activity being presented in the activity feed116 can pertain to the user activity associated with at least the user of theuser computer104. However, typically, the followed user activity being presented in the activity feed116 can pertain to the user activity associated with the user of theuser computer104 as well as user activity associated with various other users also being followed. Additionally, as a social activity following system, thesocial activity system100 can support afollower computer118 having a display capable of presenting afollower page120. Thefollower page120 can include anactivity feed122. The activity feed122 can, among other things, include followed user activity. As an example, the followed user activity being presented in the activity feed122 can pertain to at least the user activity associated with the user of theuser computer104. In another example, the followed user activity being presented in the activity feed122 can pertain to the user activity associated with the user of theuser computer118 as well as user activity associated with various other users also being followed.
More generally, theuser page108 as well as the follower pages114,120 can be electronic pages. As such, auser computer104 can receive the electronic page for theuser page108 from thecentral server102, and then present the electronic page on the display of theuser computer104. Similarly, thefollower computers112,118 respectively receive electronic pages for the follower pages114,120, and then respectively present the electronic pages on the displays of thefollower computers112,118.
It will be appreciated thatcentral server102, among other things, can also manage the activity feeds for the various users, including followers. That is, when the user activity feed withinuser activity region110 is updated (e.g., by including a new activity posting), the updated user activity can also propagate to the followers of the user. In such case, the correspondingfollower pages114,120 can be updated to include followed user activity corresponding to the updated user activity within the activity feeds112,122. However, it should be noted that a follower typically follows a plurality of different users. As such, the activity feeds presented on a follower page typically integrate activity from a plurality of different users as well as activity associated with the corresponding follower (user).
Thesocial activity system100 can also support anonline store124. The user can interact with theonline store124 to engage in e-commerce transactions to purchase products or services. In one embodiment, theonline store124 can facilitate purchase of electronic products (or digital assets), such as digital media or software programs. As one example, theonline store124 can pertain to an online media store from which users can purchase numerous media. As another example, theonline store124 can pertain to an online application store from which users can purchase numerous application programs. It should be noted that if a purchase occurs from theonline store124 by the user, an activity event can be produced. The activity event can be inserted into theuser activity region110 of theuser page108. Thecentral server102 can also propagate or provide the activity event of the user to those of the followers of the user. Consequently, the follower pages114,120 of the follower pages112,118 can receive the activity event associated with the user and cause an activity post to be presented in the activity feed associated with the follower pages114,120.
Although thecentral server102 and theonline store124 are depicted inFIG. 5 as separate devices, it should be understood that thecentral server102 and theonline store124 can both be hosted on the same device (e.g., server).
FIG. 6 depicts anexemplary method150 for assigning (or reassigning) one or more statuses to one or more users of a social activity or networking system in accordance with yet another embodiment. Themethod150 can, for example, be used by theCMS140 depicted inFIG. 5. Referring toFIG. 6, initially, attribute information for a plurality of users of a social networking system is monitored152. Next, it is determined154 whether to evaluate the attribute information. In effect, themethod150 can continue to monitor the attribute information until it is determined154 to evaluate the attribute information. Those skilled in the art will readily appreciate that thedetermination154 can, for example, be made based on a timer, user request, or occurrence of an event (e.g., purchase of a media item, posting a review). In any case, if it is determined154 to evaluate the attribute information, the attribute information is evaluated156. The attribute information can pertain to one or more users of the social activity or networking system. Consequently, based on the evaluation, it is determined158 whether to assign (or reassign or change) at least one status to one or more users of the social networking system. The monitoring152 of the attribute information can continue, if it is determined158 not to assign at least one status. However, if it is determined158 to assign at least one status, at least one status is assigned (reassigned or changed)160 to one or more users of the social networking system. After the assignment160, themethod150 can optionally be determined164 whether to use the at least one status that has been assigned. As a result, at least one status can be used166, for example, to arrange information provided by the social networking system in accordance with the user status assigned to one or more users. Themethod150 can end following the use of the at least one assigned status or following thedetermination164 not to use at least one assigned status.
FIG. 7 is an illustrative diagram of auser page200 according to one embodiment. Theuser page200 can, for example, represent one implementation of theuser page200 illustrated inFIG. 7. Referring toFIG. 7, one or more user statuses207 can be displayed in theuser page200. A user status can be displayed inside or outside various regions of theuser page200, including apublic information region202, auser activity region206, and a media interestsregion208 depicted inFIG. 7
Thepublic information region202 can include information descriptive of the user. Thepublic information region202 can be publicly accessible by any user. Theuser page200 can also include auser control204 to request to follow the user associated with theuser page200. As such, one ormore user statuses207A assigned to the user associated with theuser page200 can be displayed inpublic information region202 and made publicly accessible by any user.
Additionally, theuser page200 can include auser activity region206. Theuser activity region206 can be controlled such that it is visible to only authorized users. For example, theuser activity region206 would be visible to (i) the user associated with theuser page200, and (ii) followers of the user (which have implicitly or explicitly been authorized to view the user activity region206). As such, one ormore user statuses207B assigned to the user associated with theuser page200 can be displayed in theuser activity region206 and made accessible only to authorized users.
Still further, theuser page200 and can include amedia interest region208. Themedia interest region208 can identify one or more media assets or characterize media interests to thereby provide information to other users regarding the media interests of the user corresponding to theuser page200. The media interests can pertain to one or more different types of media assets, including songs, collection of songs (e.g., albums), movies, images, podcasts, electronic books, games or applications. More generally, media assets can be denoted as digital assets, though since most digital assets which have a media aspect, the digital assets are also typically media assets. One or more user statuses can be displayed inmedia interest region208 to, for example, provide more information about the users media interests, knowledge and/or level involvement.
FIG. 8A is auser page300 according to one embodiment. Theuser page300 pertains to a particular user of the users of a social network system, such as thesocial activity system100. Theuser page300 can represent a user page for a user when being viewed by that user. Theuser page300 can represent a user page of thesocial activity system100 illustrated inFIG. 5. For example, in one implementation, theuser page300 can be an electronic page that is provided by thecentral server102 to theuser computer104 for display.
Theuser page300 can be presented to the particular user. In this embodiment, theuser page300 is the user page for the particular user. One or more user statuses303 can be displayed in theuser page300, for example, in various sections depicted inFIG. 5. For example, theuser page300 includes auser section302 that provides basic description (i.e., profile) for the user. One ormore user statuses303A can be displayed in or in proximity of theuser section302. As illustrated inFIG. 8A, theuser section302 can include aname304, music genres ofinterest306, where the user lives308, number offollowers310, and an associated image312. In addition, theuser section302 can include auser control314 that allows the user to edit the user's profile.
Theuser page300 can also include an “I like”section316. Here, the user can depict digital assets, namely, digital media assets, that they like. For example, as illustrated inFIG. 8A, the digital media assets can pertain to music and representations of selected albums can be represented. In addition to the digital assets, one or more user statues associated with them can be displayed in the “I like”section316. In the specific example illustrated inFIG. 8A, the “I like”section316, there is a grid-like presentation of eight albums that represents the musical tastes (i.e., likes) of the user. The selection of the albums or user statuses to be represented can be manually performed by the user or automatically performed by the system.
Theuser page300 can also include an aboutsection318. In this example, the aboutsection318 is denoted “About John” since the particular user is named John. The aboutsection318 can include a description of the particular user. If an extensive description is provided, an initial portion of the description can be displayed with any remaining portion being accessible via “more” user control provided in or adjacent to the aboutsection318. One ormore user statuses303B can also be displayed in thesection318, perhaps in a shorthand form, as an indication of the number of user statuses (e.g., eight (8) statuses) being accessible via “more” user control.
Theuser page300 can also include a “recent activity”section320. Therecent activity section320 can include recent activity associated with, in this case, the particular user. In theuser page300 shown inFIG. 3A, therecent activity section320 includes three (3) distinct recent activities of the particular user. These distinct recent activities can be referred to as a firstrecent activity322, a secondrecent activity324, and a thirdrecent activity326. One or more user statuses associated with the recent activities can also be displayed.
The firstrecent activity322 has anactivity type description320 that indicates that the particular user, i.e., John, recently bought an album. Atiming indication330 indicates that the album was, in this example, purchased five (5) minutes ago. The firstrecent activity322 can also providedescriptive information332 for the album that has been purchased. In this example, thedescriptive information332 can include the title of the album, the name of the artist, and a representative image (such as album cover art). In addition, one or more user statuses pertaining to this album can be displayed to provide, for example, the level of interest or knowledge of the user with respect to this or similar albums.
Still further, the firstrecent activity332 can include auser control334 that facilitates purchase of the same album that was previously bought. A user status may assist other user in determining whether to purchase the album or not. The firstrecent activity322 can also display user controls336 that allow users to leave a comment, indicate that they like (or dislike) the purchase, or provide a review for the album.
The secondrecent activity324 has anactivity type description338 that indicates that the particular user, i.e., John, recently started to follow one or more other users (e.g., people or artists). Atiming indication340 indicates that, in this example, the particular user starting follow the one or more other users twenty-five (25) minutes ago. User statues for these other users can also be displayed thereby assisting others in deciding whether or not they would like to follow the one or more users that John has recently started to follow.
The secondrecent activity324 can also provide followeduser information342 to identify the one or more other users being now followed by the particular user. For example, the followeduser information342 can provide a name and an associated image for each of the newly followed users. Similarly, statuses for the newly followed users can be displayed. Thesecond user activity324 can also display user controls344 that allow users to leave a comment or indicate that they like (or dislike) the following of the newly followed users.
The thirdrecent activity326 has anactivity type description346 that indicates that the particular user, i.e., John, is going to see an event. In this example, the event is a concert but in general that event can be any event (though preferably a ticketed event). Atiming indication348 indicates that the particular user decided to go (or confirm he was going) to the event one (1) day ago. The thirdrecent activity326 can also providedescriptive information350 for the concert. In this example, thedescriptive information350 can include the name of the artist, date and location for the concert and can also include a representative image (such as concert poster). One or more user statuses pertaining to the event can also be displayed to, for example, indicate the level of interest or knowledge of the user regarding this particular concerts, local concerts, or generally in concerts. Still further, the thirdrecent activity326 can include a user control352 that facilitates purchase of tickets to the concert, and/or auser control354 that enables a user to designate that they are going to the concert. Again, a status displayed can assist other users in deciding to purchase a ticket to the concert. Thethird user activity326 can also display user controls356 that allow users to leave a comment or indicate that they like (or dislike) the concert.
Theuser page300 can also include alinks section358. In thelinks section358 information concerning links or connections for the particular user of theuser page300 can be provided. As illustrated inFIG. 8A, thelinks section358 can indicate to the particular user the number ofoutstanding follow requests360 that have been received. In this example, thelinks section358 indicates that the particular user has three (3) pending follow requests. User status for the follow request can be displayed and assist John in deciding to grant or deny the requests to follow him.
Theuser page300 can also include aconcert section362. In theconcert section362, information concerning one or more concerts can be provided. The concerts are, however, concerts that the particular user has previously indicated that they are going. As illustrated inFIG. 8A, theconcert section362 indicates that the particular user is going to a particular concert.Concert information364 can be provided in theconcert section362 to describe the particular concert. For example, theconcert information364 can include name of the artist, the date of the concert, the location of the concert, and perhaps a graphic associated with the artist or concert. In addition, theconcert section362 can provide afriends indication366 that identifies those friends of the particular user that the system knows that are going to the same concert and statuses for the friends can be displayed. In this example, thefriend indication366 denotes that “2 friends going” and their user statuses can be displayed. Still further, theconcert section362 can provide auser control368 that facilitates purchase of tickets to the particular concert.
Theuser page300 can also include apeople section370. Thepeople section370 can provide abbreviated listings for people of the user follows or is followed by. The statuses of the people can also be made accessible or displayed. Thepeople section370 can include a “who I follow”section372 that can depict information, including one or more user statuses, on a subset of the other users that the particular user of theuser page300 follows. Thepeople section370 can also include a “who follows me”section374 that can depict information on a subset of those other users that are currently following the particular user of theuser page300. Thepeople section370 can also include user controls (e.g., “See All”) that allow the user to see all of the people that the user follows or that follow the user.
FIG. 8B is auser page380 according to another embodiment. Theuser page380 pertains to a particular user of the users of a social network system, such as the socialactivity following system100. Theuser page380 can represent a connection page of the socialactivity following system100 illustrated inFIG. 5. Theuser page380 can represent a user page for a particular user when being viewed by another user that is not presently following the particular user.
Theuser page380 can be presented to the another user. In this embodiment, theuser page380 is the user page for a particular user that the another user is interested in viewing (and possibly following). Theuser page380 is generally similar to theuser page300 illustrated inFIG. 8A. There are, however, some differences. Theuser section302 is generally the same; however, theuser control314 can be replaced with a user control382 (e.g., “Follow” button). Theuser control382 facilitates the another user in requesting to follow the particular user. The “I like”section316, the aboutsection318, the “recent activity”section320, and theconcerts section362 can all be same or similar to that described with reference toFIG. 8A. Thelinks section358 is removed from theuser page380 since such is inappropriate for the another user. Thepeople section370 is generally similar to that described with reference toFIG. 8A. However, one sub-sections in thepeople section370 can be recast as “John follows” and can depict information on a subset of the other users that the particular user (i.e., John) of theuser page300 follows. The other sub-section in thepeople section370 can be recast as “Who follows me” and can depict information on a subset of those other users that are currently following the particular user of theuser page300. User status assigned to the particular user (i.e., John) as well as other users in theuser page300 can be very helpful to the another user to, among other things, decide who to follow and make more informed decisions with respect to pursuit of social activity, as well as attending events, media purchase, and so on.
FIG. 9 is aconnection page400 according to one embodiment. Theconnection page400 pertains to a particular user of the users of a social network system, such as thesocial activity system100. Theconnection page400 can represent a page providing activity information concerning various other users that the particular user follows. Theconnection page400 can represent a page provided by thesocial activity system100 illustrated inFIG. 5. For example, in one implementation, theconnection page300 can be an electronic page that is provided by thecentral server102 to theuser computer104 for display. Also, since theconnection page400 is affiliated with a user, theconnection page400 can also be referred to as a user page.
Theconnection page400 can be presented to the particular user. In this embodiment, theconnection page400 is a connection for the particular user. Theconnection page400 provides information, such as activity information, concerning connections (e.g., other users that are followed) to the particular user. Generally, user classifications or statuses can be used to filter the information provided in theconnection page400. By way of example, recent activities (e.g., reviews posted, media purchases) or users that are not of a desired status (e.g., music fans) can be filtered for the particular user.
Referring toFIG. 9, theconnection page400 can include a “recent activity”section401. Therecent activity section401 can pertain to an activity feed being presented by theconnection page400. Therecent activity section401 can include recent activity associated with those other users being followed by the particular user. In theconnection page400 shown inFIG. 9, therecent activity section401 includes a plurality of distinct recent activities of various other users. These distinct recent activities can be presented in a list format with most recent activities at the top of the list. In one embodiment, more recent activities (e.g., activity events) of those users being followed can be noted towards the top portion of therecent activity section401. The information in therecent activity section401 can be filtered based on user statuses assigned to the users. User statuses may also be made available or displayed to the firstrecent activity section401.
A firstrecent activity402 has anactivity type description403 that indicates that a user, i.e., Jane, recently bought an album. Atiming indication404 indicates that the album was, in this example, was purchased fifteen (15) minutes ago. The firstrecent activity402 can also providedescriptive information405 for at the album that has been purchased. In this example, thedescriptive information405 can include the title of the album, the name of the artist, and a representative image (such as album cover art). Still further, the firstrecent activity402 can include a user control406 (e.g., “Buy” button) that facilitates purchase of the same album that was previously bought. The firstrecent activity402 can also display user controls407 that allow users to leave a comment, indicate that they like (or dislike) the purchase, or provide a review for the album. Such comments may be used to determine a user status in order to assign, reassign, or update a user status.
A secondrecent activity408 has anactivity type description409 that indicates that a user, i.e., Ed, recently started to follow one or more other users (i.e., KC and Peter T.). Atiming indication410 indicates that, in this example, the user starting follow these one or more other users thirty-one (31) minutes ago. The secondrecent activity408 can also provide followeduser information411 to identify the one or more other users being now followed by the user (i.e., Ed). For example, the followeduser information411 can provide a name, an associated image, and a status for each of the newly followed users. Thesecond user activity408 can also display user controls412 that allow users to leave a comment or indicate that they like (or dislike) the following.
A thirdrecent activity413 has anactivity type description414 that indicates that a user, i.e., Betty, is going to see an event. In this example, the event is a concert but in general that event can be any event (though preferably a ticketed event). Atiming indication415 indicates that the particular user decided to go (or confirm she was going) to the event one (1) day ago. A user status can be displayed for this particular user to indicate whether or not she is likely to be a good lead regarding concert events. The thirdrecent activity413 can also providedescriptive information416 for the concert. In this example, thedescriptive information416 can include the name of the artist, date and location for the concert and can also include a representative image (such as concert poster). Still further, the thirdrecent activity413 can include a user control417 (e.g., “Tickets” button) that facilitates purchase of tickets to the concert, and/or a user control418 (e.g., “I′m Going” button) that enables a user to designate that they are going to the concert. Thethird user activity413 can also display user controls419 that allow users to leave a comment or indicate that they like (or dislike) the concert.
A fourthrecent activity420 has anactivity type description421 that indicates that users, i.e., Jimmy, Ray and Agnes, have recently commented on a posted purchase by another user (i.e., Fred). A “See details” user control422 (e.g., link) allows access to the specific comments by Jimmy, Ray and Agnes. Atiming indication423 indicates that, in this example, the users commented two (2) days ago. The comments of other users may have been filtered based on their statuses. Further, statuses of the users who have posted comments can be made accessible to further assist in evaluating their comments regarding the purchase.
A fifthrecent activity424 has anactivity type description425 that indicates that a user, i.e., Kim, “liked” the purchase made by another user (i.e., Fred). A “Details” user control426 (e.g., link) allows access to details of the post by Kim, if any. Atiming indication427 indicates that, in this example, the user commented two (2) days ago.
A sixthrecent activity428 has anactivity type description429 that indicates that a user, i.e., Fred, recently bought a product. In this example, the product is a MacBook Pro™, which is a laptop computer from Apple Inc. Atiming indication430 indicates that the product was, in this example, purchased two (2) days ago. Although not shown inFIG. 9, the sixthrecent activity428 could also provide descriptive information (e.g., text and/or image) for at the product that has been purchased. The sixthrecent activity428 can include auser control431a(e.g., “See” button) that facilitates seeing the product that was previously bought (e.g., by accessing an image, slideshow or movie), and/or auser control431b(e.g., “Buy” button) that facilitates purchase of the same product that was previously bought. The sixthrecent activity428 can also display user controls432 that allow users to leave a comment, indicate that they like (or dislike) the purchase, or provide a review for the product.
A seventhrecent activity433 has anactivity type description434 that indicates that a user, i.e., Spence, posted a review on a product or event. In this example, the review pertains to an album. Atiming indication435 indicates that the review was posted two (2) days ago. The seventhrecent activity433 can include review content436 that contains at least a portion of the review. If more review content is available beyond that displayed a “More” link (not shown) can be provided to access the additional review content. The seventhrecent activity433 can also includedescriptive information437 for the product or event. In this example, thedescriptive information437 can include the name of the album, the artist, and can also include a representative image (such as album cover art). Still further, the seventhrecent activity433 can include a user control438 (e.g., “Buy” button) that facilitates purchase of the product, e.g., album, that has been reviewed. The seventhrecent activity433 can also include a user control439 (e.g., “Show album” link) that enable the user to view additional information concerning the album (e.g., track list, etc.). The seventhrecent activity433 can also display user controls440 that allow users to post the review, indicate that they like (or dislike) the review, or flag the review for editorial review.
A eighthrecent activity441 has anactivity type description442 that indicates that a user, i.e., Kim, has indicated her mood as “relaxed”. A “More” user control (e.g., link) allows access to access additional details of the mood of Kim, if any. Atiming indication443 indicates that, in this example, the user posted her mood two (2) days ago.
A ninthrecent activity444 has anactivity type description445 that indicates that a user, i.e., Jane, recently bought a song. Atiming indication446 indicates that the album was, in this example, was purchased two (2) days ago. The ninthrecent activity444 can also providedescriptive information447 for at the song that has been purchased. In this example, thedescriptive information405 can include the name of the song, the name of the artist, and a representative image (such as album cover art). Still further, the ninthrecent activity444 can include a user control448 (e.g., “Buy” button) that facilitates purchase of the same song that was previously bought. A further user control can also be provided to allow a user to initiate preview of the song. The ninthrecent activity444 can also display user controls449athat allow users to leave a comment, or indicate that they like (or dislike) the purchase. In this example, adjacent the user controls449ais anindication449bthat five (5) others have already indicated that they like the purchase.
Theconnection page400 can also include agreeting450 for the user, which in this example is “John”. Theconnection page400 can also include a connection navigation section451. In the connection navigation section451, the user can navigate to other pages, such as via a Follow Requestspage indicator452, a MyProfile page indicator453, aPeople page indicator454, a FeaturedArtists page indicator455, and a FeaturedPeople page indicator456. These indicators can, for example, be links. As illustrated inFIG. 9, adjacent the Follow Requests page indicator, the connections navigation section451 can indicate to the user the number of outstanding follow requests that have been received. In this example, the connection navigation section451 indicates that the particular user has three (3) follow requests.
Theconnection page400 can also include aconnection charts section457. Theconnection charts section457 can include at least one chart of songs. For example, the chart can be a list of songs that are most popular, most frequently played, or most common amongst one's social network, etc. Theconnection charts section457 shows a chart including five (5) songs.
Theconnection page400 can also include aconcert section458. In theconcert section458, information concerning one or more concerts can be provided. The concerts are those that may be of interest to the user. Theconcerts section458 includes a “Near You”section459 where concerts near the user can be identified. As illustrated inFIG. 9, theNear You section459 indicates that there is an upcoming concert in the geographic area of the user.Concert information460 can be provided in theNear You section459 to describe the particular concert. For example, theconcert information460 can include name of the artist, the date of the concert, the location of the concert, and perhaps a graphic associated with the artist or concert. In addition, theNear You section459 can provide a friends indication461 that identifies those friends of the particular user that the system knows are going to the same concert. In this example, the friends indication461 denotes that “2 friends going”. Still further, theNear You section459 can provide a user control462 (e.g., “Tickets” button) that facilitates purchase of tickets to the particular concert.
Theconcerts section458 can also include an “On Tour” section463 where concerts our tour that may be of interest to the particular user. The one or more concerts identified in the On Tour section463 can be determines by a server, such as thecentral server102 illustrated inFIG. 5. The one or more concerts identified can be selected based on user interest (media profile, collection or usage), friends/followed users attending or liking, geographical, etc. As illustrated inFIG. 9, the On Tour section463 indicates that there is an upcoming concert of likely interest to the user. Concert information464 can be provided in the On Tour section463 to describe the particular concert. For example, the concert information464 can include name of the artist, the date of the concert, the location of the concert, and perhaps a graphic associated with the artist or concert. In addition, the On Tour section463 can provide a friends indication465 that identifies those friends of the particular user that the system knows are going to the same concert. In this example, the friends indication465 denotes that “2 friends going”. Still further, the On Tour section463 can provide a user control466 (e.g., “Tickets” button) that facilitates purchase of tickets to the particular concert.
Theconnection page400 can also include a “Recommend You Follow”section467. The RecommendYou Follow section467 can identify those one or more other users that the system recommends the user, i.e., John, might want to follow. Specifically, the system recognizes categories of users, including artists and people. The RecommendYou Follow section467 can include anartist subsection468 where one or more artists that are recommended can be identified. For a given artist being recommended, theartist subsection468 can providedescriptive information469 for the recommended artist. In this example, thedescriptive information469 can include the name of the artist and a representative image for the artist. The system can enable an artist to have a user page, or profile that specifies the name and representative image for the artist. Theartist subsection468 can also provide afollowers indication470 that indicates a number of user presently following the recommended artist.
The RecommendYou Follow section467 can also include a people subsection471 where one or more people that are recommended can be identified. For a first given person being recommended, the people subsection471 can providedescriptive information472 for the recommended person. In this example, thedescriptive information472 can include the name of the person and a representative image for the person. The system can enable a person to have a user page, or profile that specifies the name, media likes, “about” information, and/or representative image for the person. The people subsection471 can also provide a “friends in common”indication473 that indicates a number of friends that the user, i.e., John, has in common with the recommended person. Similarly, for a second given person being recommended, the people subsection471 can providedescriptive information474 for the recommended person. In this example, thedescriptive information474 can include the name of the person and a representative image for the person. The people subsection471 can also provide a “friends in common”indication475 that indicates a number of friends that the user, i.e., John, has in common with the recommended person.
FIG. 10A is a block diagram of anevent processing system500 according to one embodiment. Theevent processing system500 can include anevent manager502. Theevent manager502 receives incoming events associated with a particular user. Theevent manager502 can produce a followed post that can be supplied to one or more data followers. The one more data followers are users of the system that have elected to follow the particular user. The incoming events being received at theevent manager502 can include user initiated events and/or system initiated events. For example, a user initiated and is an event that is initiated by the user, such as when a user posts their status in their activity fee. As an example, a system initiated the event is an event that is initiated by the system. One example of an event initiated by the system is referred to as a commerce event, such as when the particular user purchases of products, typically via the system. Accordingly, theevent manager502 produces one or more followed post that are supplied to one or more data followers. Theevent manager502 can receive followers data that identifies the one or more data followers for the events associated with the particular user.
Theevent processing system500 can also include afeed manager504 that is associated with a representative follower. In other words, in one environment, each follower of the particular user will have an associatedfeed manager504. Thefeed manager504 receives the followed post from theevent manager504. However, thefeed manager504 can serve to restrict the quantity of incoming posts that are presented to the representative follower. In particular, thefeed manager504 can receive follower criteria including one or more restrictions based of the user including at least one user status assigned by the system. The follower criteria is a criteria that can be used by thefeed manager504 to restrict, limit or filter the incoming followed post at least partly based on user status or classification. The follower criteria can be automatically determined by the system, set by user selections or preferences, or some combination thereof. Those of the followed post that thefeed manager504 permits to be delivered to the representative follower can be supplied by thefeed manager504 to a follower's user page where the followed post can be presented. For example, followed post can be presented in the follower's user page in an activity feed.
FIG. 10B is a block diagram of anevent processing system550 according to another embodiment. Theevent processing system550 includes anactivity event manager552 that receives user status events from a particular user. Theevent processing system550 also includes acommerce event manager554 that receives commerce events from the particular user. Theactivity event manager552 determines one or more followers that are to receive a followed status post concerning the particular user. Theactivity event manager552 can receive follower's data that identifies one or more users that are following the particular user. The followed status post from theactivity event manager552 is directed to one ormore feed managers556. In this environment, each of the different users can utilize a different one on thefeed managers556. Hence, the followed status post from theactivity event manager552 can be delivered to the appropriate one or more of thefeed managers556 corresponding to those of the followers of the particular user.
The one ormore feed managers556 can process the incoming posts that it receives. For example, thefeed manager556 can receive a followed status post from theactivity event manager552 and can receive followed commerce post from thecommerce event manager554. Each of thefeed managers556 can separately evaluate whether to present a post on the corresponding follower's user page at least partly based on one or more user statuses assigned by the system. That is, for a given incoming posts, thefeed manager556 can evaluate whether the post should be presented on the follower's user page by evaluating one or more user statuses assigned by the system. The follower criteria for the corresponding user, including one or more user status criteria for the corresponding user can be utilized by thefeed manager556 make a intelligent decision on whether or not to present an incoming post on the follower's user page at least partly based on the user status criteria. The post, if presented on the follower's user page, can for example be presented as indicated in theactivity region401, such asrecent activity402,413,428 or444, such as illustrated inFIG. 8.
FIGS. 11A and 11B are flow diagrams of acommerce posting process600 according to one embodiment. Thecommerce posting process600 can, for example, be performed by a server, such as thecentral server102 illustrated inFIG. 5.
Thecommerce posting process600 can begin with adecision602 that determines whether a commerce event has been received. The commerce event is associated with a user. Typically, the commerce event results from a purchase, namely, an online purchase, of a product by the user. The product can be a digital product, such as a digital media asset or digital program, that can be delivered electronically (e.g., downloaded) or a physical product that can be delivered by courier (e.g., Federal Express, Universal Parcel Service, etc.). When thedecision602 determines that a commerce event has not been received, thecommerce posting process600 can await such an event. Once thedecision602 determines that a commerce event for the user has been received, an activity post for the commerce event can be created604. The activity post can include at least a textual message explaining the purchase by the user. In one implementation, the activity post is computer generated (e.g., by the server) without assistance from the user (i.e., system generated). In another implementation, the activity post is partially computer generated and the user contributes to the activity post. Besides a textual message, the activity post can also include a graphical component, such as an image of the product that has been purchased. After the activity post has been created604, the activity post can be posted606 to a user page of the user.
Following posting606 of the activity post, adecision608 can determine whether there are any followers of the user. Typically, a follower of the user decides to follow the user to receive activity posts associated with the user. Often, the user will have a user page and any followers will also have a user page. If thedecision608 determines that there are no followers of the user, thecommerce posting process600 can end. However, on the other hand, if thedecision608 determines that there are followers of the user, one or more followers of the user that are to receive information concerning the commerce event can be determined610. Here, in this embodiment, the information concerning the commerce event is provides as a post in an activity feed of the one or more followers. More specifically, it can be determined612 whether to filter the information concerning the commerce event based on user status criteria. Accordingly, the information concerning the commerce event can be effectively filtered. As a result, the information concerning the commerce event is not posted and thecommerce posting process600 can end if it is determined to filter the information concerning the commerce event. However, if it is determined612 not to filter the commerce event, a followed commerce post can be created614 for the commerce event of the user. In one embodiment,creation614 of the commerce post can be by the server (e.g., computer generated).
The followed commerce post can then be posted616 to the follower page for the determined one or more followers. It should be noted that the determination of whether to filter the information concerning the commerce event can have different results for different followers depending on their user status filtering criteria. As such, the followed commerce post may be be posted614 to all, some or none of the one more followers for the user. After the followed commerce post has been posted614, thecommerce posting process600 can end.
FIG. 12 is a flow diagram of a followedactivity posting process700 according to one embodiment. The followedactivity posting process700 can begin with adecision702 that determines whether a followed activity post has been received. When thedecision702 determines that a followed activity post has not been received, the followedactivity posting process700 can await receipt of a followed activity post. Alternatively, when thedecision702 determines that a followed activity post has been received, the followedactivity posting process700 can determine704 whether to post the followed activity post to an activity feed of one or more of the followers based on one or more criteria. Adecision706 can then determine based on one or more user status criteria whether the followed activity post is to be posted to one or more of the followers. When thedecision706 determines that the followed activity post is to be posted, then the followed activity post can be posted708 to the activity feed of each of the one or more followers that has been determined704 to receive the feed. Followingblock708, as well as following thedecision706 when the followed activity post is not to be posted, the followedactivity posting process700 can end.
FIG. 13 illustrates a block diagram of acomputing device800 according to one embodiment. Thecomputing device800 can represent circuitry of a representative computing device (e.g., user or follower computer device), central server, or online store (e.g., online media server) described and illustrated inFIG. 5. The computing device can be designed to primarily stationary or can be portable.
Thecomputing device800 includes aprocessor802 that pertains to a microprocessor or controller for controlling the overall operation of thecomputing device800. Thecomputing device800 stores media data pertaining to media items in afile system804 and acache806. Thefile system804 is, typically, semiconductor memory (e.g., Flash memory) and/or one or more storage disks. Thefile system804 typically provides high capacity storage capability for thecomputing device800. However, since the access time to thefile system804 can be relatively slow, thecomputing device800 can also include thecache806. Thecache806 is, for example, Random-Access Memory (RAM). The relative access time to thecache806 is typically shorter than for thefile system804. However, thecache806 does not have the large storage capacity of thefile system804. Thecomputing device800 also includes aRAM820 and a Read-Only Memory (ROM)822. TheROM822 can store programs, utilities or processes to be executed in a non-volatile manner. TheRAM820 provides volatile data storage, such as for thecache806.
Thecomputing device800 may also include auser input device808 that allows a user of thecomputing device800 to interact with thecomputing device800. For example, theuser input device808 can take a variety of forms, such as a button, keypad, dial, touch-sensitive surface, etc. Still further, thecomputing device800 includes a display810 (screen display) that can be controlled by theprocessor802 to display information to the user. Adata bus811 can facilitate data transfer between at least thefile system804, thecache806, theprocessor802, an audio coder/decoder (CODEC)812 and/or avideo CODEC815.
In one embodiment, for example, if thecomputing device800 is a media player, thecomputing device800 may store a plurality of media items (e.g., songs, videos, podcasts, etc.) in thefile system804. When a user desires to have the computing device play a particular media item, a list of available media items is displayed on thedisplay810. Then, using theuser input device808, a user can select one of the available media items. Theprocessor802, upon receiving a selection of a particular media item, supplies the media data to one or more appropriate output devices. If the particular media item is encrypted, the particular media item is first decrypted as noted above, which could involve one or more layers of encryption. As an example, for audio output, theprocessor802 can supply the media data (e.g., audio file) for the particular media item to theaudio CODEC812. Theaudio CODEC812 can then produce analog output signals for aspeaker814. Thespeaker814 can be a speaker internal to thecomputing device800 or external to thecomputing device800. For example, headphones or earphones that connect to thecomputing device800 would be considered an external speaker. As another example, for video output, theprocessor802 can supply the media data (e.g., video file) for the particular media item to thevideo CODEC815. Thevideo CODEC815 can then produce output signals for thedisplay810 and/or thespeaker814.
Thecomputing device800 also includes a network/bus interface816 that couples to adata link818. The data link818 allows thecomputing device800 to couple to another device (e.g., a host computer, a power source, or an accessory device). The data link818 can be provided over a wired connection or a wireless connection. In the case of a wireless connection, the network/bus interface816 can include a wireless transceiver.
The various aspects, features, embodiments or implementations of the invention described above can be used alone or in various combinations.
Embodiments of the invention can, for example, be implemented by software, hardware, or a combination of hardware and software. Embodiments of the invention can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of the computer readable medium generally include read-only memory and random-access memory. More specific examples of computer readable medium are tangible and include Flash memory, EEPROM memory, memory card, CD-ROM, DVD, hard drive, magnetic tape, and optical data storage device. The computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
Numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will become obvious to those skilled in the art that the invention may be practiced without these specific details. The description and representation herein are the common meanings used by those experienced or skilled in the art to most effectively convey the substance of their work to others skilled in the art. In other instances, well-known methods, procedures, components, and circuitry have not been described in detail to avoid unnecessarily obscuring aspects of the present invention.
In the foregoing description, reference to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Further, the order of blocks in process flowcharts or diagrams representing one or more embodiments of the invention do not inherently indicate any particular order nor imply any limitations in the invention.
The many features and advantages of the present invention are apparent from the written description. Further, since numerous modifications and changes will readily occur to those skilled in the art, the invention should not be limited to the exact construction and operation as illustrated and described. Hence, all suitable modifications and equivalents may be resorted to as falling within the scope of the invention.