[go: up one dir, main page]

HK1191119B - System and method for syndicating a conversation - Google Patents

System and method for syndicating a conversation Download PDF

Info

Publication number
HK1191119B
HK1191119B HK14104210.0A HK14104210A HK1191119B HK 1191119 B HK1191119 B HK 1191119B HK 14104210 A HK14104210 A HK 14104210A HK 1191119 B HK1191119 B HK 1191119B
Authority
HK
Hong Kong
Prior art keywords
website
user
content
gadget
embedded
Prior art date
Application number
HK14104210.0A
Other languages
Chinese (zh)
Other versions
HK1191119A (en
Inventor
S.沙拉比
J.特勒斯基
M.肖尔
C.多尔
Original Assignee
Google Llc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google Llc filed Critical Google Llc
Publication of HK1191119A publication Critical patent/HK1191119A/en
Publication of HK1191119B publication Critical patent/HK1191119B/en

Links

Description

System and method for aggregating conversations
Technical Field
This specification relates to methods and systems for enabling users of different websites to participate in a global conversation. In particular, the present description relates to aggregating content embedded on different websites, thereby enabling users of each of those websites to participate in a global conversation.
Background
With the advent of social networking services, it has become increasingly common for website developers to add social layers to their websites. This allows people visiting the website to interact, for example, by posting comments and conversing with others who share the same interests. Over the past decades, the number of websites dedicated to a single topic of interest has risen dramatically. Often, people choose to view only a few websites for various reasons, such as lack of time. People thus miss the opportunity to participate in interesting conversations occurring on other websites with the same topic of interest.
In addition, such comments and conversations provide valuable information and feedback from the developer's perspective. With current approaches, developers are at a disadvantage because they are limited to receiving comments from people who only visit their websites. For example, it is difficult for developers to know whether products sold in a particular city will be internationally popular because it is quite unlikely that people who are not customers or members will post comments on the website.
Therefore, there is a need for a way to spread conversations across websites and to make conversations global to benefit users and developers of websites.
Disclosure of Invention
In some examples, the specification describes a system and method for generating and embedding code that uses a conversation application to aggregate comments received by gadgets embedded on different websites. In one embodiment, the conversation application enables a developer of the second website to embed a gadget that displays content generated on the first website.
The conversation application includes an authorization module, a code generator, an identity generator, a profile engine, a content parser, an aggregation module, an analysis engine, an advertisement engine, and a newsletter engine. The content parser receives comments posted by the user from the gadget embedded on the second website and identifies the user and a website identifier for the website from which the content originated. The identification generator generates a website identifier for each website maintained in the index. The profile engine generates a profile for the user. An aggregation module aggregates content on gadgets embedded on a first website. The analysis engine determines the interests of the user by analyzing the content and the user information. The analysis engine then sends the analysis to the developer of the first website. The advertisement engine provides advertisements to the first website based on interests associated with the user. The newsletter engine generates a newsletter based on the associated interests and sends the newsletter to the user if the user is a public member.
In accordance with innovative aspects of the subject matter described in this disclosure, which can be embodied in a method that includes receiving content published by a user from a gadget embedded on a second website, identifying the user, identifying a first website on which the gadget is embedded, and aggregating the content on the gadget embedded on the first website. Other implementations of one or more of these aspects include corresponding systems, apparatus, and computer programs, encoded on computer storage devices, configured to perform the actions of the methods.
These implementations and other implementations can each optionally include one or more of the following features. For example, the features include: wherein aggregating content comprises sending content displayed on a second website to a first website for display; wherein in response to determining that the user is a public member, further comprising generating a newsletter for the user based on the user's interests and sending the newsletter to the user; and wherein the content is at least one from the group of: text, video, audio, images, and responses to votes or questionnaires.
For example, the operations further comprise: further comprising obtaining user information from a user profile associated with the user, and analyzing the content and the user information to generate an analysis comprising interests of the user; sending the analysis to a developer of the first website; selecting an advertisement to a first website based on the user's interests; determining whether the user is a public user; generating a profile associated with a user, the profile accessible in response to the user posting a comment; enabling users to log in to post comments using profiles already on the web; authorizing a request from a developer of a third website to embed a gadget on the third website, generating a website identifier for the third website, generating a code for embedding the gadget on the third website, and adding the website identifier of the third website to an index, the index including an identifier of the gadget, a website identifier of the first website, and a website identifier of the second website.
The conversation application aggregates content across multiple websites, which allows visitors to different websites to benefit from the same content.
Drawings
The specification is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements.
FIG. 1 is a block diagram illustrating one embodiment of a system for aggregating content received by gadgets embedded on different websites.
FIG. 2 is a block diagram illustrating one embodiment of a dialog element.
FIG. 3A is a graphical representation of a first embodiment for aggregating content received by gadgets embedded on different websites.
FIG. 3B is a graphical representation of a second embodiment for aggregating content received by gadgets embedded on different websites.
FIG. 4 is a graphical representation of one embodiment of a first website that includes a user interface for an gadget.
FIG. 5 is a graphical representation of one embodiment of settings associated with embedding a widget from a first web site onto a second web site.
FIG. 6 is a graphical representation of one embodiment of a first website including code required by a developer to embed a gadget on a second website.
FIG. 7 is a graphical representation of one embodiment of a gadget embedded on a second website.
FIG. 8 is a graphical representation of one embodiment of a user interface for a user to log in and post comments.
FIG. 9 is a flow diagram illustrating a first embodiment of a method for aggregating content received by gadgets embedded on different websites.
FIG. 10 is a flow diagram illustrating a second embodiment of a method for aggregating content received by gadgets embedded on different websites.
Detailed Description
Systems and methods for aggregating content received by gadgets embedded on different websites. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the description. It will be apparent, however, to one skilled in the art that the embodiments of the present description may be practiced without these specific details. In other instances, structures and devices are shown in block diagram form in order to avoid obscuring the description. This description applies to any type of computing device capable of receiving data and commands and any peripheral device providing services.
Reference in the specification to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment.
Some portions of the detailed descriptions which follow are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the description, discussions utilizing terms such as "processing," "computing," "calculating," "determining," or "displaying" or the like, 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 description also relates to 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, such as, 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 electrical cards, flash memory including a USB key with non-volatile memory, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
Some embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the specification is implemented in software, which includes but is not limited to firmware, resident software, microcode, and the like.
Furthermore, some embodiments may 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 modem and Ethernet cards are just a few of the currently available types of network adapters.
Finally, the algorithms and displays presented herein are not 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 specification is 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 specification as described herein.
Overview of the system
FIG. 1 illustrates a block diagram of a system 100 for aggregating content received by gadgets embedded on different websites, according to one embodiment. The illustrated system 100 includes user devices 115a, 115n accessed by users 125a, 125n, a social network server 101, a website server 160, and a third party server 107. In fig. 1 and the remaining figures, the letter following the reference number, e.g., "115 a," is a generic reference to any or all instances of the element having that reference number. In the illustrated embodiment, these entities are communicatively coupled via a network 105.
The user devices 115a, 115n in fig. 1 are used as an example. Although only two user devices are illustrated, one of ordinary skill in the art will appreciate that any number of user devices may be used for any number of users. Additionally, while there is only one network 105 coupled to the user devices 115a, 115n, the social network server 101, the website server 160, and the third party server 107, there may be virtually any number of networks 105 connected to the entity. Further, although only one third-party server 107 and one social networking server 101 are shown, the system 100 may include one or more third-party servers 107 and one or more social networking servers 101.
The user devices 115a, 115n are any computing device that includes a memory and a processor. For example, the user devices 115a, 115n include personal computers, laptop computers, tablet computers, or mobile devices such as cellular phones, personal digital assistants, or smart phones. In one embodiment, the user device 115a includes a web browser 120. The web browser 120 is code and routines stored in memory and executed by a processor of the device 115 a. For example, browser 120 is a browser application that loads a website hosted by website server 160. The user 125a accesses the user device 115a via the signal line 110. The user equipment 115a is connected to the network 105 via a signal line 108.
In one embodiment, the conversation application 103a is stored on a web server 160, the web server 160 being connected to the network 105 via signal line 152. Web server 160 also includes a web page developer application 165 that generates content for the web site. Each website is stored on a separate website server 160. One of ordinary skill in the art will recognize that each web server 160 contains a conversation application 103a, or that only some web servers 160 contain a conversation application 103 a.
The conversation application 103a generates a gadget, for example, with self-contained software, that is displayed on a website that includes the online community. The gadget is displayed on a website generated by the web page developer application 165. While the conversation application 103a is illustrated as a separate application, in one embodiment the conversation application 103a is a component of the web page developer application 165.
In another embodiment, the conversation application 103b is stored on a third party server 107. The third party server 107 is connected to the network 105 via a signal line 106. The conversation application 103b communicates with the web page developer application 165 via the network 105 to provide gadgets for incorporation into web pages. In yet another embodiment, the conversation application 103b operable on the third party server 107 includes software for generating web page content, rather than having a separate application as illustrated in the web server 160 example. One of ordinary skill in the art will appreciate that the conversation application 103 can be stored in any combination on the device and server.
The social network server 101 is coupled to the network 105 via a signal line 104, the social network server 101 containing a social network application 109. A social network is any type of social structure in which users are connected by a common feature, such as Orkut. Common features include friendship, family, work, interest, etc. The common features are provided by one or more social networking systems, such as those included in system 100, including well-defined relationships and relationships implied by social connections with other online users.
The network 105 is of a conventional type, wired or wireless, and may have any number of configurations such as a star configuration, a token ring configuration, or other configurations known to those skilled in the art. Additionally, network 105 may include a Local Area Network (LAN), a Wide Area Network (WAN) (e.g., the internet), and/or any other interconnected data path through which multiple devices may communicate. In yet another embodiment, the network 105 may be a point-to-point network. The network 105 may also be coupled to, or include portions of, a telecommunications network for transmitting data in a variety of different communication protocols. In yet another embodiment, the network 105 comprises a bluetooth communication network or a cellular communication network for sending and receiving data, such as via Short Message Service (SMS), Multimedia Message Service (MMS), hypertext transfer protocol (HTTP), direct data connection, WAP, email, and the like.
In one embodiment, the conversation application 103 enables the developer of the second website to embed the gadget originally embedded on the first website on the second website. The conversation application 103 receives the user's published content from the gadget embedded on the second website. The conversation application 103 then aggregates the received content on the gadget embedded on the first website. The aggregation includes sending content displayed on the second website to the first website. As a result of the aggregation, the web site with the embedded gadgets displays the same content. Thus, when a user makes a comment on the second website and then visits the first website, the user desires to view the same content and be able to continue the conversation seamlessly with other widget users.
In another embodiment, the conversation application 103 analyzes content received by gadgets embedded on a website and based on the analysis, for example, provides newsletters to users, advertisements to websites, and the like. One of ordinary skill in the art will recognize that gadgets may be embedded on any number of websites and that content received on any website can be aggregated across all websites that include the gadgets.
Gadgets are software and routines that, when executed by a processor, provide services (i.e., web page content) embedded on a web site. In one embodiment, the gadget does not need to launch a separate application to provide the service, but rather runs in an environment that manages multiple gadgets. In one embodiment, the website is registered with a third party server 107, and the third party server 107 provides the website with access to different services including gadgets. For example, the website is registered withFriend Connect, andfriend Connect provides access to plug-in services to websites.
Conversation applications 103
Referring now to FIG. 2, the conversation application 103 is shown in more detail. Fig. 2 is a block diagram of a computing device 200, the device 200 including a conversation application 103, a memory 237, a processor 235, and a communication unit 240 coupled to a bus 220. In one embodiment, computing device 200 is a website server 160. In another embodiment, the computing device 200 is a third party server 107.
Processor 235 includes an arithmetic logic unit, a microprocessor, a general purpose controller, or other array of processors for performing calculations and providing electronic display signals to a display device. Processor 235 is coupled to bus 220 for communication with other components via signals 236. The processor 235 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. 2, multiple processors may be included. The processing power may be limited to support the display of images and the capture and transmission of images. Processing power may be sufficient to perform more complex tasks, including feature extraction and sampling of specialty types. It will be apparent to those skilled in the art that other processors, operating systems, sensors, displays and physical configurations are possible.
The memory 237 stores instructions and/or data that may be executed by the processor 235. A memory 237 is coupled to the bus 220 for communication with other components via signal lines 238. The instructions and/or data may comprise code for performing any and/or all of the techniques described herein. The memory 237 may be a Dynamic Random Access Memory (DRAM) device, a Static Random Access Memory (SRAM) device, flash memory, or other known memory devices. In one embodiment, the memory 237 also includes non-volatile memory or similar permanent storage device, as well as media such as hard disk drives, floppy disk drives, CD-ROM devices, DVD-RAM devices, DVD-RW devices, flash memory devices or other known mass storage devices for storing information on a more permanent basis.
The communication unit 240 receives data from the third party server 107, the web server 160, and/or the user device 115 depending on where the conversation application 103 is stored. The communication unit 240 transmits data to the conversation application 103. The communication unit 240 is coupled to the bus 220 via a signal line 242. In one embodiment, the communication unit 240 includes a port for direct physical connection to the network 105 or another communication channel. For example, the communication unit 240 includes a USB, SD, CAT-5, or similar port for wired communication with the network 105. In another embodiment, the communication unit 240 includes a wireless transceiver for exchanging data with the network 105 or another communication channel using one or more wireless communication methods, such as IEEE802.11, IEEE802.16, or a combination thereof,Near Field Communication (NFC) or another suitable wireless communication method. In one embodiment, the communication unit 240 includes an NFC chip that generates Radio Frequency (RF) for short-range communication.
In one embodiment, the conversation application 103 includes an authorization module 202, a code generator 207, an identification generator 211, a profile engine 213, a content parser 215, an aggregation module 217, an analysis engine 219, an advertisement engine 221, a newsletter engine 233, and a Graphical User Interface (GUI) engine 245.
Authorization module 202 is software that includes routines for authorizing a request from a developer of a website for an gadget embedded from another website. In one embodiment, the authorization module 202 is a set of instructions executable by the processor 235 to provide the functionality described below for authorizing requests from developers for embedded gadgets. In another embodiment, the authorization module 202 is stored in the memory 237 of the computing device 200 and is accessible and executable by the processor 235. In both embodiments, authorization module 202 is coupled to bus 220 for cooperating and communicating with processor 235, GUI engine 245, communication unit 240, code generator 207, identification generator 211, aggregation module 217, and other components of computing device 200 via signal line 222.
According to one embodiment, the authorization module 202 receives a request from a developer of the second website to embed a gadget embedded on the first website onto the second website via the communication unit 240 or via a user interface generated by the GUI engine 245. The authorization module 202 authorizes the request by: determining settings associated with a gadget embedded on a first website and determining whether the gadget can be embedded on any website, determining whether a second website has been blacklisted or whitelisted, verifying an identification of a developer of the second website, determining an internet protocol address, and so forth. An example of settings associated with a gadget embedded on a website is illustrated in FIG. 5.
The code generator 207 is software that includes routines for generating code for embedding gadgets on a website. In one embodiment, the code generator 207 is a set of instructions executable by the processor 235 to provide the functionality described below to generate embedded code for an embedded gadget. In another embodiment, the code generator 207 is stored in the memory 237 of the computing device 200 and is accessible and executable by the processor 235. In both embodiments, the code generator 207 is coupled to a bus for cooperating and communicating with the processor 235, the GUI engine 245, the communication unit 240, the authorization module 202, and other components of the computing device 200 via signal lines 223. In one embodiment, code generator 207 generates code that is displayed on a user interface generated by GUI engine 245. In another embodiment, the code is transmitted to the requestor via the communication unit 240.
Identification (ID) generator 211 is software that includes routines to generate a website identifier for a website. In one embodiment, ID generator 211 is a set of instructions executable by processor 235 to provide the functionality described below to generate a website identifier for a website, executed by processor 235. In another embodiment, the ID generator 211 is stored in the memory 237 of the computing device 200 and is accessible and executable by the processor 235. In both embodiments, the ID generator 211 is adapted to cooperate and communicate with the processor 235, the memory 237, the authorization module 202, the aggregation module 217, and other components of the computing device 200 via signal lines 224.
Once a request for embedding a gadget on a second website is authorized, authorization module 202 notifies ID generator 211. The ID generator 211 receives the notification and generates a website identifier for the second website. In one embodiment, ID generator 211 creates an index that includes: an identifier for the gadget, a website identifier for the second website, and a website identifier for the first website where the gadget is first embedded. One of ordinary skill in the art will appreciate that the index may include website identifiers for any number of websites in which the gadgets are embedded. In another embodiment, where an index for gadgets already exists, ID generator 211 adds the newly generated website identifier to the existing index. The ID generator 211 stores the website identifier and index in the memory 237.
The profile engine 213 is software that includes routines to generate a profile for a user to log into a website and to post comments. The content includes text, audio, video, photos, responses to votes or questionnaires, and any other content known to those of ordinary skill in the art. In one embodiment, the profile engine 213 is a set of instructions executable by the processor 235 to provide the functionality described below for generating a profile. In another embodiment, the profile engine 213 is stored in the memory 237 of the computing device 200 and is accessible and executable by the processor 235. In both embodiments, the profile engine 213 is coupled to the bus 220 for cooperating and communicating with the processor 235, the memory 237, the communication unit 240, the content parser 215, the analysis engine 219, the newsletter engine 233, and other components of the computing device 200 via signal lines 225. The profile engine stores the generated profile in the memory 237.
In one embodiment, the profile engine 213 generates a user profile that can be viewed by other members of the same service. The user profile includes the user's name (real name or anonymous) and other user attributes, such as a list of websites to which the user subscribes, links to the user's content, a list of interests of the user, images, demographic (demographic) information, and so forth. If the user does not want to provide an email address to associate with the account, in one embodiment, the user posts anonymously, and the profile engine 213 recognizes the user based on an Internet Protocol (IP) address for the user device 115 or from a cookie stored on the user device 115.
The content parser 215 is software that includes routines for receiving user published content from gadgets embedded on websites via the communication unit 240 and for identifying user and website identifiers associated with the content. In one embodiment, the content parser 215 is a set of instructions executable by the processor 235 to provide the functionality described below for receiving content and identifying a user. Content includes topics, comments, images, videos, and the like. In another embodiment, the content parser 215 is stored in the memory 237 of the computing device 200 and is accessible and executable by the processor 235. In both embodiments, the content parser 215 is coupled to the bus 220 for cooperating and communicating with the processor 235, the GUI engine 245, the communication unit 240, the profile engine 213, the aggregation module 217, and other components of the computing device 200 via signal lines 226.
The aggregation module 217 is software that includes routines for aggregating content received from gadgets embedded on different websites via the communication unit 240. In one embodiment, the aggregation module 217 is a set of instructions executable by the processor 235 to provide functionality described below for receiving user content and an identification of a website associated with the user content from the content parser 215 and sending the user content to another gadget via the communication unit 240. In another embodiment, the aggregation module 217 is stored in the memory 237 of the computing device 200 and is accessible and executable by the processor 235. In both embodiments, the aggregation module 217 is coupled to the bus 220 for cooperating and communicating with the processor 235, the GUI engine 245, the communication unit 240, the content parser 215, and other components of the computing device 200 via signal lines 227.
The analysis engine 219 is software including a routine for analyzing information of a user who posts content and content received via the communication unit 240. In one embodiment, the analysis engine 219 is a set of instructions executable by the processor 235 to provide the functionality described below for analyzing received content and demographic information of a user. In another embodiment, the analysis engine 219 is stored in the memory 237 of the computing device 200 and is accessible and executable by the processor 235. In both embodiments, the analysis engine 219 is coupled to the bus 220 for cooperating and communicating with the processor 235, the GUI engine 245, the communication unit 240, the profile engine 213, the content parser 215, the advertisement engine 221, the newsletter engine 223, and other components of the computing device 200 via signal lines 228.
Analysis engine 219 analyzes the content published by the user. The analysis engine 219 also obtains and analyzes profile information, such as demographic information of the user.
Analysis engine 219 analyzes the profile information and the content submitted by the user to infer whether the user is interested in a particular topic. For example, the analysis engine 219 analyzes the content to determine whether the user is making a positive or negative expression. Examples of positive expressions are: "Indian food is good and delicious. Examples of "negative expressions are: "cheese hamburger is unhealthy. By these expressions, the analysis engine 219 concludes that the user prefers indian cooking but not cheese hamburgers. In one embodiment, the analysis engine 219 sends the analysis (e.g., statistical report) to the developer of the website via the communication unit 240. In one embodiment, the user information is anonymous such that personally identifying information is not included. Such analyses are advantageous because they provide the developer with valuable feedback. Developers can, for example, utilize the analysis to modify their websites to cater to the user's preferences and needs, send personalized newsletters or promotional offers (offers) to the user, and so forth.
The advertisement engine 221 is software that includes routines for providing advertisements to websites that include embedded gadgets. In one embodiment, the advertisement engine 221 is a set of instructions executable by the processor 235 to provide the functionality described below for retrieving advertisements from the memory 237 that match the user's interests and providing advertisements to other websites. In one embodiment, user information is anonymous and advertising is based on a determination of what a group of anonymous users with similar interests enjoy. In another embodiment, the advertisement engine 221 is stored in the memory 237 of the computing device 200 and is accessible and executable by the processor 235. In both embodiments, the advertisement engine 221 is coupled to the bus 220 for cooperation and communication with the processor 235, the GUI engine 245, the communication unit 240, the analysis engine 219, and other components of the computing device 200 via signal lines 230.
The ad engine 221 provides ads to websites using inferences made by the analysis engine 219. Based on the above example, the advertisement engine 221 may provide advertisements regarding indian restaurants that are locally available to the user, grocery stores that sell indian spices, and so forth. In another embodiment, instead of providing the advertisement directly, the advertisement engine 221 sends an advertisement code for retrieving the advertisement from the advertisement server.
Newsletter engine 233 is software that includes routines for generating and sending newsletters to users. In one embodiment, newsletter engine 233 is a set of instructions executable by processor 235 to provide the functionality described below for generating and sending newsletters. In another embodiment, the newsletter engine 233 is stored in the memory 237 of the computing device 200 and is accessible and executable by the processor 235. In both embodiments, the newsletter engine 233 is coupled to the bus 220 for cooperation and communication with the processor 235, the profile engine 213, the content parser 215, the analysis engine 219, and other components of the computing device 200 via signal lines 232.
The newsletter engine 233 uses the inferences made by the analysis engine 219 to generate and send personalized newsletters to the user via the communication unit 240. Or to display the newsletter as part of the user interface generated by GUI engine 245. Based on the above example, the newsletter engine 233 may generate a newsletter that includes: indian restaurants and grocery stores locally available to the user, recipes for cooking indian food, news articles, etc.
The GUI engine 245 includes software for routines for generating user interfaces. The GUI engine 245 receives information to generate a profile for the user and sends the information to the profile engine 213. In one embodiment, the GUI engine 245 receives a request for code for embedding a gadget on a website, the code generated by the code generator 207. Once authorization is provided by authorization module 202 and code generator 207 generates code, GUI engine 245 displays the code. In another embodiment, GUI engine 245 generates a user interface for the developer to select advertisements generated by advertisement engine 221 and newsletters generated by newsletter engine 233.
Referring now to fig. 3A-3B, various embodiments will be described. FIG. 3A is a graphical representation 300 of a first embodiment for aggregating content received by gadgets embedded on different websites. The illustrated embodiment includes websites 310a, 310b, and 310c having gadgets 320 embedded therein. Although only three websites are illustrated, one of ordinary skill in the art will appreciate that any number of websites may be embedded with gadgets 320. Websites 310a, 310b, and 310c are hosted by a single website server 160. In this embodiment, the conversation application 103 is stored on a web server 160, which web server 160 also hosts website r. When the gadget 320 embedded on website 310c receives content from the user, the conversation application 103 aggregates the received content on the gadgets 320 embedded on websites 310a and 31 b. Users of websites 310a, 310b are able to view and reply to content from their respective websites.
FIG. 3B is a graphical representation 350 of a second embodiment for aggregating content received by gadgets embedded on different websites. Similar to the above example, the illustrated embodiment includes three websites 360a, 360b, and 360c with gadgets 380 embedded therein. The illustrated embodiment also includes a third party server 107 in which the conversation application 103 is stored. When the gadget 380 embedded on website 360c receives content from the user, the conversation application 103 receives the content via the network 105 (not shown) and aggregates the content for display by sending the content to the gadgets embedded on websites 160a and 160 b.
Embedding gadgets on a website
Fig. 4-7 illustrate user interfaces for embedding gadgets embedded on a first website onto a second website. FIG. 4 is a graphical representation 400 of a first web site. In the illustrated example, the first web site is referred to as a Billboard (Billboard for People) that includes embedded gadgets. The embedded gadgets are a member gadget 405 that displays the members of the website and a comment gadget 410 that allows the members and users of the website to make comments. When a developer of a second website accidentally discovers the first website and decides to embed the comment widget 410 and the comment widget 410 content on the second website, the developer submits the request, for example by clicking on the link 420.
The authorization module 202 receives the request and determines whether the comment widget 410 can be embedded on the second website by verifying the settings of the first website. FIG. 5 illustrates a graphical representation 500 of a user interface generated by GUI engine 245, which shows settings configured for a first website. In this example, authorization module 202 authorizes the request if the second website is whitelisted 510 and does not authorize the request if the second website is blacklisted 520. If the second web site is not listed on either of the two lists, authorization module 202 sends an email to the developer that includes the request.
Once the authorization module 202 has authorized the request, the code generator 207 generates code for embedding the comment gadget 410 on the second website. In addition, the ID generator 211 generates a website ID unique to the second website. FIG. 6 is a graphical representation 600 of a user interface generated by GUI engine 245 for a first website that includes code 610 generated by code generator 207. In this example, the generated code 610 is hypertext markup language (HTML) code that the developer can copy and paste into the code for the second website. In one embodiment, the code generator 207 automatically embeds the code in the second website so that the user does not have to copy and paste it. One of ordinary skill in the art will appreciate that code can be generated in any computer programming language, such as HTML, JavaScript, and the like.
FIG. 7 is a graphical representation 700 of a second website including a comment widget 710 and its embedded content from a first website. The comment widget 710 includes a link 720 to the first website so that the user of the second website knows the source of the comment widget 710. This helps spread the brand of the product for viral acceptance. In addition, comment gadget 710 includes a link 730 similar to link 420, which other developers can use 720 to submit requests for embedding gadgets on their websites.
Allowing users to post comments
Once the developer has embedded the comment gadget on the second website, the comment gadget is ready to receive comments from its members and users. To be able to post comments, the user logs in a comment widget with the profile, for example, by submitting a request by clicking on link 740. In one embodiment, the profile includes anonymous users. When a new user without a profile submits a request, the profile engine 213 creates a profile for the new user.
FIG. 8 illustrates one embodiment of a user interface 805 generated by the GUI engine 245 for requesting information from a new user to create a profile. In the illustrated example, the user interface 805 requests information such as a user name and a photo. One of ordinary skill in the art will appreciate that user information such as location, date of birth, password, etc. may be requested to generate a user's profile. The profile engine 213 uses the information entered by the user to generate a profile for the user, which is displayed by the GUI engine 245. The user then uses this profile to log in and post comments. GUI engine 245 provides an option 815 to make the user a member of the first website from which the comment gadget is embedded. Users are entitled to more website privileges by becoming members, such as personalizing the website, receiving newsletters, promoting bids, and the like.
In one embodiment, the user selects to log in to the review gadget with an existing profile by clicking on link 810. The existing profile is another website, a social network, an email account, or any other profile on a web page known to one of ordinary skill in the art. This model for allowing users to post comments with arbitrary user profiles without having to be a member of the website is advantageous. For example, if a user wants to post a negative comment on a comment widget, it is likely that the user may not want to be a member or create a profile for the website.
Method of producing a composite material
Referring now to fig. 9-10, various embodiments of methods for aggregating content will be described. FIG. 9 is a flow chart 900 illustrating a first embodiment of a method for aggregating content received by gadgets embedded on different websites. The content parser 215 receives (902) the user's published content from the gadget embedded on the website via the communication unit 240. The content received is text, audio, video, photos, responses to votes or questionnaires, or any other content known to those of ordinary skill in the art. Content parser 215 identifies (904) the user submitting the content and a website identifier associated with the website from which the content is received. Aggregation module 217 receives the parsed content from content parser 215 and determines 906 other websites on which gadgets are embedded using the index. The index includes identifiers of gadgets and website identifiers of all other websites. The aggregation module 217 then aggregates (908) the received content on gadgets embedded on other websites by sending the content for display on the other websites.
FIG. 10 is a flow chart 1000 illustrating a second embodiment of a method for aggregating content received by gadgets embedded on different websites. In this example, the developer of the second website embeds a gadget from the first website onto the second website. The content parser 215 receives (1002) the user published content from the gadget embedded on the second website. The content parser 215 identifies (1004) the user with a profile that the user uses to log in to publish content. In this embodiment, the user logs in using the profile created by the profile engine 213. In another embodiment, the user logs in using an existing profile on a web page, such as a social network profile. Content parser 215 also identifies (1006) a second website from which to receive content by parsing the website identifier from the content. The aggregation module 217 receives the parsed content from the content parser 215 and determines (1008) a first web site using the index, and aggregates (1010) the content on the gadget embedded on the first web site by sending the content to other web sites that include the gadget. The gadget displays content from the gadget on a first website.
The analysis engine 219 obtains (1012) user information, such as demographic information, for the user from the profile information. Analysis engine 219 then analyzes (1014) the content and the user information to determine the interests of the user. In one embodiment, the analysis engine 219 uses the user information to predict the interests of the user based on the interests of people with similar demographic information. In another embodiment, the analysis engine 219 determines interests from the content by inferring whether the user makes a positive or negative expression. For example, if the user published on the second website is "Brand X shoes are best, hoping that they will soon be in a new store in salt lake City", the analysis engine 219 concludes that the user likes Brand X shoes. Analysis engine 219 then sends (1016) the analysis to the developer of the first website. In one embodiment, this information is anonymous. In one embodiment, the analysis engine 219 sends the analysis to all developers so that the developers can collectively learn about the gadget user. By collecting this information for multiple users, developers are able to learn about the interests of users who do not visit their websites but may be interested in them.
The advertisement engine 221 selects 1018 an advertisement for the first website based on the interests of the user. The advertisement engine 221 will provide advertisements for brand X shoes, for example, based on the gender of the user. The advertisement engine 221 also provides advertisements for other stores that sell brand X shoes in or near the salt lake city. In one embodiment, the advertisement engine 221 provides advertisements to both the first website and the second website.
The newsletter engine 233 determines (1020) whether the user is a public member by verifying the user's profile. If the user is a public member, the newsletter engine 233 sends (1022) a personalized newsletter to the user based on the user's interests. Newsletters include, for example, promotional offers, new products, website updates, newsletters, and the like. In one embodiment, newsletter engine 233 generates newsletters and sends newsletters to all users of a website based on inferences about content from the users as a whole.
The foregoing description of the embodiments has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the description 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 description be limited not by this detailed description, but rather by the claims of this application. As will be understood by those skilled in the art, the description 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 description or its features may have different names, divisions and/or formats. Furthermore, as will be apparent to one of ordinary skill in the relevant art, the modules, routines, features, attributes, methodologies and other aspects of the description can be implemented as software, hardware, firmware or a combination of the three. Additionally, where a component (an example of which is a module) is implemented as software, the component can be implemented as a stand-alone 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 each and any other way known now or in the future to those of ordinary skill in the art of computer programming. Additionally, the description is not intended to be limited in any way to implementations using any particular programming language, or for any particular operating system or environment. Accordingly, the disclosure is intended to be illustrative, but not limiting, of the scope of the specification, which is set forth in the following claims.

Claims (20)

1. A computer-implemented method for aggregating content received by gadgets, the method comprising:
receiving the content posted by the first user from the gadget embedded on a second website;
identifying, by one or more processors, the first user;
identifying, by the one or more processors, a first website on which the gadget is embedded;
aggregating, by the one or more processors, the content on the gadget embedded on the first website by transmitting, to the first website for display, the content displayed on the second website;
receiving, from the gadget embedded on the first website, a reply posted by a second user to the content originally posted on the second website; and
aggregating the reply on the gadget embedded on the second website by transmitting the reply displayed on the first website to the second website for display.
2. The computer-implemented method of claim 1, further comprising obtaining user information from a user profile associated with the first user; and
analyzing the content and the user information to generate an analysis including the interests of the first user.
3. The computer-implemented method of claim 2, further comprising sending the analysis to a developer of the first website.
4. The computer-implemented method of claim 2, further comprising selecting an advertisement to the first website based on the interest of the first user.
5. The computer-implemented method of claim 2, further comprising determining whether the first user is a public member.
6. The computer-implemented method of claim 5, wherein in response to determining that the first user is a public member, further comprising the steps of:
generating a newsletter for the first user based on the interest of the first user; and
and sending the current affair communication to the first user.
7. The computer-implemented method of claim 1, further comprising generating a profile associated with the first user, the profile accessible in response to the first user posting the content.
8. The computer-implemented method of claim 1, further comprising enabling the first user to log in to post the content using a profile already on the network.
9. The computer-implemented method of claim 1, wherein the content is at least one from the group of: text, video, audio, images, and responses to votes or questionnaires.
10. The computer-implemented method of claim 1, further comprising the steps of:
authorizing a request from a developer of a third website to embed the gadget on the third website;
generating a website identifier for the third website;
generating code for embedding the gadget on the third website; and
adding the website identifier of the third website to an index, the index including an identifier of the gadget, a website identifier of the first website, and a website identifier of the second website.
11. A system for aggregating content received by gadgets, the system comprising:
a content parser to receive content published by a first user from the gadget embedded on a second website, identify the first user, and identify a first website on which the gadget is embedded; and
an aggregation module coupled to the content parser, the aggregation module to aggregate the content on the gadget embedded on the first website by transmitting the content displayed on the second website to the first website for display, receive a reply posted by a second user for the content originally posted on the second website from the gadget embedded on the first website, and aggregate the reply on the gadget embedded on the second website by transmitting the reply displayed on the first website to the second website for display.
12. The system of claim 11, further comprising an analysis engine coupled to the content parser, the analysis engine to obtain user information, analyze the content and the user information to generate an analysis including interests of the first user, and transmit the analysis to a developer of the first website.
13. The system of claim 12, further comprising an advertisement engine coupled to the analysis engine, the advertisement engine to select advertisements to the first website based on the interests of the first user.
14. The system of claim 12, further comprising a newsletter engine coupled to the analysis engine, the newsletter engine to determine whether the first user is a public member.
15. The system of claim 14, wherein the newsletter engine is further to generate a newsletter based on the interest of the first user and send the newsletter to the first user in response to determining that the first user is a public member.
16. The system of claim 11, further comprising a profile engine coupled to the content parser, the profile engine to generate a profile for the first user to sign in and post the content.
17. The system of claim 11, further comprising an authorization module coupled to the aggregation module, the authorization module to authorize a request from a developer of a third website to embed the gadget on the third website.
18. The system of claim 17, further comprising a code generator coupled to the authorization module, the code generator to generate a code for embedding the gadget on the third website.
19. The system of claim 17, further comprising an identification generator coupled to the authorization module, the identification generator to create a website identifier for the third website, and add the website identifier of the third website to an index, the index including an identifier of the gadget, an identifier of the first website, and an identifier of the second website.
20. A computer-implemented apparatus for aggregating content received by gadgets, the apparatus comprising:
means for receiving published content of a first user from the gadget embedded on a second website;
means for identifying the first user;
means for identifying a first website on which the gadget is embedded;
means for aggregating the content on the gadget embedded on the first website by transmitting the content displayed on the second website to the first website for display;
means for receiving, from the gadget embedded on the first website, a reply posted by a second user to the content originally posted on the second website; and
means for aggregating the replies on the gadgets embedded on the second website by transmitting the replies displayed on the first website to the second website for display.
HK14104210.0A 2011-07-26 2012-07-26 System and method for syndicating a conversation HK1191119B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/190,803 2011-07-26

Publications (2)

Publication Number Publication Date
HK1191119A HK1191119A (en) 2014-07-18
HK1191119B true HK1191119B (en) 2018-02-23

Family

ID=

Similar Documents

Publication Publication Date Title
AU2012286745B2 (en) System and method for syndicating a conversation
US10977723B2 (en) Matching content providers and interested content users
CN103597512B (en) Create Sponsored Story Units from Organic Activity Streams
JP5960927B2 (en) Determining the impact on social networking systems
JP6333393B2 (en) Target ads to customized groups of users of online systems
US20130347078A1 (en) Aggregating Online Activities
CA2969353C (en) Associating user interactions across multiple applications on a client device
US9600807B2 (en) Server-side modification of messages during a mobile terminal message exchange
AU2011213606A1 (en) Communicating information in a social network system about activities from another domain
US20170024764A1 (en) Evaluating Content Items For Presentation To An Online System User Based In Part On Content External To The Online System Associated With The Content Items
JP6660375B2 (en) Selection of alternative content based on content presented to users of online system
KR20150116444A (en) Third-party sourcing advertisements from a social networking system
US11783381B2 (en) Visual inventory rules building system
KR20150096705A (en) Client-side advertising decisions
US20150227977A1 (en) Generating user audience groups to facilitate advertisement targeting
KR102087043B1 (en) Generating metrics based on client device ownership
HK1191119B (en) System and method for syndicating a conversation
US9959258B2 (en) Generating characteristics of users of an online system presented with content in a context relative to other content
HK1191119A (en) System and method for syndicating a conversation
US20160253726A1 (en) Synchronizing items for use in an application purchased in a feed of content provided by an online system with a third party system providing the application