Social network services continue to increase in popularity. For example, users may leverage a social network service to find and interact with other users, such as friends, business contacts, and so on. This interaction may be performed in a variety of ways, such as through messaging, photo sharing, posting videos, and so on.
However, traditional techniques that were developed to notify users of interaction were sparse and difficult to decipher. For example, a user may receive a notification that interaction has occurred via the social network service, but was traditionally forced to initiate another application to determine what interaction has occurred. Therefore, the user is forced to engage in a time consuming process of launching applications and navigating to the social network service for the user to determine whether the interaction is relevant. The frustration caused by these traditional techniques may cause the user to forgo interaction with the social network service altogether.
Social network notifications are described. In implementations, a notification is received at a client device from a social network service that includes content that is posted for access via the social network service and includes an identifier of an originator of the posting. The notification is output by the client device to include the content from the posting and the identifier of the originator of the posting.
In implementations, a communication is received at a social network service that includes content that is to be posted for access via the social network service. A notification is configured to include the content from the communication and an identifier of an originator of the communication. The notification having the content and the identifier is transmitted for receipt by one or more users of the social network service.
In implementations, a client device includes one or more modules that are configured to perform operations comprising displaying one or more notifications received from a social network service in a user interface, the notifications sent to the client device due to an indication that a user of the client device is a friend of an originator of a communication that initiated the notification, the one or more notifications that are displayed are filtered for display based on a likely relevancy of the notification to the user.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different instances in the description and the figures may indicate similar or identical items.
Overview
Users of a social network service may share a variety of different content to interact in a variety of different ways. However, traditional techniques that were employed to notify users of this interaction were limited and therefore forced the user to navigate to the social network service to determine what interaction had occurred. This often led to user frustration as the user could not determine the relevancy of the interaction without performing this navigation.
Social network notification techniques are described. In an implementation, notifications provided by a social network service are configured to describe an action that caused generation of the notification, such as interaction with the social network service. In this way, a user may readily determine a cause of the notification and therefore determine whether further interaction with the social network service is desired without actually navigating to the social network service. Further discussion of the notification techniques may be found in relation to the following sections.
In the following discussion, an example environment is first described that is operable to perform social network notification techniques. Example procedures are then described which may be employed by the example environment. However, it should be readily apparent that the example environment is not limited to performing the example techniques and the example techniques are not limited to performance in the example environment.
Example Environment
The client device 104 may be configured in a variety of ways. For example, the client device 104 may be configured as a computing device that is capable of communicating over the network 106, such as a desktop computer, a mobile station, an entertainment appliance, a set-top box communicatively coupled to a display device, a wireless phone, a game console, and so forth. Thus, the client device 104 may range from a full resource device with substantial memory and processor resources (e.g., personal computers, game consoles) to a low-resource device with limited memory and/or processing resources (e.g., traditional set-top boxes, hand-held game consoles). The client device 104 may also relate to an entity that operates the client device 104, e.g., software.
Although the network 106 is illustrated as the Internet, the network may assume a wide variety of configurations. For example, the network 106 may include a wide area network (WAN), a local area network (LAN), a wireless network, a public telephone network, an intranet, and so on. Further, although a single network 106 is shown, the network 106 may be configured to include multiple networks.
The client device 104 is illustrated as including a communication module 108. The communication module 108 is representative of functionality of the client device 104 to communicate via the network 106. For example, the communication module 108 may include browser functionality to interact with the social network service 102 via the network 106.
The social network service 102 may support a variety of different functionality which is represented by the social network manager module 110. Through the social network manager module 110, for instance, the social network service 102 may support communication of status updates between the client device 104 and another client device that have been specified as friends of each other. Additionally, the specified “friendship” of the social network service 102 may be used as a basis to permit sharing of photos, video, blogs, and so on. Thus, the social network service 102 may use the friend relationship as a technique to permit or restrict access to content associated with a user's account of the social network service 102.
For instance, the client device 102 may be associated with a user's account of the social network service 102. Through this user account, the client device 104 may be used to specify a friend, such as a user account of the social network service 102 that is accessible via another client device. By doing this, the other client device is permitted to access content associated with the client device 104, such as content associated with an account of the social network service 102 of a user of the client device 104 that provided credentials to access the user account. Although a permission system involving friends has been described, it should be readily apparent that the social network service 102 may be configured in a variety of ways to support communication between users. For example, the social network manager module 110 may support blogging and micro-blogging (e.g., having a limited number of characters such as 140) to communicate status updates to subscribers of a particular user, e.g., via the social network service 102 (e.g., an email), via a SMS, and so on.
The social network service 102, and more particularly the social network manager module 110, is also illustrated as including a notification module 112 that is representative of functionality regarding notifications. For instance, the notification module 112 may be representative of functionality regarding notification of interactions performed via the social network service 102. Although the notification module 112 is illustrated as a part of the social network service 102, the notification module 112 may be implemented in a variety of ways, such as part of a third-party service “in the cloud,” as part of the client device 104, and so on.
For example, user-generated content may be originated by another client device and uploaded to the social network service 102 for dissemination. The user-generated content 122 may take a variety of forms, such as a message (e.g., email), posting, status update, and so on. Responsive to this communication (or attempt to do so) of the user-generated content, the notification module 112 may form a notification 114 to be communicated to and displayed by the client device 104. This notification 114 may be configured in a variety of ways.
In the illustrated example, the notification 114 involves an original status message and a follow up comment. Accordingly, in this example the notification 114 identifies a sender 116 of the original status message (e.g., “Ellie B.”) and the content 118 of the status message (e.g., “is getting ready for lunch”). Thus, the originating content is identified in the notification 114.
The notification 114 also includes a follow-up comment to the status message, which also identifies a user 120 who provided the comment (e.g., “Sara”) and the content 122 of the comment (e.g., “See you soon!”). Thus, the notification 114 may readily inform a user of the client device 104 regarding an action taken with respect to the social network service 102 without requiring the user to navigate to the social network service 102.
The notification 114 may also be configured to facilitate navigation to the social network service 102 should the user decide that the notification 114 is relevant, such as by selecting the notification to view additional comments and “likes” that pertain to the subject matter of the notification, i.e., the status message in this example. As illustrated, the notification 114 may indicate a number of other comments, likes, and so on that are not represented in the notification 114 and thus may inform a user that navigation may be performed to view this information if desired.
In another example, the notification may support the ability to respond to the action that generated the notification without having to navigate to the social network 102, therefore allowing the user to stay in-context to their previous task. The notification may take a variety of different forms, examples of which are described in relation to the following figures.
In the notification 200 of
The social network service 102 may then receive a comment regarding the photo 402 and therefore cause the notification 400 to be sent to the user that posted the photo 402. The notification 400 in this instance includes the posted content (e.g., the photo 402) as well as the comment 404, which includes an identification of the originator of the comment (e.g., “Sara”) as well as content of the comment 404 (e.g., “When did you get that?”). In this way, a user is given both the comment and a context for the comment.
Similar notification techniques may be employed to a variety of actions that may be undertaken in conjunction with the social network service 102. For example, notifications may be configured to include an indication that a particular user has “posted something to your wall” or even “commented on a post to another person's wall.” Likewise, notifications may be configured to indicate “likes” as previously described, “@” replies in micro-blogs, photos in which a user has been tagged, and so on. Thus, in these examples the notifications have been configured to include additional information to inform a user as to relevancy of an action that prompted the notification. This additional information may also be leveraged for other purposes, such as to filter notifications as further described in relation to the following figure.
The system 600 may also employ filter modules to filter notifications based on this additional content that is included in the notifications. Examples of this functionality are illustrated as being employed at the social network service 102 by filter module 602 as well as at the client device 104 as filter module 604. Thus, this functionality may be employed at the social network service 102 and/or the client device 104 to filter the notifications 114. In this way, the notifications 114 may be filtered by the social network service 102 before communication over the network 106. Also, this functionality may be employed at the client device 104, such that the functionality may be employed with legacy social network services 102 that do not employ the filtering techniques described herein. A variety of other examples are also contemplated without departing from the spirit and scope thereof, such as through use by a third-party service.
A variety of different filtering techniques may be employed by the filter modules 602, 604. For example, the filter modules 602, 604 may “filter out” notifications 114 that does not involve interaction on the part of a user of the client device 104. The filter modules 602, 604, for instance, may permit notifications that include the user's login name, real name, and so on. Notifications 114 may also be permitted to “pass through” that are part of conversations that have involved interaction on the part of the user, e.g., a comment, a “like,” a posting of content, an “@” replay in a micro-blog, and so on. Thus, the filter modules 602, 604 may help to present relevant notifications 114 to a user of the client device 104 and thus remove clutter that otherwise might hinder a user's interaction with the social network service 102.
The filter modules 602, 604 may also employ techniques to provide single representations of conversations in a user interface. For example, as notifications are received past notifications that involve a same conversation may be removed from the user interface, further discussion of which may be found in relation to the following figure.
For example, at the first stage 702 a notification 706 is output by the client device 104 that involves a comment made regarding a photo posted by a user of the client device 104. When another comment is received regarding that photo, the notification 706 is removed from the user interface and replaced by a notification 712 including the most recent comment as shown in the second stage 704.
Additionally, the notification 712 that is used to replace the previous notification 706 may include an indication that other comments are available as previously described, e.g., the “2 comments” text that is included with the notification 712 in the user interface. Thus, the user interface 104 may be uncluttered through use of a single notification to represent a plurality of notifications involved in a matching conversation, further discussion of which may be found in relation to the following procedures.
Generally, any of the functions described herein can be implemented using software, firmware, hardware (e.g., fixed logic circuitry), manual processing, or a combination of these implementations. The terms “module” and “functionality” as used herein generally represent software, firmware, hardware, or a combination thereof. In the case of a software implementation, the module or functionality represents program code that performs specified tasks when executed on a processor (e.g., CPU or CPUs). The program code can be stored in one or more computer readable memory devices, e.g., memory or other tangible media. The features of the notification techniques described below are platform-independent, meaning that the techniques may be implemented on a variety of commercial computing platforms having a variety of processors.
Example Procedures
The following discussion describes notification techniques that may be implemented utilizing the previously described systems and devices. Aspects of each of the procedures may be implemented in hardware, firmware, or software, or a combination thereof. The procedures are shown as a set of blocks that specify operations performed by one or more devices and are not necessarily limited to the orders shown for performing the operations by the respective blocks. In portions of the following discussion, reference will be made to the environment 100 of
81 A notification is configured to include the content from the communication and an identifier of an originator of the communication (block 804). The notification module 112, for instance, may include content of the communication as well as an identifier of an originator of the communication, such as a user name utilized by the social network service 102.
One or more filtering techniques are applied to the notification (block 806). For example, the social network service 102 may determine that the notifications 114 are to be sent to the client device 104 due to an indication that a user of the client device is a friend of an originator of a communication that initiated the notification. Further, the social network service 102 may employ filtering techniques such that the one or more notifications that are displayed are filtered for display based on a likely relevancy of the notification to the user. This relevancy may be determined in a variety of ways, such as by being part of a conversation with which the user has interacted, mention the user's name, and so on.
The notification having the content and the identifier is transmitted for receipt by one or more users of the social network service (block 808). A notification may then be received at a client device from the social network service that includes content that is posted for access via the social network service and includes an identifier of an originator of the posting (block 810). The notification may then be output by the client device to include the content form the posting and the identifier of the originator of the posting (block 812). Thus, a user of the client device 104 may be readily informed as to an action that initiated formation and transmittal of the notification without initiating another application to navigate to the social network service 102 via the network 106 to obtain this information.
Although the invention has been described in language specific to structural features and/or methodological acts, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claimed invention.