The popularity of social network services is ever increasing. 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, the ever increasing popularity of the social network services has also resulted in an ever increasing number and variety of social network services. Consequently, it has become more and more difficult for the users to locate and interact with each other across these different social network services, which may be frustrating to the users and foil the social interaction supported by the social network services.
Social network service synchronization techniques are described. In an implementation, a determination is made by a client that a browser has been used to navigate to a website. A prompt is displayed by the client, responsive to the determination, that is selectable to cause data that describes activities that are performable in conjunction with the website to be communicated to a social network service to be stored in conjunction with a user account of the user at the social network service.
In an implementation, one or more servers of a social network service receive an indication from a client to synchronize data that describes activities at a social network service with data that describes activities at another social network service. The indication is received in response to selection of a prompt output at the client and the prompt is output responsive to a display by the client of a particular webpage of the other social network service. The data is synchronized that describes the activities at the social network service with the data that describes the activities of the other social network service.
In an implementation, one or more computer-readable media comprise instructions that are executable by a client device to monitor navigation to a website that is performed using a browser. If the website is included in a list stored at the client device and the client device is logged into the website, a prompt is output that is selectable to cause data that describes activities performed in conjunction with the website to be imported into a social network service for inclusion in a social updates feed. If the prompt is selected, a communication is formed to be communicated to the social network service to cause the social network service to import the data.
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
With the boom of social network services, users may have multiple accounts in different social network services. Additionally, activities that are supported by the different social network services may vary. Consequently, it may become difficult for the user to maintain activities across the different services and to share these activities with other users. This may impact the amount of functionality that the user is willing to utilize as the user is confronted with the task of interacting with each of these services which may even cause the user to forgo use of the services out of frustration.
Social network service synchronization techniques are described. In an implementation, the techniques are usable to detect if a user is a part of a social network service and to inform the user if the activities of another service may be added to the social network service. For example, the user may login to a social network service to provide a status update. The user may then browse the Internet using a browser to navigate between one or more other websites.
If the user navigates to a website that supports synchronization with the social network service, a prompt may be output to offer the user an option to synchronize activities of the website with the social network service. In this way, the activities of the user that are performed in relation to a variety of different services may be synchronized across those services automatically and without further user intervention. A variety of other synchronization techniques are also contemplated, further discussion of which may be found in relation to the following sections.
In the following discussion, an example environment is first described that is operable to utilize social network service synchronization techniques. Example procedures are then described which may be employed in the example environment, as well as other environments. Therefore, the example environment is not limited to performing the example procedures and the example procedures are not limited to being performed in the example environment.
Example Environment
The client 104 may be configured in a variety of ways. For example, the client 104 may be configured as a computing device that is capable of communicating over the network 110, such as a desktop computer, a mobile station, a set-top box communicatively coupled to a display device, a wireless phone, a game console, a netbook, and so forth. Thus, the client 104 may range from full resource devices 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 104 may also relate to an entity that operates the clients, e.g., causes hardware of the client 104 to perform a function. In other words, the client 104 may describe a logical client that includes software and/or devices.
Although the network 110 is illustrated as the Internet, the network may assume a wide variety of configurations. For example, the network 110 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 110 is shown, the network 110 may be configured to include multiple networks. For instance, social network service 102 and the website 106, 108 may be communicatively coupled via a wired network to communicate, one to another, via the Internet. Additionally, the client 104 may be communicatively coupled to the social network service 102 and the website 106 using a wireless network. A wide variety of other instances are also contemplated.
The client 104 is further illustrated as including a browser 112. The browser 112 is representative of functionality of the client 104 to navigate to different network addresses of the Internet. For example, the browser 112 may be used to navigate to the social network service 102 via the network 110. Once “at” the social network service 102, the browser 112 may be utilized to support a variety of different activities, such as to provide a status update, upload content (e.g., photos, music, video, and so on), set events in a calendar, communicate with another user of the social network service 102, and so on.
Likewise, the browser 112 may be utilized to interact with a variety of activities 114, 116 of respective websites 106, 108. For example, website 106 may also be configured as a social network service and website 108 may be configured as a photo sharing service. Therefore, the browser 112 may be used to interact with social network service activities with the website 106, such as to send and receive messages, comment on photos, watch videos, and so on. The browser 112 may also be used to interact with activities of the website 108 that involve photo sharing, such as to form albums, upload photos, make prints, and so on. Thus, each of the websites 106, 108 may be configured in a variety of ways to provide a variety of activities. Consequently, a user of a conventional client using a conventional browser may find it difficult to synchronize activities between these different locations.
The browser 112 is further illustrated as including an activity sync module 118. The activity sync module 118 is representative of functionality of the client 104 to synchronize activities with the social network service 102. For example, the activity sync module 118 may be executable to monitor the websites to which the client 104 has navigated over the network 110, e.g., website 106, 108. If the website supports the synchronization functionality (e.g., website 106), the activity sync module 118 may provide a prompt to synchronize the activity (e.g., activity 114) with the social network service 102. Although the activity sync module 118 is illustrated as a part of the browser 112, this functionality may be implemented in a variety of ways, such as part of an operating system of the client 104, over a network 110 via a third-party website, and so on.
In response to selection of the prompt, the activity sync module 118 may provide an indication to the social network service 102 to synchronize with the activities 114 through execution of the sync manager module 120. Upon receipt of the indication, for instance, the sync manager module 120 may obtain data that describes the activities 114, 116 of the websites 106, 108 and aggregate this data with data that describes activities performed in conjunction with the social network service 102. Continuing with the previous example, status updates and other activities performed in conjunction with website 106 and photos uploaded to website 108 may be collected by the sync manager module 120 for inclusion with activities performed at the social network service 102. These activities may be included as part of a social updates feed output by the social network service 102, collected in photo albums, and so on. The activities may also be published for receipt by “friends” of the user for inclusion in their respective social updates feed, further discussion of which may be found in relation to
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,” “functionality,” and “logic” as used herein generally represent software, firmware, hardware, or a combination thereof. In the case of a software implementation, the module, functionality, or logic 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, further description of which may be found in relation to
Processors are not limited by the materials from which they are formed or the processing mechanisms employed therein. For example, processors may be comprised of semiconductor(s) and/or transistors (e.g., electronic integrated circuits (ICs)). In such a context, processor-executable instructions may be electronically-executable instructions. Alternatively, the mechanisms of or for processors, and thus of or for a computing device, may include, but are not limited to, quantum computing, optical computing, mechanical computing (e.g., using nanotechnology), and so forth. Additionally, although a single memory 206, 208 is shown, respectively, for the server of the social network service 102 and the client 104 device, a wide variety of types and combinations of memory may be employed, such as random access memory (RAM), hard disk memory, removable medium memory, and other types of computer-readable storage media.
The browser 112 and the activity sync module 118 are illustrated as modules formed using instructions that are executable on the processor 204 and storable in the memory 208 of the client 104. The client 104 is also illustrated as maintaining a website list 210 in memory 208 that is usable in conjunction with the activity sync module 118 to determine which websites support synchronization functionality.
For example, the browser 112 may be executed to navigate to the website 106 over the network 110. The activity sync module 118 is configured in this example to monitor which websites are accessed by the browser 112 and compare the websites to website list 210. For instance, the browser 112 may be executed to access the activity 114 provided by the activity module 210 of the website 106. If the website 106 is included in the website list 210, the activity sync module 118 causes the prompt to be output using a display device of the client 104. Thus, the prompt is not output in this example unless the website 106 is included in the website list 210.
As previously described, selection of the prompt may be used to configure the sync manager module 120 to synchronize the activity 114 with the social network service 102. For instance, the sync manager module 120 is illustrated as including an activity aggregation module 212. The activity aggregation module 212 is represented in
Thus, the activity aggregation module 212 in this example may receive an indication from the client 102 to synchronize with the activity 114 of the website 106, e.g., to obtain data that describes the activity 114. The data may be obtained in a variety of ways, such as directly between the website 106 and the social network service 102 (e.g., without involving the client 104), indirectly (e.g., by using the client 104 as an intermediary to communicate the data), and so on (e.g., by using a third-party site). Although in this example the prompt was output when the user navigated to the website 106, the prompt may also be output when a particular webpage of the website 106 is received.
For example, the website 106 may include a variety of different web pages, such as a root webpage, a profile webpage that is used to interact with a user's profile of a social network service, and so on. Accordingly, the website list 210 may also include identifiers of particular web pages such that the prompt is output in conjunction with the particular webpage and is not output in conjunction with another webpage of the website 106. A variety of other examples are also contemplated, such as to output the prompt when particular functionality of a webpage is utilized, e.g., when a video of a webpage is activated, a song is selected for output, an image is selected for printing, and so on.
In another implementation, the synchronization techniques described herein may take into account whether the activity sync module 118 has access to credentials that permit the client 104 to login to the particular website 106. As illustrated, the activity sync module 118 includes an authentication status module 214 that is representative of functionality to determine an authentication status of the client 104. For instance, the browser 112 may navigate to the website 106 over the network 110 as described in the previous example. In this instance, however, the authentication status module 214 determines whether the client 104 has been authenticated, such as by determining whether credentials such as the user name and password have been accepted by an authentication module 216 of the website 106. If so, the authentication status module 214 may permit output of the previously described prompt.
Selection of the prompt in this implementation causes the indication to be communicated from the client 104 to the social network service 102 that includes the credentials that are utilized to login to the website 106. For instance, the sync manager module 120 may include a website access module 218 that is representative of functionality to gain access to websites 106 that include authentication. The website access module 218 may store the credentials received from the client 104 in memory 206 for use in accessing the website 106 automatically and without further user intervention, such as by asking a user of the client 104 to reenter the credentials at a later time. Thus, in this example the prompt is output when the website 106 is included in the website list 210 and sufficient credentials have been received to login the client 104 to the website 106. A variety of other examples are also contemplated, such as when credentials have been received but the website 106 is not included in the website list 210.
The activities may be aggregated by the sync manager module 120 in a variety of ways. For example, the activities may be arranged by type, such as to sync photos in respective albums, status updates in respective feeds, and so on. The activities may also be arranged by source, such as through the use of different tabs or sections to indicate a source of the activity, e.g., each website 106, 108 may have its own tab in a user interface. A variety of other examples are also contemplated, further discussion of which may be found in relation to the following procedures.
Example Procedures
The following discussion describes synchronization 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
A determination is made that the website is included in a list of websites that support synchronization (block 304). Continuing with the previous example, the activity sync module 118 may determine that an address of the website 106 is included in the website list 210 that describes which websites support synchronization functionality.
A determination is then made that credentials have been collected to login to a user account of the website (block 306). The authentication status module 214, for instance, of the activity sync module 118 may monitor whether credentials have been provided via the browser 112 to login to the website 106. If so, the authentication status module 214 may store the credentials in memory 208. In an implementation, this determination is made after input is received that indicates that a user has selected a portion of a user interface (e.g., an icon, bookmark, text that states “add activities to social network service,” etc.) to initiate a process to synchronize activities. Thus, in this implementation the determination of block 304 is not performed. A variety of other implementations are also contemplated.
The prompt is displayed that is selectable to cause data that describes activities that are performed in conjunction with a website to be communicated to a social network service to be stored in conjunction with a user account of the user at the social network service (block 308). As previously described, the prompt may be displayed in a variety of ways, such as part of a pop-up menu, a “toast” notification, an option on a toolbar, and so on. The prompt may also be configured to display an option to synchronize events on a calendar (block 310) and/or synchronize status updates (block 312). Thus, in this way the prompt may be configured to specify specific activities that are to be synchronized.
Responsive to selection of the prompt, a communication is formed for communication to social network service to cause the social network service to obtain the data (block 314). Selection of the prompt, for instance, may cause a communication to be formed that includes the credentials from block 306 and identification of the website from block 304. In this way, the sync manager module 120 of the social network service 102 may obtain data that describes activities performed by the website 106 automatically and without further user interaction, further discussion of which may be found in relation to the following procedure.
Data is synchronized that describes the activities at the social network service with the data that describes the activities at the other social network service (block 404). For example, the sync manager module 120 may employ functionality represented by the website access module 218 to access the website 106 over the network 110, such as to provide credentials to access a user's account. The sync manager module 120 may then import data that describes one or more of the activities 114 of the website 106.
For instance, the data may describe a social network feed (e.g., status updates, photos and so on) that would be output in conjunction with a user's account of the website 106. This data may be aggregated with data from the social network feed of the social network service 102 to provide an aggregated feed. A variety of other examples are also contemplated, such as to export data by the social network service 102 that describes activities that were performed in conjunction with the service such that the website 106 may also provide an aggregated social network feed, to synchronize calendars, and so on.
The synchronized data that corresponds to the activities may also be published for receipt by one or more accounts of the social network service that are designed as friends of a user (block 406). Continuing with the previous example, the social network feed may be used to display status updates of other users. As such, the data obtained from the website 106 that is aggregated with the data of the social network service 102 may be published for display in the social network feeds of friends of the user. Thus, the friends may be “kept up to date” regarding the activities of the other social network service (e.g., website 106) or other website, such as a photo sharing service. A variety of other examples are also contemplated, such as to configure the website 106 as a calendaring service and so on. For example, other activities are also contemplated that do not involve interaction with “friends,” such as to keep a calendar up-to-date.
Conclusion
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.
Number | Name | Date | Kind |
---|---|---|---|
20060085259 | Nicholas et al. | Apr 2006 | A1 |
20070282887 | Fischer et al. | Dec 2007 | A1 |
20080134040 | Pennington et al. | Jun 2008 | A1 |
20080222295 | Robinson et al. | Sep 2008 | A1 |
20080288582 | Pousti et al. | Nov 2008 | A1 |
20080306918 | Mons et al. | Dec 2008 | A1 |
20090019078 | Chisholm et al. | Jan 2009 | A1 |
20090055369 | Phillips et al. | Feb 2009 | A1 |
20090070684 | Aldrich et al. | Mar 2009 | A1 |
20090106099 | Chow et al. | Apr 2009 | A1 |
20090216806 | Feuerstein et al. | Aug 2009 | A1 |
20090222925 | Hilaiel et al. | Sep 2009 | A1 |
20090292814 | Ting et al. | Nov 2009 | A1 |
20090313244 | Sokolenko et al. | Dec 2009 | A1 |
Entry |
---|
Mann. B, “Social Graph Applications: Why Not for Every Community Website?”, <<http://bmannconsulting.com/blog/bmann/social-graph-applications-why-not-every-community-website>> Apr. 6, 2008, pp. 5. |
“The Null Device”, <<http://dev.null.org/blog/tags/social%20networking>> Aug. 20, 2007, pp. 5. |
Logan, Angus, “My Pixels Aren't Free Ad Space for Your Network—‘Connecting’ Needs Targeting”, http://blogs.msdn.com/angus—logan/archive/2009/07/08/my-pixels-aren-t-free-ad-space-for-your-network-connecting-needs-targeting.aspx>>, Jul. 8, 2009, pp. 9. |
“Jibbio Connect”, <<http://jee.jibbio.com/page/social-network.html>>, Jul. 9, 2009, pp. 2. |
Neill, Nick O′, “Yahoo! Launches Facebook Connect Competitor”, <<http://www.socialtimes.com/2008/10/yahoo-launches-facebook-connect-competitor/>>, Oct. 28, 2008, pp. 9. |
Bojars, et al. “Social Network and Data Portability using Semantic Web Technologies”, <<http://ftp.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-333/saw1.pdf>>, In Proceedings of BIS (Workshops), 2008, pp. 5-19. |
Number | Date | Country | |
---|---|---|---|
20110072354 A1 | Mar 2011 | US |