HK1188011A - Content sharing interface for sharing content in social networks - Google Patents
Content sharing interface for sharing content in social networks Download PDFInfo
- Publication number
- HK1188011A HK1188011A HK14100839.9A HK14100839A HK1188011A HK 1188011 A HK1188011 A HK 1188011A HK 14100839 A HK14100839 A HK 14100839A HK 1188011 A HK1188011 A HK 1188011A
- Authority
- HK
- Hong Kong
- Prior art keywords
- user input
- digital content
- content
- distribution
- user
- Prior art date
Links
Description
Cross reference to related applications
The present application claims U.S. patent application serial No. 61/408,732, filed on 1/11/2010; and priority of U.S. patent application serial No. 61/408,811, filed on 1/11/2010, the disclosure of which is incorporated herein by reference.
Technical Field
The present specification relates generally to systems and methods for sharing digital content using a computer-implemented social networking service.
Background
Computers and mobile devices, such as cellular telephones and personal digital assistants, have become increasingly interconnected due to the widespread availability of wired and wireless connections to communication networks, such as the internet. Even at the earliest days of ARPANET, users still utilized such interconnections to communicate with each other through early forms of email. As email grows in availability and popularity, email "lists" become popular tools for broadcasting messages to a predefined group of recipients.
Internet-based "newsgroups" were presented in the 80's of the 20 th century, where users could read and respond to discussion threads subdivided around a wide variety of predefined categories. Newsgroups are typically readable and updateable by anyone with equipment to access them because access to newsgroups is generally not restricted on a per newsgroup or per user basis. Web-based discussion groups (i.e., also known as clubs) have also provided a way for people to associate around topics. Through the use of web server programming, the ideas of discussion groups and discussion threads have been extended to provide users with the ability to subscribe to secure discussion forums hosted by other users in some cases.
Another variation of an internet-based communication forum is a web-based "social networking" application in which multiple users can discover each other's accounts and voluntarily become "friends" or "followers" of each other's published messages. Users typically publish short messages about their status, mood, activity, etc., and their friends and followers can read and optionally reply to those messages. In this way, friends can keep track of each other's activities as a tool for maintaining their social ties.
Some social networks provide tools for sharing information to or from the social network. For example, some social networking websites provide buttons that may be incorporated into third party web pages. When the user presses the button, information is passed back to the social networking website to indicate who pressed the button and which web page the button is located on. In this example, the user's social networking partners may be notified about the user's activities on the third-party webpage.
Disclosure of Invention
In general, innovative aspects of the subject matter described in this disclosure can be embodied in methods that include the actions of displaying, in a web page of a plurality of web pages, a graphical representation of a content sharing interface of a first social-networking service, the content sharing interface including a content input area that can receive user input; receiving a first user input to the content input area; in response to the first user input, extending the content sharing interface in the web page to include an extended content input area and a distribution interface, the extended content input area displaying a graphical representation of digital content to be distributed; receiving a second user input to the distribution interface, the second user input indicating one or more contacts to which the digital content is distributed; in response to receiving the second user input, displaying one or more icons in the distribution interface, each icon of the one or more icons being a graphical representation of the one or more contacts; receiving a third user input to the content sharing interface, the third user input comprising user instructions for distributing the digital content; and transmitting a post data set to the server computing system in response to the third user input, the post data set including digital content data and distribution data. Other implementations of these aspects include corresponding systems, apparatus, and computer programs, encoded on computer storage devices, configured to perform the actions of the methods.
These and other implementations can each optionally include one or more of the following features. For example, an icon of the one or more icons corresponds to a social circle of the user in a social networking service, the social circle defining a subset of the one or more contacts; an icon of the one or more icons corresponds to a second social networking service in which the user participates; the second social-networking service comprises a microblog social-networking service; the second social networking service comprises a blog service; an icon of the one or more icons corresponds to at least one contact that receives the digital content via email; the acts further include displaying web page digital content in the web page, wherein the content sharing interface displays a summary of the web page digital content in the expanded content input area; providing the summary in response to a request for a source of the digital content, the request generated in response to the first user input; the acts further include displaying one or more digital content selection icons in the expanded content selection area; the acts further include receiving a fourth user input indicating a selection of an icon of the one or more digital content selection icons, and in response to receiving the fourth user input, displaying a digital content selection interface through which a user may select additional digital content for distribution; the one or more digital content selection icons include a digital image selection icon, a digital video selection icon, a link selection icon, and a map selection icon; the one or more digital content selection icons are displayed in the content sharing interface prior to receiving the first user input; the web page comprises a map service web page and the digital content comprises a map; the post data set further includes map data including scrolling data and zooming data corresponding to a map view of the map, the scrolling data and the zooming data being usable by the map service web page to replicate the map view; the actions further include receiving the post data set, generating an Access Control List (ACL) based on the distribution data, the distribution data corresponding to the one or more contacts, and distributing the digital content based on the ACL; the first user input comprises a click in the content input area; the web page comprises a web page of the social networking service; each web page of the plurality of web pages comprises a web page of an internet-based social networking service; the web page comprises a web page of a website outside of a domain of the social networking service; and providing the content sharing interface in a toolbar of the web page.
The innovative aspects of the subject matter described in this disclosure can be embodied in methods that include the actions of: receiving user input indicating a distribution of digital content, the distribution indicating one or more contacts to which the digital content is distributed, the distribution being processed based on one or more policies, each policy of the one or more policies providing restrictions on the distribution of digital content; based on the processing, determining that the distribution violates at least one policy of the one or more policies; and in response to the determination, transmitting notification data to display a notification to a user that the distribution violates the at least one policy. Other implementations of these aspects include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.
These and other implementations can each optionally include one or more of the following features. For example, the acts further include transmitting icon data to display an icon to the user as a graphical representation of the distribution, wherein the notification includes an attribute of the icon; the attribute comprises a color of the icon; the notification includes an indication that the distribution includes one or more non-domain contacts; each non-domain contact of the one or more non-domain contacts comprises a contact of the user that is outside a domain of the social networking service; the user input comprises an email address; the email address corresponds to a domain that is external to a domain of the social networking service; the acts further include receiving a user input corresponding to the notification, and in response to receiving the user input corresponding to the notification, transmitting dialog data to display a dialog to the user; the dialog box includes text indicating that the distribution includes one or more non-domain contacts; each non-domain contact of the one or more non-domain contacts comprises a contact of the user that is outside a domain of the social networking service; the user input corresponding to the notification comprises a hover action over the notification; the acts further include receiving user input indicating a command to distribute the digital content based on the distribution, and in response to receiving the user input indicating the command to distribute, transmitting confirmation dialog data to display a confirmation dialog to the user; the confirmation dialog notifying the user that distribution of the content data will result in the digital content being distributed to one or more domains outside of a domain of the social networking service; the acts further include receiving a user input provided to the confirmation dialog, the user input indicating a second command for distributing the digital content based on the distribution, and distributing the digital content based on the distribution in response to receiving the user input; the policy comprises an age policy; and the age policy comprises prohibiting distribution of the digital content to the one or more contacts of the distribution determined to be underage.
The innovative aspects of the subject matter described in this disclosure can be embodied in methods that include the actions of: in a web page, presenting a graphical representation of a content sharing interface of a first social-networking service, the graphical representation including at least one button icon responsive to user input; receiving a first user input to the button icon; in response to the first user input, extending the content sharing interface in the web page to include an extended content input area and a distribution interface, the extended content input area displaying a graphical representation of digital content to be distributed; receiving a second user input to the distribution interface, the second user input indicating one or more contacts to which the digital content is distributed; in response to receiving the second user input, displaying one or more icons in the distribution interface, each icon of the one or more icons being a graphical representation of the one or more contacts; receiving a third user input to the content sharing interface, the third user input comprising user instructions for distributing the digital content; and transmitting a post data set to the server computing system in response to the third user input, the post data set including digital content data and distribution data. Other implementations of these aspects include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.
These and other implementations can each optionally include one or more of the following features. For example, an icon of the one or more icons corresponds to a social circle of the user in a social networking service, the social circle defining a subset of the one or more contacts; an icon of the one or more icons corresponds to a second social networking service in which the user participates; the second social-networking service comprises a microblog social-networking service; the second social networking service comprises a blog service; an icon of the one or more icons corresponds to at least one contact that receives the digital content via email; the acts further include displaying web page digital content in the web page, wherein the content sharing interface displays a summary of the web page digital content in the expanded content input area; the acts further include displaying one or more digital content selection icons in the expanded content selection area; the acts further include receiving a fourth user input indicating a selection of an icon of the one or more digital content selection icons, and in response to receiving the fourth user input, displaying a digital content selection interface through which a user may select additional digital content for distribution; the one or more digital content selection icons include a digital image selection icon, a digital video selection icon, a link selection icon, and a map selection icon; the one or more digital content selection icons are displayed in the content sharing interface prior to receiving the first user input; the actions further include receiving a fourth user input indicating a hover action over the button icon, and in response to receiving the fourth user input, displaying a dialog box that displays data corresponding to contacts that have shared the digital content; the first user input comprises a user selection of the button icon; the web page comprises a search results page and the button icon is associated with a search result displayed in the web page; the web page comprises a map service web page and the digital content comprises a map; the post data set further includes map data including scrolling data and zooming data corresponding to a map view of the map, the scrolling data and the zooming data being usable by the map service web page to replicate the map view; the actions further include receiving the post data set, generating an Access Control List (ACL) based on the distribution data, the distribution data corresponding to the one or more contacts, and distributing the digital content based on the ACL; the web page comprises a web page of the social networking service; each web page of the plurality of web pages comprises a web page of the social networking service; and the web page comprises a web page of a website outside of a domain of the social networking service.
The innovative aspects of the subject matter described in this disclosure can be embodied in methods that include the actions of: presenting, on a display, a graphical representation of a content sharing interface of a social networking service; receiving a first user input to the content sharing interface; in response to the first user input, extending the content sharing interface to include an extended content input area and a distribution interface, the extended content input area displaying a graphical representation of digital content to be distributed; receiving a second user input to the distribution interface, the second user input indicating one or more contacts to which the digital content is distributed; in response to receiving the second user input, displaying one or more icons in the distribution interface, each icon of the one or more icons being a graphical representation of the one or more contacts; receiving a third user input to the content sharing interface, the third user input comprising user instructions for distributing the digital content; and transmitting a post data set to the server computing system in response to the third user input, the post data set including digital content data and distribution data. Other implementations of these aspects include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.
These and other implementations can each optionally include one or more of the following features. For example, an icon of the one or more icons corresponds to a social circle of the user in a social networking service, the social circle defining a subset of the one or more contacts; an icon of the one or more icons corresponds to a second social networking service in which the user participates; the second social-networking service comprises a microblog social-networking service; the second social networking service comprises a blog service; an icon of the one or more icons corresponds to at least one contact that receives the digital content via email; the acts further include displaying web page digital content in the web page, wherein the content sharing interface displays a summary of the web page digital content in the expanded content input area; the acts further include displaying one or more digital content selection icons in the expanded content selection area; the acts further include receiving a fourth user input indicating a selection of an icon of the one or more digital content selection icons, and in response to receiving the fourth user input, displaying a digital content selection interface through which a user may select additional digital content for distribution; the one or more digital content selection icons include a digital image selection icon, a digital video selection icon, a link selection icon, and a map selection icon; the one or more digital content selection icons are displayed in the content sharing interface prior to receiving the first user input; the graphical representation of the content sharing interface is displayed on a desktop display of the client computing device; the graphical representation of the content sharing interface is displayed as a toolbar in a web browser application executing on the client computing device.
The details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other potential features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.
Drawings
FIG. 1 depicts an example system in which implementations of the present disclosure may be implemented.
Fig. 2A-2D depict example content sharing interfaces according to implementations of the present disclosure.
Fig. 3A and 3B depict another example content sharing interface in accordance with implementations of the present disclosure.
Fig. 4A-4D depict another example content sharing interface in accordance with implementations of the present disclosure.
Fig. 5A and 5B depict implementations of the example content sharing interfaces of fig. 4A-4D.
Fig. 6A and 6B depict screenshots of example flow pages for users of a social networking service that include an example content sharing interface.
FIG. 7 depicts a screenshot of an example web page including an example content sharing interface.
FIG. 8 depicts a screenshot of an example map page that includes an example content sharing interface.
FIG. 9 is a flow diagram illustrating an example process for sharing content.
Fig. 10A-11 depict example outputs of Access Control List (ACL) services in enforcing domain policies.
FIG. 12 is a flow diagram illustrating an example process for enforcing policies.
Like reference numerals designate corresponding parts throughout.
Detailed Description
In general, implementations of the present disclosure relate to content sharing interfaces that may be used to define digital content distribution. As used herein, a sharing user may include a user of a computing device that shares digital content with other users over a network (e.g., the internet). As used herein, a receiving user may include a user that receives digital content shared by sharing users. In one or more contexts, a receiving user may be associated with a sharing user. In some implementations, the receiving user and the sharing user may be contacts of each other in a social networking service. In some implementations, the receiving user may be a user who is a contact of the sharing user in an email service.
As described in greater detail herein, the content sharing interface is provided in association with various forms of digital content (e.g., Uniform Resource Indicators (URIs), hypertext links, maps, images, videos, files, social networking posts, online articles, blogs). A user may interact with a content sharing interface to indicate that he desires to post content associated with the interface or comments about the content to contacts in a social networking service and/or contacts outside of the social networking service.
Fig. 1 is a diagram of an example network architecture 100. Network architecture 100 includes a plurality of client devices 102 and 110 communicatively connected to a server system 112 by a network 114. The server system 112 includes one or more processing devices 116 and one or more data stores 118. The processing device 116 executes computer instructions (e.g., social network computer program code) stored in the data store 118 to perform functions of, for example, a social network server.
The plurality of users 120a-120e of client devices 102-110, respectively, access the server system 112 to participate in the social networking service. For example, the client device 102 and 110 may execute a web browser application that may be used to access the social networking service. In another example, the client device 102 may execute a software application specific to a social network (e.g., a social networking "app" running on a smartphone).
The users 120a-120e can participate in the social networking services provided by the server system 112 by publishing information such as text comments (e.g., updates, announcements, replies), digital images, videos, search results, links to other digital content (e.g., Uniform Resource Locator (URL) links to digital videos and/or digital images), and/or other suitable electronic content. In some implementations, systems and/or services external to the social network or server system 112 may post information on behalf of the user. For example, the user 120a may post a review of a movie to a movie review website, and the website may cross-post the review to the social network on behalf of the user 120a when appropriate permissions exist. In another example, a software application executing on a mobile device may use Global Positioning System (GPS) capabilities, when properly enabled, to determine a user's location and automatically update the social network with the user's location (e.g., "at home", "at work", "in Brownsdale, mn").
The users 120a-120e interacting with the client device 102-110 may also use the social network provided by the service system 112 to define social circles for organizing and categorizing the relationships of other users. Such relationships may be defined using social circles. In some implementations, the social networking service enables users to group contacts into one or more social circles, which may be based on a classification of the user's relationship with other users. The relationship may be implicit or explicit. For example, in the context of a social networking service, a user may assign contacts to one or more social circles to better control the distribution and visibility of social networking posts and/or other digital content. In some implementations, the social circle is provided as a data set defining a set of contacts associated with a user of a computer-implemented social networking service. In general, a social circle can be described from the perspective of an individual that is the center of a particular collection of socially interconnected people, or from the collective perspective of a collection of socially interconnected people. A social circle may have narrowly defined boundaries, all members of the social circle may be familiar with each other, and permission may be required for a member to join the social circle. For example, a user of a social networking service defines a social circle, and the social circle, as a dataset defining a set of contacts, may reflect the user's real-life social circle.
Users of a social networking service may desire to share information with social networking partners. However, users may also desire to control the distribution of such information among their social networking partners. For example, some users may be concerned about their privacy when publishing information. Such users may desire to keep posts about their personal activities restricted to their personal social circles. For example, a user may post pictures of their softball team to their "friends" and "softball team" social circles, but not to a "colleague" social circle. Other users may desire to focus on the information they post so that they reach substantially only a selected subset of their contacts. For example, a user may desire to post a family posting to "family" social circles substantially only, or may desire to post a political comment to "political" social circles substantially only.
In some implementations, client device 102 and 110 may be a computing device such as a laptop or desktop computer, a smart phone, a personal digital assistant, a portable media player, a tablet computer, or other suitable computing device that may be used to communicate with an electronic social network. In some implementations, the server system 112 may include a single computing device, such as a computer server. In some implementations, server system 112 may represent more than one computing device working together to perform the actions of a server computer (e.g., cloud computing). In some implementations, the network 114 may be a public communication network (e.g., the internet, a cellular data network, a dial-up modem over a telephone network) or a private communication network (e.g., a private LAN, leased lines).
Fig. 2A-2D depict an example content sharing interface 200 according to an implementation of the present disclosure. As described in greater detail herein, the content sharing interface 200 may be presented to users of the social networking service within the social networking service (e.g., the content sharing interface 200 is displayed in a web page of a website of the social networking service), and/or outside of the social networking service (e.g., the content sharing interface 200 is displayed in a web page of a website that is not directly associated with the social networking service).
The content sharing interface 200 enables a user to publish digital content to distribute the digital content to a defined set of recipients. In some implementations, the post may be generated by the user and may include the following post data set. The post data set may include data associated with the digital content and the identified recipient. In some implementations, the post data set can include digital content, timestamp data (e.g., a timestamp indicating the time the post was generated), distribution data (e.g., contacts, one or more social circles, etc.), and Identification (ID) data (e.g., an ID assigned to the post data set after the post was generated). In some implementations, the distribution data is processed to provide an Access Control List (ACL) that specifies distribution of the digital content (e.g., to grant access to the digital content to contacts within or outside of the social networking system).
In some implementations, the distribution center may be provided as a backend service (e.g., provided by server system 112 of fig. 1). In some implementations, the ACL service can be provided as one or more computer program applications that can be executed by one or more server systems. The ACL service may generate an ACL and may determine an endpoint to which to distribute the post data set based on the ACL. In some implementations, the contacts granted access to or receipt of digital content are determined based on the ACL. The ID of the post data set may be written to each user/view index at the ACL service. When the extracted post is distributed to a particular user, the user/view index is accessed and the IDs of the various posts that the user is granted permission to view are determined. The post data set is retrieved from a data store (e.g., data store 118 of fig. 1) and transmitted for display on a client computing device associated with the particular user.
In implementations of the present disclosure, distribution for digital content may be defined based on one or more social circles. As used herein, a distribution may include a list of one or more contacts to which digital content will be distributed using a social networking service. In some examples, the distribution includes one sub-distribution (e.g., identifying one social circle for distributing the digital content). In some examples, the distribution includes a plurality of child distributions. In some implementations, the child distribution can include contacts that are not members of a particular social circle and/or are not users of the underlying social networking service.
The content sharing interface 200 includes a distribution interface 202 associated with digital content provided in a content area 204. In various implementations, the digital content may be a Uniform Resource Indicator (URI), a web page segment, a media playback interface, a hyperlink, a social networking post (e.g., text), an online map, a location on an online map, a digital image, a digital video, a search result, and/or any other suitable item or information that may be presented in an electronic User Interface (UI).
The distribution interface 202 includes a contact input area 206. As described in more detail below, the user may type or select an identifier to enter into the contact input area 206. The identifiers identify other users, categories of users, and/or social circles to define distribution of the digital content (e.g., through a social networking service). In some implementations, the identifiers can include contact identifiers, social circle identifiers, email addresses, or any other suitable identifier that can be used to define one or more people with whom content can be shared. The identifier provided in the contact input area 206 is used to generate an ACL that defines the distribution of the digital content provided in the content area 204.
Referring now to FIG. 2B, an example identifier icon 208 is provided in the distribution interface 202. The identifier icon 208 is a visual representation of one or more users with whom the digital content is to be shared. In the example of fig. 2B, the user temporarily indicates that digital content within the content area 204 is to be shared with members of a "friends" social circle. Until the post is submitted (discussed in more detail below), the identifier icon provides temporary distribution to the digital content. For example, continuing with the example of fig. 2B, the user may activate (e.g., click on) a delete control 210 to remove the identifier icon 208 from the contact input area 206.
Referring now to fig. 2C and 2D, a menu 213 may be presented in response to user input. In some implementations, the user can select (e.g., click on) the contact input area 206 and display the menu 213 in response to the selection. In some implementations, the user can enter text into the contact input area 206 and display the menu 213 in response to the input. In some implementations, the user can select (e.g., click on) the add control 214 and the menu 213 and display the menu 213 in response to the selection. In the example illustrated in fig. 2C, the menu 213 includes a plurality of regions. The menu area 220 displays a set of social circles 222 from which the user may select. The social circles may include social circles defined by the user using a social networking service. In some implementations, the set of social circles 222 may include a subset of social circles that are most frequently attended by the user and/or a subset of social circles that are most frequently attended by the user. User control 224 may be selected to display additional social circles managed by the user. By selecting (e.g., clicking on) a social circle from the listed social circles, a corresponding identifier icon 208 may be displayed in the contact input area 206.
The menu area 230 presents a collection of non-circled designated contact groupings to which the user may select to distribute content. For example, by selecting "my circle," a user may choose to share digital content with any of the user's social circles. By selecting an "extension circle," a user may choose to share digital content with any of the user's extension networks (e.g., friends of friends, other users with whom the user shares a common social circle). By selecting "any one," the user can choose to share digital content with any one (e.g., the public) on the internet. By making a selection (e.g., clicking) from the menu area 230, a corresponding identifier icon 208 may be displayed in the contact input area 206. In some examples, menu area 230 may include one or more fields to which a user may share digital content. In the example, a "domain" is provided as the domain. Example domains may include domains of an internet-based service provider (e.g., google, inc.). One or more domains may be defined in the distribution interface and the digital content may be shared with all users interacting with the specified domains.
The menu area 240 presents a collection of distribution lists that have been recently used by the user. In some implementations, the menu area 240 may not be displayed. For example, a new user may have never used the content sharing interface 200 before, and thus have no previously used distribution list to select from. As the user uses the content sharing interface 200, the number of items displayed in the menu area 240 may expand up to a predetermined number of recently used distribution lists.
With respect to fig. 2D, the selections available in menu 213 may be adapted based on the text entered into contact input area 206. In the illustrated example, the user has begun entering free-form text 250 in the form of the letter "f" (i.e., as free-form text 250) into the contact input area 206. In response to the input, the menu area 260 is adapted to suggest several targets that may correspond to the letter "f" entered by the user, such as a "family" social circle 262 and a "Francisco Franco" contact 264. In some implementations, a user of another social networking service may be focused on. For example, a "friends (rob mcdavies)" contact 266 may be presented to focus on a user of another social networking service.
In some implementations, the user can instruct the distribution of the digital content to the contacts via email. In some examples, digital content may be shared via email rather than or in addition to sharing digital content through a social networking service. In some implementations, a user can interact with an identifier icon (e.g., identifier icon 208) provided in a distribution interface (e.g., distribution interface 202) to provide user input indicating that associated digital content is shared via email. In some examples, the user interaction may include hovering over the identifier icon (e.g., using a pointer), and a menu associated with the particular identifier icon may be displayed in response to the hovering action. The menu may include menu selections indicating contacts associated with or represented by a particular icon identifier to receive digital content via email.
Once the user defines and is satisfied with the distribution, the user may submit a post. In some implementations, a share button 212 is provided. The user may activate (e.g., click on) the share button 212 to submit the post. Submission of the post may cause the following operations to be performed, as described above, generating a post data set and distributing the digital content to the identified user.
Fig. 3A and 3B depict another example content sharing interface 300 in accordance with implementations of the present disclosure. Referring to fig. 3A, the content sharing interface 300 includes a content entry area 305. In some implementations, the content entry area 305 can be the content area 204 of fig. 2A-2D. In some implementations, the user can select the content entry area 305 to input and/or select digital content for distribution. For example, the pointer 310 may be used to interact with (e.g., click on) the content entry area 305 and initiate interaction with the content sharing interface 300. For example, a user may click on the content entry area 305 to initiate text entry as part of interacting with the content entry area 305.
In some implementations, the user can select icon 315, icon 320, icon 325, and icon 330 to initiate input and/or selection of digital content to be distributed. For example, in the illustrated implementation, a user may select icon 315 to initiate a process for selecting digital images to be distributed (e.g., stored in computer-readable memory). For example, the user may click on icon 315, and in response to the click, a user interface may be presented in which the user is able to upload digital image files, select previously uploaded digital image files, and/or provide a URL corresponding to digital images found elsewhere on the Internet. In some implementations, once a digital image file is identified, a thumbnail of the digital image and/or information about the image (e.g., address, filename, description, title, size, data used) may appear in the content entry area 305.
In the illustrated implementation, for example, a user may select icon 320 to select a digital video (e.g., stored in computer-readable memory) to be distributed. For example, a user may click on icon 320, and in response to the click, a user interface may be presented in which the user is able to upload a digital video file, select a previously uploaded digital video file, and/or provide a URL corresponding to a digital video file found elsewhere on the internet. In some implementations, once a digital video file is identified, a thumbnail of the digital video and/or information about the digital video (e.g., address, filename, description, title, size, data used) may appear in the content entry area 305. In some implementations, the shared content may be accompanied by information other than a URL or other identifier. For example, the user may click on icon 320 to share the identified video as shared content. The shared content may include not only an identifier of the video content but also a playback start point and duration. In this example, the user may share the segment identifying the video with the contacts of interest to the user.
In the illustrated implementation, for example, the user may select icon 325 to provide a hyperlink (e.g., to a URL) for distribution. For example, the user may click on icon 325, and in response, a user interface may be presented in which the user can type or paste a Uniform Resource Locator (URL) of a web page that the user desires to share. In some implementations, once the URL is identified, a thumbnail preview of the identified page and/or information about the page (e.g., the URL, website, page title, thumbnail of a photograph selected from the identified page) can be displayed in the content entry area 305.
In the illustrated implementation, for example, a user may select icon 330 to select a map location for distribution. For example, the user may click on icon 325, and in response, a user interface may be presented in which the user is able to identify a geolocation (e.g., physical address, latitude, and longitude) and/or a place (e.g., business, landmark, facility, city) that the user desires to share. In some implementations, once a location is identified, a thumbnail map identifying the location and/or information about the location (e.g., a URL, a physical address, a place name, a thumbnail identifying a photograph of the place) can be displayed in the content entry area 305.
In some implementations, when the icon 330 is activated, a user interface can be presented to provide the user with a set of suggested places. For example, by activating icon 330, a process may be initiated in which the user's current location may be determined and the location information may be used to search for and identify a list of nearby places that the user may desire to share. In some implementations, by activating icon 330, a process may be initiated in which a user-provided content item or content may be analyzed to identify one or more places that may be associated with the content. For example, the user may enter text that includes "Lash Moire Honey moon" and then click on icon 330. In response, a process may be initiated that analyzes the entered text and suggests "Lashmor mountain house memorial" and/or "Lashmor March moonhouse" as suggested positions that may be included as part of the digital content to be distributed.
With respect to fig. 3B, the content sharing interface 300 may be expanded to include a distribution interface 340 and a share button 342. In some implementations, the distribution interface 340 and the share button can be displayed in response to user activity (e.g., clicking) with the content entry area 305 including activity with one or more of the icons 315 and 330. In some implementations, the content entry area 305 also expands to provide additional space for entering digital content. The distribution interface 340 and the share button 342 and their functions correspond to the distribution interface 202 and the share button 212 of fig. 2A-2D, as discussed in detail above.
In some implementations, a plurality of digital content can be input to the content entry area 305 for distribution. For example, the user may click on icon 315 to add a digital image, click on icon 330 to add a location (e.g., where the image was taken), and enter a text description into content entry area 305. In response to submitting the post (e.g., by clicking on a share button), operations are performed as described above for generating a post data set and distributing the digital content to the identified user. In this example, the digital content of the post data set may include digital images, locations, and text.
Fig. 4A-4D depict another example content sharing interface 400 according to an implementation of the present disclosure. Referring to fig. 4A, content sharing interface 400 includes content item 405 and share button 410. In some implementations, the content item 405 can be digital content displayed on a display. Example content items may include one or more search results, published articles, blogs, posts of social networking services, digital images, digital videos, audio files, and/or any other suitable digital content. For purposes of discussion, content item 405 may include an article published to a website webpage. In this example, share button 410 may be displayed in a web page adjacent to or near content item 405. In this manner, share button 410 is at least visually associated with content item 405. In some implementations, HTML, JavaScript, and/or any suitable programming code may be used to generate and display the share button 410 in a web page and/or provide metadata identifying that the content item 405 is associated with the share button 410.
Referring now to fig. 4B, a pointer 415 may be provided for enabling a user to select various components displayed on the display. In the example of fig. 4B, the pointer 415 is illustrated as hovering over the sharing button 410 (e.g., movement of the pointer 415 pauses the sharing button for a predetermined time). In response to the user action, a display area 420 may be presented. The display area 420 displays information about the sharing status associated with the content item 405. In the illustrated example, display area 420 indicates content items 405 that have been previously shared by user 422a and user 422 b. In some implementations, users 422a and 422b identified in display area 420 correspond to contacts of a user in a social networking service, may be contacts of a user in an email service, and/or may be users that have some connection with the user (e.g., friends of friends in a social networking service).
Referring now to fig. 4C, a user may select (e.g., click on) a share button 410 to share a content item 405 with other users. In response to user selection of share button 410, display area 420 expands to display content area 426, distribution interface 428, and share button 430. The content area 426, the distribution interface 428, and the share button 430 and their functions correspond to the content area 204, the distribution interface 202, and the share button 212 of fig. 2A-2D, as discussed in detail above. The content area 426 may include a content entry area 432 and a content summary area 434.
As described in greater detail herein, the content entry area 432 may be used to input digital content and the content summary area 434 may display a summary of the content item 405 to be shared. In the illustrated example, the content item 405 includes a published article (e.g., "the best book in 2010"). The content summary area 434 is pre-populated with a summary 436 of the content item 405. In the illustrated example, the summary 436 includes a thumbnail image 435, a title of the article (e.g., "best book 2010"), and a brief description 440 of the article. Content input area 426 provides an interface with which a user can interact to add text comments about content item 405. For example, when sharing an article entitled "the best book of ten books in 2010," the user may add a user interface such as "i have read five of them, you read several books? "and the like.
In some implementations, the brief description of the article 440 can be a pre-stored abstract of the article and/or the first words or phrases of the article. In some examples, a user activating (e.g., clicking on) the share button 410 initiates a call to a source document (e.g., a web document) that includes the article. In some implementations, a summary of a pre-stored article is provided in response to the request. In some implementations, an ad hoc (ad hoc) summary is generated and returned to be displayed as a brief description 440. In some examples, the ad hoc summary may be generated using a script that crawls the source document and extracts data (e.g., text, images) from the source document and generates the summary based thereon. In some examples, in response to a request (e.g., a request automatically generated and transmitted in response to a user action on the share button 410), the ad-hoc summary may be generated by one or more server systems (e.g., a website including web pages) for hosting the source documents.
The user may define the distribution of the content item 405 using the distribution interface 428, as described above with respect to the distribution interface 202 of fig. 2. With respect to FIG. 4D, an example identifier icon 450 is provided in the distribution interface 428. In the illustrated example, the identifier icon 450 corresponds to the user's "friends" social circle and indicates that there are 13 contacts in the user's "friends" social circle with which the content item 45 is to be shared. In some implementations, the notification type indicator 455 may be provided for displaying information indicating the manner in which content items are shared with subgroups of user contacts. In the illustrated example, there are 13 contacts in a "friends" social circle, three of which receive a share notification via email. In some implementations, a change control 460 may be provided and may be associated with the notification type indicator 455. In some implementations, the change control 460 can be activated to display a notification change user interface (not shown). For example, the notification change user interface may include options such as sending an email to a person who is not yet a member of the user's social networking service; not notifying other users using email; or a contact to which an email is sent. In some implementations, the summary may be edited by the user prior to sharing. For example, the user may enter and/or edit text into the summary and/or may add other digital content as discussed herein.
Fig. 5A and 5B depict implementations of the example content sharing interface 400 of fig. 4A-4D. Fig. 5A illustrates an example of a content sharing interface 400 that the content sharing interface 400 will present to a user after the user shares a content item 405 using a share button 410. The appearance of share button 410 changes significantly after content item 405 is shared compared to the appearance of share button 410 before the user shared content item 405. For example, share button 410 may initially implement a first color scheme display before sharing and a second color scheme display after sharing. In some implementations, the user can share information about content item 405 by clicking on share button 410 without further action. For example, clicking on the share button 410 without entering a comment or associating any other contact with the shared information may be used to indicate that the user likes or approves of the content item 405.
Referring now to FIG. 5B, the user hovers a pointer 415 over the share button 410. In response to the action, display area 520 is displayed. The display area 520 displays information about the sharing status of the content item 405. In the illustrated example, the display area 520 indicates that the content item 405 has also been shared by the user 522 ("Jane Doe"). The user is also provided with a comment area 525 to enter a comment regarding the content item 405. The comment may also serve as a comment that the user has provided when the content item was initially shared.
As described in greater detail herein, the content sharing interface may be implemented across a variety of contexts. As some examples, the content sharing interface may be provided in a social networking service (e.g., a web page of a social networking website), in a search results page, in a mapping service (e.g., on a web page of a mapping website), embedded in a web page, and associated with particular content in a web page (e.g., an article published on a news service website). In some implementations, the content sharing interface can be provided as a surf-along window in a web browser executing on the client computing device. In such implementations, for example, the content sharing interface may always exist when the user switches between various web pages and the content displayed in the web browser may be shared using the content sharing interface. While the content sharing interface is illustrated and discussed in various example contexts, it is contemplated that the content sharing interface may be used in other contexts than those explicitly discussed herein.
FIG. 6A depicts a screenshot of an example flow page 600 provided in the context of an example social networking service. For example, the stream page 600 may be provided as a web page in a social networking service's website and may display digital content that has been shared with users associated with the stream page 600. In the illustrated example, the user includes "Rob McDavies" and the stream page 600 displays digital content that the other users have shared with the user and/or digital content that the user has shared with the other users.
Among other features provided by the stream page 600, the stream page includes a content sharing interface 610. While the content sharing interface 610 is displayed on the streaming page 600 in the illustrated example, it should be understood that the content sharing interface 610 may be displayed on a particular web page or all web pages of a social networking service. In this manner, the content sharing interface 610 is available to users on any web page, and users do not need to go to a particular web page to share digital content. The user may activate (e.g., click on) the content sharing interface 610 to share the digital content.
FIG. 6B depicts another screenshot of an example flow page 600. In the illustrated example, the user has clicked on the content sharing interface 610 and the content sharing interface 610 is expanded to include a content input area 612, a distribution interface 614, and a share button 616. The content input area 612, the distribution interface 614, and the share button 616 and their functions correspond to the content input area 305, the distribution interface 340, and the share button 342 of fig. 3A and 3B discussed in detail above.
In the illustrated example, an example identifier icon 620 and an example identifier icon 622 are provided in the distribution interface 614. As described above, identifier icon 620 and identifier icon 622 each provide a visual representation of one or more users with whom the digital content is to be shared. In the example of FIG. 6B, the user temporarily indicates that the digital content in the content input area 612 is to be shared with members of a "friends" social circle and members of a "family" social circle. Until the post is submitted, identifier icons 620 and 622 provide temporary distribution to the digital content. For example, the user may activate (e.g., click on) the delete control 624 and delete control 626 of the respective identifier icon 620 and identifier icon 622 to remove the identifier icon 620 and identifier icon 622 from the distribution interface 614.
In the example of fig. 6B, the distribution of digital content provided in the content input area 612 may be defined by contacts and/or social circles identified in the distribution interface 614. In the example, the distribution is defined by a friend social circle (graphically represented by friend circle icon 620) and a family social circle (graphically represented by family circle icon 622). In this example, the distribution includes all of the contacts that are members of the friend social circle and all of the contacts that are members of the family social circle. The friend social circle and the family social circle may each be considered to define a sub-distribution of the total distribution.
In some implementations, an email sharing control 630 may be provided. When activated (e.g., clicked on), the email sharing control 630 provides the user with a way to control whether to share content with people that are not currently using the social networking service. For example, the email sharing control 682 may function as a switch control, i.e., one click by the user may indicate that the email should be used, while another click may indicate that the email should not be used. The e-mail count indicator 684 displays the number of people who can receive shared content by e-mail in the temporary distribution.
In some implementations, the auto-complete component provides auto-complete functionality to enable a user to type in names and/or portions of names of social circles and/or individual contacts to specify which social circles and/or individual contacts are to be distributed post content. In some implementations, the auto-complete function may be ranked based on contacts. For example, contacts and/or social circles may include associated ranking scores. Contacts with higher ranking scores rank higher than contacts with lower ranking scores. In some examples, the auto-complete functionality may identify one or more contacts and/or one or more social circles based on text input into a distribution interface of the content sharing interface discussed in further detail below. One or more contacts and/or one or more social circles may be listed in a ranking order based on the ranking score.
For example, the text input may include the letter "f" and the autocomplete function may identify the contacts "Farley" and "frank (frank)" as the user's contacts to which the digital content may be sent. The contact "Farley" may have a ranking score that is lower than the ranking score of the contact "Frank". Contacts may be selected to the user for selection in a ranking order based on the ranking score. Thus and continuing the example, the contact "Frank" may be listed higher in the contact list displayed to the user than the contact "Farley". In this manner, although the contact "Frank" may be listed first on an alphabetical basis, the contact "Frank" is listed first instead based on the ranking score. As another example, the text input may include the letter "f" and the auto-complete function may identify the social circles "family" and "friends" as user-defined social circles to which digital content may be distributed. The social circle "family" may have a ranking score that is lower than the ranking score of the social circle "friends". The social circles may be displayed to the user for selection in a ranking order based on the ranking score. Thus and continuing the present example, the social circle "friends" may be listed higher on the list of contacts displayed to the user than the social circle "family". In this way, while the social circle "family" may be listed first on an alphabetical basis, the social circle "friends" is listed first instead based on the ranking score.
In some implementations, the ranking score may be based on the popularity of the contacts and/or social circles. For example, contacts with whom a user often shares digital content may have ranking scores that are higher than the ranking scores of contacts with whom the user rarely shares digital content. Continuing with the example provided above, the contact "Frank" may receive digital content from the user more often than the contact "Farley". As another example, social circles that are more commonly used to define digital content distribution may have ranking scores that are higher than the ranking scores of social circles that are less commonly used to define digital content distribution. Continuing with the example provided above, the social circle "friends" may be used more often by the user than the social circle "family" (i.e., the user distributes content to the friends 'social circle more often than to the family's social circle).
In some implementations, the ranking score may be based on the social proximity of the user to the respective contact. For example, a ranking score for a contact that is a direct contact of the user may be higher than a ranking score for a contact that is an indirect contact of the user. Continuing with the example provided above, contact "Frank" may be a direct contact of the user (e.g., a friend), while contact "Farley" is an indirect contact of the user (e.g., a friend of a friend).
In some implementations, the ranking score may be based on a frequency of interactions via email between the user and each respective contact. For example, a user may use an email service to email each contact directly and may have a ranking score for each contact based on email interaction. In some examples, the ranking score may be determined based on the number of emails sent from the user to a particular contact. In some examples, the ranking score may be determined based on the number of emails sent from the user to a particular contact within a particular time period. In this manner, the email contact frequency (i.e., the number of emails per time period) is considered in the ranking score. In some examples, the ranking score may be determined based on the number of emails sent from the user to the particular contact and the number of emails sent from the particular contact to the user. In some implementations, the email service may provide each ranking score to the social networking service.
Continuing with the example provided above, the contact "Frank" may communicate with the user's frequent emails, while the contact "Farley" communicates with the user's less frequent emails. A ranking score corresponding to Frank and a ranking score corresponding to Farley may be provided from an email service to a lower-level social networking service. Thus, the text input to the content sharing interface may include the letter "f," and the autocomplete function may identify the contacts "Frank" and "Farley" as contacts of the user to which the digital content may be distributed. The user real contacts may be used for selection in a ranking order based on the ranking score. Thus and continuing the example, the contact "Frank" may be listed higher on the contact list displayed to the user than the contact "Farley".
In some examples, the characters may be provided to the server as the user enters the characters, and the server may process the characters and any previously provided characters to provide output for presentation to the user. For example, the auto-correction function discussed herein may include transmitting character data to a server when a user enters character data to a content sharing interface. In response, the server may generate an output including one or more contact names and/or social graphs corresponding to the input character data for presentation back to the user in a list of contact names and/or social circles from which the user may select a particular contact and/or social circle.
As discussed above, the user may provide user input to a text area of the content sharing interface. In some implementations, the user input can include one or more trigger characters, each trigger character extending the distribution (i.e., resultant ACL) of the digital content provided by the user. For example, the trigger character may indicate that the character immediately following the trigger character defines the contact to which the digital content of the particular post should be distributed. In some implementations, this is a contact other than the contact and/or social circle identified in the associated distribution interface. In some examples, the trigger characters may include "" characters and/or "+" characters. The contact name immediately follows the trigger character. The trigger character and the contact name of the particular contact indicate within the text of the particular post that the post is to be distributed to the particular contact in addition to any other contacts and/or social circles entered using the associated distribution interface.
In one example, the user may enter the text "Frank" (or "+ Frank") in a text region (e.g., content input region 305 of content sharing interface 300) as part of a text post. For example, as part of a text post, a user may enter the text "Frank and i go to Joe's customer stack to watch a playoff" within the text area of the content sharing interface. The user may indicate that the textual post is to be distributed to a social circle (e.g., a friend social circle) using a distribution interface associated with the content sharing interface (e.g., distribution interface 340 of content sharing interface 300). In response to a user sending (by clicking on the post button) a text post for distribution using a social networking service, an ACL is generated for the text post as discussed herein and includes the user's contacts, which are members of a social circle, and a contact Frank (which may or may not be a contact of the social circle). Thus, even though the contact Frank may be identified as part of a distribution defined using the distribution interface, the presence of the text "Frank" in the text region still results in the distribution of a text post to the contact Frank.
In some implementations, the textual post including the trigger character may be distributed to the contacts and may be delivered when the trigger character is not present. Continuing with the above example, the user may enter the text "Frank and I go to Joe's customer stack to watch a playoff". When the text post is submitted, the post is distributed to the contact Frank, as well as any contacts and/or social circles defined using the distribution interface. When distributing a post to contact Frank and/or any other contact, the post may be displayed as "Frank and i go to Joe's customer stack watch playoff" and "the trigger character does not exist.
In some implementations, the contact name following the trigger character may be converted to hypertext and may provide a link to the profile of the contact within the social networking service. Continuing with the above example, the user may enter the text "Frank and I go to Joe's customer stack to watch a playoff". When the text post is submitted, the post is distributed to the contact Frank, as well as any contacts and/or social circles defined using the distribution interface. When distributing a post to contact Frank and/or any other contact, the post may be displayed as "FrankAnd I go to Joe's customer stack to watch the Final Settlement "and" the trigger character does not exist and the text "Frank" has a hyperlink associated with it. An action (e.g., click) on a hyperlink may cause a profile of Frank within the social networking service to be displayed to the user performing the action subject to any privacy settings established by Frank.
In some implementations, the autocomplete functionality discussed herein may be used to provide a literal relay within the literal region that follows the trigger character. Continuing with the above example, the user may initially type "F" and, in response, the user may be presented with a list of contact names to select from to complete the contact name entry. As also discussed herein, the contact names provided in the contact name list may be in a ranking order based on the respective ranking scores.
In some examples, the server may analyze the submitted text and identify that the trigger character exists within the text. In response, the server may analyze the text immediately following the trigger character to identify the contact of the user who submitted the text and may add the contact to the ACL for use in distributing the post. In some examples, the characters may be provided to the server as the user enters the characters, and the server may process the characters and any previously provided characters to provide output for presentation to the user. For example, the auto-complete functionality discussed herein may include transmitting character data to a server as a user enters character data into a content sharing interface. In response, the server may generate an output including one or more contact names and/or social circles corresponding to the input character data for presentation back to the user in a list of contact names and/or social circles from which the user may select a particular contact and/or social circle. In some implementations, the presence of the trigger character within the text region may trigger an auto-complete function for selecting a contact name and/or social circle to immediately follow the trigger character.
FIG. 7 depicts a screenshot of an example web page 700 that includes an example content sharing interface. In the illustrated example, web page 700 is provided as a search results web page. The web page 700 includes a collection of search results 710 and 730. In some implementations, each of the search results 710-730 may be provided as a content item, such as the content item 405 of fig. 4A-4D.
Share button 740, share button 750, and share button 760 may be embedded in a search results page, and each share button 740, 750, and 760 may be associated with a respective search result 710, 720, and 730. In some implementations, HTML, JavaScript, and/or any suitable programming code can be used to generate and display the share buttons 740, 750, and 760 in a search results page, and/or to provide metadata identifying the respective search results 710, 720, and 730 associated with the share buttons 740, 750, and 760. As described in more detail with reference to fig. 4A-5B, a user viewing the search results page may activate share buttons 740, 750, and 760 to share respective search results 710, 720, and 730 as content items. For example, the user may click on share button 760 to open display area 420 (as described above with reference to FIG. 4C) and distribute for sharing search results 730.
The example web page 700 also includes a so-called "sandbar" 780 that is displayed along the top edge of the web page 700. In the illustrated example, sandbars 780 provide hyperlinked text links to invoke other functions. While hypertext links are provided in this example, other types of links (e.g., icons, thumbnails) may also be provided. A "share" link 782 is provided and may be activated (e.g., clicked on) to invoke the content sharing interface. In some implementations, in response to activation of the share link 782, the content sharing interface 420 of fig. 4D can be displayed. The content sharing interface enables a user to share the entire search results (as digital content) with other users. For example, a summary of the search results and/or a URL of the search results page may be shared with the users defined in the distribution. While sandbar 780 is displayed in example web page 700, sandbar may be a feature displayed on each of several or all of the web pages viewed by the user.
Fig. 8 depicts a screenshot of an example map page 800 including an example content sharing interface 805 and a displayed map space 810. In some implementations, the content sharing interface 805 may be provided as the share button 410 and the map space may correspond to the content item 405 of fig. 4A-4D discussed in detail above. The map space 810 may include a portion of a map selected by a map server and may be displayed by a user interface, such as a web browser or a mapping application. In some implementations, the map space 810 may be defined by a display area 815 and a zoom level 820. Display area 815 may include a portion of a user display allocated for rendering map space 810. In other implementations, the map space 810 may be further defined by a center point. The center point may be a location of interest (e.g., city center, destination, store location) or any other point in the map space 810 that is a reference point.
The display area 815 may vary depending on the number of factors. Example factors include display device limitations, user preferences, and publisher preferences. In the illustrated example, the display area 815 is defined by the size and resolution of the display device. For example, a desktop computer with a 21 inch display and a 1282 x 768 resolution may display more maps than a web-enabled handheld device with a 3 inch display and a 240 x 240 resolution. Thus, when the display area 815 and resolution of each user device are different, the display area 815 selected for presentation to different user devices may be different.
Thus, user preferences may affect the display area 815 available for rendering the map space. The user device may have user preference settings that define the display area 815 and resolution. For example, a user device displaying a web page on a 21 inch display device may have a limited display area 815 if an application window containing the display area 815 is resized to occupy less than the entire display. Similarly, if the user device is displaying multiple windows in a 21 inch display or does not maximize the window in which the web page is displayed, the display area 815 may be limited. The user device may also be configured by the user to operate at a lower resolution than the maximum available resolution, thereby causing less information to be displayed.
In addition, the display area 815 may vary according to publisher preferences. For example, a publisher may design a web page to incorporate map space according to design specifications that enable various information (e.g., content, advertisements, links) to be displayed on a single page. Thus, the portion of each web page allocated to display map space 810 may vary according to the display area defined in the design specification and allocated by the publisher. For example, a publisher publishing a web page dedicated to displaying a map may assign a large portion of the web page as display area 815 (as shown in fig. 8) while utilizing a small portion of the display for other information (such as hyperlinks to other web pages). An example of a publisher that distributes a large portion of a web page for displaying maps is a map service. Conversely, a publisher that publishes a general content web page may prefer to allocate a portion of a much smaller web page as the display area 815, since the map space 810 is only a portion of the publisher's presentation information.
The user may activate the share button 805 to share the particular map shown in the display area 815. In some implementations, by clicking on the share button 805, the user can share the URL825 that links to the map service and provides instructions to display the map. However, in some implementations, the URL825 may not accurately convey the center point of the map space 810 currently displayed in the display area 815 and/or at the selected zoom level 820. For example, the map displayed in the display area may be the result of one or more panning and/or zooming operations invoked by the user. Thus, in some implementations, activation of the share button 805 may cause the identification of the map region 810 (e.g., the URL825) and metadata describing the display region 815 and zoom level 820 (as content) to be shared with other users. For example, the generated post data set may include a URL and metadata. When a receiving user clicks on, for example, a shared URL, a map service may be invoked and metadata may be provided (e.g., through one or more Application Program Interfaces (APIs)) to the map service to display the map to the receiving user, just as the sharing user viewed the map when the map was initially shared (e.g., through the same pan and zoom operations).
In accordance with implementations of the present disclosure, a server-side computing device (e.g., server system 112 of FIG. 1) may be used to serve one or more documents to one or more client-side computing devices (e.g., client device 102 and 110). In some implementations, the document can include instructions that can be processed by a browser application executing on the client-side computing device to display the web page in a browser window. The instructions may include instructions for displaying a content sharing interface in the web page and receiving user input through the content sharing interface. In some implementations, the instructions can include instructions for associating digital content provided in the web page with the content sharing interface.
In accordance with implementations of the present disclosure, a server-side computing device (e.g., server system 112 of FIG. 1) may be used to supply instructions to one or more client-side computing devices (e.g., client device 102 and 110). In some implementations, the instructions may be processed by a browser application executing on a client-side computing device to display a content sharing interface in one or more web pages displayed by the browser and receive user input through the content sharing interface. In some implementations, the instructions can include instructions to associate digital content provided in each of the one or more web pages with the content sharing interface.
In accordance with implementations of the present disclosure, a client-side computing device (e.g., client device 102-110) may execute a content sharing application to display a content sharing interface on a display of the client-side computing device. The content sharing application may correspond to a contact network associated with a user of the client-side computing device. In some implementations, the contact network can include contacts through an email service and/or contacts through a social networking service. In some examples, the content sharing application may provide a content sharing interface that is displayed on a desktop screen of the client computing device. Thus, a user of a client computing device may share digital content with contacts directly from the desktop screen without having to access a social networking service website.
In some implementations, the content sharing application may be provided as an add-on application to other applications that may be executed using the computing device. In some examples, a productivity application (e.g., a word processing application, a spreadsheet application, a presentation application, an email application) may be executed for providing a Graphical User Interface (GUI) through which a user may perform tasks (e.g., create and/or edit documents, spreadsheets, presentations, and/or emails). The content sharing application may be executed to provide a content sharing interface in a GUI of the productivity application. In this way, a user may share digital content with contacts while working in a productivity application without having to switch applications and/or access social networking service websites. It should be appreciated that the productivity application is provided for purposes of example, and the content sharing application may be provided as an add-on application to any other suitable type of application (e.g., entertainment, games).
FIG. 9 is a flow diagram illustrating an example process 900 for sharing content. The example process 900 may be implemented using one or more program applications executing on one or more computing devices. In some implementations, one or more server systems (e.g., server system 112 of FIG. 1) and one or more client computing devices (e.g., client device 102 and 110 of FIG. 1) may perform the operations of example process 900.
The document is served (i.e., transmitted) to the client computing device (902). For example, the server system 112 serves documents to the client computing devices 108. The document contains instructions for the browser application to perform client-side operations. For example, the client computing device 108 may execute a browser application that processes instructions.
Digital content is displayed (904). For example, the digital content may be displayed in a window of a browser application. A graphical representation of a content sharing interface is displayed (906). For example, the digital content may be displayed in a window of a browser application. User input is received to a content sharing interface (908). For example, the user 120d may provide input to the content sharing interface using the computing device 108. The user input indicates one or more contacts to which the digital content is distributed. In response to receiving the user input, one or more icons are displayed in the content sharing interface. For example, the user input may be processed to identify one or more contacts of the user. The one or more contacts may be contacts of a user in an email service and/or contacts in a social networking service. Each icon of the one or more icons serves as a graphical representation of one or more contacts.
User input to the content sharing interface is received (912). The user input includes user instructions for distributing the digital content. For example, the user input may be generated in response to a user clicking on a share button of the content sharing interface. In response to the user input, the post data is transmitted to the server computing system (914). The post data set includes digital content data and distribution data. A post data set is received (916). For example, a server system receives a post data set. An Access Control List (ACL) is generated based on the distribution data (918). The distribution data corresponds to one or more contacts. For example, the server system generates an ACL based on the distribution data. Digital content is distributed based on the ACLs (920). For example, the server system may provide a distribution center that determines an endpoint to which the digital content is distributed.
In some implementations, the example process 900 may include additional actions. In some examples, after receiving user input indicating one or more contacts to which the digital content is distributed, the ACL service may check the one or more contacts, contact groupings, and/or domains to which the digital content is distributed for one or more policies as described below with respect to fig. 10A-12.
In some implementations, the ACL service may implement one or more digital content distribution policies as described above. Example distribution policies may include age policies and/or domain policies. For purposes of illustration, example domain policies will be discussed herein. In some examples, the domain policy may include enabling or disabling a user from distributing digital content to contacts that are not contacts in the particular domain. Example domains may include domains of providers of computer-implemented social networking services. In some examples, the age policy may include prohibiting distribution of the digital content to one or more contacts determined to be underage.
Fig. 10A-11 depict example outputs of Access Control List (ACL) services in enforcing domain policies. Fig. 10A and 10B correspond to a domain policy that enables a user to distribute digital content to contacts that are not contacts in a particular domain. However, according to this policy, the user is alerted that the digital content is to be distributed to contacts outside of a particular domain. In some examples, for purposes of illustration, the first domain may comprise a social networking service domain established by a provider of a social networking service, and the second domain may comprise an email service domain established by a provider of an email service.
Referring to fig. 10A and 10B, as described in detail herein, a user of a social networking service may provide input to the distribution interface 1000 to define the distribution of digital content. One or more contacts and/or one or more social circles may be determined based on user input. As described in detail herein, the determined contacts and/or social circles may be graphically represented in the distribution interface 1000. In the example of fig. 10A, a "anyone" icon 1002 graphically represents a first distribution, a "football club" icon 1004 graphically represents a second distribution, and a "friends" icon 1006 represents a third distribution. In the example, the first distribution includes any user accessing the internet, indicating that the associated digital content will be visible to anyone via the internet. The second distribution corresponds to a football club social circle established by the user in the social networking service and may include one or more contacts that are contacts in the social networking service (i.e., the first domain) and one or more contacts that are non-social networking service contacts. In some examples, the non-social networking service contact may be a contact in an email service (i.e., the second domain). The third distribution corresponds to a friend's social circle established by the user in the social networking service and may include one or more contacts that are contacts in the social networking service (i.e., the first domain).
In some implementations, the ACL service may receive data indicating a first distribution defined in the distribution interface 1000. The ACL service may process the first distribution to determine whether the digital content is visible outside the first domain. Continuing with the example above, the first distribution includes any users accessing the internet. Thus, if the distribution is based on the first distribution, the ACL service determines that the digital content is visible outside the first domain. In response, the ACL service provides notification data that can be processed to generate a notification to the user that the digital content is visible outside the first domain. In some examples, an initial notification may be provided based on the appearance of the corresponding icon 1002. In the example of fig. 10A, the color of the icon 1002 may be provided as a red color, e.g., visually indicating that the digital content is visible outside of the first domain. In some examples, a dialog bubble (bubble)1008 may be displayed to textually indicate that the digital content is visible outside the first domain. For example, a user may manipulate a cursor to hover over an icon 1002 in the display. In response to the hover action, a dialog bubble 1008 may be displayed.
In some implementations, the ACL service may receive data indicating the second distribution defined in the distribution interface 1000. The ACL service may process the second distribution to determine whether the digital content is visible outside the first domain. Continuing with the example above, the second distribution includes contacts in the social networking service (i.e., the first domain) and non-social networking service contacts. Thus, if the distribution is based on the second distribution, the ACL service determines that the digital content is visible outside the first domain. In response, the ACL service provides notification data that can be processed to generate a notification to the user that the digital content is visible outside the first domain. In the example of fig. 10A, the color of the icon 1004 may be provided as a red color, e.g., visually indicating that the digital content is visible outside the first domain.
In some implementations, the ACL service may receive data indicating a third distribution defined in the distribution interface 1000. The ACL service may process the third distribution to determine whether the digital content is visible outside the first domain. Continuing with the example above, the third distribution includes contacts in the social networking service (i.e., the first domain). Thus, if distribution is performed based on the third distribution, the ACL service determines that the digital content is not visible outside the first domain. In response, the ACL service provides notification data that can be processed to generate a notification to the user that the third distribution digital content is not visible outside the first domain. In the example of fig. 10A, the color of the icon 1006 may be provided as green, e.g., visually indicating that the digital content is only visible in the first field due to the third distribution.
In some implementations, a publication button 1010 may be provided. The user can activate (e.g., click on) the publish button 1010 to submit digital content for distribution. In response to the user activating the publish button 1010 and indicating that the digital content may be distributed to a distribution outside the first domain, a confirmation dialog may be displayed to the user.
With respect to FIG. 10B, an example confirmation dialog 1020 is provided. This example confirmation dialog 1020 notifies the user that the digital content is to be distributed outside the first domain and displays icons 1002 and 1004 that may result in the distribution of the digital content outside the first domain. Confirmation dialog 1020 may include check box 1022, publication button 1024, and cancel button 1026. Checkbox 1022 may be activated by a user to indicate that the user desires distribution of the digital content despite being notified that the digital content is to be distributed outside of the first domain. In the example, check box 1022 is not activated. Thus, the publish button 1024 is not actionable (e.g., gray). If the user activates check box 1022, publication button 1024 becomes actionable and the user can activate (e.g., click) the publication button to cause the digital content to be distributed.
Fig. 11 corresponds to a domain policy that prohibits a user from distributing digital content to contacts that are not contacts in a particular domain. As described in detail herein, a user of the social networking service may provide input to the distribution interface 1100 to define the distribution of the digital content. One or more contacts and/or one or more social circles may be determined based on user input. As described in detail herein, the determined contacts and/or social circles may be graphically represented in the distribution interface 1100. In the example of FIG. 11, a "friends" icon 1102 represents distribution. In the example, the distribution corresponds to a friend's social circle established by the user in the social networking service, and may include one or more contacts that are contacts in the social networking service (i.e., the first domain).
User input to the distribution interface 1100 can correspond to a distribution that includes one or more contacts outside of the first domain. For example, the user may enter an email address corresponding to the second domain. In the example, the example email address may be provided as "iohndoentotdomain. The ACL service may receive user input and may process the user input to determine that the email address does not correspond to the first domain. Therefore, the icon corresponding to the email address is not displayed in the distribution interface 1100. Instead, the ACL service may provide notification data to display a notification to the user that the distribution is outside the first domain. Com, the notification includes a conversation bubble 1104 indicating that distribution to the email address johndoentotdomain.com is prohibited.
In some implementations, the domain policy may include a hybrid domain policy that enables a user to distribute digital content to one or more domains that are outside of the domain of the social networking service while also prohibiting distribution of digital content to one or more other domains that are also outside of the domain of the social networking service.
It should be understood that the domain policies discussed herein are example domain policies. Accordingly, the ACL service can implement any appropriate domain policy that can be established by a domain administrator.
FIG. 12 is a flow diagram illustrating an example process 1200 for implementing one or more policies. The example process 1200 may be implemented using one or more program applications executing on one or more computing devices. In some implementations, one or more server systems (e.g., server system 112 of FIG. 1) and/or one or more client computing devices (e.g., client device 102 and 110 of FIG. 1) may perform the operations of example process 1200.
User input is provided (1202). For example, the user input may be provided to a graphical user interface (e.g., a distribution interface) provided on the client-side computing device. User input is received (1204). For example, the user input may be received by one or more server-side computing devices. The user input may define a distribution of the one or more contacts to which the digital content is directed. The distribution is processed (1206) based on one or more policies, each of the one or more policies providing restrictions on distribution of the digital content.
Determining whether the distribution violates at least one policy of the one or more policies based on the processing (1208). If it is determined that the distribution does not violate at least one of the one or more policies, the example process 1200 ends. If it is determined that at least one policy that violates the one or more policies is distributed, notification data is transmitted (12010). A notification is displayed 1212. For example, the client-side computing device may receive notification data and may display a notification based thereon. The example process 1200 ends.
A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the disclosure. For example, various forms of the flows shown above may be used in reordering, adding, or removing steps. Accordingly, other implementations are within the scope of the following claims.
Implementations of the present disclosure and all of the functional operations provided herein may be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of the present invention can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer-readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more of them. The term "data processing apparatus" encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
A computer program (also known as a program, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
The processes and logic flows described in this disclosure can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, such as magnetic, opto-magnetic, or optical disks. However, the computer need not have such a device. Additionally, the computer may be embedded in another device, such as a mobile phone, a Personal Digital Assistant (PDA), a mobile audio player, a Global Positioning System (GPS) receiver, to name a few. Computer readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks or removable disks; a magneto-optical disk; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
To provide for interaction with a user, implementations of the invention can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user may be received in any form, including acoustic, speech, or tactile input.
Implementations of the present disclosure may be implemented in a computing system that includes a back-end component, e.g., as a data server or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user may interact with an implementation of the invention, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, such as a communication network. Examples of communication networks include a local area network ("LAN") and a wide area network ("WAN"), such as the Internet.
The computing system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
While this disclosure contains many specifics, these should not be construed as limitations on the scope of the disclosure or of what may be claimed, but rather as descriptions of features specific to particular implementations of the disclosure. Certain features of the disclosure that are described in the context of separate implementations can also be provided in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be provided in multiple implementations separately or in any suitable subcombination. In addition, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
In each instance where HTML files are mentioned, other file types or formats may be substituted. For example, an HTML file may be replaced with XML, JSON, plain text, or other types of files. In addition, when referring to a table or hash table, other data structures (such as spreadsheets, relational databases, or structured files) may be used.
Thus, particular implementations of the present disclosure have been described. Other implementations are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results.
Claims (79)
1. A system, comprising:
a server computing device; and
a computer-readable medium coupled to the server computing device and having instructions stored thereon that, when executed by the server computing device, cause the server computing device to perform server-side operations for distributing digital content for display across a network, the server-side operations comprising:
serving one or more web documents to a user-operated client computing device, each document containing instructions for a browser application to perform client-side operations comprising:
displaying, in a web page of a plurality of web pages, a graphical representation of a content sharing interface of a first social-networking service, the content sharing interface including a content input area that can receive user input;
receiving a first user input to the content input area;
in response to the first user input, extending the content sharing interface in the web page to include an extended content input area and a distribution interface, the extended content input area displaying a graphical representation of digital content to be distributed;
receiving a second user input to the distribution interface, the second user input indicating one or more contacts to which the digital content is distributed;
in response to receiving the second user input, displaying one or more icons in the distribution interface, each icon of the one or more icons being a graphical representation of the one or more contacts;
receiving a third user input to the content sharing interface, the third user input comprising user instructions for distributing the digital content; and
transmitting a post data set to the server computing system in response to the third user input, the post data set comprising digital content data and distribution data.
2. The system of claim 1, wherein an icon of the one or more icons corresponds to a social circle of the user in a social networking service, the social circle defining a subset of the one or more contacts.
3. The system of claim 1, wherein an icon of the one or more icons corresponds to a second social networking service in which the user participates.
4. The system of claim 3, wherein the second social-networking service comprises a microblog social-networking service.
5. The system of claim 3, wherein the second social networking service comprises a blog service.
6. The system of claim 1, wherein an icon of the one or more icons corresponds to at least one contact that receives the digital content via email.
7. The system of claim 1, wherein the client-side operations further comprise displaying web page digital content in the web page, wherein the content sharing interface displays a summary of the web page digital content in the expanded content input area.
8. The system of claim 1, wherein the summary is provided in response to a request for a source of the digital content, the request generated in response to the first user input.
9. The system of claim 1, wherein the client-side operations further comprise displaying one or more digital content selection icons in the expanded content selection area.
10. The system of claim 8, wherein the client-side operations further comprise:
receiving a fourth user input indicating a selection of an icon of the one or more digital content selection icons; and
in response to receiving the fourth user input, displaying a digital content selection interface through which a user can select additional digital content for distribution.
11. The system of claim 8, wherein the one or more digital content selection icons include a digital image selection icon, a digital video selection icon, a link selection icon, and a map selection icon.
12. The system of claim 8, wherein the one or more digital content selection icons are displayed in the content sharing interface prior to receiving the first user input.
13. The system of claim 1, wherein the web page comprises a map service web page and the digital content comprises a map.
14. The system of claim 13, wherein the post data set further comprises map data comprising scrolling data and zooming data corresponding to a map view of the map, the scrolling data and the zooming data being usable by the map service web page to replicate the map view.
15. The system of claim 1, wherein the server-side operations further comprise:
receiving the post data set;
generating an Access Control List (ACL) based on the distribution data, the distribution data corresponding to the one or more contacts; and
distributing the digital content based on the ACL.
16. The system of claim 1, wherein the first user input comprises a click in the content input area.
17. The system of claim 1, wherein the web page comprises a web page of the social networking service.
18. The system of claim 1, wherein each web page of the plurality of web pages comprises a web page of an internet-based social networking service.
19. The system of claim 1, wherein the web page comprises a web page of a website outside of a domain of the social networking service.
20. The system of claim 1, wherein the content sharing interface is provided in a toolbar of the web page.
21. A computer storage medium encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
displaying, in a web page of a plurality of web pages, a graphical representation of a content sharing interface of a first social-networking service, the content sharing interface including a content input area that can receive user input;
receiving a first user input to the content input area;
in response to the first user input, extending the content sharing interface in the web page to include an extended content input area and a distribution interface, the extended content input area displaying a graphical representation of digital content to be distributed;
receiving a second user input to the distribution interface, the second user input indicating one or more contacts to which the digital content is distributed;
in response to receiving the second user input, displaying one or more icons in the distribution interface, each icon of the one or more icons being a graphical representation of the one or more contacts;
receiving a third user input to the content sharing interface, the third user input comprising user instructions for distributing the digital content; and
transmitting a post data set to the server computing system in response to the third user input, the post data set comprising digital content data and distribution data.
22. A computer-implemented method, comprising:
displaying, in a web page of a plurality of web pages, a graphical representation of a content sharing interface of a first social-networking service, the content sharing interface including a content input area that can receive user input;
receiving a first user input to the content input area;
in response to the first user input, extending the content sharing interface in the web page to include an extended content input area and a distribution interface, the extended content input area displaying a graphical representation of digital content to be distributed;
receiving a second user input to the distribution interface, the second user input indicating one or more contacts to which the digital content is distributed;
in response to receiving the second user input, displaying one or more icons in the distribution interface, each icon of the one or more icons being a graphical representation of the one or more contacts;
receiving a third user input to the content sharing interface, the third user input comprising user instructions for distributing the digital content; and
transmitting a post data set to the server computing system in response to the third user input, the post data set comprising digital content data and distribution data.
23. A system, comprising:
a server computing device; and
a computer-readable medium coupled to the server computing device and having instructions stored thereon that, when executed by the server computing device, cause the server computing device to perform server-side operations for distributing digital content for display across a network, the server-side operations comprising:
serving one or more web documents to a user-operated client computing device, each document containing instructions for a browser application to perform client-side operations comprising:
displaying digital content in a web page;
displaying, in the web page, a graphical representation of a content sharing interface of a social networking service, the content sharing interface including a distribution interface that can receive user input;
receiving first user input to the distribution interface, the first user input indicating one or more social circles, each social circle including one or more contacts to which the digital content is distributed;
in response to receiving the first user input, displaying one or more icons in the content sharing interface, each icon of the one or more icons being a graphical representation of the one or more contacts;
receiving a second user input to the content sharing interface, the second user input comprising user instructions for distributing the digital content; and
transmitting a post data set to the server computing system in response to the third user input, the post data set comprising digital content data and distribution data.
24. A system, comprising:
one or more computing devices; and
one or more computer-readable media coupled to the one or more computing devices and having instructions stored thereon that, when executed by the one or more computing devices, cause the one or more computing devices to perform operations for distributing digital content for display across a network using a social networking service, the operations comprising:
receiving user input indicating a distribution of the digital content, the distribution indicating one or more contacts to which the digital content is distributed;
processing the distribution based on one or more policies, each policy of the one or more policies providing restrictions on distribution of the digital content;
based on the processing, determining that the distribution violates at least one policy of the one or more policies; and
in response to the determination, transmitting notification data to display a notification to a user that the distribution violates the at least one policy.
25. The system of claim 24, wherein the operations further comprise transmitting icon data to display an icon to the user as a graphical representation of the distribution, wherein the notification comprises an attribute of the icon.
26. The system of claim 25, wherein the attribute comprises a color of the icon.
27. The system of claim 24, wherein the notification includes an indication that the distribution includes one or more non-domain contacts.
28. The system of claim 27, wherein each non-domain contact of the one or more non-domain contacts comprises a contact of the user that is outside a domain of the social networking service.
29. The system of claim 24, wherein the user input comprises an email address.
30. The system of claim 29, wherein the email address corresponds to a domain that is external to a domain of the social networking service.
31. The system of claim 24, wherein the operations further comprise:
receiving a user input corresponding to the notification; and
in response to receiving the user input corresponding to the notification, transmitting dialog data to display a dialog to the user.
32. The system of claim 31, wherein the dialog box includes text indicating that the distribution includes one or more non-domain contacts.
33. The system of claim 32, wherein each non-domain contact of the one or more non-domain contacts comprises a contact of the user that is outside a domain of the social networking service.
34. The system of claim 31, wherein the user input corresponding to the notification comprises a hover action over the notification.
35. The system of claim 24, wherein the operations further comprise:
receiving user input indicative of a command to distribute the digital content based on the distribution; and
in response to receiving the user input indicating the command for distribution, transmitting confirmation dialog data to display a confirmation dialog to the user.
36. The system of claim 35, wherein the confirmation dialog notifies the user that distribution of the digital content will result in distribution of the digital content to one or more domains outside of a domain of the social networking service.
37. The system of claim 35, wherein the operations further comprise:
receiving a user input provided to the confirmation dialog, the user input indicating a second command to distribute the digital content based on the distribution; and
in response to receiving the user input, distributing the digital content based on the distribution.
38. The system of claim 24, wherein the policy comprises an age policy.
39. The system of claim 38, wherein the age policy includes prohibiting distribution of the digital content to one or more contacts of the distribution determined to be underage.
40. A computer storage medium encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
receiving user input indicating distribution of digital content, the distribution indicating one or more contacts to which the digital content is distributed;
processing the distribution based on one or more policies, each policy of the one or more policies providing restrictions on distribution of digital content;
based on the processing, determining that the distribution violates at least one policy of the one or more policies; and
in response to the determination, transmitting notification data to display a notification to a user that the distribution violates the at least one policy.
41. A computer-implemented method, comprising:
receiving user input indicating distribution of digital content, the distribution indicating one or more contacts to which the digital content is distributed;
processing the distribution based on one or more policies, each policy of the one or more policies providing restrictions on distribution of digital content;
based on the processing, determining that the distribution violates at least one policy of the one or more policies; and
in response to the determination, transmitting notification data to display a notification to a user that the distribution violates the at least one policy.
42. A system, comprising:
a server computing device; and
a computer-readable medium coupled to the server computing device and having instructions stored thereon that, when executed by the server computing device, cause the server computing device to perform server-side operations for distributing digital content for display across a network, the server-side operations comprising:
serving at least one web page document to a user-operated client computing device, the web page document containing instructions for a browser application to perform client-side operations, the client-side operations comprising:
in a web page, presenting a graphical representation of a content sharing interface of a first social-networking service, the graphical representation including at least one button icon responsive to user input;
receiving a first user input to the button icon;
in response to the first user input, extending the content sharing interface in the web page to include an extended content input area and a distribution interface, the extended content input area displaying a graphical representation of digital content to be distributed;
receiving a second user input to the distribution interface, the second user input indicating one or more contacts to which the digital content is distributed;
in response to receiving the second user input, displaying one or more icons in the distribution interface, each icon of the one or more icons being a graphical representation of the one or more contacts;
receiving a third user input to the content sharing interface, the third user input comprising user instructions for distributing the digital content; and
transmitting a post data set to the server computing system in response to the third user input, the post data set comprising digital content data and distribution data.
43. The system of claim 42, wherein an icon of the one or more icons corresponds to a social circle of the user in a social networking service, the social circle defining a subset of the one or more contacts.
44. The system of claim 42, wherein an icon of the one or more icons corresponds to a second social networking service in which the user participates.
45. The system of claim 44, wherein the second social-networking service comprises a micro-blogging social-networking service.
46. The system of claim 44, wherein the second social networking service comprises a blog service.
47. The system of claim 42, wherein an icon of the one or more icons corresponds to at least one contact that receives the digital content via email.
48. The system of claim 42, wherein the client-side operations further comprise displaying web page digital content in the web page, wherein the content sharing interface displays a summary of the web page digital content in the expanded content input area.
49. The system of claim 42, wherein the client-side operations further comprise displaying one or more digital content selection icons in the expanded content selection area.
50. The system of claim 49, wherein the client-side operations further comprise:
receiving a fourth user input indicating a selection of an icon of the one or more digital content selection icons; and
in response to receiving the fourth user input, displaying a digital content selection interface through which a user can select additional digital content for distribution.
51. The system of claim 49, wherein the one or more digital content selection icons include a digital image selection icon, a digital video selection icon, a link selection icon, and a map selection icon.
52. The system of claim 49, wherein the one or more digital content selection icons are displayed in the content sharing interface prior to receiving the first user input.
53. The system of claim 42, wherein the client-side operations further comprise:
receiving a fourth user input indicating a hover action on the button icon; and
in response to receiving the fourth user input, displaying a dialog box that displays data corresponding to contacts that have shared the digital content.
54. The system of claim 53, wherein the first user input comprises a user selection of the button icon.
55. The system of claim 42, wherein the web page comprises a search results page and the button icon is associated with a search result displayed in the web page.
56. The system of claim 42, wherein the web page comprises a map service web page and the digital content comprises a map.
57. The system of claim 56, wherein the post data set further comprises map data comprising scrolling data and zooming data corresponding to a map view of the map, the scrolling data and the zooming data being usable by the map service web page to replicate the map view.
58. The system of claim 42, wherein the server-side operations further comprise:
receiving the post data set;
generating an Access Control List (ACL) based on the distribution data, the distribution data corresponding to the one or more contacts; and
distributing the digital content based on the ACL.
59. The system of claim 42, wherein the web page comprises a web page of the social networking service.
60. The system of claim 42, wherein each web page of the plurality of web pages comprises a web page of the social networking service.
61. The system of claim 42, wherein the web page comprises a web page of a website outside of a domain of the social networking service.
62. A computer storage medium encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
in a web page, presenting a graphical representation of a content sharing interface of a first social-networking service, the graphical representation including at least one button icon responsive to user input;
receiving a first user input to the button icon;
in response to the first user input, extending the content sharing interface in the web page to include an extended content input area and a distribution interface, the extended content input area displaying a graphical representation of digital content to be distributed;
receiving a second user input to the distribution interface, the second user input indicating one or more contacts to which the digital content is distributed;
in response to receiving the second user input, displaying one or more icons in the distribution interface, each icon of the one or more icons being a graphical representation of the one or more contacts;
receiving a third user input to the content sharing interface, the third user input comprising user instructions for distributing the digital content; and
in response to the third user input, transmitting a post data set to a server computing system, the post data set including digital content data and distribution data.
63. A computer-implemented method, comprising:
in a web page, presenting a graphical representation of a content sharing interface of a first social-networking service, the graphical representation including at least one button icon responsive to user input;
receiving a first user input to the button icon;
in response to the first user input, extending the content sharing interface in the web page to include an extended content input area and a distribution interface, the extended content input area displaying a graphical representation of digital content to be distributed;
receiving a second user input to the distribution interface, the second user input indicating one or more contacts to which the digital content is distributed;
in response to receiving the second user input, displaying one or more icons in the distribution interface, each icon of the one or more icons being a graphical representation of the one or more contacts;
receiving a third user input to the content sharing interface, the third user input comprising user instructions for distributing the digital content; and
in response to the third user input, transmitting a post data set to a server computing system, the post data set including digital content data and distribution data.
64. A system, comprising:
a server computing device; and
a computer-readable medium coupled to the server computing device and having instructions stored thereon that, when executed by the server computing device, cause the server computing device to perform server-side operations for distributing digital content for display across a network, the server-side operations comprising:
serving at least one web page document to a user-operated client computing device, the document containing instructions for a browser application to perform client-side operations comprising:
displaying webpage digital content in a webpage;
displaying, in the web page, a graphical representation of a content sharing interface of a social networking service, the graphical representation including at least one button icon responsive to user input;
receiving a first user input to the button icon, the first user input indicating a user desire to distribute digital content associated with web page digital content;
in response to receiving the first user input, extending the content sharing interface in the web page to include an extended content entry area and a distribution interface, the extended content entry area displaying the digital content provided as a summary of the web page digital content;
receiving, by the distribution interface, a second user input indicating one or more social circles, each social circle including one or more contacts to which the digital content is distributed;
in response to receiving the second user input, displaying one or more icons at the distribution interface, each icon of the one or more icons being a graphical representation of the one or more social circles;
receiving a third user input to the content sharing interface, the third user input comprising user instructions for distributing the digital content; and
transmitting a post data set to the server computing system in response to the third user input, the post data set comprising digital content data and distribution data.
65. A system, comprising:
a server computing device operable to supply a computer program to one or more client computing devices on a network, the computer program comprising instructions stored thereon that, when executed by the client computing devices, cause the client computing devices to perform operations for distributing digital content for display across a network, the operations comprising:
presenting, on a display, a graphical representation of a content sharing interface of a social networking service;
receiving a first user input to the content sharing interface;
in response to the first user input, extending the content sharing interface to include an extended content input area and a distribution interface, the extended content input area displaying a graphical representation of digital content to be distributed;
receiving a second user input to the distribution interface, the second user input indicating one or more contacts to which the digital content is distributed;
in response to receiving the second user input, displaying one or more icons in the distribution interface, each icon of the one or more icons being a graphical representation of the one or more contacts;
receiving a third user input to the content sharing interface, the third user input comprising user instructions for distributing the digital content; and
transmitting a post data set to the server computing system in response to the third user input, the post data set comprising digital content data and distribution data.
66. The system of claim 65, wherein an icon of the one or more icons corresponds to a social circle of the user in a social networking service, the social circle defining a subset of the one or more contacts.
67. The system of claim 65, wherein an icon of the one or more icons corresponds to a second social networking service in which the user participates.
68. The system of claim 67, wherein the second social-networking service comprises a microblog social-networking service.
69. The system of claim 67, wherein the second social networking service comprises a blog service.
70. The system of claim 65, wherein an icon of the one or more icons corresponds to at least one contact that receives the digital content via email.
71. The system of claim 65, wherein the operations further comprise displaying web page digital content in the web page, wherein the content sharing interface displays a summary of the web page digital content in the expanded content input area.
72. The system of claim 65, wherein the operations further comprise displaying one or more digital content selection icons in the expanded content selection area.
73. The system of claim 72, wherein the operations further comprise:
receiving a fourth user input indicating a selection of an icon of the one or more digital content selection icons; and
in response to receiving the fourth user input, displaying a digital content selection interface through which a user can select additional digital content for distribution.
74. The system of claim 72, wherein the one or more digital content selection icons include a digital image selection icon, a digital video selection icon, a link selection icon, and a map selection icon.
75. The system of claim 72, wherein the one or more digital content selection icons are displayed in the content sharing interface prior to receiving the first user input.
76. The system of claim 65, wherein the graphical representation of the content sharing interface is displayed on a desktop display of the client computing device.
77. The system of claim 65, wherein the graphical representation of the content sharing interface is displayed as a toolbar in a web browser application executing on the client computing device.
78. A computer storage medium encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
presenting, on a display, a graphical representation of a content sharing interface of a social networking service;
receiving a first user input to the content sharing interface;
in response to the first user input, extending the content sharing interface to include an extended content input area and a distribution interface, the extended content input area displaying a graphical representation of digital content to be distributed;
receiving a second user input to the distribution interface, the second user input indicating one or more contacts to which the digital content is distributed;
in response to receiving the second user input, displaying one or more icons in the distribution interface, each icon of the one or more icons being a graphical representation of the one or more contacts;
receiving a third user input to the content sharing interface, the third user input comprising user instructions for distributing the digital content; and
transmitting a post data set to the server computing system in response to the third user input, the post data set comprising digital content data and distribution data.
79. A computer-implemented method, comprising:
presenting, on a display, a graphical representation of a content sharing interface of a social networking service;
receiving a first user input to the content sharing interface;
in response to the first user input, extending the content sharing interface to include an extended content input area and a distribution interface, the extended content input area displaying a graphical representation of digital content to be distributed;
receiving a second user input to the distribution interface, the second user input indicating one or more contacts to which the digital content is distributed;
in response to receiving the second user input, displaying one or more icons in the distribution interface, each icon of the one or more icons being a graphical representation of the one or more contacts;
receiving a third user input to the content sharing interface, the third user input comprising user instructions for distributing the digital content; and
transmitting a post data set to the server computing system in response to the third user input, the post data set comprising digital content data and distribution data.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US61/408,811 | 2010-11-01 | ||
| US61/408,732 | 2010-11-01 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1188011A true HK1188011A (en) | 2014-04-17 |
| HK1188011B HK1188011B (en) | 2019-12-13 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CA2816560C (en) | Content sharing interface for sharing content in social networks | |
| US12003467B2 (en) | Sharing web entities based on trust relationships | |
| US8996625B1 (en) | Aggregate display of messages | |
| CN103930920B (en) | Share content to a discovered content stream in a social networking service | |
| US9020965B1 (en) | Social networking relationship ranking and decay | |
| US9223835B1 (en) | Ranking and ordering items in stream | |
| US9495079B2 (en) | Persistent feeder component for displaying feed items received from information feeds of online social networks | |
| US10133765B1 (en) | Quality score for posts in social networking services | |
| US8832567B1 (en) | Using visualization techniques for adjustment of privacy settings in social networks | |
| CN103164509A (en) | Computer-implemented method for selectively displaying content to a user of a social network, computer system and computer readable medium thereof | |
| US8874559B1 (en) | Ranking and ordering items in user-streams | |
| US9560054B2 (en) | Incoming and outgoing privacy settings in social networks | |
| CN105229638A (en) | Automated librarian who acts as a contributor to a collection of content | |
| US20150332416A1 (en) | Interactions in social networking services | |
| US10528893B1 (en) | Generating notifications based on formation of memberships | |
| US9684936B2 (en) | Methods, systems, and user interfaces for presenting local favorites | |
| US20170187664A1 (en) | Selectively providing access to digital content in social networking services | |
| HK1188011A (en) | Content sharing interface for sharing content in social networks | |
| AU2012327252B2 (en) | Sharing content to discovered content streams in social networking services | |
| HK1188011B (en) | Content sharing interface for sharing content in social networks |