US20130346877A1 - Recommended content for an endorsement user interface - Google Patents
Recommended content for an endorsement user interface Download PDFInfo
- Publication number
- US20130346877A1 US20130346877A1 US13/730,252 US201213730252A US2013346877A1 US 20130346877 A1 US20130346877 A1 US 20130346877A1 US 201213730252 A US201213730252 A US 201213730252A US 2013346877 A1 US2013346877 A1 US 2013346877A1
- Authority
- US
- United States
- Prior art keywords
- user
- content
- endorsement
- source
- content item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims description 83
- 230000009471 action Effects 0.000 claims description 47
- 238000004590 computer program Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 abstract description 47
- 238000005516 engineering process Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 8
- 230000007704 transition Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 5
- 230000002596 correlated effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003334 potential effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 108020001568 subdomains Proteins 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000003612 virological effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Definitions
- the present disclosure relates to user interfaces for providing recommended content.
- a system for providing a user interface including recommended content or information in response to an endorsement input includes a processor and a memory storing instructions that, when executed, cause the system to: receive an input from a first user; determine that the input is related to an endorsement of a first content item from a first source; determine a social correlation between the first content item from the first source and a second content item from a second source, the social correlation indicating both the first content item and the second content item are associated with a first engagement action performed by a second user connected to the first user in a social graph; determine a source correlation between the first source and the second source, the source correlation indicating both the first source and the second source are associated with one or more second engagement actions performed by the first user; determine recommended content using the social correlation and the source correlation; and generate graphical data for depicting a user interface element that provides the recommended content to the first user.
- another innovative aspect of the subject matter described in this disclosure may be embodied in methods that include: receiving an input from a first user; determining that the input is related to an endorsement of a first content item from a first source; determining a social correlation between the first content item from the first source and a second content item from a second source, the social correlation indicating both the first content item and the second content item are associated with a first engagement action performed by a second user connected to the first user in a social graph; determining a source correlation between the first source and the second source, the source correlation indicating both the first source and the second source are associated with one or more second engagement actions performed by the first user; determining recommended content using the social correlation and the source correlation; and generating graphical data for depicting a user interface element that provides the recommended content to the first user.
- implementations of one or more of these aspects include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.
- the features include: the first source and the second source being associated with a domain specified by a publisher and the recommended content including the second content item; the input being one of a request for an endorsement button to endorse the first content item, a cursor over the endorsement button, a selection of the endorsement button, and a sharing of the first content item; the user context describing one or more of a search history being associated with the first user, social data being associated with the first user, transaction data being associated with the first user, advertisement data being associated with the first user, whether the first user has made endorsements to other content items, whether a number of endorsements made by the first user is lower than a predetermined threshold, whether the first user has shared the first content item and whether the first user has commented on the first content item; the recommended content being ordered by one of a number of social annotations and recency of the recommended content; and the user interface element being one of an endorsement button, an annotation and a share box.
- the operations further include:
- the present disclosure may be advantageous because it can be able to identify recommended content and provide the recommended content to the user in association with endorsement activities. This can be particularly advantageous because the recommended content can be provided in a context in which it may be very useful to the user. More specifically, the present disclosure provides recommended content in a share box and the share box can include action buttons for interacting with the recommended content for example, commenting on it, sharing it, making a purchase related to it, taking other actions related to the content or transitioning to other interfaces to view the content. The present disclosure may be also advantageous because the context of the user can be used to generate the recommended content. Context information may include information from a social network, information about searches, endorsement information, web history, publisher information, and domain information which may or may not be particular to the user.
- FIG. 1 is a block diagram illustrating a first example implementation of a system for providing recommended content in a share box.
- FIG. 2 is a block diagram illustrating a second example implementation of the system for providing recommended content in a share box.
- FIG. 3 is a block diagram illustrating an example implementation of an endorsement/recommendation module.
- FIG. 4 is a flowchart of a first example implementation of a method for providing recommended content in a share box.
- FIGS. 5A-5C are a flowchart of a second example implementation of the method for providing recommended content in a share box.
- FIGS. 6A-6F are graphic representations of example implementations of user interfaces for an endorsement button with an annotation.
- FIGS. 7A-7E are graphic representations of example implementations of user interfaces for a share box including recommended content presented in response to hovering over an endorsement button.
- FIGS. 8A-8C are graphic representations of example implementations of user interfaces for a share box including recommended content presented in response to selection of an endorsement button or sharing of content.
- FIG. 9 is a graphic representation of an example implementation of a webpage including an endorsement button.
- FIGS. 10A and 10B are graphic representations of an example implementation of a webpage and promotional content presented in response to hovering over an endorsement button.
- FIGS. 11A and 11B are graphic representations of an example implementation of a webpage and a share box including recommended content presented in response to hovering over an endorsement button.
- FIGS. 12A-12D are graphic representations of an example implementation of a content icon and associated information presented in response to hovering over an endorsement button.
- FIGS. 13A-13F are graphic representations of example implementations of a webpage and a share box including recommended content presented in response to selection of an endorsement button or sharing of content.
- FIG. 1 illustrates an implementation of a system 100 for presenting a user interface (e.g., a share box) with content information in response to an endorsement input.
- the system 100 includes a client device 104 , a network 140 , an endorsement server 112 , a search server 114 , a recommendation server 120 , a social network server 124 , a third party server 126 and an advertising (ad) server 128 .
- the client device 104 can be utilized by a user 102 to input a request to retrieve information from: (1) the third party server 126 , (2) the search server 114 or (3) to receive a stream of data from the social network server 124 .
- the client device 104 is coupled for communication with the network 140 which in turn is coupled for communication with the endorsement server 112 , the search server 114 , the recommendation server 120 , the social network server 124 , and the third party server 126 .
- any number of client devices 104 can be available to any number of users 102 .
- any number of networks 140 can be connected to the system 100 .
- the system 100 could include one or more endorsement servers 112 , search servers 114 , recommendation servers 120 , social network servers 124 , and third party servers 126 .
- the present disclosure is described below primarily in the context of content from third party servers 126 , search results and streams from a social network server 124 , the present disclosure can be applicable to any type of online communications with multiple data sources and multiple data types.
- the client device 104 includes a memory 106 , a processor 108 and a sharing client 110 .
- the client device 104 may be a personal computer, a laptop computer, a tablet computer, a mobile phone (e.g., a smart phone) or any other computing device.
- the memory 106 stores instructions and/or data that may be executed by the processor 108 .
- the memory 106 is coupled to a bus for communication with the other components.
- the instructions and/or data may include code for performing the techniques described herein.
- the memory 106 may be a dynamic random access memory (DRAM) device, a static random access memory (SRAM) device, a flash memory or some other memory device.
- DRAM dynamic random access memory
- SRAM static random access memory
- flash memory or some other memory device.
- the processor 108 includes an arithmetic logic unit, a microprocessor, a general purpose controller or some other processor array to perform computations and provide electronic display signals to a display device.
- the processor 108 is coupled to a bus for communication with the other components.
- Processor 108 processes data signals and may include various computing architectures including a complex instruction set computer (CISC) architecture, a reduced instruction set computer (RISC) architecture, or an architecture implementing a combination of instruction sets. Although only a single processor is shown in FIG. 1 , multiple processors may be included. Other processors, operating systems, sensors, displays and physical configurations are possible.
- the sharing client 110 may be software or routines operable on the client device 104 for performing at least part of the operations required for creating and displaying a user interface or share box.
- the sharing client 110 also receives and processes input from the user 102 .
- the sharing client 110 also processes and sends the contents of the share box in response to user selection of actions or buttons associated with content in the share box.
- the sharing client 110 may be a plug-in to a web browser 202 (see FIG. 2 ).
- the sharing client 110 accepts inputs from the user 102 , sends the inputs to the endorsement/recommendation module 156 , displays a share box, and sends inputs related to the share box to the endorsement/recommendation module 156 , but the endorsement/recommendation module 156 can be primarily responsible for processing and generating the share box.
- the sharing client 110 performs at least part of the processing steps that will be described below as being performed by the endorsement/recommendation module 156 .
- the sharing client 110 may create the share box, populate the share box with content, filter the content in the share box, personalize the content in the share box, and in response to user input share or distribute the content of the share box to other systems.
- individual steps of the methods described below may be divided between the sharing client 110 and the endorsement/recommendation module 156 in a variety of different ways.
- the client device 104 can be configured for communication with the network 140 .
- the client device 104 In response to user input, the client device 104 generates and sends a request to the network 140 .
- the network 140 receives and passes the request on to the endorsement server 112 , the search server 114 , or the social network server 124 depending on the type of request.
- a response can be generated by the endorsement server 112 , the search server 114 , or the social network server 124 depending on the type of request.
- the response may be a web page, search results, a stream from a social network or other content.
- This content can be displayed on the client device 104 to the user 102 .
- the content will also include one more endorsement buttons, generated by the endorsement server 112 .
- the user can endorse the content or portions of it by selecting an endorsement button.
- the network 140 can be wired or wireless, and may have one or more configurations, e.g., a star configuration, token ring configuration or other configurations. Furthermore, the network 140 may include a local area network (LAN), a wide area network (WAN) (e.g., the Internet), and/or other interconnected data path across which multiple devices may communicate. In some implementations, the network 140 may be a peer-to-peer network. The network 140 may also be coupled to or include portions of a telecommunications network for sending data in a variety of different communication protocols. In some implementations, the network 140 includes Bluetooth communication networks or a cellular communications network for sending and receiving data via short messaging service (SMS), multimedia messaging service (MMS), hypertext transfer protocol (HTTP), direct data connection, wireless application protocol (WAP), email, etc.
- SMS short messaging service
- MMS multimedia messaging service
- HTTP hypertext transfer protocol
- WAP wireless application protocol
- the search server 114 includes a processor 116 and a memory 118 .
- the processor 116 is similar to the processor 108 described above; however, it may have increased computing capability.
- the memory 118 is similar to the memory 106 described above; however, it may be larger in size, have faster access time, and also include volatile and nonvolatile memory types.
- the memory 118 stores a search engine 130 and an endorsement/recommendation module 156 C.
- the search engine 130 can be operable on the processor 116 to receive the query signal and in response return search results.
- the search engine 130 collects, parses, indexes and stores data to facilitate information retrieval.
- the search engine 130 also processes search queries and returns search results from the data sources that match the terms in the search query.
- the search engine 130 also ranks search results based upon relevance to the user.
- the search engine 130 also formats and sends the search results via the network 140 to the client device 104 .
- the search engine 130 is coupled for communication with the endorsement/recommendation module 156 C to modify the ranking of the search results based on input signals from the endorsement/recommendation module 156 C.
- the endorsement/recommendation module 156 may be software or routines that can be responsive to user input and generate the user interface or share box as will be described below with reference to FIGS. 6A-13F .
- FIG. 1 shows multiple endorsement sharing modules 156 A, 156 B, 156 C, 156 D and 156 E, a single endorsement/recommendation module 156 can be included according to the present disclosure. That endorsement/recommendation module 156 may be part of the endorsement server 112 , the search server 114 , the recommendation server 120 , the social network server 124 or the ad server 128 .
- the endorsement/recommendation module 156 cooperates with the sharing client 110 of the client device 104 .
- multiple endorsement sharing modules 156 A, 156 B, 156 C, 156 D and 156 E cooperate with each other to provide the functionality as described below with reference to FIGS. 4-13F .
- the endorsement/recommendation module 156 C can be operable as part of the search server 114 and is coupled to receive the context of information presented to the user 102 by the search engine 130 .
- the endorsement/recommendation module 156 C is also coupled to communicate with the endorsement server 112 to receive information related to the endorsement of a particular piece of content.
- the endorsement/recommendation module 156 C is also coupled for communication with the social network server 124 to receive the context of information presented to the user 102 by the social network server 124 .
- the endorsement/recommendation module 156 C is coupled to receive other types of information, for example information about a user's social graph, information about user interaction with the social network server 124 , user interaction with a video sharing site, or other system with which a user may interact including but not limited to micro-blogs, comments, votes (e.g., indicating approval or disapproval of particular content), other indications of interest (e.g., that promote content for consumption by other users), playlists (e.g., for video or music content) and the like.
- the endorsement/recommendation module 156 C is also coupled to communicate with the recommendation server 120 .
- the endorsement/recommendation module 156 C receives recommended content and other information about the user from the recommendation server 120 .
- users can be provided options to opt-in or opt-out of having this type of information being used.
- publishers can be provided with options to opt-in or opt-out of having their content included as part of recommended content.
- present disclosure will be described below in the context of endorsement of search results; however, the principles and concepts of the disclosed technologies can be applied to other type of content including web content or resources, social network information, or micro blogs, posts, etc.
- the endorsement/recommendation module 156 C receives social information from the social network server 124 , endorsement information from the endorsement server 112 , recommended content from the recommendation server 120 , or video or multimedia information from a multimedia server (not shown) and uses that information to modify the ranking of search results. For example, the ranking of the search results may be modified based on whether one or more of the user's contacts, as determined from the social network, have reviewed the results. In another example, the ranking of the search results may be modified based on whether another user has endorsed a search result or more particularly whether one or more contacts of the user have endorsed a search result. Still further, the ranking of the search results may be modified using information from video or multimedia information from a multimedia server.
- the social network server 124 is coupled to the network 140 .
- the social network server 124 also includes a social network software/application (not shown). Although one social network server 124 is shown in detail, multiple social network servers 124 may be present.
- a social network can be a type of social structure where the users may be connected by a common feature.
- the common feature includes relationships/connections, e.g., friendship, family, work, an interest, etc.
- the common features can be provided by one or more social networking systems, for example, those included in the system 100 , including explicitly-defined relationships and relationships implied by social connections with other online users, where the relationships form a social graph. In some examples, the social graph can reflect a mapping of these users and how they may be related.
- the social network server 124 and social network software/application can be representative of one social network and that there can be multiple social networks coupled to the network 140 , each having its own server, application and social graph.
- a first social network can be more directed to business networking
- a second can be more directed to or centered on academics
- a third can be more directed to local business
- a fourth can be directed to dating and others of general interest or a specific focus.
- the social network server 124 may provide personalized streams of content including photos, posts, shares, and other information from a variety of sources including friends, colleagues, news sources, etc.
- the endorsement/recommendation module 156 B operates as part of the social network server 124 .
- This implementation of the endorsement/recommendation module 156 B has the same functionality as has been described above for the endorsement/recommendation module 156 C that can be part of the search server 114 .
- the endorsement/recommendation module 156 B generates and populates a user interface or share box in response to user requests.
- the endorsement/recommendation module 156 B obtains the context of the user from the social network server 124 .
- the endorsement/recommendation module 156 B also communicates with the endorsement server 112 , the search server 114 and the recommendation server 120 to retrieve other contextual information.
- This information can be used by the endorsement/recommendation module 156 B to filter and personalize the content.
- the content may be then used to populate a user interface (e.g., share box), for example, using java script.
- the user interface of the present disclosure can be rendered on the client side or the server side regardless of the server in which the endorsement/recommendation module 156 can be operating.
- An endorsement server 112 includes a processor (not shown) and a memory (not shown).
- the processor is similar to the processor described above; however, it may have increased computing capability.
- the endorsement server 112 also includes software or routines operable on the server to implement the endorsement system.
- the endorsement server 112 can be a system for tracking content and indicating users who have endorsed or recommended existing content.
- the endorsement system implemented by the endorsement server 112 can be applicable to information available on the World Wide Web.
- the endorsement system can be applicable to content created by users of the social network.
- the endorsement system can be applicable to content like videos available over the Internet.
- the endorsement server 112 can be coupled to receive endorsements from the user, coupled to receive search results, and coupled to provide endorsement information to the endorsement/recommendation modules 156 B, 156 C, 156 D and 156 E.
- the endorsement server 112 includes the endorsement/recommendation module 156 A.
- the endorsement/recommendation module 156 A has the same or similar functionality to the endorsement sharing modules 156 B, 156 C described above with reference to the social network server 124 and the search server 114 , respectively.
- the advertising (ad) server 128 is coupled to the network 140 .
- the ad server 128 includes software and routines for serving ads in response to queries for search results from the search server 114 or on web sites from the third party server 126 .
- the ad server 128 stores advertisements used in online marketing and delivers them to website visitors for example as sponsored links or display ads.
- the ad server 128 works in concert with the search server 114 or functions independently. Although one ad server 128 is shown in detail, multiple ad servers 128 may be present.
- the ad server 128 also includes an endorsement/recommendation module 156 D.
- the endorsement/recommendation module 156 D works as part of the ad server 128 to return ads to client device 104 as part of the content populated to the share box, and targeted ads can be selected (1) based on the context used to determine the additional content to return to the user, or (2) based on the additional content itself to be returned to the user. In some implementations, the endorsement/recommendation module 156 D cooperates with the ad server 128 to return ads to other locations on the page where the endorsement may be taking place, but outside of the share box itself.
- the endorsement/recommendation module 156 D works with the ad server 128 to return ads with the shared content once the endorsing user has completed his or her own addition to the share box and sends the ad and shared content for sharing to other locations (social network, blog, etc.).
- the ad may appear as content alongside the shared content or on other portions of the landing page for the shared content.
- the third party server 126 is coupled to the network 140 to provide content for example web pages.
- the third party server 126 can be the Web server of a publisher.
- the third party server 126 includes a processor (not shown) and a memory (not shown) and serves web pages in response to a HTTP requests. Although a single third party server 126 is shown, there may be hundreds or even thousands of third-party servers 126 providing different content.
- the endorsement/recommendation module 156 E operates as part of the recommendation server 120 .
- the recommendation server 120 may be responsible for providing recommended content.
- the recommendation server 120 may be coupled to receive information and content from the social network server 124 , endorsement server 112 , the search server 114 , the third party server 126 and the ad server 128 .
- This implementation of the endorsement/recommendation module 156 E has the same functionality as has been described above for the endorsement/recommendation module 156 C that can be part of the search server 114 .
- the endorsement/recommendation module 156 E generates and populates a user interface or share box in response to user requests.
- the endorsement/recommendation module 156 E obtains the context of the user as well as other contextual information from the social network server 124 , the endorsement server 112 , the search server 114 , the third party server 126 and the ad server 128 . This information can be used by the endorsement/recommendation module 156 E to generate, filter and personalize the recommended content.
- FIG. 2 shows another implementation with the relationship between the client device 104 , the endorsement server 112 , the search server 114 , a transaction server 122 , the social network server 124 , the third party server 126 and the ad server 128 .
- the recommendation server 120 may be similarly be configured for communication with the endorsement/recommendation module 156 A to receive and respond to context requests 222 with context 224 information.
- the endorsement/recommendation module 156 could be part of the social network server 124 , the search server 114 , the ad server 128 or the recommendations server 120 rather than part of the endorsement server 112 .
- the endorsement/recommendation module 156 would cooperate with components of the server which it can be a part of in a similar manner to that shown in FIG. 2 .
- FIG. 2 illustrates the signals that can be passed between the client device 104 , endorsement server 112 (in particular, the endorsement/recommendation module 156 A), the search server 114 , the transaction server 122 , the social network server 124 , the third party server 126 and the ad server 128 to create a user interface including recommended content responsive to interaction with endorsements.
- the endorsement/recommendation module 156 A also interacts with these other systems to share content, perform transactions or perform other functions related to the other servers 112 , 114 , 120 , 122 , 124 , 126 , 128 .
- the endorsement/recommendation module 156 A can be representative of the endorsement/recommendation module 156 and that a system with a single endorsement/recommendation module 156 B in the social network server 124 , a single endorsement/recommendation module 156 C in the search server 114 , a single endorsement/recommendation module 156 D in the ad server 128 or a single endorsement/recommendation module 156 E in the recommendation server 120 would operate in a similar manner.
- the user 102 and the client device 104 cooperate so that content can be displayed by the client device 104 .
- a webpage can be retrieved from the third party server 126
- a stream can be retrieved from the social network server 124 or search results can be retrieved from the search server 114 .
- the user 102 inputs a signal requesting an endorsement button, endorsement related information or a share box.
- the client device 104 sends a share box or endorsement request signal 220 to the endorsement/recommendation module 156 A.
- the endorsement/recommendation module 156 A processes the share box or endorsement request signal 220 and creates a user interface (e.g., an endorsement button, annotation or share box).
- the endorsement/recommendation module 156 A determines the identity of the user and the context in which the request for the endorsement related information was made so that this context can be used to determine what recommended content to automatically insert into the share box.
- the endorsement/recommendation module 156 A sends a context request signal 222 A to the third party server 126 .
- the third party server 126 responds by providing the context 224 A.
- providing the context 224 A can be performed by sending information about the webpage (or even the actual web page) that was provided to the client device 104 .
- the endorsement/recommendation module 156 A sends a context request signal 222 B to the social network server 124 .
- the social network server 124 responds by sending the context 224 B.
- the context 224 B includes social data associated with the user describing the content being viewed by the user 102 (e.g., a stream of content, a post, a blog, a photo, sharing, etc.), actions performed by the user in the social network, actions performed by friends of the user in the social network, a social graph associated with the user, content viewed by other users that may be connected to the user in the social graph, etc.
- the endorsement/recommendation module 156 A sends a context request signal 222 C to the ad server 128 .
- the ad server 128 responds by sending the context 224 C.
- the context 224 C includes ads or links appropriate for the context.
- the ad server 128 may also receive other context information from the social network server 124 , the third party server 126 , the endorsement/recommendation module 156 A or search server 114 to better define the context and thereby better target the ads sent to match the context for maximum effectiveness.
- the ad server 128 may receive this information directly from the social network server 124 , the third party server 126 , the endorsement/recommendation module 156 A or the search server 114 as shown by a representative signal line 230 shown with dashes since this information also may be provided via the endorsement/recommendation module 156 A.
- the endorsement/recommendation module 156 A sends a context request signal 222 D to the search server 114 .
- the search server 114 responds by sending the context 224 D.
- the context 224 D describes a search history associated with the user including the content being viewed by the user 102 , e.g., web pages, data tags, search history, popular searches, etc.
- the endorsement/recommendation module 156 A sends a context request signal 222 E to the transaction server 122 .
- the transaction server 122 responds by sending the context 224 E.
- the context 224 E includes transaction data associated with the user for purchasing content or products identified in the recommended content.
- the context 224 E could be information on how to purchase goods, download music, download or stream video, etc.
- the context 224 E includes transaction data describing one or more transactions performed by the user.
- the endorsement/recommendation module 156 A sends a context request signal 222 to the recommendation server 120 .
- the recommendation server 120 responds by sending recommended content 224 .
- the recommended content may be web pages, video, audio, or other content based on popularity, relevance to the user, recency, number of social annotations, correlations to what other users annotated, etc.
- the endorsement/recommendation module 156 A receives the context 224 A, 224 B, 224 C, 224 D, 224 E from the third party server 126 , the social network server 124 , the ad server 128 , the search server 114 , or the transaction server 122 and uses that context to determine what information to include within the user interface or share box. This process will be described in more detail below with reference to FIGS. 3-5 and can include filtering information based on publisher information from the third party server 126 , filtering information based on user preference information from the social network server 124 or the search server 114 , or other types of personalization of the content for the user.
- the endorsement/recommendation module 156 A then creates a user interface or share box including the recommended content and the actions that can be taken on the recommended content and sends the user interface or share box 226 to the client device 104 .
- the endorsement/recommendation module 156 A may also deliver ad content as part of the share box 226 or along with the share box 226 as has been described above.
- the share box 226 (and/or recommended content) can be received by the sharing client 110 and presented to the user 102 on the web browser 202 .
- the user 102 may add content to the share box. Included within some implementations of the share box can be a number of actions or buttons that can be selectable by the user 102 .
- the user 102 may choose to share the content in the share box to one or more of other server systems or take one or more other actions on the content in the share box.
- Three examples of potential actions are shown in FIG. 2 .
- the content in the share box may be shared/sent back 228 A to the endorsement/recommendation module 156 A.
- the content in the share box may be shared/sent back 228 B to the social network server 124 for sharing with friends or groups of friends of the user 102 .
- the content in the share box may be shared/sent back 228 C to the search server 114 for use in improving the operation of the search engine 130 .
- the content in the share box may also be shared with other systems including but not limited to micro blogging sites, bulletin boards, video hosting sites, blogs, forums, etc.
- the actions in the share box may also be to consummate transactions and provide information to the transaction server 122 .
- FIG. 2 describes one implementation in which most of the operations of the present disclosure can be performed by the endorsement/recommendation module 156 A
- at least part of the steps described above may be performed by the sharing client 110 .
- the sharing client 110 processes the share box request 220 , generates the share box, communicates with the other servers 114 , 120 , 122 , 124 , 126 , 128 to request and receive context, determines the content for the share box based upon the context and provides the share box with injected content for presentation by the web browser 202 .
- the sharing client 110 also receives input from the user regarding actions to take on the content and performs those actions for example, sharing 228 A, 228 B, 228 C with other systems.
- the endorsement/recommendation module 156 A includes a recommendation generator 302 , one or more recommendation data store(s) or interface(s) 304 , a user interface (UI) creation module 306 , a correlation module 308 , a publisher control module 310 , a social interface module 312 , a search interface module 314 and a transaction/other server interface module 316 .
- the recommendation generator 302 may be software or routines for generating recommended content.
- the recommendation generator 302 is coupled or configured for communication with the one or more recommendation data store(s) or interface(s) 304 , the UI creation module 306 , the correlation module 308 , the publisher control module 310 , the social interface module 312 , the search interface module 314 and the transaction/other server interface module 316 .
- the recommendation generator 302 cooperates with the one or more recommendation data store(s) or interface(s) 304 to retrieve content that can be processed and potentially sent as recommended content.
- the recommendation generator 302 may receive additional content from the social interface module 312 , the search interface module 314 and the transaction/other server interface module 316 .
- the recommendation generator 302 cooperates with the UI creation module 306 and receives requests from it for recommended content.
- the recommendation generator 302 produces the recommended content and sends it to the UI creation module 306 for inclusion with the user interface created by the UI creation module 306 .
- the recommendation generator 302 also cooperates with the social interface module 312 , the search interface module 314 and the transaction/other server interface module 316 to receive context information that the recommendation generator 302 uses to process and identify the most relevant recommended content. These sources can provide information specific to the user thereby increasing the relevance of the recommended content to the user.
- the recommendation generator 302 may receive social signals from the social interface module 312 that provide information about a user's interaction with the social network that can be used to identify more relevant recommended content.
- the recommendation generator 302 may receive endorsement signals from the endorsement server 112 that provide information about what the user has endorsed.
- the recommendation generator 302 may receive search signals from the search interface module 314 that provide information about what the user 102 has searched for and clicked upon.
- the recommendation generator 302 may receive transaction signals or other signals from the transaction/other server interface module 316 provide additional information about purchases the user has made or information of interest to the user.
- the recommendation generator 302 also cooperates with the correlation module 308 and the publisher control module 310 to receive information that can be used to adjust the ranking of recommended content or exclude content from a recommendation, respectively.
- the recommendation generator 302 identifies recommended content based upon a number of factors, for example, content ordered by the number of social annotations, content ordered by recency or timestamp, content ordered by correlation (people who annotated this also annotated that), content ordered by author and a relation to the user, content ordered by topic, content ordered by search, content ordered by commenting, posting or sharing, content ordered by endorsement, etc.
- the recommendation generator 302 may provide recommended content based on, for example, a top (ordered by number of endorsements, annotations or shares) or endorsed or shared topic in the domain by one or more users, a most recently (ordered by timestamp) endorsed or shared topic in a domain, and a correlated topic (people that endorsed or shared on this topic also endorsed or shared on that topic) based on signals from the correlation module 308 .
- the above bases for recommending content may be additionally based upon all users, a subset of users, or users within a social group. Further, the recommended content may be restricted to a current domain or source, or a group of domains and sub-domains.
- the recommendation generator 302 may also introduce some randomization by adding random content.
- the recommendation generator 302 can also provide recommended content based upon the topic having the most endorsements by source; topics recommended based upon the user's group or circle in a social graph; the topic having the most endorsements on a given domain that the user will like; topic most endorsed by users that endorsed this—another related topic-sentiment analysis; and topics that people I know who endorsed also endorsed this topic.
- the recommendation generator 302 only recommends content once for a given user.
- the recommendation generator 302 also generates recommended content based in part upon “similarity.” In other words, content that can be similar to the content being viewed or of interest may be identified and recommended by the recommendation generator 302 . This could be alone or in combination with the other information identified above.
- the one or more recommendation data store(s) or interface(s) 304 may be software, routines or storage for storing aggregated content.
- the recommendation data sources may be data sources that store the actual content.
- the one or more recommendation interfaces may be interfaces to aggregated content including searches, search results, social network information, transaction information, annotation information, endorsement information, etc.
- the one or more recommendation data store(s) or interfaces 304 are coupled to provide this content to the recommendation generator 302 .
- the user interface (UI) creation module 306 may be software or routines for creating a user interface including recommended content.
- the UI creation module 306 may generate and provide annotations, share boxes, recommended content, and engagement action buttons as will be described in more detail with reference to FIGS. 6A-8C .
- the UI creation module 306 receives the share box request 220 from the client device 104 .
- the UI creation module 306 can provide various combinations of annotations, share boxes, recommended content, and engagement action buttons adapted to be responsive to the request received from the sharing client 110 .
- Example user interfaces are described below in more detail with reference to FIG. 6A-13F .
- the UI creation module 306 sends requests for recommended content to the recommendation generator 302 and in response to the request and the context, receives recommended content from the recommendation generator 302 .
- the UI creation module 306 combines this recommended content with the user interface constructs and sends a user interface (e.g., share box 226 ) to the client device 104 .
- the correlation module 308 may be software or routines for generating or identifying correlated recommendations.
- the correlation module 308 can be configured for communication with the recommendation data store(s) or interface(s) 304 , the social interface module 312 , the search interface module 314 and the transaction/other server interface module 316 .
- the correlation module 308 correlates the relationship between annotations and generates information that represents likelihood of what the user may be likely to annotate.
- the correlation module 308 may generate a score that can be a linear combination of public endorsements the user has made, endorsements made by other others in the user's social graph, and endorsements by others on a first topic that also endorsed or shared us on a second topic.
- the correlated recommendations can be weighted by recency. Further, the correlation ranking can be used in combination with other categorizations identified above made by the recommendation generator 302 .
- the publisher control module 310 may be software or routines for receiving information from publishers about restrictions and settings for providing related content.
- the publisher control module 310 provides a variety of inputs or settings that can be received from a publisher or owner of a website.
- the publisher control module 310 is coupled to provide this information to the recommendation generator 302 so that it can be used as a filter to remove recommendations responsive to input from the publisher. For example, the publisher may restrict recommended content to a particular domain, sub-domain or may exclude external content.
- the social interface module 312 may be software or routines for sending context requests 222 B to the social network server 124 and receiving context responses 224 B from the social network server 124 .
- the social interface module 312 retrieves this context information and other social signals and information and provides it to the recommendation generator 302 and the UI creation module 306 . Both of these modules 302 and 306 utilize this information in generating content or creating the user interface, respectively.
- the search interface module 314 may be software or routines for sending context requests 222 D to the search server 114 and receiving context responses 224 D from the search server 114 .
- the search interface module 314 retrieves the search signals and other information and provides them to the recommendation generator 302 and the UI creation module 306 . As with the other interface modules, this information can be used by the recommendation generator 302 and the UI creation module 306 to identify recommended content and determine which user interface to create, respectively.
- the transaction/other server interface module 316 may be software or routines for sending context requests 222 E to the transaction server 122 or other servers, and receiving context responses 224 E from the transaction server 122 or other servers. Again, the transaction/other server interface module 316 provides this information to the recommendation generator 302 and the UI creation module 306 for use in performing their functions.
- the method 400 begins by receiving 402 an input from a first user.
- the input may be a request for an endorsement button, a hover over an endorsement button or the selection of an endorsement button provided for users of the search engine 130 or a social network, for example.
- the method determines 404 whether the received input was related to an endorsement of a first content item.
- an input that can be related to an endorsement of a first content item includes a request for an endorsement button to endorse the first content item, a hover over an endorsement button for the first content item, the selection of an endorsement button to endorse the first content item, a right-click over the endorsement button or similar input.
- An input related to an endorsement may be associated with any input a first user can make from the web browser 202 . If the input was not related to an endorsement, the method 400 ends. On the other hand, if the input was related to an endorsement, the method 400 continues to determine 406 the context of the input and the first user. For example, the method 400 determines an input context for the input, a user context describing the first user, a third context of the request or the identity of the first user.
- the method 400 determines any information that can be used to determine the input context in which the input related to an endorsement was made.
- This context information e.g., the input context, user context and other context
- determining the input context may include determining the webpage being viewed, determining the portion of the web page being viewed, determining the domain or sub-domain of the webpage being viewed, determining information associated with the input, determining input associated with the endorsement button, etc.
- part of this information can be used to determine what content can be filtered and not presented in the steps below.
- the input context includes (1) a social correlation between the first content item from the first source and a second content item from a second source and (2) a source correlation between the first source and the second source.
- the method 400 determines a first source where the first content item related to the endorsement input is from.
- a social correlation can be data indicating that both the first and the second content items have engagement actions performed by a common user. For example, a social correlation indicates that a common user who annotates a first content item also annotates a second content item. In a further example, assume the input from the first user indicates that the first user uses a cursor to hover over an endorsement button for a video. A social correlation between the video and another content item (e.g., an article) indicates that a second user has endorsed both the video and the article.
- another content item e.g., an article
- both engagement actions can be of the same type of actions (e.g., a common user who endorses the first content item also endorses the second content item; a common user who shares the first content item also shares the second content item, etc.) or of different types of actions (e.g., a common user who endorses the first content item also comments on the second content item; a common user who reposts the first content item also shares the second content item; a common user who endorses the first content item also reposts the second content item, etc.).
- the common user can be a second user connected to the first user in a social graph. In some instances, the common user can be a second user not connected to the first user in a social graph.
- a source correlation can be data indicating that the first source is correlated to the second source.
- a source correlation indicates that both the first and second sources have engagement actions performed by a common user.
- a source correlation indicates that the first user or the second user, or both, has endorsed both the first source and the second source.
- a source correlation indicates that both the first source and the second source are from the same domain.
- a source correlation indicates that the first source and the second source are from domains specified by the same publisher.
- the method 400 determines the user context describing the user by processing one or more of social information, endorsement information and a search history associated with the user, publisher information and a domain visited by the user, etc.
- the method 400 retrieves 408 recommended content according to the context in which the input related to an endorsement was made.
- the method 400 determines the recommended content for the first user based on the input context and/or the user context so that the recommended content matches the input context and/or the user context. For example, if the input context indicates that the first user may be viewing a particular web page, at least portions of that webpage may be retrieved and used to identify recommended content for inclusion in the share box.
- determining 406 the context includes determining the domain and/or sub-domain for the particular webpage the first user was viewing.
- the recommended content can be then determined using the domain name or sub-domain of that particular webpage. For example, there may be three articles on the particular topic within a particular domain.
- the retrieval recommended content for a first user that may be viewing one of three articles may be to retrieve as recommended content abstracts of the other two articles provided on the same domain. Additional information like the content of the webpage, HTML tags on the webpage, recency in viewing the webpage, other web pages that have been viewed whether in the same domain or related domains can also be used to identify other recommended content. Similarly in some implementations, since the input can be associated with a particular endorsement button, the content related to that endorsement button can be identified for addition into the share box. In further implementations, additional content not visible to the first user may also be retrieved for possible inclusion in the share box. In one implementation, certain portions of the webpage may be tagged with semantic classifications provided by the publisher. That information can also be used to determine the recommended content that can be retrieved.
- the recommended content also matches the user context describing the user. For example, if the user context indicates that the user has searched for and purchased a first product online, the recommended content may include (1) a second product similar to the first product and (2) a link to a webpage from a specific domain for the first user to purchase the second product.
- the method 400 filters 410 the content based on publisher input or settings.
- Step 410 can be optional and thus shown with dashed lines in FIG. 4 .
- the publisher or owner of the web domain can control the recommended content and possible actions that can be incorporated into the user interface element.
- the publisher may allow or not allow the user to share content.
- the publisher may also limit the recommended content sources to the current domain or sub-domain.
- the publisher may specify that no external content be provided as recommended content.
- information provided to the user includes additional non-visible or visible tags for semantically classified information that can be presented to the user.
- this information can be further refined using the semantic classifications provided by the publisher.
- the information can be filtered by the publisher specifically indicating what information may be copied into the share box as recommended content.
- the endorsement/recommendation module 156 decides what content to filter based on auto crawling or some alternative mechanism.
- the information can be filtered by a combination of input from the endorsement/recommendation module 156 and the publisher. There may be a number of additional ways in which the content may be filtered based on semantic classification, requirements of the publisher, requirements of the search server 114 , or requirements of other related entities.
- the method 400 creates 412 a user interface element.
- the user interface element may be an endorsement button and an annotation, or may be the share box or bubble including recommended content. Examples of such user interface elements are shown and described below with reference to FIGS. 6A-8C .
- the method 400 continues by adding 414 the recommended content to the user interface element. For example, the recommended content retrieved in step 408 can be added to the user interface element. In some implementations, the top one or several items of recommended content can be added to the user interface element because of the limited amount of real estate. In the case where the user interface element can be an endorsement button, the added content can be the annotation. In the case where the user interface element can be a share box or bubble, the added content could be one or more items of information, links, etc.
- one or more engagement action buttons can be added 416 to the user interface element.
- Step 416 can be optional and thus shown with dashed lines in FIG. 4 .
- the share box may be pushed to one or more of: 1) third-party sites; 2) a stream of information from the user; 3) a post by the user; 4) a recommendation page of the user; 5) annotation storage for later presentation with the search results; 6) a micro blogging site; and 7) another site, page, database or system in which the information may be useful and valuable.
- Individual buttons for taking an action on the information in the share box can be added to the share box.
- engagement action buttons may be provided to allow the user to: 1) post a comment; 2) share content; 3) follow a topic; 4) follow another user in the social network; 5) add another user to the user's social graph; 6) transition to view the recommended content; 7) view content related to the recommended content; 8) make a purchase of a product identified in the recommended content; 9) download music or video identified in the recommended content; etc.
- the method 400 completes by providing 418 the share box for display.
- the share box can be sent from the endorsement server 112 to the client device 104 and the information can be presented in a browser 202 at the client device 104 . The user can add additional information to the share box and select anyone of the engagement action buttons such that the content in the share box may be delivered according to the action selected.
- the user can take a number of actions.
- the user can add additional content by inputting it to the share box.
- the user 102 can specify other users or systems with which to share the content in the share box. This can be done following selection of the share button.
- the content from the share box can be sent to individuals or other systems.
- the content in the share box could be e-mailed to a particular user.
- the information in the share box may be added to the stream of the user 102 in his/her social network.
- the content in the share box may be returned to the third party server 126 , the search server 114 , the endorsement/recommendation module 156 or other systems for additional processing, analytical evaluation, or presentation.
- the ability to easily add content and share with a multitude of other users and systems allows the user to spread content in a viral manner.
- FIGS. 5A-5C show another implementation of the method 500 for providing recommended content in a user interface element.
- the method 500 begins by receiving 502 an input.
- the method 500 determines 504 whether the received input was a request for an endorsement button. If not, the method 500 continues to step 520 as will be described in more detail below with reference to FIG. 5B .
- the method 500 continues to determine 506 the context of the user and request. For example, the context may be determined from the social search, or endorsement signals that may indicate a webpage being viewed, the user viewing the webpage, etc.
- the method 500 uses the determined context to retrieve 508 the recommended content.
- the recommended content can be a short statement or other information pertinent to the endorsement button.
- the method 500 creates 510 an annotation from the recommended content. Examples of annotations including recommended content will be described below with reference to FIG. 6A-6F .
- the method 500 then creates 512 an endorsement button. This button can be added to a webpage and can be selectable by the user 102 to provide endorsement information to the endorsement server 112 .
- the method 500 completes by providing 514 the endorsement button then the annotation for display in the web browser 202 of the client device 104 .
- step 504 If the method 500 determined in step 504 that the input was not a request for an endorsement button, the method 500 continues in step 520 of FIG. 5B .
- the method 500 described with reference to FIG. 5B below can be advantageous because the recommended content can be provided to the user at a time when they may be thinking about endorsing the content, but before they actually do. This has the benefit that users will start to learn that if they want recommendations, they can hover over the endorsement button 602 , which will generate more endorsements.
- step 520 the method 500 determines whether the input was a cursor over an endorsement button. If not, the method proceeds to step 540 of FIG. 5C as will be described below. On the other hand, if the method 500 determined that the input was a cursor over an endorsement button, the method 500 determines 522 the context of the user and the request. As has been described above with reference to FIG. 2 , the user context can include a variety of signals including social signals, endorsement signals, search signals, the domain or webpage being viewed, etc. Next, the method 500 retrieves 524 recommended content for the context.
- the recommended content can be for a given domain or sub-domain, based upon the content that is most often publicly endorsed, based upon the content that may be most often shared, based upon endorsements of the user, based upon whether others in the user's social graph have endorsed content, based upon search history, click through and other click behavior, etc.
- the method 500 filters 526 the content based on publisher input or settings. In some implementations, this step may be optional. The content may be filtered based on publisher input provided by the publisher control module 310 as has been described above.
- the method 500 personalizes 528 the recommended content for the user.
- the content can be personalized based on information from the social network server 124 , for example, using known attributes of the user, information from friends of the user, information from use of the social network by the user, information from endorsements made by the user or any other sources.
- the content can be personalized based on information from the search server 114 , e.g., the browsing history of the user.
- information from a profile server (not shown) that includes preferences for the user can be used to personalize the content.
- the method 500 customizes the content that will be added to the share box based on the identity of the user, who they are and his/her preferences.
- the personalization step 528 can be optional. The method 500 then creates 530 a share box or bubble.
- the share box or bubble can be one example of the user interface element for presenting the recommended content.
- Various other configurations of boxes, toolbars, buttons, and windows that have the same or similar functionality may be used instead of the share box.
- the method 500 continues by adding 532 the recommended and/or personalized content to the share box. Depending on the recommended content, one or more engagement action buttons can be added 534 to the share box.
- the method 500 provides 536 the share box including the recommended content for display, for example by sending the share box and the recommended content to the client device 104 for presentation in the web browser 202 to the user 102 .
- the use of a share box including the recommended content can be particularly advantageous because it presents the recommended content at the right time and in the right context when it can be most valuable to the user.
- step 540 the method 500 determines whether the input was the selection of the endorsement button or sharing of content. If not, the method 500 is complete, and the input can be processed by another system. On the other hand, if the method 500 determined that the input was the selection of the endorsement button or sharing, the method 500 determines 542 the context of the user and the request. This can be similar to step 522 described above, but in this case, the context includes the fact that the user has selected the endorsement button or decided to share content that may be presently being viewed. The method 500 continues by performing steps 544 to 556 . Steps 544 to 556 are similar to steps 524 to 536 respectively so that description will not be repeated here.
- FIGS. 6A-6F example implementations of user interfaces 600 , 610 , 620 , 630 , 640 , 650 , 660 for an endorsement button 602 and an annotation 604 are shown.
- FIG. 6A shows one example of the user interface 600 including an endorsement button 602 A and an annotation 604 A.
- This can be an option for presenting endorsement buttons and annotations for users that are logged into a system, e.g., a social network.
- the annotation 604 A may be positioned proximate the endorsement button 602 A, in this case to the right.
- the annotation 604 A includes a suggestion to share this (the content being viewed) with other users and includes pictures of those other users that may be retrieved from the social network.
- the other users may be in particular groups or the social graph of the user.
- FIG. 6B shows another example of the user interface 610 including the endorsement button 602 B and the annotation 604 B. Again, this can be an option for presenting endorsement buttons and annotations for users that are logged into the system, for example, a social network.
- the annotation 604 B has a similar position to that of FIG. 6A .
- the annotation 604 B includes a suggestion that the user share this content with other users and identifies those other users by name.
- the names include links that can be selected by the user to provide more information about who specifically those users are.
- FIG. 6C shows an example of the user interface 620 including the endorsement button 602 C and the annotation 604 C.
- This can be an option for presenting endorsement buttons and annotations for users that are logged into a social network.
- the annotation 604 C includes a suggestion that the user share this content with a group, including the user's family.
- the group can be identified by a name that has been given to the group by the user in the social network.
- the name portion of the annotation also includes a link that can be selected by the user to provide more information about who may be included within the group.
- FIG. 6D shows another example of the user interface 630 including the endorsement button 602 D and the annotation 604 D. Again, this can be an option for presenting endorsement buttons and annotations for users that are logged into a system.
- the annotation 604 D includes information specific to the user, in this case that the user has 756 followers, and a suggestion of who can be included within that group of followers. Certain portions of the annotation 604 D can include links to access more detailed information about the annotation.
- FIG. 6E shows another example of the user interface 640 including the endorsement button 602 E and the annotation 604 E.
- the annotation 604 E can be for a user that may be not logged into another system.
- the annotation 604 E includes a general suggestion that content be shared with friends since the user may be not logged into the system, no additional information from the system is added to the annotation.
- FIG. 6F shows another example of the user interface 650 including the endorsement button 602 F and the annotation 604 F.
- the user may be not logged into another system, e.g., a social network.
- the annotation 604 F includes an icon, for example, an image of flame or other indicia suggesting that the information can be “hot” or popular.
- the annotation 604 F also includes text about the continent the user can be viewing.
- FIGS. 7A-7E example implementations of user interfaces 700 , 710 , 720 , 730 , and 740 for a share box 702 including recommended content 704 presented in response to hover over an endorsement button.
- FIG. 7A shows another example of the user interface 700 including the share box 702 A and the recommended content 704 A presented in response to a cursor over an endorsement button.
- the user interface 700 can be an example of a share box 702 A presented when the user is logged into another system, e.g., social network, and has not selected the endorsement button before.
- the share box 702 a includes an upper portion 706 A with a picture of the user and a prompt or suggestion to use the endorsement button.
- the share box 702 A also includes recommended content 704 A including a title and a link to access that content on the World Wide Web.
- the recommended content 704 A may also include an identification of others that have endorsed the recommended content 704 A and may include more information about them including their photo.
- FIG. 7B shows another example of the user interface 710 including the share box 702 B and recommended content 704 B presented in response to a cursor over an endorsement button.
- the user interface 710 can be an example of the share box 702 B for the case where the user is logged into another system, e.g., the social network, but has a low engagement with endorsements.
- the recommended content 704 B provides information including a photo of the user and information about how others in the social network have utilized endorsements that the user has made.
- the recommended content 704 B may also include links to other endorsements that the user has made.
- FIG. 7C shows another example of the user interface 720 including the share box 702 C and recommended content 704 C presented in response to a cursor over an endorsement button.
- the user interface 710 can be an example of the share box 702 C for the case where the user is logged into another system, e.g., the social network, but has a low engagement with endorsements.
- the recommended content 704 C includes a prompt or suggestion for the user to endorse a particular topic as well as a plurality of images of other users that may be in the social graph of the user.
- the images have corresponding links so that when they are selected, information about that other user can be presented.
- FIG. 7D shows another example of the user interface 730 including a share box 702 D and recommended content 704 D presented in response to a cursor over an endorsement button.
- the share box 702 D also has an upper portion 706 D with a picture of the user and a prompt or suggestion to use the endorsement button and why the endorsement button should be selected.
- the recommended content 704 D can be provided to a user that is not logged in to another system and can be provided for educational purposes.
- the recommended content 704 D includes an explanation of what other users will see and an example of it.
- the example includes the recommended content, a link to the content, and an indication that the user has endorsed it.
- FIG. 7E shows another example of the user interface 740 including a share box 702 E and recommended content 704 E presented in response to a cursor over an endorsement button.
- the share box 702 E also has an upper portion 706 E with a prompt or suggestion to use the endorsement button and why the endorsement button should be selected.
- the recommended content 704 E can be provided to a user that is not logged into another system and can be provided to promote an activity.
- the recommended content 704 E includes a content promotion icon 708 E, an engagement action button 712 E that transitions to viewing more information about the recommended content 704 E on another system, for example a social network, the subject matter of the recommended content, an indication of the number of times the recommended content 704 E has been shared, and public posts by other users about the recommended content 704 E.
- FIGS. 8A-8C are example implementations of user interfaces 800 , 810 and 820 for a share box 702 including recommended content 704 presented in response to selection of an endorsement button or sharing of content.
- FIG. 8A shows an example of the user interface 800 including a share box 702 F and recommended content 704 F presented in response to or after the selection of the endorsement button.
- the share box 702 F also has an upper portion 706 F with text acknowledging the selection of the endorsement button or sharing.
- the recommended content 704 F can be provided to a user that is logged in to another system.
- the recommended content 704 F includes titles of other articles on the same domain, photographs or images related to those articles, and an indication of how many others have publicly shared or endorsed the articles.
- a selected number of images of others that have endorsed the recommended content 704 F can be provided.
- the images can be of others that may be in the social network of the user.
- FIG. 8B shows an example of the user interface 810 including a share box 702 G and recommended content 704 G presented in response to or after the selection of the endorsement button.
- the share box 702 G also has an upper portion 706 G with text acknowledging the selection of the endorsement button or sharing.
- the recommended content 704 G can be provided to a user that is logged in to another system.
- the recommended content 704 G includes the title of an article, an abstract of text, an image or photo, and an engagement action button 712 G.
- the engagement action button 712 G when selected by the user will interact with the social network to allow the user to follow postings of the author of the recommended content 704 G.
- FIG. 8C shows an example of the user interface 820 including a share box 702 H and recommended content 704 H presented in response to or after the selection of the endorsement button.
- the share box 702 H also has an upper portion 706 H with text acknowledging the selection of the endorsement button or sharing.
- the recommended content 704 H can be provided to a user that is logged in to another system, e.g. a social network.
- the recommended content 704 H includes an invitation to follow experts in photography which was the topic of the content being viewed before selection of the endorsement button.
- the recommended content 704 H includes identification of experts on photography and an indication from the social graph of the user the number of people that the expert and the user have in common.
- the recommended content 704 H also includes an engagement action button 802 H to add the identified expert(s) to the social graph of the user.
- the recommended content 704 H also may include an engagement action button 712 H that when selected by the user will allow the user to follow postings on the topic of underwater photography.
- input that relates to an endorsement can include requesting a webpage, requesting a webpage including an endorsement button, input proximate the endorsement button, a cursor over an endorsement button, a selection of an endorsement button, whether the content has been endorsed by any user, whether a particular user has endorsed the content, whether the user has made any endorsements to any content, whether the user has made a low number of endorsements, posting related to content, or sharing content.
- the endorsement context may include the timing of the selection of the endorsement button, events that occur before selection of the endorsement button and events that occur after the selection of the endorsement button.
- endorsement buttons may be provided alone or with annotations.
- different recommended content may be presented in the share box before selection of the endorsement button (around the time of cursor over) as compared with recommended content that can be provided after selection of the endorsement button.
- the recommended share box 702 includes mechanisms for users to view more detail about the recommended content. Some of these mechanisms can be provided to the user before they endorse a particular webpage or portion of content. In the event a user does not selected the endorsement button 602 and instead views the recommended content and transitions to a different or second webpage or system, a second endorsement button 602 will be presented on the second webpage or system. In some implementations, the endorsement/recommendation module 156 will process inputs from the user and if the endorsement button on the second webpage is selected, the endorsement/recommendation module 156 can present one or more message to disambiguate which content the user intended to endorse.
- messages to the user could include: “We noticed you just came from page X, would you like to endorse that page?” “Would you like to endorse both the current page enter prior page?” Or “Would you like to endorse both only this page?”
- the endorsement/recommendation module 156 may present a list of prior web pages that the user has visited and allow them to endorse one, all, or selected pages.
- endorsement/recommendation module 156 may receive and process other signals in addition to the domain or sub-domain of the content being viewed by the user. For example, other interfaces may be provided to allow the user to indicate how interesting the content is.
- a drop-down dialog box may be provided to allow the user to provide an endorsement rating of 1 to 5, 1 being the lowest and 5 being the highest and most interesting.
- the level of interestingness that particular content has may also be automatically determined (e.g., how long a user views or engages a particular page or content). If the user views the page for a short period versus a long period (dwell time), the endorsement/recommendation module 156 automatically determined that can be an endorsement with a low level of interestingness. This dwell time could also be used by the endorsement server 112 to classify and boost recommendations. This automatic measurement could be performed on the client side through the use of cookies with the state or web history or could be tracked from the server-side.
- the identity of the referring page could be encoded into a token that includes a hash portion of the URL.
- the endorsement button on the second page could then decode the token to determine what the referring page was at the time the user transition to the recommended content. This approach can be advantageous because it minimizes the traffic and data that are sent to the endorsement server 112 .
- FIGS. 9-13F a webpage and example states in which the endorsement button, annotations and the share box including recommended content are presented to the user are shown and described.
- FIG. 9 shows an example webpage 900 including the endorsement button 602 and an annotation 604 .
- the example webpage 900 has various sections for advertisements, and selectable buttons to navigate over the domain or other content.
- This particular webpage 900 presents a photograph and thumbnail images of other pictures.
- the webpage includes content selections for subscriptions, editorial teams, services and other information.
- the webpage 900 provides navigation buttons for transitioning to other posts, accessing micro blogging sites and accessing other social networks.
- FIGS. 10A and 10B are example implementations 1000 , 1050 of the webpage 900 of FIG. 9 showing example share boxes 702 B, 702 C after the user has moved the cursor over the endorsement button 602 .
- FIG. 10A shows the webpage 900 of FIG. 9 with the user interface 710 of FIG. 7B overlaid in response to the user moving the cursor over the endorsement button 602 .
- FIG. 10B shows the webpage 900 of FIG. 9 with the user interface 720 of FIG. 7C overlaid on the webpage 900 in response to the user moving the cursor over the endorsement button 602 .
- FIGS. 11A and 11B are additional example implementations 1100 and 1150 of the webpage 900 of FIG. 9 showing example share boxes 702 E, 702 D after the user has moved the cursor over the endorsement button 602 .
- FIG. 11A shows the webpage 900 of FIG. 9 with the user interface 740 of FIG. 7E overlaid in response to the user moving the cursor over the endorsement button 602 .
- FIG. 11B shows the webpage 900 of FIG. 9 with the user interface 730 of FIG. 7D overlaid on the webpage 900 in response to the user moving the cursor over the endorsement button 602 .
- 10A-11B illustrate a particular advantage of the present disclosure which is that the recommended content 702 can be positioned on the user interface in close proximity to the endorsement button 602 .
- the share box 702 may positioned and field with recommended content and placed near the endorsement button 602 —in other words, without need for the user to move the cursor over the endorsement button 602 .
- FIGS. 12A-12D show an example implementation 1200 , 1220 , 1240 and 1260 for a content icon 1202 , 1204 , 1206 and 1208 and associated information presented in response to hovering over the endorsement button 602 .
- FIG. 12A shows the webpage 900 of FIG. 9 with the endorsement button 602 , the content icon 1202 and the annotation 604 as part of the webpage 900 .
- This interface 650 can be similar to that described above with reference to FIG. 6F .
- FIGS. 12A-12D illustrate the transition of the content icon from content icon 1202 to content icon 1204 to content icon 1206 and then finally to content icon 1208 . This transition can be responsive to a cursor over input upon either the endorsement button 602 or the content icon 1202 .
- the transition of content icon 1202 to content icon 1208 provides a mechanism to give the user more information about why particular content is popular or “hot.”
- content icon 1202 can be a symbol indicating that the particular content on the website may be popular.
- content icon 1208 indicates the number of endorsements that the content has received. In other implementations, the numerical value could be used to indicate endorsements, instances of sharing the content, posts about the content, etc.
- the content icon 1204 of FIG. 12B shows the original icon and a portion of the numeric value.
- the content icon 1206 of FIG. 12C shows a portion of the original icon and a greater portion of the numerical value.
- FIGS. 13A-13F show example implementations of the webpage 900 and the share box 702 including recommended content 704 presented in response to selection of an endorsement button 602 or the sharing of content.
- FIG. 13A shows an example implementation 1300 of the webpage 900 of FIG. 9 with the share box 702 I overlaid in response to the user selecting the endorsement button 602 .
- This implementation of the share box 702 I includes an area for the user to add a comment as well as the recommended content 704 and the engagement action buttons for a photography group and to post the comment.
- FIG. 13B shows an example implementation 1310 of the webpage 900 of FIG. 9 with the share box 702 J.
- the share box 702 J can be similar to the share box 702 I, but also includes a comment that has already been added near the top of the share box 702 J.
- the share box 702 J is one example for the appearance of the share box 702 after the user has posted a comment.
- FIG. 13C shows an example implementation 1320 of the webpage 900 of FIG. 9 with the user interface 800 of FIG. 8A overlaid in response to user selection of the endorsement button 602 .
- FIG. 13D shows an example implementation 1330 of the webpage 900 of FIG. 9 with a share box 702 K overlaid in response to user selection of the endorsement button 602 .
- the share box 702 K has similar functionality to a combination of functions from share box 702 A, 702 E and 702 H because it includes links to related articles, a follow action button, an add action button, identification of topics and other users with indicia of common users.
- FIG. 13E shows an example implementation 1340 of the webpage 900 of FIG. 9 with the user interface 810 of FIG. 8B overlaid in response to user selection of the endorsement button 602 .
- FIG. 13F shows an example implementation 1350 of the webpage 900 of FIG. 9 with the user interface 820 of FIG. 8C overlaid in response to user selection of the endorsement button 602 .
- a process can generally be considered a self-consistent sequence of steps leading to a result.
- the steps may involve physical manipulations of physical quantities. These quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. These signals may be referred to as being in the form of bits, values, elements, symbols, characters, terms, numbers or the like.
- the disclosed technologies may also relate to an apparatus for performing the operations herein.
- This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer.
- a computer program may be stored in a computer readable storage medium, for example but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, flash memories including USB keys with non-volatile memory or any type of media suitable for storing electronic instructions, each coupled to a computer system bus.
- the disclosed technologies can take the form of an entirely hardware implementation, an entirely software implementation or an implementation containing both hardware and software elements.
- the technology is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
- a computer-usable or computer-readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
- a data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus.
- the memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
- I/O devices including but not limited to keyboards, displays, pointing devices, etc.
- I/O controllers can be coupled to the system either directly or through intervening I/O controllers.
- Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks.
- Modems, cable modems and Ethernet cards are just a few of the currently available types of network adapters.
- modules, routines, features, attributes, methodologies and other aspects of the present disclosure can be implemented as software, hardware, firmware or any combination of the three.
- a component an example of which is a module
- the component can be implemented as a standalone program, as part of a larger program, as a plurality of separate programs, as a statically or dynamically linked library, as a kernel loadable module, as a device driver, and/or in every and any other way known now or in the future in the art of computer programming.
- the present techniques and technologies are in no way limited to implementation in any specific programming language, or for any specific operating system or environment. Accordingly, the disclosure of the present techniques and technologies is intended to be illustrative, but not limiting.
Abstract
Description
- This application claims priority under 35 USC §119(e) to U.S. Application No. 61/663,604, entitled “Recommended Content for an Endorsement User Interface” filed Jun. 24, 2012, the entirety of which is herein incorporated by reference.
- The present disclosure relates to user interfaces for providing recommended content.
- The popularity and use of the Internet, web browsers, social networks and other types of electronic communication have grown in recent years. While users may have once operated their computing devices with a single browser showing a single webpage, new ways for delivering and engaging with information, e.g., videos, news articles, Web blogs and activities on social networks have been developed. More recently, much of the content on the World Wide Web can be commented upon or endorsed by users. Users can indicate they like or endorse something by selecting an endorsement button associated with the particular Web content or object to be endorsed. Users may also post comments about content, share content or blog about content that they had viewed on the Internet. It is common for many users to have multiple windows open at a given time while viewing different content, and it may be cumbersome and inefficient to require the user to transition between different interfaces or windows to undertake action, for example, endorsing particular content.
- According to one innovative aspect of the subject matter described in this disclosure, a system for providing a user interface including recommended content or information in response to an endorsement input is described. The system includes a processor and a memory storing instructions that, when executed, cause the system to: receive an input from a first user; determine that the input is related to an endorsement of a first content item from a first source; determine a social correlation between the first content item from the first source and a second content item from a second source, the social correlation indicating both the first content item and the second content item are associated with a first engagement action performed by a second user connected to the first user in a social graph; determine a source correlation between the first source and the second source, the source correlation indicating both the first source and the second source are associated with one or more second engagement actions performed by the first user; determine recommended content using the social correlation and the source correlation; and generate graphical data for depicting a user interface element that provides the recommended content to the first user.
- In general, another innovative aspect of the subject matter described in this disclosure may be embodied in methods that include: receiving an input from a first user; determining that the input is related to an endorsement of a first content item from a first source; determining a social correlation between the first content item from the first source and a second content item from a second source, the social correlation indicating both the first content item and the second content item are associated with a first engagement action performed by a second user connected to the first user in a social graph; determining a source correlation between the first source and the second source, the source correlation indicating both the first source and the second source are associated with one or more second engagement actions performed by the first user; determining recommended content using the social correlation and the source correlation; and generating graphical data for depicting a user interface element that provides the recommended content to the first user.
- Other implementations of one or more 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 may each optionally include one or more of the following features. For instance, the features include: the first source and the second source being associated with a domain specified by a publisher and the recommended content including the second content item; the input being one of a request for an endorsement button to endorse the first content item, a cursor over the endorsement button, a selection of the endorsement button, and a sharing of the first content item; the user context describing one or more of a search history being associated with the first user, social data being associated with the first user, transaction data being associated with the first user, advertisement data being associated with the first user, whether the first user has made endorsements to other content items, whether a number of endorsements made by the first user is lower than a predetermined threshold, whether the first user has shared the first content item and whether the first user has commented on the first content item; the recommended content being ordered by one of a number of social annotations and recency of the recommended content; and the user interface element being one of an endorsement button, an annotation and a share box. For instance, the operations further include: determining a user context describing the first user, and wherein the recommended content being further determined based on the user context.
- The present disclosure may be advantageous because it can be able to identify recommended content and provide the recommended content to the user in association with endorsement activities. This can be particularly advantageous because the recommended content can be provided in a context in which it may be very useful to the user. More specifically, the present disclosure provides recommended content in a share box and the share box can include action buttons for interacting with the recommended content for example, commenting on it, sharing it, making a purchase related to it, taking other actions related to the content or transitioning to other interfaces to view the content. The present disclosure may be also advantageous because the context of the user can be used to generate the recommended content. Context information may include information from a social network, information about searches, endorsement information, web history, publisher information, and domain information which may or may not be particular to the user.
- The disclosure is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals are used to refer to similar elements.
-
FIG. 1 is a block diagram illustrating a first example implementation of a system for providing recommended content in a share box. -
FIG. 2 is a block diagram illustrating a second example implementation of the system for providing recommended content in a share box. -
FIG. 3 is a block diagram illustrating an example implementation of an endorsement/recommendation module. -
FIG. 4 is a flowchart of a first example implementation of a method for providing recommended content in a share box. -
FIGS. 5A-5C are a flowchart of a second example implementation of the method for providing recommended content in a share box. -
FIGS. 6A-6F are graphic representations of example implementations of user interfaces for an endorsement button with an annotation. -
FIGS. 7A-7E are graphic representations of example implementations of user interfaces for a share box including recommended content presented in response to hovering over an endorsement button. -
FIGS. 8A-8C are graphic representations of example implementations of user interfaces for a share box including recommended content presented in response to selection of an endorsement button or sharing of content. -
FIG. 9 is a graphic representation of an example implementation of a webpage including an endorsement button. -
FIGS. 10A and 10B are graphic representations of an example implementation of a webpage and promotional content presented in response to hovering over an endorsement button. -
FIGS. 11A and 11B are graphic representations of an example implementation of a webpage and a share box including recommended content presented in response to hovering over an endorsement button. -
FIGS. 12A-12D are graphic representations of an example implementation of a content icon and associated information presented in response to hovering over an endorsement button. -
FIGS. 13A-13F are graphic representations of example implementations of a webpage and a share box including recommended content presented in response to selection of an endorsement button or sharing of content. -
FIG. 1 illustrates an implementation of asystem 100 for presenting a user interface (e.g., a share box) with content information in response to an endorsement input. Thesystem 100 includes aclient device 104, anetwork 140, anendorsement server 112, asearch server 114, arecommendation server 120, asocial network server 124, athird party server 126 and an advertising (ad)server 128. Theclient device 104 can be utilized by auser 102 to input a request to retrieve information from: (1) thethird party server 126, (2) thesearch server 114 or (3) to receive a stream of data from thesocial network server 124. Theclient device 104 is coupled for communication with thenetwork 140 which in turn is coupled for communication with theendorsement server 112, thesearch server 114, therecommendation server 120, thesocial network server 124, and thethird party server 126. - Although only a
single user 102 andclient device 104 are illustrated, any number ofclient devices 104 can be available to any number ofusers 102. Furthermore, while only onenetwork 140 is coupled to theclient device 104, theendorsement server 112, thesearch server 114, thesocial network server 124 and thethird party server 126, in practice any number ofnetworks 140 can be connected to thesystem 100. Additionally, while only oneendorsement server 112,search server 114,recommendation server 120,social network server 124, andthird party server 126 is respectively shown, thesystem 100 could include one ormore endorsement servers 112,search servers 114,recommendation servers 120,social network servers 124, andthird party servers 126. Moreover, while the present disclosure is described below primarily in the context of content fromthird party servers 126, search results and streams from asocial network server 124, the present disclosure can be applicable to any type of online communications with multiple data sources and multiple data types. - The
client device 104 includes a memory 106, aprocessor 108 and asharing client 110. Theclient device 104, for example, may be a personal computer, a laptop computer, a tablet computer, a mobile phone (e.g., a smart phone) or any other computing device. - The memory 106 stores instructions and/or data that may be executed by the
processor 108. The memory 106 is coupled to a bus for communication with the other components. The instructions and/or data may include code for performing the techniques described herein. The memory 106 may be a dynamic random access memory (DRAM) device, a static random access memory (SRAM) device, a flash memory or some other memory device. - The
processor 108 includes an arithmetic logic unit, a microprocessor, a general purpose controller or some other processor array to perform computations and provide electronic display signals to a display device. Theprocessor 108 is coupled to a bus for communication with the other components.Processor 108 processes data signals and may include various computing architectures including a complex instruction set computer (CISC) architecture, a reduced instruction set computer (RISC) architecture, or an architecture implementing a combination of instruction sets. Although only a single processor is shown inFIG. 1 , multiple processors may be included. Other processors, operating systems, sensors, displays and physical configurations are possible. - The sharing
client 110 may be software or routines operable on theclient device 104 for performing at least part of the operations required for creating and displaying a user interface or share box. The sharingclient 110 also receives and processes input from theuser 102. The sharingclient 110 also processes and sends the contents of the share box in response to user selection of actions or buttons associated with content in the share box. For example, the sharingclient 110 may be a plug-in to a web browser 202 (seeFIG. 2 ). In one implementation, the sharingclient 110 accepts inputs from theuser 102, sends the inputs to the endorsement/recommendation module 156, displays a share box, and sends inputs related to the share box to the endorsement/recommendation module 156, but the endorsement/recommendation module 156 can be primarily responsible for processing and generating the share box. Such an implementation can be well suited for applications where theclient device 104 can be a smart phone with limited computational power. In some implementations, the sharingclient 110 performs at least part of the processing steps that will be described below as being performed by the endorsement/recommendation module 156. For example, in addition to receiving input from theuser 102 and generating displays for presentation to theuser 102, the sharingclient 110 may create the share box, populate the share box with content, filter the content in the share box, personalize the content in the share box, and in response to user input share or distribute the content of the share box to other systems. In some implementations, individual steps of the methods described below may be divided between the sharingclient 110 and the endorsement/recommendation module 156 in a variety of different ways. - The
client device 104 can be configured for communication with thenetwork 140. In response to user input, theclient device 104 generates and sends a request to thenetwork 140. Thenetwork 140 receives and passes the request on to theendorsement server 112, thesearch server 114, or thesocial network server 124 depending on the type of request. A response can be generated by theendorsement server 112, thesearch server 114, or thesocial network server 124 depending on the type of request. The response may be a web page, search results, a stream from a social network or other content. This content can be displayed on theclient device 104 to theuser 102. The content will also include one more endorsement buttons, generated by theendorsement server 112. The user can endorse the content or portions of it by selecting an endorsement button. - The
network 140 can be wired or wireless, and may have one or more configurations, e.g., a star configuration, token ring configuration or other configurations. Furthermore, thenetwork 140 may include a local area network (LAN), a wide area network (WAN) (e.g., the Internet), and/or other interconnected data path across which multiple devices may communicate. In some implementations, thenetwork 140 may be a peer-to-peer network. Thenetwork 140 may also be coupled to or include portions of a telecommunications network for sending data in a variety of different communication protocols. In some implementations, thenetwork 140 includes Bluetooth communication networks or a cellular communications network for sending and receiving data via short messaging service (SMS), multimedia messaging service (MMS), hypertext transfer protocol (HTTP), direct data connection, wireless application protocol (WAP), email, etc. - The
search server 114 includes aprocessor 116 and amemory 118. Theprocessor 116 is similar to theprocessor 108 described above; however, it may have increased computing capability. Thememory 118 is similar to the memory 106 described above; however, it may be larger in size, have faster access time, and also include volatile and nonvolatile memory types. - In some implementations, the
memory 118 stores asearch engine 130 and an endorsement/recommendation module 156C. Thesearch engine 130 can be operable on theprocessor 116 to receive the query signal and in response return search results. Thesearch engine 130 collects, parses, indexes and stores data to facilitate information retrieval. Thesearch engine 130 also processes search queries and returns search results from the data sources that match the terms in the search query. Thesearch engine 130 also ranks search results based upon relevance to the user. Thesearch engine 130 also formats and sends the search results via thenetwork 140 to theclient device 104. In some implementations, thesearch engine 130 is coupled for communication with the endorsement/recommendation module 156C to modify the ranking of the search results based on input signals from the endorsement/recommendation module 156C. - The endorsement/recommendation module 156 may be software or routines that can be responsive to user input and generate the user interface or share box as will be described below with reference to
FIGS. 6A-13F . AlthoughFIG. 1 shows multipleendorsement sharing modules endorsement server 112, thesearch server 114, therecommendation server 120, thesocial network server 124 or thead server 128. The endorsement/recommendation module 156, regardless of whichserver client 110 of theclient device 104. In some implementations, multipleendorsement sharing modules FIGS. 4-13F . - In some implementations, the endorsement/
recommendation module 156C can be operable as part of thesearch server 114 and is coupled to receive the context of information presented to theuser 102 by thesearch engine 130. The endorsement/recommendation module 156C is also coupled to communicate with theendorsement server 112 to receive information related to the endorsement of a particular piece of content. In some implementations, the endorsement/recommendation module 156C is also coupled for communication with thesocial network server 124 to receive the context of information presented to theuser 102 by thesocial network server 124. The endorsement/recommendation module 156C is coupled to receive other types of information, for example information about a user's social graph, information about user interaction with thesocial network server 124, user interaction with a video sharing site, or other system with which a user may interact including but not limited to micro-blogs, comments, votes (e.g., indicating approval or disapproval of particular content), other indications of interest (e.g., that promote content for consumption by other users), playlists (e.g., for video or music content) and the like. The endorsement/recommendation module 156C is also coupled to communicate with therecommendation server 120. The endorsement/recommendation module 156C receives recommended content and other information about the user from therecommendation server 120. In some implementations, users can be provided options to opt-in or opt-out of having this type of information being used. Similarly, publishers can be provided with options to opt-in or opt-out of having their content included as part of recommended content. The present disclosure will be described below in the context of endorsement of search results; however, the principles and concepts of the disclosed technologies can be applied to other type of content including web content or resources, social network information, or micro blogs, posts, etc. - In some implementations, the endorsement/
recommendation module 156C receives social information from thesocial network server 124, endorsement information from theendorsement server 112, recommended content from therecommendation server 120, or video or multimedia information from a multimedia server (not shown) and uses that information to modify the ranking of search results. For example, the ranking of the search results may be modified based on whether one or more of the user's contacts, as determined from the social network, have reviewed the results. In another example, the ranking of the search results may be modified based on whether another user has endorsed a search result or more particularly whether one or more contacts of the user have endorsed a search result. Still further, the ranking of the search results may be modified using information from video or multimedia information from a multimedia server. - In some implementations, the
social network server 124 is coupled to thenetwork 140. Thesocial network server 124 also includes a social network software/application (not shown). Although onesocial network server 124 is shown in detail, multiplesocial network servers 124 may be present. A social network can be a type of social structure where the users may be connected by a common feature. The common feature includes relationships/connections, e.g., friendship, family, work, an interest, etc. The common features can be provided by one or more social networking systems, for example, those included in thesystem 100, including explicitly-defined relationships and relationships implied by social connections with other online users, where the relationships form a social graph. In some examples, the social graph can reflect a mapping of these users and how they may be related. Furthermore, thesocial network server 124 and social network software/application can be representative of one social network and that there can be multiple social networks coupled to thenetwork 140, each having its own server, application and social graph. For example, a first social network can be more directed to business networking, a second can be more directed to or centered on academics, a third can be more directed to local business, a fourth can be directed to dating and others of general interest or a specific focus. Furthermore, thesocial network server 124 may provide personalized streams of content including photos, posts, shares, and other information from a variety of sources including friends, colleagues, news sources, etc. - As shown in
FIG. 1 , in one implementation, the endorsement/recommendation module 156B operates as part of thesocial network server 124. This implementation of the endorsement/recommendation module 156B has the same functionality as has been described above for the endorsement/recommendation module 156C that can be part of thesearch server 114. The endorsement/recommendation module 156B generates and populates a user interface or share box in response to user requests. The endorsement/recommendation module 156B obtains the context of the user from thesocial network server 124. The endorsement/recommendation module 156B also communicates with theendorsement server 112, thesearch server 114 and therecommendation server 120 to retrieve other contextual information. This information can be used by the endorsement/recommendation module 156B to filter and personalize the content. The content may be then used to populate a user interface (e.g., share box), for example, using java script. The user interface of the present disclosure can be rendered on the client side or the server side regardless of the server in which the endorsement/recommendation module 156 can be operating. - An
endorsement server 112 includes a processor (not shown) and a memory (not shown). The processor is similar to the processor described above; however, it may have increased computing capability. Theendorsement server 112 also includes software or routines operable on the server to implement the endorsement system. In some implementations, theendorsement server 112 can be a system for tracking content and indicating users who have endorsed or recommended existing content. In some implementations, the endorsement system implemented by theendorsement server 112 can be applicable to information available on the World Wide Web. In some implementations, the endorsement system can be applicable to content created by users of the social network. In some implementations, the endorsement system can be applicable to content like videos available over the Internet. Theendorsement server 112 can be coupled to receive endorsements from the user, coupled to receive search results, and coupled to provide endorsement information to the endorsement/recommendation modules endorsement server 112 includes the endorsement/recommendation module 156A. The endorsement/recommendation module 156A has the same or similar functionality to theendorsement sharing modules social network server 124 and thesearch server 114, respectively. - In some implementations, the advertising (ad)
server 128 is coupled to thenetwork 140. Thead server 128 includes software and routines for serving ads in response to queries for search results from thesearch server 114 or on web sites from thethird party server 126. Thead server 128 stores advertisements used in online marketing and delivers them to website visitors for example as sponsored links or display ads. Depending on the implementation, thead server 128 works in concert with thesearch server 114 or functions independently. Although onead server 128 is shown in detail,multiple ad servers 128 may be present. In some implementations, thead server 128 also includes an endorsement/recommendation module 156D. The endorsement/recommendation module 156D works as part of thead server 128 to return ads toclient device 104 as part of the content populated to the share box, and targeted ads can be selected (1) based on the context used to determine the additional content to return to the user, or (2) based on the additional content itself to be returned to the user. In some implementations, the endorsement/recommendation module 156D cooperates with thead server 128 to return ads to other locations on the page where the endorsement may be taking place, but outside of the share box itself. In some implementations, the endorsement/recommendation module 156D works with thead server 128 to return ads with the shared content once the endorsing user has completed his or her own addition to the share box and sends the ad and shared content for sharing to other locations (social network, blog, etc.). In this case, the ad may appear as content alongside the shared content or on other portions of the landing page for the shared content. - The
third party server 126 is coupled to thenetwork 140 to provide content for example web pages. In some implementations, thethird party server 126 can be the Web server of a publisher. Thethird party server 126 includes a processor (not shown) and a memory (not shown) and serves web pages in response to a HTTP requests. Although a singlethird party server 126 is shown, there may be hundreds or even thousands of third-party servers 126 providing different content. - As shown in
FIG. 1 , in one implementation, the endorsement/recommendation module 156E operates as part of therecommendation server 120. Therecommendation server 120 may be responsible for providing recommended content. Therecommendation server 120 may be coupled to receive information and content from thesocial network server 124,endorsement server 112, thesearch server 114, thethird party server 126 and thead server 128. This implementation of the endorsement/recommendation module 156E has the same functionality as has been described above for the endorsement/recommendation module 156C that can be part of thesearch server 114. The endorsement/recommendation module 156E generates and populates a user interface or share box in response to user requests. The endorsement/recommendation module 156E obtains the context of the user as well as other contextual information from thesocial network server 124, theendorsement server 112, thesearch server 114, thethird party server 126 and thead server 128. This information can be used by the endorsement/recommendation module 156E to generate, filter and personalize the recommended content. -
FIG. 2 shows another implementation with the relationship between theclient device 104, theendorsement server 112, thesearch server 114, atransaction server 122, thesocial network server 124, thethird party server 126 and thead server 128. Although not shown inFIG. 2 , therecommendation server 120 may be similarly be configured for communication with the endorsement/recommendation module 156A to receive and respond to context requests 222 with context 224 information. In some implementations, the endorsement/recommendation module 156 could be part of thesocial network server 124, thesearch server 114, thead server 128 or therecommendations server 120 rather than part of theendorsement server 112. In such implementations, the endorsement/recommendation module 156 would cooperate with components of the server which it can be a part of in a similar manner to that shown inFIG. 2 . -
FIG. 2 illustrates the signals that can be passed between theclient device 104, endorsement server 112 (in particular, the endorsement/recommendation module 156A), thesearch server 114, thetransaction server 122, thesocial network server 124, thethird party server 126 and thead server 128 to create a user interface including recommended content responsive to interaction with endorsements. The endorsement/recommendation module 156A also interacts with these other systems to share content, perform transactions or perform other functions related to theother servers recommendation module 156A can be representative of the endorsement/recommendation module 156 and that a system with a single endorsement/recommendation module 156B in thesocial network server 124, a single endorsement/recommendation module 156C in thesearch server 114, a single endorsement/recommendation module 156D in thead server 128 or a single endorsement/recommendation module 156E in therecommendation server 120 would operate in a similar manner. - The
user 102 and theclient device 104 cooperate so that content can be displayed by theclient device 104. For example, a webpage can be retrieved from thethird party server 126, a stream can be retrieved from thesocial network server 124 or search results can be retrieved from thesearch server 114. Theuser 102 inputs a signal requesting an endorsement button, endorsement related information or a share box. Theclient device 104 sends a share box orendorsement request signal 220 to the endorsement/recommendation module 156A. The endorsement/recommendation module 156A processes the share box orendorsement request signal 220 and creates a user interface (e.g., an endorsement button, annotation or share box). The endorsement/recommendation module 156A determines the identity of the user and the context in which the request for the endorsement related information was made so that this context can be used to determine what recommended content to automatically insert into the share box. - In some implementations, the endorsement/
recommendation module 156A sends acontext request signal 222A to thethird party server 126. Thethird party server 126 responds by providing thecontext 224A. In this case, providing thecontext 224A can be performed by sending information about the webpage (or even the actual web page) that was provided to theclient device 104. - In some implementations, the endorsement/
recommendation module 156A sends acontext request signal 222B to thesocial network server 124. Thesocial network server 124 responds by sending the context 224B. In this case, the context 224B includes social data associated with the user describing the content being viewed by the user 102 (e.g., a stream of content, a post, a blog, a photo, sharing, etc.), actions performed by the user in the social network, actions performed by friends of the user in the social network, a social graph associated with the user, content viewed by other users that may be connected to the user in the social graph, etc. - In some implementations, the endorsement/
recommendation module 156A sends acontext request signal 222C to thead server 128. Thead server 128 responds by sending thecontext 224C. In this case, thecontext 224C includes ads or links appropriate for the context. Thead server 128 may also receive other context information from thesocial network server 124, thethird party server 126, the endorsement/recommendation module 156A orsearch server 114 to better define the context and thereby better target the ads sent to match the context for maximum effectiveness. Thead server 128 may receive this information directly from thesocial network server 124, thethird party server 126, the endorsement/recommendation module 156A or thesearch server 114 as shown by arepresentative signal line 230 shown with dashes since this information also may be provided via the endorsement/recommendation module 156A. - In some implementations, the endorsement/
recommendation module 156A sends acontext request signal 222D to thesearch server 114. Thesearch server 114 responds by sending thecontext 224D. In this case, thecontext 224D describes a search history associated with the user including the content being viewed by theuser 102, e.g., web pages, data tags, search history, popular searches, etc. - In some implementations, the endorsement/
recommendation module 156A sends acontext request signal 222E to thetransaction server 122. Thetransaction server 122 responds by sending thecontext 224E. In this case, thecontext 224E includes transaction data associated with the user for purchasing content or products identified in the recommended content. For example, thecontext 224E could be information on how to purchase goods, download music, download or stream video, etc. In some implementations, thecontext 224E includes transaction data describing one or more transactions performed by the user. - Although not shown in
FIG. 2 , in some implementations, the endorsement/recommendation module 156A sends a context request signal 222 to therecommendation server 120. Therecommendation server 120 responds by sending recommended content 224. In this case, the recommended content may be web pages, video, audio, or other content based on popularity, relevance to the user, recency, number of social annotations, correlations to what other users annotated, etc. Some of the functionality provided by therecommendations server 120 can be incorporated into the endorsement/recommendation module 156A as will be described in more detail below with reference to the implementation ofFIG. 3 . - The endorsement/
recommendation module 156A receives thecontext third party server 126, thesocial network server 124, thead server 128, thesearch server 114, or thetransaction server 122 and uses that context to determine what information to include within the user interface or share box. This process will be described in more detail below with reference toFIGS. 3-5 and can include filtering information based on publisher information from thethird party server 126, filtering information based on user preference information from thesocial network server 124 or thesearch server 114, or other types of personalization of the content for the user. The endorsement/recommendation module 156A then creates a user interface or share box including the recommended content and the actions that can be taken on the recommended content and sends the user interface orshare box 226 to theclient device 104. The endorsement/recommendation module 156A may also deliver ad content as part of theshare box 226 or along with theshare box 226 as has been described above. The share box 226 (and/or recommended content) can be received by the sharingclient 110 and presented to theuser 102 on theweb browser 202. Theuser 102 may add content to the share box. Included within some implementations of the share box can be a number of actions or buttons that can be selectable by theuser 102. Theuser 102 may choose to share the content in the share box to one or more of other server systems or take one or more other actions on the content in the share box. Three examples of potential actions are shown inFIG. 2 . First, the content in the share box may be shared/sent back 228A to the endorsement/recommendation module 156A. Second, the content in the share box may be shared/sent back 228B to thesocial network server 124 for sharing with friends or groups of friends of theuser 102. Third, the content in the share box may be shared/sent back 228C to thesearch server 114 for use in improving the operation of thesearch engine 130. Although not shown, the content in the share box may also be shared with other systems including but not limited to micro blogging sites, bulletin boards, video hosting sites, blogs, forums, etc. The actions in the share box may also be to consummate transactions and provide information to thetransaction server 122. - While
FIG. 2 describes one implementation in which most of the operations of the present disclosure can be performed by the endorsement/recommendation module 156A, in some implementations, at least part of the steps described above may be performed by the sharingclient 110. In such a case, the sharingclient 110 processes theshare box request 220, generates the share box, communicates with theother servers web browser 202. The sharingclient 110 also receives input from the user regarding actions to take on the content and performs those actions for example, sharing 228A, 228B, 228C with other systems. - Referring now to
FIG. 3 , an implementation of the endorsement/recommendation module 156A is shown. In this implementation, the endorsement/recommendation module 156A includes arecommendation generator 302, one or more recommendation data store(s) or interface(s) 304, a user interface (UI)creation module 306, a correlation module 308, apublisher control module 310, asocial interface module 312, asearch interface module 314 and a transaction/otherserver interface module 316. - The
recommendation generator 302 may be software or routines for generating recommended content. Therecommendation generator 302 is coupled or configured for communication with the one or more recommendation data store(s) or interface(s) 304, theUI creation module 306, the correlation module 308, thepublisher control module 310, thesocial interface module 312, thesearch interface module 314 and the transaction/otherserver interface module 316. Therecommendation generator 302 cooperates with the one or more recommendation data store(s) or interface(s) 304 to retrieve content that can be processed and potentially sent as recommended content. Therecommendation generator 302 may receive additional content from thesocial interface module 312, thesearch interface module 314 and the transaction/otherserver interface module 316. Therecommendation generator 302 cooperates with theUI creation module 306 and receives requests from it for recommended content. Therecommendation generator 302 produces the recommended content and sends it to theUI creation module 306 for inclusion with the user interface created by theUI creation module 306. Therecommendation generator 302 also cooperates with thesocial interface module 312, thesearch interface module 314 and the transaction/otherserver interface module 316 to receive context information that therecommendation generator 302 uses to process and identify the most relevant recommended content. These sources can provide information specific to the user thereby increasing the relevance of the recommended content to the user. For example, therecommendation generator 302 may receive social signals from thesocial interface module 312 that provide information about a user's interaction with the social network that can be used to identify more relevant recommended content. Therecommendation generator 302 may receive endorsement signals from theendorsement server 112 that provide information about what the user has endorsed. Therecommendation generator 302 may receive search signals from thesearch interface module 314 that provide information about what theuser 102 has searched for and clicked upon. Therecommendation generator 302 may receive transaction signals or other signals from the transaction/otherserver interface module 316 provide additional information about purchases the user has made or information of interest to the user. Therecommendation generator 302 also cooperates with the correlation module 308 and thepublisher control module 310 to receive information that can be used to adjust the ranking of recommended content or exclude content from a recommendation, respectively. In some implementations, therecommendation generator 302 identifies recommended content based upon a number of factors, for example, content ordered by the number of social annotations, content ordered by recency or timestamp, content ordered by correlation (people who annotated this also annotated that), content ordered by author and a relation to the user, content ordered by topic, content ordered by search, content ordered by commenting, posting or sharing, content ordered by endorsement, etc. More specifically, therecommendation generator 302 may provide recommended content based on, for example, a top (ordered by number of endorsements, annotations or shares) or endorsed or shared topic in the domain by one or more users, a most recently (ordered by timestamp) endorsed or shared topic in a domain, and a correlated topic (people that endorsed or shared on this topic also endorsed or shared on that topic) based on signals from the correlation module 308. The above bases for recommending content may be additionally based upon all users, a subset of users, or users within a social group. Further, the recommended content may be restricted to a current domain or source, or a group of domains and sub-domains. In some implementations, therecommendation generator 302 may also introduce some randomization by adding random content. In some implementations, therecommendation generator 302 can also provide recommended content based upon the topic having the most endorsements by source; topics recommended based upon the user's group or circle in a social graph; the topic having the most endorsements on a given domain that the user will like; topic most endorsed by users that endorsed this—another related topic-sentiment analysis; and topics that people I know who endorsed also endorsed this topic. In some implementations, therecommendation generator 302 only recommends content once for a given user. In some implementations, therecommendation generator 302 also generates recommended content based in part upon “similarity.” In other words, content that can be similar to the content being viewed or of interest may be identified and recommended by therecommendation generator 302. This could be alone or in combination with the other information identified above. - The one or more recommendation data store(s) or interface(s) 304 may be software, routines or storage for storing aggregated content. The recommendation data sources may be data sources that store the actual content. The one or more recommendation interfaces may be interfaces to aggregated content including searches, search results, social network information, transaction information, annotation information, endorsement information, etc. The one or more recommendation data store(s) or
interfaces 304 are coupled to provide this content to therecommendation generator 302. - The user interface (UI)
creation module 306 may be software or routines for creating a user interface including recommended content. TheUI creation module 306 may generate and provide annotations, share boxes, recommended content, and engagement action buttons as will be described in more detail with reference toFIGS. 6A-8C . TheUI creation module 306 receives theshare box request 220 from theclient device 104. TheUI creation module 306 can provide various combinations of annotations, share boxes, recommended content, and engagement action buttons adapted to be responsive to the request received from the sharingclient 110. Example user interfaces are described below in more detail with reference toFIG. 6A-13F . TheUI creation module 306 sends requests for recommended content to therecommendation generator 302 and in response to the request and the context, receives recommended content from therecommendation generator 302. TheUI creation module 306 combines this recommended content with the user interface constructs and sends a user interface (e.g., share box 226) to theclient device 104. - The correlation module 308 may be software or routines for generating or identifying correlated recommendations. The correlation module 308 can be configured for communication with the recommendation data store(s) or interface(s) 304, the
social interface module 312, thesearch interface module 314 and the transaction/otherserver interface module 316. The correlation module 308 correlates the relationship between annotations and generates information that represents likelihood of what the user may be likely to annotate. In some implementations, the correlation module 308 may generate a score that can be a linear combination of public endorsements the user has made, endorsements made by other others in the user's social graph, and endorsements by others on a first topic that also endorsed or shared us on a second topic. In some implementations, the correlated recommendations can be weighted by recency. Further, the correlation ranking can be used in combination with other categorizations identified above made by therecommendation generator 302. - The
publisher control module 310 may be software or routines for receiving information from publishers about restrictions and settings for providing related content. In some implementations, thepublisher control module 310 provides a variety of inputs or settings that can be received from a publisher or owner of a website. Thepublisher control module 310 is coupled to provide this information to therecommendation generator 302 so that it can be used as a filter to remove recommendations responsive to input from the publisher. For example, the publisher may restrict recommended content to a particular domain, sub-domain or may exclude external content. - The
social interface module 312 may be software or routines for sending context requests 222B to thesocial network server 124 and receiving context responses 224B from thesocial network server 124. Thesocial interface module 312 retrieves this context information and other social signals and information and provides it to therecommendation generator 302 and theUI creation module 306. Both of thesemodules - The
search interface module 314 may be software or routines for sendingcontext requests 222D to thesearch server 114 and receivingcontext responses 224D from thesearch server 114. Thesearch interface module 314 retrieves the search signals and other information and provides them to therecommendation generator 302 and theUI creation module 306. As with the other interface modules, this information can be used by therecommendation generator 302 and theUI creation module 306 to identify recommended content and determine which user interface to create, respectively. - The transaction/other
server interface module 316 may be software or routines for sendingcontext requests 222E to thetransaction server 122 or other servers, and receivingcontext responses 224E from thetransaction server 122 or other servers. Again, the transaction/otherserver interface module 316 provides this information to therecommendation generator 302 and theUI creation module 306 for use in performing their functions. - Referring now to
FIG. 4 , one implementation of amethod 400 for presenting a user interface element (e.g., a share box) including recommended content in response to an endorsement input is described. Themethod 400 begins by receiving 402 an input from a first user. Depending on the implementation, the input may be a request for an endorsement button, a hover over an endorsement button or the selection of an endorsement button provided for users of thesearch engine 130 or a social network, for example. Next the method determines 404 whether the received input was related to an endorsement of a first content item. In some implementations, an input that can be related to an endorsement of a first content item includes a request for an endorsement button to endorse the first content item, a hover over an endorsement button for the first content item, the selection of an endorsement button to endorse the first content item, a right-click over the endorsement button or similar input. An input related to an endorsement may be associated with any input a first user can make from theweb browser 202. If the input was not related to an endorsement, themethod 400 ends. On the other hand, if the input was related to an endorsement, themethod 400 continues to determine 406 the context of the input and the first user. For example, themethod 400 determines an input context for the input, a user context describing the first user, a third context of the request or the identity of the first user. In other words, themethod 400 determines any information that can be used to determine the input context in which the input related to an endorsement was made. This context information (e.g., the input context, user context and other context) can be used to retrieve and/or filter content for the annotation or insertion into the share box. For example, determining the input context may include determining the webpage being viewed, determining the portion of the web page being viewed, determining the domain or sub-domain of the webpage being viewed, determining information associated with the input, determining input associated with the endorsement button, etc. In some implementations, part of this information can be used to determine what content can be filtered and not presented in the steps below. - In some implementations, the input context includes (1) a social correlation between the first content item from the first source and a second content item from a second source and (2) a source correlation between the first source and the second source. The
method 400 determines a first source where the first content item related to the endorsement input is from. - A social correlation can be data indicating that both the first and the second content items have engagement actions performed by a common user. For example, a social correlation indicates that a common user who annotates a first content item also annotates a second content item. In a further example, assume the input from the first user indicates that the first user uses a cursor to hover over an endorsement button for a video. A social correlation between the video and another content item (e.g., an article) indicates that a second user has endorsed both the video and the article. In some implementations, both engagement actions can be of the same type of actions (e.g., a common user who endorses the first content item also endorses the second content item; a common user who shares the first content item also shares the second content item, etc.) or of different types of actions (e.g., a common user who endorses the first content item also comments on the second content item; a common user who reposts the first content item also shares the second content item; a common user who endorses the first content item also reposts the second content item, etc.). In some instances, the common user can be a second user connected to the first user in a social graph. In some instances, the common user can be a second user not connected to the first user in a social graph.
- A source correlation can be data indicating that the first source is correlated to the second source. For example, a source correlation indicates that both the first and second sources have engagement actions performed by a common user. In a further example, a source correlation indicates that the first user or the second user, or both, has endorsed both the first source and the second source. In some implementations, a source correlation indicates that both the first source and the second source are from the same domain. In some other implementations, a source correlation indicates that the first source and the second source are from domains specified by the same publisher.
- In some implementations, the
method 400 determines the user context describing the user by processing one or more of social information, endorsement information and a search history associated with the user, publisher information and a domain visited by the user, etc. - Next, the
method 400 retrieves 408 recommended content according to the context in which the input related to an endorsement was made. Themethod 400 determines the recommended content for the first user based on the input context and/or the user context so that the recommended content matches the input context and/or the user context. For example, if the input context indicates that the first user may be viewing a particular web page, at least portions of that webpage may be retrieved and used to identify recommended content for inclusion in the share box. In such implementations, determining 406 the context includes determining the domain and/or sub-domain for the particular webpage the first user was viewing. The recommended content can be then determined using the domain name or sub-domain of that particular webpage. For example, there may be three articles on the particular topic within a particular domain. The retrieval recommended content for a first user that may be viewing one of three articles, may be to retrieve as recommended content abstracts of the other two articles provided on the same domain. Additional information like the content of the webpage, HTML tags on the webpage, recency in viewing the webpage, other web pages that have been viewed whether in the same domain or related domains can also be used to identify other recommended content. Similarly in some implementations, since the input can be associated with a particular endorsement button, the content related to that endorsement button can be identified for addition into the share box. In further implementations, additional content not visible to the first user may also be retrieved for possible inclusion in the share box. In one implementation, certain portions of the webpage may be tagged with semantic classifications provided by the publisher. That information can also be used to determine the recommended content that can be retrieved. - In some implementations, the recommended content also matches the user context describing the user. For example, if the user context indicates that the user has searched for and purchased a first product online, the recommended content may include (1) a second product similar to the first product and (2) a link to a webpage from a specific domain for the first user to purchase the second product.
- Then the
method 400filters 410 the content based on publisher input or settings. Step 410 can be optional and thus shown with dashed lines inFIG. 4 . In some implementations, the publisher or owner of the web domain can control the recommended content and possible actions that can be incorporated into the user interface element. There may be a variety of controls which can be afforded to the publisher and implemented by thepublisher control module 310. For example, the publisher may allow or not allow the user to share content. The publisher may also limit the recommended content sources to the current domain or sub-domain. Similarly, the publisher may specify that no external content be provided as recommended content. In some implementations, information provided to the user includes additional non-visible or visible tags for semantically classified information that can be presented to the user. Once the context of the user has been determined and content has been retrieved for that context, this information can be further refined using the semantic classifications provided by the publisher. In some implementations, the information can be filtered by the publisher specifically indicating what information may be copied into the share box as recommended content. In some implementations, the endorsement/recommendation module 156 decides what content to filter based on auto crawling or some alternative mechanism. In some implementations, the information can be filtered by a combination of input from the endorsement/recommendation module 156 and the publisher. There may be a number of additional ways in which the content may be filtered based on semantic classification, requirements of the publisher, requirements of thesearch server 114, or requirements of other related entities. - Then the
method 400 creates 412 a user interface element. The user interface element may be an endorsement button and an annotation, or may be the share box or bubble including recommended content. Examples of such user interface elements are shown and described below with reference toFIGS. 6A-8C . Themethod 400 continues by adding 414 the recommended content to the user interface element. For example, the recommended content retrieved instep 408 can be added to the user interface element. In some implementations, the top one or several items of recommended content can be added to the user interface element because of the limited amount of real estate. In the case where the user interface element can be an endorsement button, the added content can be the annotation. In the case where the user interface element can be a share box or bubble, the added content could be one or more items of information, links, etc. added to the share box. In some implementations, one or more engagement action buttons can be added 416 to the user interface element. Step 416 can be optional and thus shown with dashed lines inFIG. 4 . For example, depending on the context, the share box may be pushed to one or more of: 1) third-party sites; 2) a stream of information from the user; 3) a post by the user; 4) a recommendation page of the user; 5) annotation storage for later presentation with the search results; 6) a micro blogging site; and 7) another site, page, database or system in which the information may be useful and valuable. Individual buttons for taking an action on the information in the share box can be added to the share box. For example, engagement action buttons may be provided to allow the user to: 1) post a comment; 2) share content; 3) follow a topic; 4) follow another user in the social network; 5) add another user to the user's social graph; 6) transition to view the recommended content; 7) view content related to the recommended content; 8) make a purchase of a product identified in the recommended content; 9) download music or video identified in the recommended content; etc. Finally, themethod 400 completes by providing 418 the share box for display. In some implementations, the share box can be sent from theendorsement server 112 to theclient device 104 and the information can be presented in abrowser 202 at theclient device 104. The user can add additional information to the share box and select anyone of the engagement action buttons such that the content in the share box may be delivered according to the action selected. - Although not shown in
FIG. 4 , after the share box has been presented or displayed to theuser 102, the user can take a number of actions. First, the user can add additional content by inputting it to the share box. Second, theuser 102 can specify other users or systems with which to share the content in the share box. This can be done following selection of the share button. In some implementations, the content from the share box can be sent to individuals or other systems. For example, the content in the share box could be e-mailed to a particular user. In another example, the information in the share box may be added to the stream of theuser 102 in his/her social network. In yet another example, the content in the share box may be returned to thethird party server 126, thesearch server 114, the endorsement/recommendation module 156 or other systems for additional processing, analytical evaluation, or presentation. In particular, the ability to easily add content and share with a multitude of other users and systems allows the user to spread content in a viral manner. -
FIGS. 5A-5C show another implementation of themethod 500 for providing recommended content in a user interface element. Referring now toFIG. 5A , themethod 500 begins by receiving 502 an input. Themethod 500 then determines 504 whether the received input was a request for an endorsement button. If not, themethod 500 continues to step 520 as will be described in more detail below with reference toFIG. 5B . On the other hand, if the received input was a request for an endorsement button, then themethod 500 continues to determine 506 the context of the user and request. For example, the context may be determined from the social search, or endorsement signals that may indicate a webpage being viewed, the user viewing the webpage, etc. Themethod 500 uses the determined context to retrieve 508 the recommended content. In this instance, the recommended content can be a short statement or other information pertinent to the endorsement button. Next, themethod 500 creates 510 an annotation from the recommended content. Examples of annotations including recommended content will be described below with reference toFIG. 6A-6F . Themethod 500 then creates 512 an endorsement button. This button can be added to a webpage and can be selectable by theuser 102 to provide endorsement information to theendorsement server 112. Themethod 500 completes by providing 514 the endorsement button then the annotation for display in theweb browser 202 of theclient device 104. - If the
method 500 determined instep 504 that the input was not a request for an endorsement button, themethod 500 continues instep 520 ofFIG. 5B . Themethod 500 described with reference toFIG. 5B below can be advantageous because the recommended content can be provided to the user at a time when they may be thinking about endorsing the content, but before they actually do. This has the benefit that users will start to learn that if they want recommendations, they can hover over theendorsement button 602, which will generate more endorsements. - In
step 520, themethod 500 determines whether the input was a cursor over an endorsement button. If not, the method proceeds to step 540 ofFIG. 5C as will be described below. On the other hand, if themethod 500 determined that the input was a cursor over an endorsement button, themethod 500 determines 522 the context of the user and the request. As has been described above with reference toFIG. 2 , the user context can include a variety of signals including social signals, endorsement signals, search signals, the domain or webpage being viewed, etc. Next, themethod 500 retrieves 524 recommended content for the context. As noted above, the recommended content can be for a given domain or sub-domain, based upon the content that is most often publicly endorsed, based upon the content that may be most often shared, based upon endorsements of the user, based upon whether others in the user's social graph have endorsed content, based upon search history, click through and other click behavior, etc. Themethod 500 then filters 526 the content based on publisher input or settings. In some implementations, this step may be optional. The content may be filtered based on publisher input provided by thepublisher control module 310 as has been described above. Next, themethod 500 personalizes 528 the recommended content for the user. The content can be personalized based on information from thesocial network server 124, for example, using known attributes of the user, information from friends of the user, information from use of the social network by the user, information from endorsements made by the user or any other sources. Similarly, the content can be personalized based on information from thesearch server 114, e.g., the browsing history of the user. In some implementations, information from a profile server (not shown) that includes preferences for the user can be used to personalize the content. In other words, themethod 500 customizes the content that will be added to the share box based on the identity of the user, who they are and his/her preferences. In certain implementations, the personalization step 528 can be optional. Themethod 500 then creates 530 a share box or bubble. Examples of the share box or bubble are shown and described below with reference toFIGS. 7A-8C . The share box or bubble can be one example of the user interface element for presenting the recommended content. Various other configurations of boxes, toolbars, buttons, and windows that have the same or similar functionality may be used instead of the share box. Themethod 500 continues by adding 532 the recommended and/or personalized content to the share box. Depending on the recommended content, one or more engagement action buttons can be added 534 to the share box. Finally, themethod 500 provides 536 the share box including the recommended content for display, for example by sending the share box and the recommended content to theclient device 104 for presentation in theweb browser 202 to theuser 102. The use of a share box including the recommended content can be particularly advantageous because it presents the recommended content at the right time and in the right context when it can be most valuable to the user. - If the
method 500 determined instep 520 that the input was not a cursor over an endorsement button, themethod 500 continues to step 540 ofFIG. 5C . Instep 540, themethod 500 determines whether the input was the selection of the endorsement button or sharing of content. If not, themethod 500 is complete, and the input can be processed by another system. On the other hand, if themethod 500 determined that the input was the selection of the endorsement button or sharing, themethod 500 determines 542 the context of the user and the request. This can be similar to step 522 described above, but in this case, the context includes the fact that the user has selected the endorsement button or decided to share content that may be presently being viewed. Themethod 500 continues by performingsteps 544 to 556.Steps 544 to 556 are similar tosteps 524 to 536 respectively so that description will not be repeated here. - Referring now to
FIGS. 6A-6F , example implementations ofuser interfaces endorsement button 602 and anannotation 604 are shown. -
FIG. 6A shows one example of theuser interface 600 including anendorsement button 602A and anannotation 604A. This can be an option for presenting endorsement buttons and annotations for users that are logged into a system, e.g., a social network. Theannotation 604A may be positioned proximate theendorsement button 602A, in this case to the right. Theannotation 604A includes a suggestion to share this (the content being viewed) with other users and includes pictures of those other users that may be retrieved from the social network. The other users may be in particular groups or the social graph of the user. -
FIG. 6B shows another example of theuser interface 610 including theendorsement button 602B and theannotation 604B. Again, this can be an option for presenting endorsement buttons and annotations for users that are logged into the system, for example, a social network. Theannotation 604B has a similar position to that ofFIG. 6A . In this example, theannotation 604B includes a suggestion that the user share this content with other users and identifies those other users by name. The names include links that can be selected by the user to provide more information about who specifically those users are. -
FIG. 6C shows an example of theuser interface 620 including theendorsement button 602C and theannotation 604C. This can be an option for presenting endorsement buttons and annotations for users that are logged into a social network. In this example, theannotation 604C includes a suggestion that the user share this content with a group, including the user's family. The group can be identified by a name that has been given to the group by the user in the social network. The name portion of the annotation also includes a link that can be selected by the user to provide more information about who may be included within the group. -
FIG. 6D shows another example of theuser interface 630 including theendorsement button 602D and theannotation 604D. Again, this can be an option for presenting endorsement buttons and annotations for users that are logged into a system. Theannotation 604D includes information specific to the user, in this case that the user has 756 followers, and a suggestion of who can be included within that group of followers. Certain portions of theannotation 604D can include links to access more detailed information about the annotation. -
FIG. 6E shows another example of theuser interface 640 including theendorsement button 602E and theannotation 604E. In this example, theannotation 604E can be for a user that may be not logged into another system. Theannotation 604E includes a general suggestion that content be shared with friends since the user may be not logged into the system, no additional information from the system is added to the annotation. -
FIG. 6F shows another example of theuser interface 650 including theendorsement button 602F and theannotation 604F. Again in this example, the user may be not logged into another system, e.g., a social network. Theannotation 604F includes an icon, for example, an image of flame or other indicia suggesting that the information can be “hot” or popular. Theannotation 604F also includes text about the continent the user can be viewing. - Referring now to
FIGS. 7A-7E , example implementations ofuser interfaces -
FIG. 7A shows another example of theuser interface 700 including theshare box 702A and the recommendedcontent 704A presented in response to a cursor over an endorsement button. Theuser interface 700 can be an example of ashare box 702A presented when the user is logged into another system, e.g., social network, and has not selected the endorsement button before. The share box 702 a includes anupper portion 706A with a picture of the user and a prompt or suggestion to use the endorsement button. Theshare box 702A also includes recommendedcontent 704A including a title and a link to access that content on the World Wide Web. The recommendedcontent 704A may also include an identification of others that have endorsed the recommendedcontent 704A and may include more information about them including their photo. -
FIG. 7B shows another example of theuser interface 710 including theshare box 702B and recommendedcontent 704B presented in response to a cursor over an endorsement button. Theuser interface 710 can be an example of theshare box 702B for the case where the user is logged into another system, e.g., the social network, but has a low engagement with endorsements. The recommendedcontent 704B provides information including a photo of the user and information about how others in the social network have utilized endorsements that the user has made. The recommendedcontent 704B may also include links to other endorsements that the user has made. -
FIG. 7C shows another example of theuser interface 720 including theshare box 702C and recommendedcontent 704C presented in response to a cursor over an endorsement button. Again, theuser interface 710 can be an example of theshare box 702C for the case where the user is logged into another system, e.g., the social network, but has a low engagement with endorsements. In this example, the recommendedcontent 704C includes a prompt or suggestion for the user to endorse a particular topic as well as a plurality of images of other users that may be in the social graph of the user. In some implementations, the images have corresponding links so that when they are selected, information about that other user can be presented. -
FIG. 7D shows another example of theuser interface 730 including ashare box 702D and recommendedcontent 704D presented in response to a cursor over an endorsement button. Theshare box 702D also has anupper portion 706D with a picture of the user and a prompt or suggestion to use the endorsement button and why the endorsement button should be selected. In this example, the recommendedcontent 704D can be provided to a user that is not logged in to another system and can be provided for educational purposes. The recommendedcontent 704D includes an explanation of what other users will see and an example of it. The example includes the recommended content, a link to the content, and an indication that the user has endorsed it. -
FIG. 7E shows another example of theuser interface 740 including ashare box 702E and recommendedcontent 704E presented in response to a cursor over an endorsement button. Theshare box 702E also has anupper portion 706E with a prompt or suggestion to use the endorsement button and why the endorsement button should be selected. In this example, the recommendedcontent 704E can be provided to a user that is not logged into another system and can be provided to promote an activity. The recommendedcontent 704E includes acontent promotion icon 708E, anengagement action button 712E that transitions to viewing more information about the recommendedcontent 704E on another system, for example a social network, the subject matter of the recommended content, an indication of the number of times the recommendedcontent 704E has been shared, and public posts by other users about the recommendedcontent 704E. -
FIGS. 8A-8C are example implementations ofuser interfaces -
FIG. 8A shows an example of theuser interface 800 including ashare box 702F and recommendedcontent 704F presented in response to or after the selection of the endorsement button. Theshare box 702F also has anupper portion 706F with text acknowledging the selection of the endorsement button or sharing. In this example, the recommendedcontent 704F can be provided to a user that is logged in to another system. The recommendedcontent 704F includes titles of other articles on the same domain, photographs or images related to those articles, and an indication of how many others have publicly shared or endorsed the articles. In some implementations, a selected number of images of others that have endorsed the recommendedcontent 704F can be provided. In some implementations, the images can be of others that may be in the social network of the user. -
FIG. 8B shows an example of theuser interface 810 including ashare box 702G and recommendedcontent 704G presented in response to or after the selection of the endorsement button. Theshare box 702G also has anupper portion 706G with text acknowledging the selection of the endorsement button or sharing. In this example, the recommendedcontent 704G can be provided to a user that is logged in to another system. The recommendedcontent 704G includes the title of an article, an abstract of text, an image or photo, and anengagement action button 712G. Theengagement action button 712G when selected by the user will interact with the social network to allow the user to follow postings of the author of the recommendedcontent 704G. -
FIG. 8C shows an example of theuser interface 820 including ashare box 702H and recommendedcontent 704H presented in response to or after the selection of the endorsement button. Theshare box 702H also has anupper portion 706H with text acknowledging the selection of the endorsement button or sharing. In this example, the recommendedcontent 704H can be provided to a user that is logged in to another system, e.g. a social network. The recommendedcontent 704H includes an invitation to follow experts in photography which was the topic of the content being viewed before selection of the endorsement button. The recommendedcontent 704H includes identification of experts on photography and an indication from the social graph of the user the number of people that the expert and the user have in common. The recommendedcontent 704H also includes anengagement action button 802H to add the identified expert(s) to the social graph of the user. The recommendedcontent 704H also may include anengagement action button 712H that when selected by the user will allow the user to follow postings on the topic of underwater photography. - In the implementations described above with reference to
FIG. 5A-8C , input that relates to an endorsement can include requesting a webpage, requesting a webpage including an endorsement button, input proximate the endorsement button, a cursor over an endorsement button, a selection of an endorsement button, whether the content has been endorsed by any user, whether a particular user has endorsed the content, whether the user has made any endorsements to any content, whether the user has made a low number of endorsements, posting related to content, or sharing content. More specifically, the endorsement context may include the timing of the selection of the endorsement button, events that occur before selection of the endorsement button and events that occur after the selection of the endorsement button. For example, endorsement buttons may be provided alone or with annotations. Similarly, different recommended content may be presented in the share box before selection of the endorsement button (around the time of cursor over) as compared with recommended content that can be provided after selection of the endorsement button. - In some implementations described above, the recommended share box 702 includes mechanisms for users to view more detail about the recommended content. Some of these mechanisms can be provided to the user before they endorse a particular webpage or portion of content. In the event a user does not selected the
endorsement button 602 and instead views the recommended content and transitions to a different or second webpage or system, asecond endorsement button 602 will be presented on the second webpage or system. In some implementations, the endorsement/recommendation module 156 will process inputs from the user and if the endorsement button on the second webpage is selected, the endorsement/recommendation module 156 can present one or more message to disambiguate which content the user intended to endorse. For example, messages to the user could include: “We noticed you just came from page X, would you like to endorse that page?” “Would you like to endorse both the current page enter prior page?” Or “Would you like to endorse both only this page?” In some instances, the endorsement/recommendation module 156 may present a list of prior web pages that the user has visited and allow them to endorse one, all, or selected pages. Furthermore, endorsement/recommendation module 156 may receive and process other signals in addition to the domain or sub-domain of the content being viewed by the user. For example, other interfaces may be provided to allow the user to indicate how interesting the content is. A drop-down dialog box may be provided to allow the user to provide an endorsement rating of 1 to 5, 1 being the lowest and 5 being the highest and most interesting. The level of interestingness that particular content has may also be automatically determined (e.g., how long a user views or engages a particular page or content). If the user views the page for a short period versus a long period (dwell time), the endorsement/recommendation module 156 automatically determined that can be an endorsement with a low level of interestingness. This dwell time could also be used by theendorsement server 112 to classify and boost recommendations. This automatic measurement could be performed on the client side through the use of cookies with the state or web history or could be tracked from the server-side. In other implementations, the identity of the referring page could be encoded into a token that includes a hash portion of the URL. The endorsement button on the second page could then decode the token to determine what the referring page was at the time the user transition to the recommended content. This approach can be advantageous because it minimizes the traffic and data that are sent to theendorsement server 112. - Referring now to
FIGS. 9-13F , a webpage and example states in which the endorsement button, annotations and the share box including recommended content are presented to the user are shown and described. -
FIG. 9 shows anexample webpage 900 including theendorsement button 602 and anannotation 604. Theexample webpage 900 has various sections for advertisements, and selectable buttons to navigate over the domain or other content. Thisparticular webpage 900 presents a photograph and thumbnail images of other pictures. The webpage includes content selections for subscriptions, editorial teams, services and other information. In addition to theendorsement button 602 and theannotation 604, thewebpage 900 provides navigation buttons for transitioning to other posts, accessing micro blogging sites and accessing other social networks. -
FIGS. 10A and 10B areexample implementations webpage 900 ofFIG. 9 showingexample share boxes endorsement button 602. For example,FIG. 10A shows thewebpage 900 ofFIG. 9 with theuser interface 710 ofFIG. 7B overlaid in response to the user moving the cursor over theendorsement button 602. Similarly,FIG. 10B shows thewebpage 900 ofFIG. 9 with theuser interface 720 ofFIG. 7C overlaid on thewebpage 900 in response to the user moving the cursor over theendorsement button 602. -
FIGS. 11A and 11B areadditional example implementations webpage 900 ofFIG. 9 showingexample share boxes endorsement button 602. For example,FIG. 11A shows thewebpage 900 ofFIG. 9 with theuser interface 740 ofFIG. 7E overlaid in response to the user moving the cursor over theendorsement button 602. Similarly,FIG. 11B shows thewebpage 900 ofFIG. 9 with theuser interface 730 ofFIG. 7D overlaid on thewebpage 900 in response to the user moving the cursor over theendorsement button 602.FIGS. 10A-11B illustrate a particular advantage of the present disclosure which is that the recommended content 702 can be positioned on the user interface in close proximity to theendorsement button 602. Moreover, in some implementations rather than presenting the share box 702 in response to a cursor movement, the share box 702 may positioned and field with recommended content and placed near theendorsement button 602—in other words, without need for the user to move the cursor over theendorsement button 602. -
FIGS. 12A-12D show anexample implementation content icon endorsement button 602. More specifically,FIG. 12A shows thewebpage 900 ofFIG. 9 with theendorsement button 602, thecontent icon 1202 and theannotation 604 as part of thewebpage 900. Thisinterface 650 can be similar to that described above with reference toFIG. 6F .FIGS. 12A-12D illustrate the transition of the content icon fromcontent icon 1202 tocontent icon 1204 tocontent icon 1206 and then finally tocontent icon 1208. This transition can be responsive to a cursor over input upon either theendorsement button 602 or thecontent icon 1202. The transition ofcontent icon 1202 tocontent icon 1208 provides a mechanism to give the user more information about why particular content is popular or “hot.” In this example,content icon 1202 can be a symbol indicating that the particular content on the website may be popular. Howevercontent icon 1208 indicates the number of endorsements that the content has received. In other implementations, the numerical value could be used to indicate endorsements, instances of sharing the content, posts about the content, etc. Thecontent icon 1204 ofFIG. 12B shows the original icon and a portion of the numeric value. Thecontent icon 1206 ofFIG. 12C shows a portion of the original icon and a greater portion of the numerical value. -
FIGS. 13A-13F show example implementations of thewebpage 900 and the share box 702 including recommended content 704 presented in response to selection of anendorsement button 602 or the sharing of content. -
FIG. 13A shows anexample implementation 1300 of thewebpage 900 ofFIG. 9 with the share box 702I overlaid in response to the user selecting theendorsement button 602. This implementation of the share box 702I includes an area for the user to add a comment as well as the recommended content 704 and the engagement action buttons for a photography group and to post the comment.FIG. 13B shows an example implementation 1310 of thewebpage 900 ofFIG. 9 with the share box 702J. The share box 702J can be similar to the share box 702I, but also includes a comment that has already been added near the top of the share box 702J. The share box 702J is one example for the appearance of the share box 702 after the user has posted a comment. -
FIG. 13C shows anexample implementation 1320 of thewebpage 900 ofFIG. 9 with theuser interface 800 ofFIG. 8A overlaid in response to user selection of theendorsement button 602. -
FIG. 13D shows anexample implementation 1330 of thewebpage 900 ofFIG. 9 with ashare box 702K overlaid in response to user selection of theendorsement button 602. Theshare box 702K has similar functionality to a combination of functions fromshare box -
FIG. 13E shows anexample implementation 1340 of thewebpage 900 ofFIG. 9 with theuser interface 810 ofFIG. 8B overlaid in response to user selection of theendorsement button 602. -
FIG. 13F shows anexample implementation 1350 of thewebpage 900 ofFIG. 9 with theuser interface 820 ofFIG. 8C overlaid in response to user selection of theendorsement button 602. - A system for presenting a user interface with recommended content in response to an endorsement input has been described. In the above description, for purposes of explanation, numerous specific details were set forth. It will be apparent, however, that the disclosed technologies can be practiced without any given subset of these specific details. In other instances, structures and devices are shown in block diagram form. For example, the disclosed technologies are described in one implementation below with reference to user interfaces and particular hardware. Moreover, the technologies disclosed above primarily in the context of a social network; however, the disclosed technologies apply to other data sources and other data types (e.g., collections of other resources including images, audio, web pages) that can be used to refine the search process.
- Reference in the specification to “one implementation” or “an implementation” means that a particular feature, structure, or characteristic described in connection with the implementation is included in at least one implementation of the disclosed technologies. The appearances of the phrase “in one implementation” in various places in the specification are not necessarily all referring to the same implementation.
- Some portions of the detailed descriptions above were presented in terms of processes and symbolic representations of operations on data bits within a computer memory. A process can generally be considered a self-consistent sequence of steps leading to a result. The steps may involve physical manipulations of physical quantities. These quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. These signals may be referred to as being in the form of bits, values, elements, symbols, characters, terms, numbers or the like.
- These and similar terms can be associated with the appropriate physical quantities and can be considered labels applied to these quantities. Unless specifically stated otherwise as apparent from the prior discussion, it is appreciated that throughout the description, discussions utilizing terms, for example, “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, may refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
- The disclosed technologies may also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, for example but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, flash memories including USB keys with non-volatile memory or any type of media suitable for storing electronic instructions, each coupled to a computer system bus.
- The disclosed technologies can take the form of an entirely hardware implementation, an entirely software implementation or an implementation containing both hardware and software elements. In one implementation, the technology is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
- Furthermore, the disclosed technologies can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer-readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
- A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
- Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers.
- Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modems and Ethernet cards are just a few of the currently available types of network adapters.
- Finally, the processes and displays presented herein may not be inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the disclosed technologies were not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the technologies as described herein.
- The foregoing description of the implementations of the present techniques and technologies has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the present techniques and technologies to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the present techniques and technologies be limited not by this detailed description. The present techniques and technologies may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Likewise, the particular naming and division of the modules, routines, features, attributes, methodologies and other aspects are not mandatory or significant, and the mechanisms that implement the present techniques and technologies or its features may have different names, divisions and/or formats. Furthermore, the modules, routines, features, attributes, methodologies and other aspects of the present disclosure can be implemented as software, hardware, firmware or any combination of the three. Also, wherever a component, an example of which is a module, is implemented as software, the component can be implemented as a standalone program, as part of a larger program, as a plurality of separate programs, as a statically or dynamically linked library, as a kernel loadable module, as a device driver, and/or in every and any other way known now or in the future in the art of computer programming. Additionally, the present techniques and technologies are in no way limited to implementation in any specific programming language, or for any specific operating system or environment. Accordingly, the disclosure of the present techniques and technologies is intended to be illustrative, but not limiting.
Claims (20)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/730,252 US9374396B2 (en) | 2012-06-24 | 2012-12-28 | Recommended content for an endorsement user interface |
CN201380033364.3A CN104395871B (en) | 2012-06-24 | 2013-06-24 | User interface for approving of content recommendation |
PCT/US2013/047265 WO2014004351A1 (en) | 2012-06-24 | 2013-06-24 | Recommended content for an endorsement user interface |
EP13809699.5A EP2864854A4 (en) | 2012-06-24 | 2013-06-24 | Recommended content for an endorsement user interface |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261663604P | 2012-06-24 | 2012-06-24 | |
US13/730,252 US9374396B2 (en) | 2012-06-24 | 2012-12-28 | Recommended content for an endorsement user interface |
Publications (2)
Publication Number | Publication Date |
---|---|
US20130346877A1 true US20130346877A1 (en) | 2013-12-26 |
US9374396B2 US9374396B2 (en) | 2016-06-21 |
Family
ID=49775522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/730,252 Active 2034-08-27 US9374396B2 (en) | 2012-06-24 | 2012-12-28 | Recommended content for an endorsement user interface |
Country Status (4)
Country | Link |
---|---|
US (1) | US9374396B2 (en) |
EP (1) | EP2864854A4 (en) |
CN (1) | CN104395871B (en) |
WO (1) | WO2014004351A1 (en) |
Cited By (194)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130060858A1 (en) * | 2009-12-24 | 2013-03-07 | Vertical Acuity, Inc. | Additional Systems and Methods for Curating Content |
US20140032698A1 (en) * | 2012-07-24 | 2014-01-30 | Cisco Technology, Inc. | Utilize Extra Web Semantic for Video Caching |
US20140074648A1 (en) * | 2012-09-11 | 2014-03-13 | Google Inc. | Portion recommendation for electronic books |
US20140115469A1 (en) * | 2012-10-19 | 2014-04-24 | Apple Inc. | Sharing Media Content |
US20140229416A1 (en) * | 2013-02-13 | 2014-08-14 | Samsung Electronics Co., Ltd. | Electronic apparatus and method of recommending contents to members of a social network |
US20140297806A1 (en) * | 2012-12-07 | 2014-10-02 | Industry Foundation Of Chonnam National University | Machine to machine system, method and server using social network service |
US20140297739A1 (en) * | 2013-03-27 | 2014-10-02 | Howard T. Stein | Media Previews Based on Social Context |
US20150134781A1 (en) * | 2013-11-13 | 2015-05-14 | Palo Alto Research Center Incorporated | Method and apparatus for pre-fetching remote content based on static and dynamic recommendations |
US20150143103A1 (en) * | 2013-11-18 | 2015-05-21 | Life of Two | Messaging and networking keepsakes |
US9083770B1 (en) | 2013-11-26 | 2015-07-14 | Snapchat, Inc. | Method and system for integrating real time communication features in applications |
US9094137B1 (en) * | 2014-06-13 | 2015-07-28 | Snapchat, Inc. | Priority based placement of messages in a geo-location based event gallery |
US20150248225A1 (en) * | 2014-02-28 | 2015-09-03 | Microsoft Corporation | Information interface generation |
US20150248216A1 (en) * | 2014-02-28 | 2015-09-03 | Microsoft Corporation | Information interface generation and/or population |
US20150370807A1 (en) * | 2013-03-04 | 2015-12-24 | Facebook, Inc. | Ranking videos for a user |
US9225897B1 (en) | 2014-07-07 | 2015-12-29 | Snapchat, Inc. | Apparatus and method for supplying content aware photo filters |
US9237202B1 (en) | 2014-03-07 | 2016-01-12 | Snapchat, Inc. | Content delivery network for ephemeral objects |
US9276886B1 (en) | 2014-05-09 | 2016-03-01 | Snapchat, Inc. | Apparatus and method for dynamically configuring application component tiles |
CN105554523A (en) * | 2015-12-04 | 2016-05-04 | 珠海多玩信息技术有限公司 | Live channel-based information interaction method and server |
US20160147753A1 (en) * | 2014-11-20 | 2016-05-26 | Facebook, Inc. | Suggesting Content for Discovery Based on User Interests and Authorship |
US9385983B1 (en) | 2014-12-19 | 2016-07-05 | Snapchat, Inc. | Gallery of messages from individuals with a shared interest |
US9396354B1 (en) | 2014-05-28 | 2016-07-19 | Snapchat, Inc. | Apparatus and method for automated privacy protection in distributed images |
US20160212230A1 (en) * | 2015-01-16 | 2016-07-21 | Google Inc. | Contextual connection invitations |
US20160283463A1 (en) * | 2015-03-26 | 2016-09-29 | Tata Consultancy Services Limited | Context based conversation system |
US20160294907A1 (en) * | 2015-04-02 | 2016-10-06 | Scripps Networks Interactive, Inc. | Systems and methods for managing media content playback using social media data |
US9467408B1 (en) * | 2015-12-22 | 2016-10-11 | Linkedin Corporation | Interactive commentary based on video-content characteristics |
US9524487B1 (en) * | 2012-03-15 | 2016-12-20 | Google Inc. | System and methods for detecting temporal music trends from online services |
US20160380946A1 (en) * | 2015-06-24 | 2016-12-29 | International Business Machines Corporation | Mention identification for untrusted content |
US20160381658A1 (en) * | 2015-06-29 | 2016-12-29 | Google Inc. | Systems and methods for contextual discovery of device functions |
US9537811B2 (en) | 2014-10-02 | 2017-01-03 | Snap Inc. | Ephemeral gallery of ephemeral messages |
US9565224B1 (en) * | 2013-12-31 | 2017-02-07 | Google Inc. | Methods, systems, and media for presenting a customized user interface based on user actions |
US20170063772A1 (en) * | 2015-08-31 | 2017-03-02 | Google Inc. | Selective delay of social content sharing |
US9705831B2 (en) | 2013-05-30 | 2017-07-11 | Snap Inc. | Apparatus and method for maintaining a message thread with opt-in permanence for entries |
US9721394B2 (en) | 2012-08-22 | 2017-08-01 | Snaps Media, Inc. | Augmented reality virtual content platform apparatuses, methods and systems |
US20170228459A1 (en) * | 2016-02-05 | 2017-08-10 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and device for mobile searching based on artificial intelligence |
US9742713B2 (en) | 2013-05-30 | 2017-08-22 | Snap Inc. | Apparatus and method for maintaining a message thread with opt-in permanence for entries |
US9749431B1 (en) * | 2013-11-21 | 2017-08-29 | Mashable, Inc. | Finding a potentially viral first media content and transmitting a second media content that is selected based on the first media content and based on the determination that the first media content exceeds a velocity threshold |
US9799081B1 (en) * | 2014-03-31 | 2017-10-24 | Google Inc. | Content recommendation platform |
US9843720B1 (en) | 2014-11-12 | 2017-12-12 | Snap Inc. | User interface for accessing media at a geographic location |
CN107506250A (en) * | 2017-08-24 | 2017-12-22 | 北京小米移动软件有限公司 | Information processing method and equipment |
US9854219B2 (en) | 2014-12-19 | 2017-12-26 | Snap Inc. | Gallery of videos set to an audio time line |
US9866999B1 (en) | 2014-01-12 | 2018-01-09 | Investment Asset Holdings Llc | Location-based messaging |
US9882907B1 (en) | 2012-11-08 | 2018-01-30 | Snap Inc. | Apparatus and method for single action control of social network profile access |
US9936030B2 (en) | 2014-01-03 | 2018-04-03 | Investel Capital Corporation | User content sharing system and method with location-based external content integration |
US10032208B2 (en) * | 2015-12-15 | 2018-07-24 | International Business Machines Corporation | Identifying recommended electronic books with detailed comparisons |
US10051071B2 (en) | 2016-03-04 | 2018-08-14 | Cisco Technology, Inc. | Method and system for collecting historical network information in a content centric network |
US10055717B1 (en) | 2014-08-22 | 2018-08-21 | Snap Inc. | Message processor with application prompts |
US10067948B2 (en) | 2016-03-18 | 2018-09-04 | Cisco Technology, Inc. | Data deduping in content centric networking manifests |
US20180262586A1 (en) * | 2017-03-10 | 2018-09-13 | Wei-Shan Wang | Social network information match-up system and method thereof |
US10082926B1 (en) | 2014-02-21 | 2018-09-25 | Snap Inc. | Apparatus and method for alternate channel communication initiated through a common message thread |
US10091330B2 (en) | 2016-03-23 | 2018-10-02 | Cisco Technology, Inc. | Interest scheduling by an information and data framework in a content centric network |
US10095773B1 (en) * | 2013-03-13 | 2018-10-09 | Google Llc | Processing a social endorsement for an item |
US20180295207A1 (en) * | 2017-04-07 | 2018-10-11 | Microsoft Technology Licensing, Llc | Endorsements relevance |
US10123166B2 (en) | 2015-01-26 | 2018-11-06 | Snap Inc. | Content request by location |
US10135949B1 (en) | 2015-05-05 | 2018-11-20 | Snap Inc. | Systems and methods for story and sub-story navigation |
US10133705B1 (en) | 2015-01-19 | 2018-11-20 | Snap Inc. | Multichannel system |
US10158593B2 (en) | 2016-04-08 | 2018-12-18 | Microsoft Technology Licensing, Llc | Proactive intelligent personal assistant |
US10157449B1 (en) | 2015-01-09 | 2018-12-18 | Snap Inc. | Geo-location-based image filters |
US10165402B1 (en) | 2016-06-28 | 2018-12-25 | Snap Inc. | System to track engagement of media items |
US10203855B2 (en) | 2016-12-09 | 2019-02-12 | Snap Inc. | Customized user-controlled media overlays |
US10219111B1 (en) | 2018-04-18 | 2019-02-26 | Snap Inc. | Visitation tracking system |
US10223397B1 (en) | 2015-03-13 | 2019-03-05 | Snap Inc. | Social graph based co-location of network users |
US10264099B2 (en) | 2016-03-07 | 2019-04-16 | Cisco Technology, Inc. | Method and system for content closures in a content centric network |
US10261672B1 (en) * | 2014-09-16 | 2019-04-16 | Amazon Technologies, Inc. | Contextual launch interfaces |
US10284508B1 (en) | 2014-10-02 | 2019-05-07 | Snap Inc. | Ephemeral gallery of ephemeral messages with opt-in permanence |
US10311916B2 (en) | 2014-12-19 | 2019-06-04 | Snap Inc. | Gallery of videos set to an audio time line |
US10313227B2 (en) | 2015-09-24 | 2019-06-04 | Cisco Technology, Inc. | System and method for eliminating undetected interest looping in information-centric networks |
US10320760B2 (en) | 2016-04-01 | 2019-06-11 | Cisco Technology, Inc. | Method and system for mutating and caching content in a content centric network |
US10319149B1 (en) | 2017-02-17 | 2019-06-11 | Snap Inc. | Augmented reality anamorphosis system |
US10327096B1 (en) | 2018-03-06 | 2019-06-18 | Snap Inc. | Geo-fence selection system |
US10334307B2 (en) | 2011-07-12 | 2019-06-25 | Snap Inc. | Methods and systems of providing visual content editing functions |
US20190207886A1 (en) * | 2015-05-18 | 2019-07-04 | Google Llc | Methods, systems, and media for generating contextually relevant messages |
US10348662B2 (en) | 2016-07-19 | 2019-07-09 | Snap Inc. | Generating customized electronic messaging graphics |
US10354425B2 (en) | 2015-12-18 | 2019-07-16 | Snap Inc. | Method and system for providing context relevant media augmentation |
US10366543B1 (en) | 2015-10-30 | 2019-07-30 | Snap Inc. | Image based tracking in augmented reality systems |
US10387514B1 (en) | 2016-06-30 | 2019-08-20 | Snap Inc. | Automated content curation and communication |
US10387946B2 (en) * | 2009-03-03 | 2019-08-20 | Mobilitie, Llc | System and method for wireless communication to permit audience participation |
US10387730B1 (en) | 2017-04-20 | 2019-08-20 | Snap Inc. | Augmented reality typography personalization system |
US10423983B2 (en) | 2014-09-16 | 2019-09-24 | Snap Inc. | Determining targeting information based on a predictive targeting model |
US10430838B1 (en) | 2016-06-28 | 2019-10-01 | Snap Inc. | Methods and systems for generation, curation, and presentation of media collections with automated advertising |
US10439972B1 (en) | 2013-05-30 | 2019-10-08 | Snap Inc. | Apparatus and method for maintaining a message thread with opt-in permanence for entries |
US10474321B2 (en) | 2015-11-30 | 2019-11-12 | Snap Inc. | Network resource location linking and visual content sharing |
US10499191B1 (en) | 2017-10-09 | 2019-12-03 | Snap Inc. | Context sensitive presentation of content |
US10523625B1 (en) | 2017-03-09 | 2019-12-31 | Snap Inc. | Restricted group content collection |
US10581782B2 (en) | 2017-03-27 | 2020-03-03 | Snap Inc. | Generating a stitched data stream |
US10582277B2 (en) | 2017-03-27 | 2020-03-03 | Snap Inc. | Generating a stitched data stream |
US10592574B2 (en) | 2015-05-05 | 2020-03-17 | Snap Inc. | Systems and methods for automated local story generation and curation |
US10614443B1 (en) * | 2017-03-05 | 2020-04-07 | Mohammed Almosilhi | Method and system of promoting a specific product or services by a person utilizing an e-commerce/social customer networking platform |
US10616239B2 (en) | 2015-03-18 | 2020-04-07 | Snap Inc. | Geo-fence authorization provisioning |
US10623666B2 (en) | 2016-11-07 | 2020-04-14 | Snap Inc. | Selective identification and order of image modifiers |
US10638256B1 (en) | 2016-06-20 | 2020-04-28 | Pipbin, Inc. | System for distribution and display of mobile targeted augmented reality content |
US10679389B2 (en) | 2016-02-26 | 2020-06-09 | Snap Inc. | Methods and systems for generation, curation, and presentation of media collections |
US10678818B2 (en) | 2018-01-03 | 2020-06-09 | Snap Inc. | Tag distribution visualization system |
US10679393B2 (en) | 2018-07-24 | 2020-06-09 | Snap Inc. | Conditional modification of augmented reality object |
US10735482B2 (en) * | 2012-08-07 | 2020-08-04 | Paypal, Inc. | Social sharing system |
US10740974B1 (en) | 2017-09-15 | 2020-08-11 | Snap Inc. | Augmented reality system |
US10742596B2 (en) | 2016-03-04 | 2020-08-11 | Cisco Technology, Inc. | Method and system for reducing a collision probability of hash-based names using a publisher identifier |
US10757048B2 (en) | 2016-04-08 | 2020-08-25 | Microsoft Technology Licensing, Llc | Intelligent personal assistant as a contact |
US10805696B1 (en) | 2016-06-20 | 2020-10-13 | Pipbin, Inc. | System for recording and targeting tagged content of user interest |
US10817898B2 (en) | 2015-08-13 | 2020-10-27 | Placed, Llc | Determining exposures to content presented by physical objects |
US10817539B2 (en) | 2013-10-03 | 2020-10-27 | Microsoft Technology Licensing, Llc | Identification of a trigger-type leader in a social network |
US10824654B2 (en) | 2014-09-18 | 2020-11-03 | Snap Inc. | Geolocation-based pictographs |
US10832306B2 (en) * | 2016-09-15 | 2020-11-10 | International Business Machines Corporation | User actions in a physical space directing presentation of customized virtual environment |
US10834525B2 (en) | 2016-02-26 | 2020-11-10 | Snap Inc. | Generation, curation, and presentation of media collections |
US10839219B1 (en) | 2016-06-20 | 2020-11-17 | Pipbin, Inc. | System for curation, distribution and display of location-dependent augmented reality content |
US10862951B1 (en) | 2007-01-05 | 2020-12-08 | Snap Inc. | Real-time display of multiple images |
US10885136B1 (en) | 2018-02-28 | 2021-01-05 | Snap Inc. | Audience filtering system |
US10915911B2 (en) | 2017-02-03 | 2021-02-09 | Snap Inc. | System to determine a price-schedule to distribute media content |
US10933311B2 (en) | 2018-03-14 | 2021-03-02 | Snap Inc. | Generating collectible items based on location information |
US10948717B1 (en) | 2015-03-23 | 2021-03-16 | Snap Inc. | Reducing boot time and power consumption in wearable display systems |
US10952013B1 (en) | 2017-04-27 | 2021-03-16 | Snap Inc. | Selective location-based identity communication |
US10963529B1 (en) | 2017-04-27 | 2021-03-30 | Snap Inc. | Location-based search mechanism in a graphical user interface |
US10979752B1 (en) | 2018-02-28 | 2021-04-13 | Snap Inc. | Generating media content items based on location information |
US10993069B2 (en) | 2015-07-16 | 2021-04-27 | Snap Inc. | Dynamically adaptive media content delivery |
US10997783B2 (en) | 2015-11-30 | 2021-05-04 | Snap Inc. | Image and point cloud based tracking and in augmented reality systems |
US10997760B2 (en) | 2018-08-31 | 2021-05-04 | Snap Inc. | Augmented reality anthropomorphization system |
US11017173B1 (en) | 2017-12-22 | 2021-05-25 | Snap Inc. | Named entity recognition visual context and caption data |
US11023514B2 (en) | 2016-02-26 | 2021-06-01 | Snap Inc. | Methods and systems for generation, curation, and presentation of media collections |
US11030787B2 (en) | 2017-10-30 | 2021-06-08 | Snap Inc. | Mobile-based cartographic control of display content |
US11037372B2 (en) | 2017-03-06 | 2021-06-15 | Snap Inc. | Virtual vision system |
US11044393B1 (en) | 2016-06-20 | 2021-06-22 | Pipbin, Inc. | System for curation and display of location-dependent augmented reality content in an augmented estate system |
US20210224346A1 (en) * | 2018-04-20 | 2021-07-22 | Facebook, Inc. | Engaging Users by Personalized Composing-Content Recommendation |
US11128715B1 (en) | 2019-12-30 | 2021-09-21 | Snap Inc. | Physical friend proximity in chat |
US11163941B1 (en) | 2018-03-30 | 2021-11-02 | Snap Inc. | Annotating a collection of media content items |
US11170393B1 (en) | 2017-04-11 | 2021-11-09 | Snap Inc. | System to calculate an engagement score of location based media content |
US11182383B1 (en) | 2012-02-24 | 2021-11-23 | Placed, Llc | System and method for data collection to validate location data |
US11189299B1 (en) | 2017-02-20 | 2021-11-30 | Snap Inc. | Augmented reality speech balloon system |
US11201981B1 (en) | 2016-06-20 | 2021-12-14 | Pipbin, Inc. | System for notification of user accessibility of curated location-dependent content in an augmented estate |
US11199957B1 (en) | 2018-11-30 | 2021-12-14 | Snap Inc. | Generating customized avatars based on location information |
US11216869B2 (en) | 2014-09-23 | 2022-01-04 | Snap Inc. | User interface to augment an image using geolocation |
US11218838B2 (en) | 2019-10-31 | 2022-01-04 | Snap Inc. | Focused map-based context information surfacing |
US11228551B1 (en) | 2020-02-12 | 2022-01-18 | Snap Inc. | Multiple gateway message exchange |
US11232040B1 (en) | 2017-04-28 | 2022-01-25 | Snap Inc. | Precaching unlockable data elements |
US11249614B2 (en) | 2019-03-28 | 2022-02-15 | Snap Inc. | Generating personalized map interface with enhanced icons |
US11250075B1 (en) | 2017-02-17 | 2022-02-15 | Snap Inc. | Searching social media content |
US11265273B1 (en) | 2017-12-01 | 2022-03-01 | Snap, Inc. | Dynamic media overlay with smart widget |
US11290851B2 (en) | 2020-06-15 | 2022-03-29 | Snap Inc. | Location sharing using offline and online objects |
US11294936B1 (en) | 2019-01-30 | 2022-04-05 | Snap Inc. | Adaptive spatial density based clustering |
US11301117B2 (en) | 2019-03-08 | 2022-04-12 | Snap Inc. | Contextual information in chat |
US11308110B2 (en) * | 2019-08-15 | 2022-04-19 | Rovi Guides, Inc. | Systems and methods for pushing content |
US11314776B2 (en) | 2020-06-15 | 2022-04-26 | Snap Inc. | Location sharing using friend list versions |
US11343323B2 (en) | 2019-12-31 | 2022-05-24 | Snap Inc. | Augmented reality objects registry |
US11361493B2 (en) | 2019-04-01 | 2022-06-14 | Snap Inc. | Semantic texture mapping system |
US11388226B1 (en) | 2015-01-13 | 2022-07-12 | Snap Inc. | Guided personal identity based actions |
US11429689B1 (en) * | 2014-04-21 | 2022-08-30 | Google Llc | Generating high visibility social annotations |
US11430091B2 (en) | 2020-03-27 | 2022-08-30 | Snap Inc. | Location mapping for large scale augmented-reality |
US11429618B2 (en) | 2019-12-30 | 2022-08-30 | Snap Inc. | Surfacing augmented reality objects |
US11455082B2 (en) | 2018-09-28 | 2022-09-27 | Snap Inc. | Collaborative achievement interface |
US11475254B1 (en) | 2017-09-08 | 2022-10-18 | Snap Inc. | Multimodal entity identification |
US11483267B2 (en) | 2020-06-15 | 2022-10-25 | Snap Inc. | Location sharing using different rate-limited links |
US11500525B2 (en) | 2019-02-25 | 2022-11-15 | Snap Inc. | Custom media overlay system |
US11503432B2 (en) | 2020-06-15 | 2022-11-15 | Snap Inc. | Scalable real-time location sharing framework |
US11507614B1 (en) | 2018-02-13 | 2022-11-22 | Snap Inc. | Icon based tagging |
US20220374440A1 (en) * | 2015-05-15 | 2022-11-24 | Google Llc | Contextualizing knowledge panels |
US11516167B2 (en) | 2020-03-05 | 2022-11-29 | Snap Inc. | Storing data based on device location |
US11558709B2 (en) | 2018-11-30 | 2023-01-17 | Snap Inc. | Position service to determine relative position to map features |
US11574431B2 (en) | 2019-02-26 | 2023-02-07 | Snap Inc. | Avatar based on weather |
US11601888B2 (en) | 2021-03-29 | 2023-03-07 | Snap Inc. | Determining location using multi-source geolocation data |
US11601783B2 (en) | 2019-06-07 | 2023-03-07 | Snap Inc. | Detection of a physical collision between two client devices in a location sharing system |
US11606755B2 (en) | 2019-05-30 | 2023-03-14 | Snap Inc. | Wearable device location systems architecture |
US11616745B2 (en) | 2017-01-09 | 2023-03-28 | Snap Inc. | Contextual generation and selection of customized media content |
US11619501B2 (en) | 2020-03-11 | 2023-04-04 | Snap Inc. | Avatar based on trip |
US11625443B2 (en) | 2014-06-05 | 2023-04-11 | Snap Inc. | Web document enhancement |
US11631276B2 (en) | 2016-03-31 | 2023-04-18 | Snap Inc. | Automated avatar generation |
US20230131470A1 (en) * | 2021-10-22 | 2023-04-27 | International Business Machines Corporation | Determining tag relevance |
US11645324B2 (en) | 2021-03-31 | 2023-05-09 | Snap Inc. | Location-based timeline media content system |
US11676220B2 (en) | 2018-04-20 | 2023-06-13 | Meta Platforms, Inc. | Processing multimodal user input for assistant systems |
US11675831B2 (en) | 2017-05-31 | 2023-06-13 | Snap Inc. | Geolocation based playlists |
US11676378B2 (en) | 2020-06-29 | 2023-06-13 | Snap Inc. | Providing travel-based augmented reality content with a captured image |
US11715042B1 (en) | 2018-04-20 | 2023-08-01 | Meta Platforms Technologies, Llc | Interpretability of deep reinforcement learning models in assistant systems |
US11714535B2 (en) | 2019-07-11 | 2023-08-01 | Snap Inc. | Edge gesture interface with smart interactions |
US11729343B2 (en) | 2019-12-30 | 2023-08-15 | Snap Inc. | Including video feed in message thread |
US11734712B2 (en) | 2012-02-24 | 2023-08-22 | Foursquare Labs, Inc. | Attributing in-store visits to media consumption based on data collected from user devices |
US11751015B2 (en) | 2019-01-16 | 2023-09-05 | Snap Inc. | Location-based context information sharing in a messaging system |
US11776256B2 (en) | 2020-03-27 | 2023-10-03 | Snap Inc. | Shared augmented reality system |
US11785549B2 (en) | 2019-05-30 | 2023-10-10 | Snap Inc. | Wearable device location systems |
US11785161B1 (en) | 2016-06-20 | 2023-10-10 | Pipbin, Inc. | System for user accessibility of tagged curated augmented reality content |
US11799811B2 (en) | 2018-10-31 | 2023-10-24 | Snap Inc. | Messaging and gaming applications communication platform |
US11809624B2 (en) | 2019-02-13 | 2023-11-07 | Snap Inc. | Sleep detection in a location sharing system |
US11816853B2 (en) | 2016-08-30 | 2023-11-14 | Snap Inc. | Systems and methods for simultaneous localization and mapping |
US11821742B2 (en) | 2019-09-26 | 2023-11-21 | Snap Inc. | Travel based notifications |
US11829834B2 (en) | 2021-10-29 | 2023-11-28 | Snap Inc. | Extended QR code |
US11843456B2 (en) | 2016-10-24 | 2023-12-12 | Snap Inc. | Generating and displaying customized avatars in media overlays |
US11842411B2 (en) | 2017-04-27 | 2023-12-12 | Snap Inc. | Location-based virtual avatars |
US20230400964A1 (en) * | 2021-02-24 | 2023-12-14 | Beijing Zitiao Network Technology Co., Ltd. | Application page display method and electronic device |
US11852554B1 (en) | 2019-03-21 | 2023-12-26 | Snap Inc. | Barometer calibration in a location sharing system |
US11860888B2 (en) | 2018-05-22 | 2024-01-02 | Snap Inc. | Event detection system |
US11868414B1 (en) | 2019-03-14 | 2024-01-09 | Snap Inc. | Graph-based prediction for contact suggestion in a location sharing system |
US11870743B1 (en) | 2017-01-23 | 2024-01-09 | Snap Inc. | Customized digital avatar accessories |
US11876941B1 (en) | 2016-06-20 | 2024-01-16 | Pipbin, Inc. | Clickable augmented reality content manager, system, and network |
US11877211B2 (en) | 2019-01-14 | 2024-01-16 | Snap Inc. | Destination sharing in location sharing system |
US11886473B2 (en) | 2018-04-20 | 2024-01-30 | Meta Platforms, Inc. | Intent identification for agent matching by assistant systems |
US11893208B2 (en) | 2019-12-31 | 2024-02-06 | Snap Inc. | Combined map icon with action indicator |
US11900418B2 (en) | 2016-04-04 | 2024-02-13 | Snap Inc. | Mutable geo-fencing system |
US11925869B2 (en) | 2012-05-08 | 2024-03-12 | Snap Inc. | System and method for generating and displaying avatars |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9792373B2 (en) * | 2014-12-31 | 2017-10-17 | Facebook, Inc. | Systems and methods to determine trending topics for a user based on social graph data |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060059225A1 (en) * | 2004-09-14 | 2006-03-16 | A9.Com, Inc. | Methods and apparatus for automatic generation of recommended links |
US20060080305A1 (en) * | 2004-10-13 | 2006-04-13 | Heath Dill | Accuracy of data harvesting |
US20090171686A1 (en) * | 2008-01-02 | 2009-07-02 | George Eberstadt | Using social network information and transaction information |
US20100287033A1 (en) * | 2009-05-08 | 2010-11-11 | Comcast Interactive Media, Llc | Social Network Based Recommendation Method and System |
US20120191776A1 (en) * | 2011-01-20 | 2012-07-26 | Linkedin Corporation | Methods and systems for recommending a context based on content interaction |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8112720B2 (en) | 2007-04-05 | 2012-02-07 | Napo Enterprises, Llc | System and method for automatically and graphically associating programmatically-generated media item recommendations related to a user's socially recommended media items |
US8010536B2 (en) | 2007-11-20 | 2011-08-30 | Samsung Electronics Co., Ltd. | Combination of collaborative filtering and cliprank for personalized media content recommendation |
US8095432B1 (en) | 2009-01-30 | 2012-01-10 | Intuit Inc. | Recommendation engine for social networks |
US20100306191A1 (en) * | 2009-05-27 | 2010-12-02 | Lebeau Michael J | Computer Application Data In Search Results |
US9020959B2 (en) | 2009-12-07 | 2015-04-28 | International Business Machines Corporation | Contextual support for publish-subscribe systems |
US20120101806A1 (en) | 2010-07-27 | 2012-04-26 | Davis Frederic E | Semantically generating personalized recommendations based on social feeds to a user in real-time and display methods thereof |
US9009065B2 (en) * | 2010-12-17 | 2015-04-14 | Google Inc. | Promoting content from an activity stream |
-
2012
- 2012-12-28 US US13/730,252 patent/US9374396B2/en active Active
-
2013
- 2013-06-24 WO PCT/US2013/047265 patent/WO2014004351A1/en active Application Filing
- 2013-06-24 CN CN201380033364.3A patent/CN104395871B/en active Active
- 2013-06-24 EP EP13809699.5A patent/EP2864854A4/en not_active Ceased
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060059225A1 (en) * | 2004-09-14 | 2006-03-16 | A9.Com, Inc. | Methods and apparatus for automatic generation of recommended links |
US20060080305A1 (en) * | 2004-10-13 | 2006-04-13 | Heath Dill | Accuracy of data harvesting |
US20090171686A1 (en) * | 2008-01-02 | 2009-07-02 | George Eberstadt | Using social network information and transaction information |
US20100287033A1 (en) * | 2009-05-08 | 2010-11-11 | Comcast Interactive Media, Llc | Social Network Based Recommendation Method and System |
US20120191776A1 (en) * | 2011-01-20 | 2012-07-26 | Linkedin Corporation | Methods and systems for recommending a context based on content interaction |
Cited By (423)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10862951B1 (en) | 2007-01-05 | 2020-12-08 | Snap Inc. | Real-time display of multiple images |
US11588770B2 (en) | 2007-01-05 | 2023-02-21 | Snap Inc. | Real-time display of multiple images |
US10387946B2 (en) * | 2009-03-03 | 2019-08-20 | Mobilitie, Llc | System and method for wireless communication to permit audience participation |
US11176596B2 (en) | 2009-03-03 | 2021-11-16 | Mobilitie, Llc | System and method for wireless communication to permit audience participation |
US10713666B2 (en) * | 2009-12-24 | 2020-07-14 | Outbrain Inc. | Systems and methods for curating content |
US20130060858A1 (en) * | 2009-12-24 | 2013-03-07 | Vertical Acuity, Inc. | Additional Systems and Methods for Curating Content |
US11451856B2 (en) | 2011-07-12 | 2022-09-20 | Snap Inc. | Providing visual content editing functions |
US11750875B2 (en) | 2011-07-12 | 2023-09-05 | Snap Inc. | Providing visual content editing functions |
US10334307B2 (en) | 2011-07-12 | 2019-06-25 | Snap Inc. | Methods and systems of providing visual content editing functions |
US10999623B2 (en) | 2011-07-12 | 2021-05-04 | Snap Inc. | Providing visual content editing functions |
US11182383B1 (en) | 2012-02-24 | 2021-11-23 | Placed, Llc | System and method for data collection to validate location data |
US11734712B2 (en) | 2012-02-24 | 2023-08-22 | Foursquare Labs, Inc. | Attributing in-store visits to media consumption based on data collected from user devices |
US9524487B1 (en) * | 2012-03-15 | 2016-12-20 | Google Inc. | System and methods for detecting temporal music trends from online services |
US11925869B2 (en) | 2012-05-08 | 2024-03-12 | Snap Inc. | System and method for generating and displaying avatars |
US9774636B2 (en) * | 2012-07-24 | 2017-09-26 | Cisco Technology, Inc. | Utilize extra web semantic for video caching |
US20140032698A1 (en) * | 2012-07-24 | 2014-01-30 | Cisco Technology, Inc. | Utilize Extra Web Semantic for Video Caching |
US11444991B2 (en) | 2012-08-07 | 2022-09-13 | Paypal, Inc. | Social sharing system |
US10735482B2 (en) * | 2012-08-07 | 2020-08-04 | Paypal, Inc. | Social sharing system |
US20230362216A1 (en) * | 2012-08-07 | 2023-11-09 | Paypal, Inc. | Social sharing system |
US20230073633A1 (en) * | 2012-08-07 | 2023-03-09 | Paypal, Inc. | Social sharing system |
US11706268B2 (en) * | 2012-08-07 | 2023-07-18 | Paypal, Inc. | Social sharing system |
US9792733B2 (en) | 2012-08-22 | 2017-10-17 | Snaps Media, Inc. | Augmented reality virtual content platform apparatuses, methods and systems |
US10169924B2 (en) | 2012-08-22 | 2019-01-01 | Snaps Media Inc. | Augmented reality virtual content platform apparatuses, methods and systems |
US9721394B2 (en) | 2012-08-22 | 2017-08-01 | Snaps Media, Inc. | Augmented reality virtual content platform apparatuses, methods and systems |
US20140074648A1 (en) * | 2012-09-11 | 2014-03-13 | Google Inc. | Portion recommendation for electronic books |
US20140115469A1 (en) * | 2012-10-19 | 2014-04-24 | Apple Inc. | Sharing Media Content |
US9684431B2 (en) * | 2012-10-19 | 2017-06-20 | Apple Inc. | Sharing media content |
US10534508B2 (en) | 2012-10-19 | 2020-01-14 | Apple Inc. | Sharing media content |
US11252158B2 (en) | 2012-11-08 | 2022-02-15 | Snap Inc. | Interactive user-interface to adjust access privileges |
US9882907B1 (en) | 2012-11-08 | 2018-01-30 | Snap Inc. | Apparatus and method for single action control of social network profile access |
US10887308B1 (en) | 2012-11-08 | 2021-01-05 | Snap Inc. | Interactive user-interface to adjust access privileges |
US9800996B2 (en) * | 2012-12-07 | 2017-10-24 | Industry Foundation Of Chonnam National University | Machine to machine system, method and server using social network service |
US20140297806A1 (en) * | 2012-12-07 | 2014-10-02 | Industry Foundation Of Chonnam National University | Machine to machine system, method and server using social network service |
US20140229416A1 (en) * | 2013-02-13 | 2014-08-14 | Samsung Electronics Co., Ltd. | Electronic apparatus and method of recommending contents to members of a social network |
US10380182B2 (en) * | 2013-03-04 | 2019-08-13 | Facebook, Inc. | Ranking videos for a user |
US20150370807A1 (en) * | 2013-03-04 | 2015-12-24 | Facebook, Inc. | Ranking videos for a user |
US10095773B1 (en) * | 2013-03-13 | 2018-10-09 | Google Llc | Processing a social endorsement for an item |
US20140297739A1 (en) * | 2013-03-27 | 2014-10-02 | Howard T. Stein | Media Previews Based on Social Context |
US10439972B1 (en) | 2013-05-30 | 2019-10-08 | Snap Inc. | Apparatus and method for maintaining a message thread with opt-in permanence for entries |
US11509618B2 (en) | 2013-05-30 | 2022-11-22 | Snap Inc. | Maintaining a message thread with opt-in permanence for entries |
US9705831B2 (en) | 2013-05-30 | 2017-07-11 | Snap Inc. | Apparatus and method for maintaining a message thread with opt-in permanence for entries |
US10587552B1 (en) | 2013-05-30 | 2020-03-10 | Snap Inc. | Apparatus and method for maintaining a message thread with opt-in permanence for entries |
US9742713B2 (en) | 2013-05-30 | 2017-08-22 | Snap Inc. | Apparatus and method for maintaining a message thread with opt-in permanence for entries |
US11134046B2 (en) | 2013-05-30 | 2021-09-28 | Snap Inc. | Apparatus and method for maintaining a message thread with opt-in permanence for entries |
US11115361B2 (en) | 2013-05-30 | 2021-09-07 | Snap Inc. | Apparatus and method for maintaining a message thread with opt-in permanence for entries |
US10817539B2 (en) | 2013-10-03 | 2020-10-27 | Microsoft Technology Licensing, Llc | Identification of a trigger-type leader in a social network |
US10129365B2 (en) * | 2013-11-13 | 2018-11-13 | Cisco Technology, Inc. | Method and apparatus for pre-fetching remote content based on static and dynamic recommendations |
US20150134781A1 (en) * | 2013-11-13 | 2015-05-14 | Palo Alto Research Center Incorporated | Method and apparatus for pre-fetching remote content based on static and dynamic recommendations |
US20150143103A1 (en) * | 2013-11-18 | 2015-05-21 | Life of Two | Messaging and networking keepsakes |
US9749431B1 (en) * | 2013-11-21 | 2017-08-29 | Mashable, Inc. | Finding a potentially viral first media content and transmitting a second media content that is selected based on the first media content and based on the determination that the first media content exceeds a velocity threshold |
US10511679B2 (en) | 2013-11-21 | 2019-12-17 | Mashable, Inc. | Method of determining and transmitting potentially viral media items based on the velocity measure of another media item exceeding a velocity threshold set for that type of media item |
US11102253B2 (en) | 2013-11-26 | 2021-08-24 | Snap Inc. | Method and system for integrating real time communication features in applications |
US9083770B1 (en) | 2013-11-26 | 2015-07-14 | Snapchat, Inc. | Method and system for integrating real time communication features in applications |
US11546388B2 (en) | 2013-11-26 | 2023-01-03 | Snap Inc. | Method and system for integrating real time communication features in applications |
US10681092B1 (en) | 2013-11-26 | 2020-06-09 | Snap Inc. | Method and system for integrating real time communication features in applications |
US10069876B1 (en) | 2013-11-26 | 2018-09-04 | Snap Inc. | Method and system for integrating real time communication features in applications |
US9794303B1 (en) | 2013-11-26 | 2017-10-17 | Snap Inc. | Method and system for integrating real time communication features in applications |
US9565224B1 (en) * | 2013-12-31 | 2017-02-07 | Google Inc. | Methods, systems, and media for presenting a customized user interface based on user actions |
US9936030B2 (en) | 2014-01-03 | 2018-04-03 | Investel Capital Corporation | User content sharing system and method with location-based external content integration |
US10080102B1 (en) | 2014-01-12 | 2018-09-18 | Investment Asset Holdings Llc | Location-based messaging |
US9866999B1 (en) | 2014-01-12 | 2018-01-09 | Investment Asset Holdings Llc | Location-based messaging |
US10349209B1 (en) | 2014-01-12 | 2019-07-09 | Investment Asset Holdings Llc | Location-based messaging |
US11902235B2 (en) | 2014-02-21 | 2024-02-13 | Snap Inc. | Apparatus and method for alternate channel communication initiated through a common message thread |
US11463393B2 (en) | 2014-02-21 | 2022-10-04 | Snap Inc. | Apparatus and method for alternate channel communication initiated through a common message thread |
US10958605B1 (en) | 2014-02-21 | 2021-03-23 | Snap Inc. | Apparatus and method for alternate channel communication initiated through a common message thread |
US11463394B2 (en) | 2014-02-21 | 2022-10-04 | Snap Inc. | Apparatus and method for alternate channel communication initiated through a common message thread |
US10084735B1 (en) | 2014-02-21 | 2018-09-25 | Snap Inc. | Apparatus and method for alternate channel communication initiated through a common message thread |
US10082926B1 (en) | 2014-02-21 | 2018-09-25 | Snap Inc. | Apparatus and method for alternate channel communication initiated through a common message thread |
US10949049B1 (en) | 2014-02-21 | 2021-03-16 | Snap Inc. | Apparatus and method for alternate channel communication initiated through a common message thread |
US10168881B2 (en) * | 2014-02-28 | 2019-01-01 | Microsoft Technology Licensing, Llc | Information interface generation |
US20150248216A1 (en) * | 2014-02-28 | 2015-09-03 | Microsoft Corporation | Information interface generation and/or population |
US20150248225A1 (en) * | 2014-02-28 | 2015-09-03 | Microsoft Corporation | Information interface generation |
US9237202B1 (en) | 2014-03-07 | 2016-01-12 | Snapchat, Inc. | Content delivery network for ephemeral objects |
US9407712B1 (en) | 2014-03-07 | 2016-08-02 | Snapchat, Inc. | Content delivery network for ephemeral objects |
US9799081B1 (en) * | 2014-03-31 | 2017-10-24 | Google Inc. | Content recommendation platform |
US11429689B1 (en) * | 2014-04-21 | 2022-08-30 | Google Llc | Generating high visibility social annotations |
US11921809B2 (en) | 2014-04-21 | 2024-03-05 | Google Llc | Generating high visibility social annotations |
US10817156B1 (en) | 2014-05-09 | 2020-10-27 | Snap Inc. | Dynamic configuration of application component tiles |
US9276886B1 (en) | 2014-05-09 | 2016-03-01 | Snapchat, Inc. | Apparatus and method for dynamically configuring application component tiles |
US11310183B2 (en) | 2014-05-09 | 2022-04-19 | Snap Inc. | Dynamic configuration of application component tiles |
US11743219B2 (en) | 2014-05-09 | 2023-08-29 | Snap Inc. | Dynamic configuration of application component tiles |
US10572681B1 (en) | 2014-05-28 | 2020-02-25 | Snap Inc. | Apparatus and method for automated privacy protection in distributed images |
US9396354B1 (en) | 2014-05-28 | 2016-07-19 | Snapchat, Inc. | Apparatus and method for automated privacy protection in distributed images |
US10990697B2 (en) | 2014-05-28 | 2021-04-27 | Snap Inc. | Apparatus and method for automated privacy protection in distributed images |
US9785796B1 (en) | 2014-05-28 | 2017-10-10 | Snap Inc. | Apparatus and method for automated privacy protection in distributed images |
US11625443B2 (en) | 2014-06-05 | 2023-04-11 | Snap Inc. | Web document enhancement |
US11921805B2 (en) | 2014-06-05 | 2024-03-05 | Snap Inc. | Web document enhancement |
US10524087B1 (en) | 2014-06-13 | 2019-12-31 | Snap Inc. | Message destination list mechanism |
US10659914B1 (en) | 2014-06-13 | 2020-05-19 | Snap Inc. | Geo-location based event gallery |
US11166121B2 (en) | 2014-06-13 | 2021-11-02 | Snap Inc. | Prioritization of messages within a message collection |
US9532171B2 (en) | 2014-06-13 | 2016-12-27 | Snap Inc. | Geo-location based event gallery |
US20160321708A1 (en) * | 2014-06-13 | 2016-11-03 | Snapchat, Inc. | Prioritization of messages within gallery |
US9113301B1 (en) | 2014-06-13 | 2015-08-18 | Snapchat, Inc. | Geo-location based event gallery |
US9693191B2 (en) * | 2014-06-13 | 2017-06-27 | Snap Inc. | Prioritization of messages within gallery |
US10182311B2 (en) | 2014-06-13 | 2019-01-15 | Snap Inc. | Prioritization of messages within a message collection |
US10779113B2 (en) | 2014-06-13 | 2020-09-15 | Snap Inc. | Prioritization of messages within a message collection |
US10200813B1 (en) | 2014-06-13 | 2019-02-05 | Snap Inc. | Geo-location based event gallery |
US9430783B1 (en) * | 2014-06-13 | 2016-08-30 | Snapchat, Inc. | Prioritization of messages within gallery |
US11317240B2 (en) | 2014-06-13 | 2022-04-26 | Snap Inc. | Geo-location based event gallery |
US10448201B1 (en) | 2014-06-13 | 2019-10-15 | Snap Inc. | Prioritization of messages within a message collection |
US10623891B2 (en) | 2014-06-13 | 2020-04-14 | Snap Inc. | Prioritization of messages within a message collection |
US9094137B1 (en) * | 2014-06-13 | 2015-07-28 | Snapchat, Inc. | Priority based placement of messages in a geo-location based event gallery |
US20170149717A1 (en) * | 2014-06-13 | 2017-05-25 | Snapchat, Inc. | Priority based placement of messages in a geo-location based event gallery |
US9825898B2 (en) * | 2014-06-13 | 2017-11-21 | Snap Inc. | Prioritization of messages within a message collection |
US11122200B2 (en) | 2014-07-07 | 2021-09-14 | Snap Inc. | Supplying content aware photo filters |
US10432850B1 (en) | 2014-07-07 | 2019-10-01 | Snap Inc. | Apparatus and method for supplying content aware photo filters |
US9407816B1 (en) | 2014-07-07 | 2016-08-02 | Snapchat, Inc. | Apparatus and method for supplying content aware photo filters |
US10602057B1 (en) | 2014-07-07 | 2020-03-24 | Snap Inc. | Supplying content aware photo filters |
US11849214B2 (en) | 2014-07-07 | 2023-12-19 | Snap Inc. | Apparatus and method for supplying content aware photo filters |
US11496673B1 (en) | 2014-07-07 | 2022-11-08 | Snap Inc. | Apparatus and method for supplying content aware photo filters |
US11595569B2 (en) | 2014-07-07 | 2023-02-28 | Snap Inc. | Supplying content aware photo filters |
US10701262B1 (en) | 2014-07-07 | 2020-06-30 | Snap Inc. | Apparatus and method for supplying content aware photo filters |
US10154192B1 (en) | 2014-07-07 | 2018-12-11 | Snap Inc. | Apparatus and method for supplying content aware photo filters |
US10348960B1 (en) | 2014-07-07 | 2019-07-09 | Snap Inc. | Apparatus and method for supplying content aware photo filters |
US9225897B1 (en) | 2014-07-07 | 2015-12-29 | Snapchat, Inc. | Apparatus and method for supplying content aware photo filters |
US10055717B1 (en) | 2014-08-22 | 2018-08-21 | Snap Inc. | Message processor with application prompts |
US11017363B1 (en) | 2014-08-22 | 2021-05-25 | Snap Inc. | Message processor with application prompts |
US10423983B2 (en) | 2014-09-16 | 2019-09-24 | Snap Inc. | Determining targeting information based on a predictive targeting model |
US11625755B1 (en) | 2014-09-16 | 2023-04-11 | Foursquare Labs, Inc. | Determining targeting information based on a predictive targeting model |
US10261672B1 (en) * | 2014-09-16 | 2019-04-16 | Amazon Technologies, Inc. | Contextual launch interfaces |
US11741136B2 (en) | 2014-09-18 | 2023-08-29 | Snap Inc. | Geolocation-based pictographs |
US10824654B2 (en) | 2014-09-18 | 2020-11-03 | Snap Inc. | Geolocation-based pictographs |
US11281701B2 (en) | 2014-09-18 | 2022-03-22 | Snap Inc. | Geolocation-based pictographs |
US11216869B2 (en) | 2014-09-23 | 2022-01-04 | Snap Inc. | User interface to augment an image using geolocation |
US10708210B1 (en) | 2014-10-02 | 2020-07-07 | Snap Inc. | Multi-user ephemeral message gallery |
US10944710B1 (en) | 2014-10-02 | 2021-03-09 | Snap Inc. | Ephemeral gallery user interface with remaining gallery time indication |
US11855947B1 (en) | 2014-10-02 | 2023-12-26 | Snap Inc. | Gallery of ephemeral messages |
US11012398B1 (en) | 2014-10-02 | 2021-05-18 | Snap Inc. | Ephemeral message gallery user interface with screenshot messages |
US10476830B2 (en) | 2014-10-02 | 2019-11-12 | Snap Inc. | Ephemeral gallery of ephemeral messages |
US11411908B1 (en) | 2014-10-02 | 2022-08-09 | Snap Inc. | Ephemeral message gallery user interface with online viewing history indicia |
US20170374003A1 (en) | 2014-10-02 | 2017-12-28 | Snapchat, Inc. | Ephemeral gallery of ephemeral messages |
US9537811B2 (en) | 2014-10-02 | 2017-01-03 | Snap Inc. | Ephemeral gallery of ephemeral messages |
US11038829B1 (en) | 2014-10-02 | 2021-06-15 | Snap Inc. | Ephemeral gallery of ephemeral messages with opt-in permanence |
US11522822B1 (en) | 2014-10-02 | 2022-12-06 | Snap Inc. | Ephemeral gallery elimination based on gallery and message timers |
US10958608B1 (en) | 2014-10-02 | 2021-03-23 | Snap Inc. | Ephemeral gallery of visual media messages |
US10284508B1 (en) | 2014-10-02 | 2019-05-07 | Snap Inc. | Ephemeral gallery of ephemeral messages with opt-in permanence |
US11190679B2 (en) | 2014-11-12 | 2021-11-30 | Snap Inc. | Accessing media at a geographic location |
US9843720B1 (en) | 2014-11-12 | 2017-12-12 | Snap Inc. | User interface for accessing media at a geographic location |
US10616476B1 (en) | 2014-11-12 | 2020-04-07 | Snap Inc. | User interface for accessing media at a geographic location |
US20160147753A1 (en) * | 2014-11-20 | 2016-05-26 | Facebook, Inc. | Suggesting Content for Discovery Based on User Interests and Authorship |
US10311916B2 (en) | 2014-12-19 | 2019-06-04 | Snap Inc. | Gallery of videos set to an audio time line |
US11372608B2 (en) | 2014-12-19 | 2022-06-28 | Snap Inc. | Gallery of messages from individuals with a shared interest |
US10514876B2 (en) | 2014-12-19 | 2019-12-24 | Snap Inc. | Gallery of messages from individuals with a shared interest |
US11803345B2 (en) | 2014-12-19 | 2023-10-31 | Snap Inc. | Gallery of messages from individuals with a shared interest |
US9385983B1 (en) | 2014-12-19 | 2016-07-05 | Snapchat, Inc. | Gallery of messages from individuals with a shared interest |
US11783862B2 (en) | 2014-12-19 | 2023-10-10 | Snap Inc. | Routing messages by message parameter |
US10811053B2 (en) | 2014-12-19 | 2020-10-20 | Snap Inc. | Routing messages by message parameter |
US9854219B2 (en) | 2014-12-19 | 2017-12-26 | Snap Inc. | Gallery of videos set to an audio time line |
US10580458B2 (en) | 2014-12-19 | 2020-03-03 | Snap Inc. | Gallery of videos set to an audio time line |
US11250887B2 (en) | 2014-12-19 | 2022-02-15 | Snap Inc. | Routing messages by message parameter |
US10380720B1 (en) | 2015-01-09 | 2019-08-13 | Snap Inc. | Location-based image filters |
US11301960B2 (en) | 2015-01-09 | 2022-04-12 | Snap Inc. | Object recognition based image filters |
US10157449B1 (en) | 2015-01-09 | 2018-12-18 | Snap Inc. | Geo-location-based image filters |
US11734342B2 (en) | 2015-01-09 | 2023-08-22 | Snap Inc. | Object recognition based image overlays |
US11388226B1 (en) | 2015-01-13 | 2022-07-12 | Snap Inc. | Guided personal identity based actions |
US9942335B2 (en) * | 2015-01-16 | 2018-04-10 | Google Llc | Contextual connection invitations |
US11895206B2 (en) | 2015-01-16 | 2024-02-06 | Google Llc | Contextual connection invitations |
US20160212230A1 (en) * | 2015-01-16 | 2016-07-21 | Google Inc. | Contextual connection invitations |
US10637941B2 (en) | 2015-01-16 | 2020-04-28 | Google Llc | Contextual connection invitations |
US11316939B2 (en) | 2015-01-16 | 2022-04-26 | Google Llc | Contextual connection invitations |
US11249617B1 (en) | 2015-01-19 | 2022-02-15 | Snap Inc. | Multichannel system |
US10416845B1 (en) | 2015-01-19 | 2019-09-17 | Snap Inc. | Multichannel system |
US10133705B1 (en) | 2015-01-19 | 2018-11-20 | Snap Inc. | Multichannel system |
US10123166B2 (en) | 2015-01-26 | 2018-11-06 | Snap Inc. | Content request by location |
US11528579B2 (en) | 2015-01-26 | 2022-12-13 | Snap Inc. | Content request by location |
US10536800B1 (en) | 2015-01-26 | 2020-01-14 | Snap Inc. | Content request by location |
US11910267B2 (en) | 2015-01-26 | 2024-02-20 | Snap Inc. | Content request by location |
US10932085B1 (en) | 2015-01-26 | 2021-02-23 | Snap Inc. | Content request by location |
US10223397B1 (en) | 2015-03-13 | 2019-03-05 | Snap Inc. | Social graph based co-location of network users |
US10616239B2 (en) | 2015-03-18 | 2020-04-07 | Snap Inc. | Geo-fence authorization provisioning |
US11902287B2 (en) | 2015-03-18 | 2024-02-13 | Snap Inc. | Geo-fence authorization provisioning |
US10893055B2 (en) | 2015-03-18 | 2021-01-12 | Snap Inc. | Geo-fence authorization provisioning |
US11320651B2 (en) | 2015-03-23 | 2022-05-03 | Snap Inc. | Reducing boot time and power consumption in displaying data content |
US11662576B2 (en) | 2015-03-23 | 2023-05-30 | Snap Inc. | Reducing boot time and power consumption in displaying data content |
US10948717B1 (en) | 2015-03-23 | 2021-03-16 | Snap Inc. | Reducing boot time and power consumption in wearable display systems |
US20160283463A1 (en) * | 2015-03-26 | 2016-09-29 | Tata Consultancy Services Limited | Context based conversation system |
US10157350B2 (en) * | 2015-03-26 | 2018-12-18 | Tata Consultancy Services Limited | Context based conversation system |
US9917875B2 (en) * | 2015-04-02 | 2018-03-13 | Scripps Networks Interactive, Inc. | System and methods for managing media content playback using social media data |
US20160294907A1 (en) * | 2015-04-02 | 2016-10-06 | Scripps Networks Interactive, Inc. | Systems and methods for managing media content playback using social media data |
US11496544B2 (en) | 2015-05-05 | 2022-11-08 | Snap Inc. | Story and sub-story navigation |
US11392633B2 (en) | 2015-05-05 | 2022-07-19 | Snap Inc. | Systems and methods for automated local story generation and curation |
US10135949B1 (en) | 2015-05-05 | 2018-11-20 | Snap Inc. | Systems and methods for story and sub-story navigation |
US10911575B1 (en) | 2015-05-05 | 2021-02-02 | Snap Inc. | Systems and methods for story and sub-story navigation |
US11449539B2 (en) | 2015-05-05 | 2022-09-20 | Snap Inc. | Automated local story generation and curation |
US10592574B2 (en) | 2015-05-05 | 2020-03-17 | Snap Inc. | Systems and methods for automated local story generation and curation |
US11720577B2 (en) * | 2015-05-15 | 2023-08-08 | Google Llc | Contextualizing knowledge panels |
US20220374440A1 (en) * | 2015-05-15 | 2022-11-24 | Google Llc | Contextualizing knowledge panels |
US20230090161A1 (en) * | 2015-05-18 | 2023-03-23 | Google Llc | Methods, systems, and media for generating contextually relevant messages |
US11082376B2 (en) * | 2015-05-18 | 2021-08-03 | Google Llc | Methods, systems, and media for generating contextually relevant messages |
US11855940B2 (en) * | 2015-05-18 | 2023-12-26 | Google Llc | Methods, systems, and media for generating contextually relevant messages |
US11516162B2 (en) * | 2015-05-18 | 2022-11-29 | Google Llc | Methods, systems, and media for generating contextually relevant messages |
US20190207886A1 (en) * | 2015-05-18 | 2019-07-04 | Google Llc | Methods, systems, and media for generating contextually relevant messages |
US10164946B2 (en) | 2015-06-24 | 2018-12-25 | International Business Machines Corporation | Mention identification for untrusted content |
US10834058B2 (en) | 2015-06-24 | 2020-11-10 | International Business Machines Corporation | Mention identification for untrusted content |
US10057216B2 (en) * | 2015-06-24 | 2018-08-21 | International Business Machines Corporation | Mention identification for untrusted content |
US20160380946A1 (en) * | 2015-06-24 | 2016-12-29 | International Business Machines Corporation | Mention identification for untrusted content |
US20160381658A1 (en) * | 2015-06-29 | 2016-12-29 | Google Inc. | Systems and methods for contextual discovery of device functions |
US9974045B2 (en) * | 2015-06-29 | 2018-05-15 | Google Llc | Systems and methods for contextual discovery of device functions |
US10993069B2 (en) | 2015-07-16 | 2021-04-27 | Snap Inc. | Dynamically adaptive media content delivery |
US10817898B2 (en) | 2015-08-13 | 2020-10-27 | Placed, Llc | Determining exposures to content presented by physical objects |
US10862847B2 (en) * | 2015-08-31 | 2020-12-08 | Google Llc | Selective delay of social content sharing |
US20170063772A1 (en) * | 2015-08-31 | 2017-03-02 | Google Inc. | Selective delay of social content sharing |
US10313227B2 (en) | 2015-09-24 | 2019-06-04 | Cisco Technology, Inc. | System and method for eliminating undetected interest looping in information-centric networks |
US11315331B2 (en) | 2015-10-30 | 2022-04-26 | Snap Inc. | Image based tracking in augmented reality systems |
US11769307B2 (en) | 2015-10-30 | 2023-09-26 | Snap Inc. | Image based tracking in augmented reality systems |
US10366543B1 (en) | 2015-10-30 | 2019-07-30 | Snap Inc. | Image based tracking in augmented reality systems |
US10733802B2 (en) | 2015-10-30 | 2020-08-04 | Snap Inc. | Image based tracking in augmented reality systems |
US11599241B2 (en) | 2015-11-30 | 2023-03-07 | Snap Inc. | Network resource location linking and visual content sharing |
US11380051B2 (en) | 2015-11-30 | 2022-07-05 | Snap Inc. | Image and point cloud based tracking and in augmented reality systems |
US10997783B2 (en) | 2015-11-30 | 2021-05-04 | Snap Inc. | Image and point cloud based tracking and in augmented reality systems |
US10474321B2 (en) | 2015-11-30 | 2019-11-12 | Snap Inc. | Network resource location linking and visual content sharing |
CN105554523A (en) * | 2015-12-04 | 2016-05-04 | 珠海多玩信息技术有限公司 | Live channel-based information interaction method and server |
US10032208B2 (en) * | 2015-12-15 | 2018-07-24 | International Business Machines Corporation | Identifying recommended electronic books with detailed comparisons |
US10354425B2 (en) | 2015-12-18 | 2019-07-16 | Snap Inc. | Method and system for providing context relevant media augmentation |
US10997758B1 (en) | 2015-12-18 | 2021-05-04 | Snap Inc. | Media overlay publication system |
US11468615B2 (en) | 2015-12-18 | 2022-10-11 | Snap Inc. | Media overlay publication system |
US11830117B2 (en) | 2015-12-18 | 2023-11-28 | Snap Inc | Media overlay publication system |
US9467408B1 (en) * | 2015-12-22 | 2016-10-11 | Linkedin Corporation | Interactive commentary based on video-content characteristics |
US20170228459A1 (en) * | 2016-02-05 | 2017-08-10 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and device for mobile searching based on artificial intelligence |
US11023514B2 (en) | 2016-02-26 | 2021-06-01 | Snap Inc. | Methods and systems for generation, curation, and presentation of media collections |
US10834525B2 (en) | 2016-02-26 | 2020-11-10 | Snap Inc. | Generation, curation, and presentation of media collections |
US11889381B2 (en) | 2016-02-26 | 2024-01-30 | Snap Inc. | Generation, curation, and presentation of media collections |
US10679389B2 (en) | 2016-02-26 | 2020-06-09 | Snap Inc. | Methods and systems for generation, curation, and presentation of media collections |
US11611846B2 (en) | 2016-02-26 | 2023-03-21 | Snap Inc. | Generation, curation, and presentation of media collections |
US11197123B2 (en) | 2016-02-26 | 2021-12-07 | Snap Inc. | Generation, curation, and presentation of media collections |
US10051071B2 (en) | 2016-03-04 | 2018-08-14 | Cisco Technology, Inc. | Method and system for collecting historical network information in a content centric network |
US10742596B2 (en) | 2016-03-04 | 2020-08-11 | Cisco Technology, Inc. | Method and system for reducing a collision probability of hash-based names using a publisher identifier |
US10264099B2 (en) | 2016-03-07 | 2019-04-16 | Cisco Technology, Inc. | Method and system for content closures in a content centric network |
US10067948B2 (en) | 2016-03-18 | 2018-09-04 | Cisco Technology, Inc. | Data deduping in content centric networking manifests |
US10091330B2 (en) | 2016-03-23 | 2018-10-02 | Cisco Technology, Inc. | Interest scheduling by an information and data framework in a content centric network |
US11631276B2 (en) | 2016-03-31 | 2023-04-18 | Snap Inc. | Automated avatar generation |
US10320760B2 (en) | 2016-04-01 | 2019-06-11 | Cisco Technology, Inc. | Method and system for mutating and caching content in a content centric network |
US11900418B2 (en) | 2016-04-04 | 2024-02-13 | Snap Inc. | Mutable geo-fencing system |
US10757048B2 (en) | 2016-04-08 | 2020-08-25 | Microsoft Technology Licensing, Llc | Intelligent personal assistant as a contact |
US10158593B2 (en) | 2016-04-08 | 2018-12-18 | Microsoft Technology Licensing, Llc | Proactive intelligent personal assistant |
US11201981B1 (en) | 2016-06-20 | 2021-12-14 | Pipbin, Inc. | System for notification of user accessibility of curated location-dependent content in an augmented estate |
US10638256B1 (en) | 2016-06-20 | 2020-04-28 | Pipbin, Inc. | System for distribution and display of mobile targeted augmented reality content |
US11876941B1 (en) | 2016-06-20 | 2024-01-16 | Pipbin, Inc. | Clickable augmented reality content manager, system, and network |
US11785161B1 (en) | 2016-06-20 | 2023-10-10 | Pipbin, Inc. | System for user accessibility of tagged curated augmented reality content |
US10805696B1 (en) | 2016-06-20 | 2020-10-13 | Pipbin, Inc. | System for recording and targeting tagged content of user interest |
US10992836B2 (en) | 2016-06-20 | 2021-04-27 | Pipbin, Inc. | Augmented property system of curated augmented reality media elements |
US11044393B1 (en) | 2016-06-20 | 2021-06-22 | Pipbin, Inc. | System for curation and display of location-dependent augmented reality content in an augmented estate system |
US10839219B1 (en) | 2016-06-20 | 2020-11-17 | Pipbin, Inc. | System for curation, distribution and display of location-dependent augmented reality content |
US10165402B1 (en) | 2016-06-28 | 2018-12-25 | Snap Inc. | System to track engagement of media items |
US10327100B1 (en) | 2016-06-28 | 2019-06-18 | Snap Inc. | System to track engagement of media items |
US10219110B2 (en) | 2016-06-28 | 2019-02-26 | Snap Inc. | System to track engagement of media items |
US11445326B2 (en) | 2016-06-28 | 2022-09-13 | Snap Inc. | Track engagement of media items |
US10735892B2 (en) | 2016-06-28 | 2020-08-04 | Snap Inc. | System to track engagement of media items |
US10430838B1 (en) | 2016-06-28 | 2019-10-01 | Snap Inc. | Methods and systems for generation, curation, and presentation of media collections with automated advertising |
US10785597B2 (en) | 2016-06-28 | 2020-09-22 | Snap Inc. | System to track engagement of media items |
US10506371B2 (en) | 2016-06-28 | 2019-12-10 | Snap Inc. | System to track engagement of media items |
US11640625B2 (en) | 2016-06-28 | 2023-05-02 | Snap Inc. | Generation, curation, and presentation of media collections with automated advertising |
US10885559B1 (en) | 2016-06-28 | 2021-01-05 | Snap Inc. | Generation, curation, and presentation of media collections with automated advertising |
US11895068B2 (en) | 2016-06-30 | 2024-02-06 | Snap Inc. | Automated content curation and communication |
US11080351B1 (en) | 2016-06-30 | 2021-08-03 | Snap Inc. | Automated content curation and communication |
US10387514B1 (en) | 2016-06-30 | 2019-08-20 | Snap Inc. | Automated content curation and communication |
US11509615B2 (en) | 2016-07-19 | 2022-11-22 | Snap Inc. | Generating customized electronic messaging graphics |
US10348662B2 (en) | 2016-07-19 | 2019-07-09 | Snap Inc. | Generating customized electronic messaging graphics |
US11816853B2 (en) | 2016-08-30 | 2023-11-14 | Snap Inc. | Systems and methods for simultaneous localization and mapping |
US10832306B2 (en) * | 2016-09-15 | 2020-11-10 | International Business Machines Corporation | User actions in a physical space directing presentation of customized virtual environment |
US11843456B2 (en) | 2016-10-24 | 2023-12-12 | Snap Inc. | Generating and displaying customized avatars in media overlays |
US11876762B1 (en) | 2016-10-24 | 2024-01-16 | Snap Inc. | Generating and displaying customized avatars in media overlays |
US11233952B2 (en) | 2016-11-07 | 2022-01-25 | Snap Inc. | Selective identification and order of image modifiers |
US11750767B2 (en) | 2016-11-07 | 2023-09-05 | Snap Inc. | Selective identification and order of image modifiers |
US10623666B2 (en) | 2016-11-07 | 2020-04-14 | Snap Inc. | Selective identification and order of image modifiers |
US11397517B2 (en) | 2016-12-09 | 2022-07-26 | Snap Inc. | Customized media overlays |
US10203855B2 (en) | 2016-12-09 | 2019-02-12 | Snap Inc. | Customized user-controlled media overlays |
US10754525B1 (en) | 2016-12-09 | 2020-08-25 | Snap Inc. | Customized media overlays |
US11616745B2 (en) | 2017-01-09 | 2023-03-28 | Snap Inc. | Contextual generation and selection of customized media content |
US11870743B1 (en) | 2017-01-23 | 2024-01-09 | Snap Inc. | Customized digital avatar accessories |
US10915911B2 (en) | 2017-02-03 | 2021-02-09 | Snap Inc. | System to determine a price-schedule to distribute media content |
US11250075B1 (en) | 2017-02-17 | 2022-02-15 | Snap Inc. | Searching social media content |
US11720640B2 (en) | 2017-02-17 | 2023-08-08 | Snap Inc. | Searching social media content |
US11861795B1 (en) | 2017-02-17 | 2024-01-02 | Snap Inc. | Augmented reality anamorphosis system |
US10319149B1 (en) | 2017-02-17 | 2019-06-11 | Snap Inc. | Augmented reality anamorphosis system |
US11748579B2 (en) | 2017-02-20 | 2023-09-05 | Snap Inc. | Augmented reality speech balloon system |
US11189299B1 (en) | 2017-02-20 | 2021-11-30 | Snap Inc. | Augmented reality speech balloon system |
US10614443B1 (en) * | 2017-03-05 | 2020-04-07 | Mohammed Almosilhi | Method and system of promoting a specific product or services by a person utilizing an e-commerce/social customer networking platform |
US11670057B2 (en) | 2017-03-06 | 2023-06-06 | Snap Inc. | Virtual vision system |
US11037372B2 (en) | 2017-03-06 | 2021-06-15 | Snap Inc. | Virtual vision system |
US10523625B1 (en) | 2017-03-09 | 2019-12-31 | Snap Inc. | Restricted group content collection |
US11258749B2 (en) | 2017-03-09 | 2022-02-22 | Snap Inc. | Restricted group content collection |
US10887269B1 (en) | 2017-03-09 | 2021-01-05 | Snap Inc. | Restricted group content collection |
US10645182B2 (en) * | 2017-03-10 | 2020-05-05 | Wei-Shan Wang | Social network information match-up system and method thereof |
US20180262586A1 (en) * | 2017-03-10 | 2018-09-13 | Wei-Shan Wang | Social network information match-up system and method thereof |
US11349796B2 (en) | 2017-03-27 | 2022-05-31 | Snap Inc. | Generating a stitched data stream |
US11558678B2 (en) | 2017-03-27 | 2023-01-17 | Snap Inc. | Generating a stitched data stream |
US10581782B2 (en) | 2017-03-27 | 2020-03-03 | Snap Inc. | Generating a stitched data stream |
US11297399B1 (en) | 2017-03-27 | 2022-04-05 | Snap Inc. | Generating a stitched data stream |
US10582277B2 (en) | 2017-03-27 | 2020-03-03 | Snap Inc. | Generating a stitched data stream |
US20180295207A1 (en) * | 2017-04-07 | 2018-10-11 | Microsoft Technology Licensing, Llc | Endorsements relevance |
US11170393B1 (en) | 2017-04-11 | 2021-11-09 | Snap Inc. | System to calculate an engagement score of location based media content |
US10387730B1 (en) | 2017-04-20 | 2019-08-20 | Snap Inc. | Augmented reality typography personalization system |
US11195018B1 (en) | 2017-04-20 | 2021-12-07 | Snap Inc. | Augmented reality typography personalization system |
US11418906B2 (en) | 2017-04-27 | 2022-08-16 | Snap Inc. | Selective location-based identity communication |
US10963529B1 (en) | 2017-04-27 | 2021-03-30 | Snap Inc. | Location-based search mechanism in a graphical user interface |
US11385763B2 (en) | 2017-04-27 | 2022-07-12 | Snap Inc. | Map-based graphical user interface indicating geospatial activity metrics |
US11893647B2 (en) | 2017-04-27 | 2024-02-06 | Snap Inc. | Location-based virtual avatars |
US11782574B2 (en) | 2017-04-27 | 2023-10-10 | Snap Inc. | Map-based graphical user interface indicating geospatial activity metrics |
US11409407B2 (en) | 2017-04-27 | 2022-08-09 | Snap Inc. | Map-based graphical user interface indicating geospatial activity metrics |
US10952013B1 (en) | 2017-04-27 | 2021-03-16 | Snap Inc. | Selective location-based identity communication |
US11392264B1 (en) | 2017-04-27 | 2022-07-19 | Snap Inc. | Map-based graphical user interface for multi-type social media galleries |
US11451956B1 (en) | 2017-04-27 | 2022-09-20 | Snap Inc. | Location privacy management on map-based social media platforms |
US11842411B2 (en) | 2017-04-27 | 2023-12-12 | Snap Inc. | Location-based virtual avatars |
US11556221B2 (en) | 2017-04-27 | 2023-01-17 | Snap Inc. | Friend location sharing mechanism for social media platforms |
US11474663B2 (en) | 2017-04-27 | 2022-10-18 | Snap Inc. | Location-based search mechanism in a graphical user interface |
US11232040B1 (en) | 2017-04-28 | 2022-01-25 | Snap Inc. | Precaching unlockable data elements |
US11675831B2 (en) | 2017-05-31 | 2023-06-13 | Snap Inc. | Geolocation based playlists |
CN107506250A (en) * | 2017-08-24 | 2017-12-22 | 北京小米移动软件有限公司 | Information processing method and equipment |
US11475254B1 (en) | 2017-09-08 | 2022-10-18 | Snap Inc. | Multimodal entity identification |
US11335067B2 (en) | 2017-09-15 | 2022-05-17 | Snap Inc. | Augmented reality system |
US10740974B1 (en) | 2017-09-15 | 2020-08-11 | Snap Inc. | Augmented reality system |
US11721080B2 (en) | 2017-09-15 | 2023-08-08 | Snap Inc. | Augmented reality system |
US11617056B2 (en) | 2017-10-09 | 2023-03-28 | Snap Inc. | Context sensitive presentation of content |
US10499191B1 (en) | 2017-10-09 | 2019-12-03 | Snap Inc. | Context sensitive presentation of content |
US11006242B1 (en) | 2017-10-09 | 2021-05-11 | Snap Inc. | Context sensitive presentation of content |
US11030787B2 (en) | 2017-10-30 | 2021-06-08 | Snap Inc. | Mobile-based cartographic control of display content |
US11670025B2 (en) | 2017-10-30 | 2023-06-06 | Snap Inc. | Mobile-based cartographic control of display content |
US11265273B1 (en) | 2017-12-01 | 2022-03-01 | Snap, Inc. | Dynamic media overlay with smart widget |
US11558327B2 (en) | 2017-12-01 | 2023-01-17 | Snap Inc. | Dynamic media overlay with smart widget |
US11017173B1 (en) | 2017-12-22 | 2021-05-25 | Snap Inc. | Named entity recognition visual context and caption data |
US11687720B2 (en) | 2017-12-22 | 2023-06-27 | Snap Inc. | Named entity recognition visual context and caption data |
US10678818B2 (en) | 2018-01-03 | 2020-06-09 | Snap Inc. | Tag distribution visualization system |
US11487794B2 (en) | 2018-01-03 | 2022-11-01 | Snap Inc. | Tag distribution visualization system |
US11841896B2 (en) | 2018-02-13 | 2023-12-12 | Snap Inc. | Icon based tagging |
US11507614B1 (en) | 2018-02-13 | 2022-11-22 | Snap Inc. | Icon based tagging |
US11523159B2 (en) | 2018-02-28 | 2022-12-06 | Snap Inc. | Generating media content items based on location information |
US10979752B1 (en) | 2018-02-28 | 2021-04-13 | Snap Inc. | Generating media content items based on location information |
US10885136B1 (en) | 2018-02-28 | 2021-01-05 | Snap Inc. | Audience filtering system |
US10327096B1 (en) | 2018-03-06 | 2019-06-18 | Snap Inc. | Geo-fence selection system |
US11570572B2 (en) | 2018-03-06 | 2023-01-31 | Snap Inc. | Geo-fence selection system |
US11722837B2 (en) | 2018-03-06 | 2023-08-08 | Snap Inc. | Geo-fence selection system |
US11044574B2 (en) | 2018-03-06 | 2021-06-22 | Snap Inc. | Geo-fence selection system |
US10524088B2 (en) | 2018-03-06 | 2019-12-31 | Snap Inc. | Geo-fence selection system |
US10933311B2 (en) | 2018-03-14 | 2021-03-02 | Snap Inc. | Generating collectible items based on location information |
US11491393B2 (en) | 2018-03-14 | 2022-11-08 | Snap Inc. | Generating collectible items based on location information |
US11163941B1 (en) | 2018-03-30 | 2021-11-02 | Snap Inc. | Annotating a collection of media content items |
US10681491B1 (en) | 2018-04-18 | 2020-06-09 | Snap Inc. | Visitation tracking system |
US10448199B1 (en) | 2018-04-18 | 2019-10-15 | Snap Inc. | Visitation tracking system |
US10219111B1 (en) | 2018-04-18 | 2019-02-26 | Snap Inc. | Visitation tracking system |
US11297463B2 (en) | 2018-04-18 | 2022-04-05 | Snap Inc. | Visitation tracking system |
US11683657B2 (en) | 2018-04-18 | 2023-06-20 | Snap Inc. | Visitation tracking system |
US10779114B2 (en) | 2018-04-18 | 2020-09-15 | Snap Inc. | Visitation tracking system |
US10924886B2 (en) | 2018-04-18 | 2021-02-16 | Snap Inc. | Visitation tracking system |
US11676220B2 (en) | 2018-04-20 | 2023-06-13 | Meta Platforms, Inc. | Processing multimodal user input for assistant systems |
US11721093B2 (en) | 2018-04-20 | 2023-08-08 | Meta Platforms, Inc. | Content summarization for assistant systems |
US11694429B2 (en) | 2018-04-20 | 2023-07-04 | Meta Platforms Technologies, Llc | Auto-completion for gesture-input in assistant systems |
US11688159B2 (en) * | 2018-04-20 | 2023-06-27 | Meta Platforms, Inc. | Engaging users by personalized composing-content recommendation |
US11704900B2 (en) | 2018-04-20 | 2023-07-18 | Meta Platforms, Inc. | Predictive injection of conversation fillers for assistant systems |
US20230186618A1 (en) | 2018-04-20 | 2023-06-15 | Meta Platforms, Inc. | Generating Multi-Perspective Responses by Assistant Systems |
US11704899B2 (en) | 2018-04-20 | 2023-07-18 | Meta Platforms, Inc. | Resolving entities from multiple data sources for assistant systems |
US11715042B1 (en) | 2018-04-20 | 2023-08-01 | Meta Platforms Technologies, Llc | Interpretability of deep reinforcement learning models in assistant systems |
US11715289B2 (en) | 2018-04-20 | 2023-08-01 | Meta Platforms, Inc. | Generating multi-perspective responses by assistant systems |
US11869231B2 (en) | 2018-04-20 | 2024-01-09 | Meta Platforms Technologies, Llc | Auto-completion for gesture-input in assistant systems |
US11908181B2 (en) | 2018-04-20 | 2024-02-20 | Meta Platforms, Inc. | Generating multi-perspective responses by assistant systems |
US11908179B2 (en) | 2018-04-20 | 2024-02-20 | Meta Platforms, Inc. | Suggestions for fallback social contacts for assistant systems |
US11887359B2 (en) | 2018-04-20 | 2024-01-30 | Meta Platforms, Inc. | Content suggestions for content digests for assistant systems |
US20210224346A1 (en) * | 2018-04-20 | 2021-07-22 | Facebook, Inc. | Engaging Users by Personalized Composing-Content Recommendation |
US11886473B2 (en) | 2018-04-20 | 2024-01-30 | Meta Platforms, Inc. | Intent identification for agent matching by assistant systems |
US11727677B2 (en) | 2018-04-20 | 2023-08-15 | Meta Platforms Technologies, Llc | Personalized gesture recognition for user interaction with assistant systems |
US11860888B2 (en) | 2018-05-22 | 2024-01-02 | Snap Inc. | Event detection system |
US10789749B2 (en) | 2018-07-24 | 2020-09-29 | Snap Inc. | Conditional modification of augmented reality object |
US10943381B2 (en) | 2018-07-24 | 2021-03-09 | Snap Inc. | Conditional modification of augmented reality object |
US10679393B2 (en) | 2018-07-24 | 2020-06-09 | Snap Inc. | Conditional modification of augmented reality object |
US11367234B2 (en) | 2018-07-24 | 2022-06-21 | Snap Inc. | Conditional modification of augmented reality object |
US11670026B2 (en) | 2018-07-24 | 2023-06-06 | Snap Inc. | Conditional modification of augmented reality object |
US11676319B2 (en) | 2018-08-31 | 2023-06-13 | Snap Inc. | Augmented reality anthropomorphtzation system |
US11450050B2 (en) | 2018-08-31 | 2022-09-20 | Snap Inc. | Augmented reality anthropomorphization system |
US10997760B2 (en) | 2018-08-31 | 2021-05-04 | Snap Inc. | Augmented reality anthropomorphization system |
US11455082B2 (en) | 2018-09-28 | 2022-09-27 | Snap Inc. | Collaborative achievement interface |
US11704005B2 (en) | 2018-09-28 | 2023-07-18 | Snap Inc. | Collaborative achievement interface |
US11799811B2 (en) | 2018-10-31 | 2023-10-24 | Snap Inc. | Messaging and gaming applications communication platform |
US11698722B2 (en) | 2018-11-30 | 2023-07-11 | Snap Inc. | Generating customized avatars based on location information |
US11558709B2 (en) | 2018-11-30 | 2023-01-17 | Snap Inc. | Position service to determine relative position to map features |
US11199957B1 (en) | 2018-11-30 | 2021-12-14 | Snap Inc. | Generating customized avatars based on location information |
US11812335B2 (en) | 2018-11-30 | 2023-11-07 | Snap Inc. | Position service to determine relative position to map features |
US11877211B2 (en) | 2019-01-14 | 2024-01-16 | Snap Inc. | Destination sharing in location sharing system |
US11751015B2 (en) | 2019-01-16 | 2023-09-05 | Snap Inc. | Location-based context information sharing in a messaging system |
US11693887B2 (en) | 2019-01-30 | 2023-07-04 | Snap Inc. | Adaptive spatial density based clustering |
US11294936B1 (en) | 2019-01-30 | 2022-04-05 | Snap Inc. | Adaptive spatial density based clustering |
US11809624B2 (en) | 2019-02-13 | 2023-11-07 | Snap Inc. | Sleep detection in a location sharing system |
US11500525B2 (en) | 2019-02-25 | 2022-11-15 | Snap Inc. | Custom media overlay system |
US11574431B2 (en) | 2019-02-26 | 2023-02-07 | Snap Inc. | Avatar based on weather |
US11301117B2 (en) | 2019-03-08 | 2022-04-12 | Snap Inc. | Contextual information in chat |
US11868414B1 (en) | 2019-03-14 | 2024-01-09 | Snap Inc. | Graph-based prediction for contact suggestion in a location sharing system |
US11852554B1 (en) | 2019-03-21 | 2023-12-26 | Snap Inc. | Barometer calibration in a location sharing system |
US11249614B2 (en) | 2019-03-28 | 2022-02-15 | Snap Inc. | Generating personalized map interface with enhanced icons |
US11740760B2 (en) | 2019-03-28 | 2023-08-29 | Snap Inc. | Generating personalized map interface with enhanced icons |
US11361493B2 (en) | 2019-04-01 | 2022-06-14 | Snap Inc. | Semantic texture mapping system |
US11606755B2 (en) | 2019-05-30 | 2023-03-14 | Snap Inc. | Wearable device location systems architecture |
US11785549B2 (en) | 2019-05-30 | 2023-10-10 | Snap Inc. | Wearable device location systems |
US11601783B2 (en) | 2019-06-07 | 2023-03-07 | Snap Inc. | Detection of a physical collision between two client devices in a location sharing system |
US11917495B2 (en) | 2019-06-07 | 2024-02-27 | Snap Inc. | Detection of a physical collision between two client devices in a location sharing system |
US11714535B2 (en) | 2019-07-11 | 2023-08-01 | Snap Inc. | Edge gesture interface with smart interactions |
US11308110B2 (en) * | 2019-08-15 | 2022-04-19 | Rovi Guides, Inc. | Systems and methods for pushing content |
US11821742B2 (en) | 2019-09-26 | 2023-11-21 | Snap Inc. | Travel based notifications |
US11218838B2 (en) | 2019-10-31 | 2022-01-04 | Snap Inc. | Focused map-based context information surfacing |
US11429618B2 (en) | 2019-12-30 | 2022-08-30 | Snap Inc. | Surfacing augmented reality objects |
US11729343B2 (en) | 2019-12-30 | 2023-08-15 | Snap Inc. | Including video feed in message thread |
US11128715B1 (en) | 2019-12-30 | 2021-09-21 | Snap Inc. | Physical friend proximity in chat |
US11893208B2 (en) | 2019-12-31 | 2024-02-06 | Snap Inc. | Combined map icon with action indicator |
US11343323B2 (en) | 2019-12-31 | 2022-05-24 | Snap Inc. | Augmented reality objects registry |
US11228551B1 (en) | 2020-02-12 | 2022-01-18 | Snap Inc. | Multiple gateway message exchange |
US11888803B2 (en) | 2020-02-12 | 2024-01-30 | Snap Inc. | Multiple gateway message exchange |
US11765117B2 (en) | 2020-03-05 | 2023-09-19 | Snap Inc. | Storing data based on device location |
US11516167B2 (en) | 2020-03-05 | 2022-11-29 | Snap Inc. | Storing data based on device location |
US11619501B2 (en) | 2020-03-11 | 2023-04-04 | Snap Inc. | Avatar based on trip |
US11776256B2 (en) | 2020-03-27 | 2023-10-03 | Snap Inc. | Shared augmented reality system |
US11430091B2 (en) | 2020-03-27 | 2022-08-30 | Snap Inc. | Location mapping for large scale augmented-reality |
US11915400B2 (en) | 2020-03-27 | 2024-02-27 | Snap Inc. | Location mapping for large scale augmented-reality |
US11290851B2 (en) | 2020-06-15 | 2022-03-29 | Snap Inc. | Location sharing using offline and online objects |
US11314776B2 (en) | 2020-06-15 | 2022-04-26 | Snap Inc. | Location sharing using friend list versions |
US11483267B2 (en) | 2020-06-15 | 2022-10-25 | Snap Inc. | Location sharing using different rate-limited links |
US11503432B2 (en) | 2020-06-15 | 2022-11-15 | Snap Inc. | Scalable real-time location sharing framework |
US11676378B2 (en) | 2020-06-29 | 2023-06-13 | Snap Inc. | Providing travel-based augmented reality content with a captured image |
US20230400964A1 (en) * | 2021-02-24 | 2023-12-14 | Beijing Zitiao Network Technology Co., Ltd. | Application page display method and electronic device |
US11606756B2 (en) | 2021-03-29 | 2023-03-14 | Snap Inc. | Scheduling requests for location data |
US11601888B2 (en) | 2021-03-29 | 2023-03-07 | Snap Inc. | Determining location using multi-source geolocation data |
US11902902B2 (en) | 2021-03-29 | 2024-02-13 | Snap Inc. | Scheduling requests for location data |
US11645324B2 (en) | 2021-03-31 | 2023-05-09 | Snap Inc. | Location-based timeline media content system |
US11915326B2 (en) * | 2021-10-22 | 2024-02-27 | International Business Machines Corporation | Determining tag relevance |
US20230131470A1 (en) * | 2021-10-22 | 2023-04-27 | International Business Machines Corporation | Determining tag relevance |
US11829834B2 (en) | 2021-10-29 | 2023-11-28 | Snap Inc. | Extended QR code |
Also Published As
Publication number | Publication date |
---|---|
EP2864854A4 (en) | 2016-01-20 |
CN104395871A (en) | 2015-03-04 |
US9374396B2 (en) | 2016-06-21 |
EP2864854A1 (en) | 2015-04-29 |
WO2014004351A1 (en) | 2014-01-03 |
CN104395871B (en) | 2017-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9374396B2 (en) | Recommended content for an endorsement user interface | |
US9183515B2 (en) | Share box for endorsements | |
US10162816B1 (en) | Computerized system and method for automatically transforming and providing domain specific chatbot responses | |
US10007933B2 (en) | Systems and methods for integrating dynamic content into electronic media | |
US10180979B2 (en) | System and method for generating suggestions by a search engine in response to search queries | |
US20160189214A1 (en) | Personalizing Advertisements Using Subscription Data | |
US20150317945A1 (en) | Systems and methods for generating tinted glass effect for interface controls and elements | |
US20110238608A1 (en) | Method and apparatus for providing personalized information resource recommendation based on group behaviors | |
US9052792B2 (en) | Inserting a search box into a mobile terminal dialog messaging protocol | |
US11080287B2 (en) | Methods, systems and techniques for ranking blended content retrieved from multiple disparate content sources | |
WO2011163204A2 (en) | Integrating social network data with search results | |
US9830304B1 (en) | Systems and methods for integrating dynamic content into electronic media | |
US20130035996A1 (en) | Social advertising technology (so-ad-tec) system and method for advertising for and in documents, and other systems and methods for accessing, structuring, and evaluating documents | |
US9621622B2 (en) | Information providing apparatus, information providing method, and network system | |
KR20080002879A (en) | Associating information with an electronic document | |
US20130031450A1 (en) | Systems and methods for psychographic titling | |
US20170098283A1 (en) | Methods, systems and techniques for blending online content from multiple disparate content sources including a personal content source or a semi-personal content source | |
US20160012130A1 (en) | Aiding composition of themed articles about popular and novel topics and offering users a navigable experience of associated content | |
EP3905177A1 (en) | Recommending that an entity in an online system create content describing an item associated with a topic having at least a threshold value of a performance metric and to add a tag describing the item to the content | |
Haugen | Mobile News: Design, User Experience and Recommendation | |
Hieu | SEO and social media impact on local business | |
Ilori | Utilization of Digital Marketing Channels for Brand Awareness by Small and Medium Scale Enterprise Operators | |
York | A Digital Strategy for Enhancing the Customer Journey via a Customer-Centric Website | |
Kabore | Design and development of a recommender engine as a module for Liferay | |
US20180253739A1 (en) | Automated Endorsement Prompting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BOROVOY, RICHARD DANIEL;HADDEN, LUCY ELSBETH;BORGGAARD, GEOFFREY ALLEN;AND OTHERS;SIGNING DATES FROM 20130321 TO 20130521;REEL/FRAME:030486/0235 |
|
AS | Assignment |
Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FARAGO, JULIE HEATHER;REEL/FRAME:037879/0888 Effective date: 20160302 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044566/0657 Effective date: 20170929 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |