1. Technical Field
The present principles relate to a system and method for identifying the compatibility of users from identifying information gathered from web pages.
2. Description of the Related Art
In recent years, billions of people have used the Internet to communicate with others throughout the world. More frequently, Internet users are using the Internet to find and communicate with other users that have similar interests. For example, dating and other relationship websites permit users to publish information about themselves for other users to view, in the hopes that other compatible users will seek to contact them. In other examples, job websites have allowed employers to connect with job seekers throughout the world, or music recommendation sites may use the profiles of members to generate recommendations.
Internet users also expect a high degree of personalization to their Internet experience. While many search services have attempted to match users and provide a personalized Internet experience, the current state of the art lacks a method and system for carrying out compatibility matching throughout the Internet without dedicated web page customization.
Currently in the art, personality tests and other questionnaires are used to generate a profile score or other profile indicator relating to a person's interests, personality, or the like. However, many matching services require that a user actively search existing profiles, or require that users visit the matching service's website to view member profiles.
Presented herein are a system and method for determining and displaying the compatibility between web page users registered with a search service.
In one useful embodiment, a method for determining and displaying the compatibility of web page users may comprise the steps of a first user loading web pages into a browser having a browser component installed, where the browser component may be configured to acquire and display compatibility reports, and the browser component detecting user identifying information for a second user in the loaded web pages. The method further comprises the method steps of determining the identity of the second user from the detected user identifying information, and calculating the compatibility between the first and second users by comparing elements of a model generated for each user, which is stored on servers of the search service. A compatibility report is then generated from the calculated compatibility, and displayed to the first user. The method may further optionally comprise the method steps of listing available user identifying information regarding the second user with the search service, and generation of the user models from collected information regarding the respective users. Determining the identity of the second user may also optionally comprise the method steps of the browser component sending the detected user identifying information to the server, where the server searches the stored user identifying formation for a match with the detected user identifying information. The web pages may be loaded from a data server separate from the search service server. In other useful embodiments, the browser component may be a visible toolbar where the compatibility report is shown in the toolbar. Additionally, the method may comprise the step of the first user logging into the toolbar to activate the toolbar.
In an alternative embodiment, a system for determining and displaying the compatibility between users may be comprised of a search server and a toolbar installed on a first user's computer. The toolbar may be communicatively connected to a data server and the search server, and configured to monitor loaded web pages for user identifying information and send the detected user identifying information to the search server. The search server may be configured to receive the detected user identifying information from the toolbar and search stored user identifying information to identify a second user. The search server may be further configured to generate a report of the compatibility between the first and second users, which the search server transmits to the toolbar for display to the first user. The search server may optionally be configured to collect information from users to generate a model of each user, elements of the model used to determine the compatibility between users. The toolbar may be installed in a web browser, or may be a browser extension. The toolbar may display the compatibility report by modifying elements of a web page. The user identifying information may optionally be a URL, or may be at least one of a hyperlink embedded in a web page, an address of an electronic resource, an email address, or a username.
In yet another useful embodiment, a method for determining and displaying the compatibility between users may comprise registering a username of a first and second user with a search service, and the first user placing a widget into a web page. The widget may be configured to collect information such as a username from the second user and send the second user's username to a search server. The widget may then receive a compatibility report from the search server, and display the compatibility report to the second user. The search server may optionally execute the steps of calculating the compatibility between the first and second users to generate the compatibility report, and send the compatibility report to the widget.
The widget may be automatically generated by the search service for the first user, based on information regarding the first user. In particularly useful embodiments, the search service may be an online dating service, an employment service, or a music recommendation service.
The disclosure will provide details in the following description of preferred embodiments with reference to the following figures wherein:
An improved system and method is presented for identifying the compatibility of users from identifying information gathered from web pages. Where the phrase “compatibility” is used, any relationship between a user and any other object may be determined as well. Hereinafter, the term compatibility is used to indicate the degree of unity or commonality between a user and, for example, any other user, group of users, concept, entity, or object. Therefore, compatibility may be the commonality between a user and a object, such as a music file, book, or tool. Additionally, compatibility may also be the commonality between two users, a user and a group of users, a user and a company, or any other relationship. In particularly useful embodiments, a toolbar, or other web browser component is contemplated.
In accordance with one embodiment, the toolbar may gather information from web pages browsed by a user and communicate the gathered information to a search server which determines the compatibility of the owner of the web page and the user browsing. The search server communicates, to the browser, the information regarding the compatibility of the user and the web page owner, where the compatibility information is displayed to the browser user.
Alternatively, a widget may be embedded in a web page permitting a visiting user to enter their username to determine the visiting user's compatibility with the web page owner. The widget communicates the visiting user's identifying information to the search server, which generates a compatibility profile and communicates the compatibility profile back to the browser for display.
The embodiments described here are relevant to communications devices, computers, communications networks, web browsers, or any other system or device used for browsing informational resources such as web pages, documents, or the like.
Embodiments of the present principles can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment including both hardware and software elements. In a preferred embodiment, the present principles are implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
Furthermore, the present principles 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 may include, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
A data processing system suitable for storing and/or executing program code may 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 to reduce the number of times code is retrieved from bulk storage during execution. Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) may 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.
The methods and systems may be implemented via components usable in a web browser. The system embodied as software may be a toolbar designed for installation in a web browser. However, the system may take on any form where software is capable of analyzing web pages or other files browsed by a user over a communications network. For example, while certain browsers permit the use of toolbars, other browsers have a framework capable of accepting extensions, add-ons, or other optional browser components. Thus, using browser extensions, add-ons, or components is the equivalent of using a toolbar. The name or nature of the various software components varies depending on the browser used, but all browsers permit interaction of third party or nonstandard software. Each of these browser software embodiments may be used interchangeably without deviating from the present principles. Alternatively, the system may be embodied as a software component or stand-alone executable program configured to analyze browser or network traffic for user identification data which may be used to identify compatibility between users. Hereinafter, where the present principles are referred to as being embodied in a toolbar or browser component, any embodiment of the present principles may be implemented without deviating from the scope of the present principles.
Referring now to the drawings in which like numerals represent the same or similar elements and initially to
Referring to
In particularly useful embodiments, the system 200 of the present principles is a toolbar 204 or other browser extension or add-on. Such a toolbar may permit a user to passively initiate the compatibility report process. Alternatively, the system 200 of the present principles may be embodied in a widget, permitting active gathering of user information for execution of compatibility report generation.
Typically, browser components styled as toolbars are visual components that are displayed to users even when not in use. The present principles are first described in terms of a browser installed toolbar, but, according to the present principles, may advantageously be applied to browser extensions, add-on components, or other software with similar capabilities.
The system 200 of the present principles is used to gather identifying data regarding a user, and send the user identification data to the search server to generate a report of the commonality between users, such as a compatibility report. The compatibility report is generated by comparing the identified user with an already known user who is registered with the search service.
Where an embodiment is a toolbar 204 or other browser component or add-on, the browser user will install the toolbar 204, providing the toolbar 204 with a username, login i.d., or other identifying information. This identification information may be provided when the toolbar 204 is initially installed, or the toolbar 204 may permit the browser user to log in to, and out of, the toolbar. In one useful embodiment, the browser user may provide their identifying information when logging into the toolbar 204. Thus, while the toolbar 204 is active, the toolbar 204 stores the user's information identifying that particular user with the matching service. The toolbar 204 may then monitor the web pages browsed by the toolbar user. The toolbar's 204 monitoring detects information on the visited web pages that may be used to identify other users of the matching service. Upon identification of other users of the matching service, a compatibility report is generated detailing the compatibility between the browser user, and any users identified from web page information.
Alternatively, a widget may be embedded in a web page to collect identifying information regarding visiting users. Widgets are known to the art as being components executed in a browser compatible script, programming or markup language. Widgets are commonly used to embed specific functionality in a webpage without the need to rewrite large portions of code. Many websites provide application programming interfaces (APIs) for users to extend the functionality of the website to user created content. These APIs may provide prebuilt scripts, or portions of code, that may be copied into, or referenced from, a user's web page.
According to the present principles, a web page owner may create a web page with an embedded widget that permits a visiting user to enter their matching service username, login i.d., or other identifying information. The widget of the present principles is created with a reference to the web page owner's identifying information. When a visiting user enters information into the widget identifying themselves with the matching service, the widget may then transmit both the web page owner's and visiting user's identifying information to the search server, where a compatibility report is generated. The compatibility report may then be transmitted back to the widget and shown to the visiting user. In particularly useful embodiments, the matching service may provide an API that permits a user to enter their matching service identifying information, and uses the entered information to automatically generate a customized widget (as shown in
As shown in
In one useful embodiment, the toolbar 204 may scan web pages or other documents as they are loaded into the browser while the browser user navigates through various information resources. The toolbar 204 may search the web page, or any information associated with the web page, for information that may uniquely identify an owner, author, or otherwise associated user of the web page.
In yet another useful embodiment, the search server 208 may be configured to accept identification data from the toolbar 204, determine compatibility between the browser 202 user and an author, owner, or other user of a webpage displayed in the browser 202. In one embodiment, the creator of a web page may register information with the matching service that permits the matching service to link the web page creator's matching service profile with the web page. The matching service may then identify the web page creator's matching service account when identifying information from the web page is submitted to the matching service.
The search server 208 may then return the results of the compatibility matching to the toolbar 204, which may then display to the user the results of the compatibility, if any, between the browser 202 user and the web page user. In particularly useful embodiments, a compatibility report may be generated. The compatibility report may be a diadic report, that is, a report comparing two users. In another useful embodiment, the compatibility report may simply show information relating to the user being evaluated.
In particularly useful embodiments, the compatibility report may include scores based on similarity of certain traits, with scores generated for a multitude of categories. Different traits may be represented as elements of a user model. For example, where users are members of a dating service, the compatibility report may compare elements of different user's models such as, but not limited to, personality, career goals, hobbies, interests, religion, background, geographic location, communication, and the like. Alternatively, where a matching service is an employment, placement or contracting service, a compatibility report may include comparisons of management style, length of field of experience, personality, or any other factor. In such an embodiment, a company seeking to fill a job may indicate, either in the matching service profile, or in the toolbar, the traits desired in prospective employees. Thus, when a user logged into a toolbar encounters a web page identifying a member of the matching service, the toolbar may accurately generate a compatibility report using the desired characteristics compared to the characteristics of the web page user, which are stored at the matching service.
In an alternative, yet equally useful embodiment, the compatibility report may be unary, where the compatibility report compares a particular user model to the population in general. Multiple traits within the user model may be compared to corresponding general population traits, and the number of matching traits reported. Additionally, the matching rate, or the level of correlation between traits, or elements, in a user model and the general population may also be reported.
In yet another useful embodiment, the compatibility report may use elements found in a user model to generate a compatibility report. This may be particularly useful, for example, on a music recommendation site, where a user may have certain bands or composers in their model. During generation of a compatibility report, the search server may determine that users having the same bands or composers in their respective user models also have a high occurrence of an additional band listed. The compatibility report may then recommend that additional band to the user requesting the compatibility report.
For example, on a music recommendation service, a user may be given a set of stimuli, such as music clips or the like, and asked questions in response to the stimuli. The user's answers to the questions can then be used to build a model of the user's musical tastes.
Additionally, the search service may permit a family, business, or any other group of users to register as a single entity. For example, in an online employment matching service, a business may register with the employment service to actively seek qualified candidates. After registration in block 310, User A may then install the toolbar 204,
In block 320, a second user (User B) may also register with the search service, inputting any personal information that may be useful in determining the compatibility of User B with other users of the search service. The web page user (User B) may also be a group. For example, an athletic or social group may register with the compatibility matching service. In such a situation, a biker group from northern California may register with the service to attract new member. Such group registration would permit a browsing user to discover that they may not be compatible with the registered biker group.
In an alternative, yet equally useful embodiment, a user may register a single account with a search service, providing personal information for other users to search, as in block 320, and also registering to search for other users, as in block 310.
After registration in block 320, User B may then, in block 322, list available identifying information with the search service. In another useful embodiment, identifying information may be automatically entered for User B by the search server upon registration in block 320. This may be advantageous in an embodiment where the search service provides profiles or other web page services to users, and User B already has a profile viewable through the search service by web browser users. Thus, having already created a profile, the search server 208,
Referring again to block 322, when User B registers available identifying information with the search service, specific web pages may be specified, or entire websites may be registered with the search service. For example, a user may register the complete URL as user identifying information, or a single page or directory within a website. Furthermore, any registered website or web page address may include additional information, such as a query string, which would allow the search service to more accurately identify web pages or other resources which User B is associated with. In one useful embodiment, a user with a profile on a social networking site may enter the URL of the user's web page on the social networking site. For example, a user with a blog (or weblog) with its own domain name may register the domain name with the search service. In such an embodiment, the search service may advantageously recognize individual web pages of the website as belonging to the registering user, without the requirement that the user register each individual web page.
It should be noted users are not limited to registering only websites and web pages. The identifying information entered to identify User B may take virtually any form. For example, users may register the URL of any resource available on a communications network. This may include, but is not limited to, user names, email addresses, pictures and images, non-HTML informational resources such as word processing documents and spreadsheets, resumes, technical papers, bookmarks, or any other electronically deliverable information resource. Thus, in one useful embodiment, users posting information on websites and blogs commonly identify themselves using usernames, icons, or email addresses. These forums may display or provide identifying information that may be detected by the toolbar when another user browses the website.
For example, on a social networking site, a user may register the username in their list of user identifying information. Listing the username in such manner permits other users to identify the user as a search service member when the user, for example, posts a comment to a web page, but does not own the web page the comment is posted to. In such a case the toolbar may detect that a username exists on the webpage, and send the username to the search server to determine if the user is registered with the search service. Upon determining that the username is registered with the search service, the search server may identify the user associated with the received username and generate a compatibility report. Alternatively, when the user posts a comment online, the user's picture may be displayed and/or the user's email address may be provided as a link anchored to the user's user name. Registering pictures and email addresses as identifying information may also be an additional, advantageous, method for identifying search service users.
Additionally, the use of URLs, web page address, and other standard Internet identifiers permits users to create and publish content that would be identifiable to other search service users without the need to inject or add specialized text, tags, images, or the like, specifically for the search service.
Once User A has installed the toolbar 204,
While User A browses web pages in block 330, the toolbar 204,
After finding user identifying information in the web page or URL in block 404, the toolbar sends the identifying information to the search server 208,
The search server then determines, in block 410, whether any registered users were found in the database. Should no registered users be found in the database correlating to the identifying information searched, the search server 208,
Alternatively, should the search server 208,
After determining the compatibility between User A and User B in block 420, the search server 208,
The toolbar 204,
Alternatively, the display element 504 may be inserted into the displayed web page itself. In one useful embodiment, the content of the display element 504 may be added into the HTML of the displayed webpage. While this may modify the layout of the web page content, the display element will not obscure any web page content.
The result element 504 may have anchor or link elements permitting User A to click on the element to find out more about the discovered search service user. Thus, User A's clicking on the link may open up a new web page from the search service showing User B's profile. Additionally, the result element may include additional identifying information for user B, such as a photograph, location, search service user name, or the like. The identifying elements shown may be varied based on the type of browser user and web page owner, author, or user registered with the search service. For example, where a company seeking job candidates is registered as a web page owner, the company's logo may be shown, and a link to the company's resume submission instructions may be provided. Where the search service is a social networking or online dating service, the web page user's photo, location and user name may be shown, with a link to the user's profile provided to the browser user.
The result element 504 may be further customized based on the results of the compatibility matching. For example, the compatibility report may show particular model elements, areas, or categories, where User A and User B have a low compatibility, and may also list particular areas where the users have high compatibility. Skilled artisans will recognize that showing the result element 504, and any included display elements, may be determined based on any factors related to a compatibility report, the type of search service, user preferences, or any other related factor without deviating from the teachings of the present principles.
Additionally, in browsers supporting multiple open pages, via tabs or multiple windows, the toolbar may track and simultaneously display compatibility reports from users in different pages, or may show only the users for the active tab or window, changing the displayed compatibility report as different tabs or windows are activated, or brought into focus.
In another useful embodiment, the compatibility report may be shown in a preexisting visual element.
Visual toolbars are known to the art for being embedded in browsers. These toolbars are commonly displayed at the top of the browser window, underneath the standard browser navigational elements. Generally, the toolbars are integrated into the browser such that the toolbar does not overlay or obscure web page content. While the toolbar 204 is shown at the top of the browser's 204 content pane 502 in
More specifically, as shown in the illustrated useful embodiment, the widget 702 may have an entry field 704 which permits a visiting user to enter user identifying information for generating a compatibility report. This identifying information may include, but is not limited to, a username or email address which the user registered with the search service.
Additionally, the widget 702 also includes functionality for sending the entered visiting user identifying information to the search server where a compatibility report is generated. Likewise, the widget 702 may receive any generated compatibility report from the search server, and display the received compatibility report in the widget 702 display area.
In addition to displaying a compatibility report, the widget 702 may also show a “microprofile” 706 of the web page owner. The microprofile 706 display may include information describing the owner of the web page so that a visiting user may decide if they wish to generate and view a compatibility report.
Having described preferred embodiments of a system and method for identifying the compatibility of users from identifying information gathered from web pages (which are intended to be illustrative and not limiting), it is noted that modifications and variations can be made by persons skilled in the art in light of the above teachings. It is therefore to be understood that changes may be made in the particular embodiments disclosed which are within the scope and spirit of the presented principles as outlined by the appended claims. Having thus described aspects of the present principles, with the details and particularity required by the patent laws, what is claimed and desired protected by Letters Patent is set forth in the appended claims.