METHOD AND SYSTEM FOR AUTHORIZING AND ENABLING ANONYMOUS CONSUMER INTERNET PERSONALIZATION
A system and method for customizing information presented to a user based on user preferences and/or interests. The system receives user preferences and/or interests and builds a user profile for the user based on those preferences and/or interests. The system receives a request from a website or application to access the user's profile. In response to this request, the system provides the website or application with access to the user's profile and generates one or more customized content items based on the user's profile, which may be embedded into, overlaid on the website or graphical user interface of the application. The system also allows the user to personalize their profile to generate customized content items on websites and applications that the user visits or uses.
This application is a divisional of U.S. patent application Ser. No. 14/562,367, filed Dec. 5, 2014, entitled “Method and System for Authorizing and Enabling Anonymous Consumer Internet Personalization” which claims the benefit of U.S. Provisional Patent Application No. 61/963,658, filed Dec. 10, 2013, entitled, “Method and System for Authorizing and Enabling Anonymous Consumer Internet Personalization,” which are incorporated herein by reference in their entirety. This application is related to, but does not claim priority from U.S. patent application Ser. No. 14/476,800, filed on Sep. 4, 2014, and entitled “Systems and Methods of Publishing Content From One or More Sources,” which is hereby incorporated herein by reference in its entirety.
BACKGROUNDSome websites continuously collect data about users that visit the site. Current systems and methods of collecting data rely on aggregate filtering techniques. However, users want privacy while visiting websites on the Internet, or at the very least they want to control which sites collect data associated with the user. These users also want websites to provide information that is of interest to them.
Various embodiments of the present systems and methods recognize and address the foregoing considerations, and others, of prior art systems and methods.
SUMMARY OF THE VARIOUS EMBODIMENTSIn general, in various embodiments, a computer-implemented method of customizing information presented to a user comprises receiving, by a processor, information about a user's preferences. The processor builds a profile for the user based on the received information. In particular embodiments, the processor receives a request from one of a first website and a first application to access the user's profile. At least partially in response to receiving the request from the one of the first website and the first application, the processor provides the one of the first website and the first application access to the user's profile. The processor also generates one or more customized content items based on the user's profile that are configured to be integrated into the one of the first website and the first application.
In other embodiments, a computer-implemented method of customizing information presented to a user comprises receiving, by a processor, information about a user's preferences, wherein the user's preferences are obtained by tracking the user's activities on at least one of the website and application. The processor builds a profile for the user based on the received information. The method further comprises receiving, by a processor, a request from one of a first website and a first application to access the user's profile and at least another user's profile. At least partially in response to receiving the request from the one of the first website and the first application, the processor provides access to the user's profile and the at least another user's profile. The method further comprises generating, by a processor, one or more customized content items presented on the one of the first website and the first application based on the user's profile and the at least another user's profile.
Various embodiments of systems and methods for customizing information presented to a user are described below. In the course of this description, reference will be made to the accompanying drawings, which are not necessarily drawn to scale and wherein:
Various embodiments will now be described more fully hereinafter with reference to the accompanying drawings. It should be understood that the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout.
OverviewA system and method, according to various embodiments, for building a Profile of Interest DNA (e.g., a PIDNA profile or user profile) for a user and presenting customized information to the user based on the PIDNA profile, which contains at least a profile module and a personalization module. The Profile of Interest DNA may differentiate one user from another in the same way that DNA from the first user is different from the DNA of the other user. However, the Profile of Interest DNA is not genetic-based, but rather interest-based, preference based and/or demographic based. Thus, similar to how DNA defines the genetics of a living organism, the Profile of Interest DNA defines the interests, demographics, and/or behavior of a user. The PIDNA system allows the user to anonymously create, own, and manage their PIDNA profile and to determine which companies or providers of information gain access to the user's PIDNA profile. The system also allows small companies to gain a more equal footing in reaching consumers based on using users' PIDNA profiles since the information collected in the profile and access to the profile is controlled by the user and not large data collection companies or by large companies colleting and aggregating personal data across multiple owned properties. This invention allows smaller firms to provide personalized services on par with the large companies by allowing the user to manage and share personal information with companies that is useful in providing the products or services which the consumer prefers and in the context in which they desire it.
Initially, the user establishes an account with the PIDNA system. Once the user logs into their account, the system may generate the user's PIDNA profile by one or more of (1) scanning a user's social media accounts for areas of interest, (2) allowing the user to build their profile by selecting areas of interest, and (3) tracking a user's patterns when the user surf's the internet through the users use of mobile applications, or directly from the user when the user uses a PIDNA application that can be run on a handheld computing device or on a desktop computing device. For example, when the user logs into their account using the PIDNA application for the first time, the system may request that the user link one or more social media sites to the user's PIDNA account. Once these accounts are linked to the user's PIDNA account, the profile module scans the linked social media accounts and searches for user preferences related to one or more areas of interest. The PIDNA system may initially generate the user's PIDNA profile based on the one or more areas of interest found in the user's social media accounts (e.g., FACEBOOK®, MYSPACE®, TWITTER®, LINKEDIN®, URBANSPOON®, etc.), email, or commerce sites that are interest-based rather than demographically-based. The one or more areas of interests may be related to one or more topics including, but not limited to, entertainment, news, sports, lifestyle, money, finance, weather, autos, homes, dating, jobs, shopping, health, style, beauty, food, movies, travel, business, technology, science, etc.
After receiving the user's preferences, the system may also request that the user review one or more categories of information and manually select those areas that are of interest to the user. This may be done in addition to scanning the user's social media account or instead of scanning the user's social media accounts. Finally, once a PIDNA profile has been established, the system may be configured to track the user's activities on one or more websites, mobile applications, or through the PIDNA application to further develop the user's PIDNA profile. Thus, the PIDNA profile is not a static database since it is continually being updated as additional usage and behavior history of the user is collected by the PIDNA system over time.
In various embodiments, the PIDNA profile may be graphically displayed to the user in a graphical visualization that represents the user's degree of interest in each topic. In various embodiments, the graphical visualization may be formed from a series of sub-bars that represent one of many areas of interest where the length of each sub-bar is proportional to the user's interest in the particular topic associated with that sub-bar. For instance, where the user is more interested in sports than news, the sports sub-bar of the graphical visualization will be larger than the news sub-bar. In some embodiments, the sub-bar may be color coded by topic of interest. For instance, the sub-bar may display sports in orange and news in blue. In other embodiments, the graphical visualization may be displayed as any suitable shape. For example, the graphical visualization may be a bar with the series of sub-bars aligned horizontally to each other. In other embodiments, the graphical representation may be a pie chart or a series of rings where each ring represents a different topic and the radial width of a ring represents greater interest in the topic associated with the ring. The graphical visualization may be embedded on any page displayed to the user in a web browser, it may be embedded in the graphical user interface for a mobile application, or it may be embedded in the graphical user interface for the PIDNA application.
The system continues to refine the PIDNA profile using updated information manually received from the user or based on the user's activities on a web browser or through their interactions on mobile applications. That is, as the user surf's the internet or uses mobile applications (e.g., Amazon's mobile application, Best Buys' mobile application, etc.) to read articles, research or purchase products, or participate in specific online activities, the system collects the information to further develop and refine the user's PIDNA profile.
The PIDNA system may use the user's PIDNA profile to generate customized content for the user. For instance, a personalization module may select and display customized content (e.g., articles on a webpage, product and service recommendations, offers, coupons, suggestions to connect with other users having similar PIDNA profiles, recommendations for events or activities, search suggestions, filtered TWITTER® feeds, etc.) that is tailored to the user's interests based on the user's PIDNA profile. For example, the system may use the PIDNA profile of a user to filter TWITTER® feeds so that the user only views comments from those users who have similar PIDNA profiles (e.g., exactly the same profiles, profiles where 70% of the interests are the same, etc.). In various embodiments, the system may receive a request from the user to turn the personalization module (1) on or off, in general, (2) on or off for a particular site or application, or (3) to manual where access to the user's PIDNA profile is requested for each site or application. In any case, when a website or application requests access to a user's PIDNA profile, the website or application uses the PIDNA profile to customize the information presented. In order for the personalization module to select appropriate content, the personalization module may use aggregate filtering, rule based filtering, generic algorithm based filtering, neural network based models, etc. to generate customized content, including commerce, software or people recommendations, to the user.
The system, according to various embodiments, is configured to receive a request from a website or application that uses the PIDNA system to access a profile for a user that is surfing the website or using the application. In some embodiments, the user may configure the PIDNA system to automatically make suggestions for every website or application. In other embodiments, the user may configure the PIDNA system to request access to the user's PIDNA profile, which the user can manually allow. If the request is approved (e.g., manually or automatically), the personalization engine accesses the user's PIDNA profile and uses the profile information to customize content presented on the website or application. In particular embodiments, the user may exclude certain types of websites or applications from accessing the user's PIDNA profile. The user may also exclude websites or applications from accessing certain aspects of the user's PIDNA profile. For instance, the user may exclude advertising companies from accessing the user's PIDNA profile related to the user's shopping interests.
In various embodiments, when two or more users, each having a PIDNA profile, want to find areas of common interest to both users, the system may be configured to receive a request from multiple user's where the two or more user PIDNA profiles are used by the website or application to search for an area of interest that is common to the two or more users. This may occur when one user is seeking to connect with another user using a particular website and the website wants to match the users according to their interests. Another example is where two friends are searching for a restaurant using a website or an application (e.g., OPENTABLE®). In this case, the users can submit their PIDNA profiles to the website or application to search for a restaurant that matches the users' common interests.
Exemplary Technical PlatformsAs will be appreciated by one skilled in the relevant field, the present systems and methods may be, for example, embodied as a computer system, a method, or a computer program product. Accordingly, various embodiments may be entirely hardware or a combination of hardware and software. Furthermore, particular embodiments may take the form of a computer program product stored on a computer-readable storage medium having computer-readable instructions (e.g., software) embodied in the storage medium. Various embodiments may also take the form of web-implemented computer software. Any suitable computer-readable storage medium may be utilized including, for example, hard disks, compact disks, DVDs, optical storage devices, and/or magnetic storage devices.
Various embodiments are described below with reference to block diagram and flowchart illustrations of methods, apparatuses, (e.g., systems), and computer program products. It should be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, respectively, can be implemented by a computer executing computer program instructions. These computer program instructions may be loaded onto a general purpose computer, a special purpose computer, or other programmable data processing apparatus that can direct a computer or other programmable data processing apparatus to function in a particular manner such that the instructions stored in the computer-readable memory produce an article of manufacture that is configured for implementing the functions specified in the flowchart block or blocks.
The computer instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on a user's computer and partly on a remote computer, or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including but not limited to: a local area network (LAN); a wide area network (WAN); a cellular network; or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner such that the instructions stored in the computer-readable memory produce an article of manufacture that is configured for implementing the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process (e.g., method) such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.
Example System ArchitectureThe One or More Networks 115 may include any of a variety of types of wired or wireless computer networks such as the Internet, a private intranet, a mesh network, a public switch telephone network (PSTN), or any other type of network (e.g., a network that uses Bluetooth or near field communications to facilitate communication between computing devices). The communication link between the One or More Computing Devices 110a, 110b and the PIDNA System 120 may be, for example, implemented via a Local Area Network (LAN) or via the Internet.
In particular embodiments, the PIDNA Server 300A may be connected (e.g., networked) to other computing devices in a LAN, an intranet, an extranet, and/or the Internet as shown in
An exemplary PIDNA Server 300A includes a processing device 202, a main memory 204 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), a static memory 206 (e.g., flash memory, static random access memory (SRAM), etc.), and a data storage device 218, which communicate with each other via a bus 232.
The processing device 202 represents one or more general-purpose or specific processing devices such as a microprocessor, a central processing unit (CPU), or the like. More particularly, the processing device 202 may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or processor implementing other instruction sets, or processors implementing a combination of instruction sets. The processing device 202 may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. The processing device 202 may be configured to execute processing logic 226 for performing various operations and steps discussed herein.
The PIDNA Server 300A may further include a network interface device 208. The PIDNA Server 300A may also include a video display unit 210 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alpha-numeric input device 212 (e.g., a keyboard), a cursor control device 214 (e.g., a mouse), and a signal generation device 216 (e.g., a speaker).
The data storage device 218 may include a non-transitory computing device-accessible storage medium 230 (also known as a non-transitory computing device-readable storage medium or a non-transitory computing device-readable medium) on which is stored one or more sets of instructions (e.g., the Profile Module 300) embodying any one or more of the methodologies or functions described herein. The Profile Module 300 may also reside, completely or at least partially, within the main memory 204 and/or within the processing device 202 during execution thereof by the PIDNA Server 300A—the main memory 204 and the processing device 202 also constituting computing device-accessible storage media. The Profile Module 300 may further be transmitted or received over a network 115 via a network interface device 208.
While the computing device-accessible storage medium 230 is shown in an exemplary embodiment to be a single medium, the term “computing device-accessible storage medium” should be understood to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “computing device-accessible storage medium” should also be understood to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the computing device and that causes the computing device to include any one or more of the methodologies of the present invention. The term “computing device-accessible storage medium” should accordingly be understood to include, but not be limited to, solid-state memories, optical and magnetic media, etc.
Exemplary System PlatformAs noted above, a system, according to various embodiments, is adapted to receive a user's preferences, build a user profile, receive a website request for access to the user's profile, provide access to the user's profile, and generate a customized content item based on the user's profile.
Various aspects of the system's functionality may be executed by certain system modules, including the Profile Module 300 and the Personalization Engine Module 400. The Profile Module 300 and the Personalization Engine Module 400 are discussed in greater detail below.
Profile Module
The system begins, in various embodiments, at Step 305 by receiving information about a user's preferences. In particular embodiments, the user's preferences may be based on the user's interests (e.g., entertainment, news, sports, lifestyle, money, finance, weather, autos, homes, dating, jobs, shopping, health, style, beauty, food, movies, travel, business, technology, science, etc.). In particular embodiments, the user's preferences information will not include demographic information associated with the user (e.g., the user's name, address, age, race, etc.). In other embodiments, the user's preferences may contain demographic information. In some embodiments, the user's preferences information may include one or more behaviors associated with the user. For instance, the user's preferences information may include that the user reads articles related to a particular sport at least once a day.
The system may obtain the user's preferences in a multitude of ways. At step 310, once the user establishes an account on the system, the system, may prompt the user to link one or more social media accounts to the user's PIDNA system account. For example, the system may be configured to allow the user to link one or more of their FACEBOOK®, MYSPACE®, TWITTER®, LINKEDIN®, URBANSPOON®, etc. accounts to their system account. In various embodiments, the system may receive the user's preference information from a user's accounts on various websites or applications. In particular embodiments, the system may receive a user's log-in information and all user preferences associated with the user's log-in information for a particular website or application. For instance, where the user has logged-on to a particular website such as URBANSPOON® or opened the URBANSPOON® application on their mobile phone, the website or application may request that the user link their account on the website or application with their PIDNA system account. In another example, the user's account on the PIDNA system may be linked to the user's account on a customized website publishing system as disclosed in U.S. patent application Ser. No. 14/476,800, filed on Sep. 4, 2014, and entitled “SYSTEMS AND METHODS OF PUBLISHING CONTENT FROM ONE OR MORE SOURCES,” so that the topics of customized webpages created by the user may be integrated into the user's PIDNA profile. Once the user links the two accounts, whether through the PIDNA system or the website or application system, the PIDNA system may receive user preference information on cuisines that the user selects on the website or the application.
In various embodiments, once the user links one or more social media accounts, web site accounts or application accounts to the user's PIDNA system account, the system examines the linked social media accounts using textual analysis and creates a histogram or frequency of keywords used or associated with the one or more social media accounts in order to find clusters of words of phrases and their relative importance based on their frequency—non-specific or trivial words or phrases (e.g. if, an, the, etc.) may be ignored. In particular embodiments, the system will build the PIDNA profile by associating the user's preferences (e.g., interests) with categories and/or subcategories. For example, in various embodiments the system may associate particular preferences with the categories of sports and news and then further divide the category of sports into subcategories such as golf, football, basketball, baseball, tennis, etc. For example, in various embodiments, the PIDNA system maps the clusters of words to associated categories and/or subcategories. For example, the PIDNA system may detect multiple uses of the words “dollar”, “Yankees”, “stock”, and “Tiger Woods”. The PIDNA system may map the word clusters “dollar” and “stocks” to the category “money/finance” and the word clusters “Yankees” and “Tiger Woods” to the category “sports”. The word cluster “Yankees” may further be mapped to a subcategory “baseball” and the word cluster “Tiger Woods” may further be mapped to a subcategory entitled “golf”. In addition to the keyword mappings, the PIDNA system examines the user's manual entries received at Step 315 and accounts for these entries when building the user's PIDNA profile.
At step 315, the system may instead of, or in addition to linking social media accounts, present the user with a list of categories to choose from that represent the user's preferences, interests, or disinterests. In various embodiments, when a category is chosen, the system may present one or more sub-categories that the user may select to further define the user's preferences (or interests). In various embodiments, the system may receive the manual input from the user from any suitable computing device. In some embodiments, the manual input from the user may include swiping a particular computing device's screen in a certain direction (e.g., up, down, left, right, etc.) when a category is displayed. For example, the system may receive an up-swipe from the user's computing device to indicate that the user is interested in a particular topic and a down-swipe to indicate that the user is not interested (e.g., disinterested) in a particular topic. In the alternative, the system may receive a right-swipe from the user's computing device to indicate that the user is interested in a particular topic and a left-swipe to indicate that the user is not interested in a particular topic. Furthermore, if the user is not interested or disinterested in the particular topic, in various embodiments the user may tap the screen to indicate that the user's feelings toward the topic are indifferent.
In other embodiments, the manual input from the user may include selecting a thumbs-up or a thumbs-down on a particular computing device's screen. For instance, the system may receive a thumbs-up from the user's computing device to indicate that the user is interested in a particular topic or a thumbs-down to indicate that the user is not interested in a particular topic. In still other embodiments, the system may receive the user's preferences information from a form filled out by the user. For example, the form may have checkboxes for interests such as entertainment, news, sports, lifestyle, money, finance, weather, autos, homes, dating, jobs, shopping, health, style, beauty, food, movies, travel, business, technology, science, etc. Using the form, the system could determine what the user is interested in based on the check marks, and what the user is disinterested in based on the user leaving one or more checkboxes blank. In various embodiments, the system may receive the user's preferences information from a series of questions presented to the user from which the system receives an answer from the user. For example, the system may ask the user whether the user is interested in sports, news, and weather and provide the user with the optional answers of yes, no, or maybe, where yes signifies the user is interested in a particular topic, no signifies the user is not interested in a particular topic, and maybe signifies the user may be interested in a particular topic.
In various embodiments, at Step 320, the system may build the PIDNA profile substantially automatically after receiving the user's preferences information. In particular embodiments, the system may build the PIDNA profile after receiving a request from the user to build the PIDNA profile. In some embodiments, the system may store the built PIDNA profile for the user and associate the PIDNA profile with the user's account on the PIDNA system. In various embodiments, the PIDNA profile includes the interests of the user. In other embodiments, the PIDNA profile includes the non-interests of the user. For example, where the user has indicated that the user is not interested in a particular topic, the profile may include this information. In particular embodiments, the PIDNA profile includes identifying information for a particular user to associate the PIDNA profile to the particular user. For instance, the identifying information may include a username and password associated with the particular user and/or the user's e-mail address.
Referring to
Referring again to
In particular embodiments, the system may receive updates to the user's preferences. In some embodiments, the system may receive updates to the user's preferences by monitoring the online activity of the user as described above. The system may then capture at least some of the online activity of the user and categorize the online activity similar to the earlier categorized preferences. In various embodiments, the system may substantially automatically update the user's profile after receiving the updates to the user's preferences. For example, once the system receives any changes or updates to the user's preferences, the system will automatically update the user's profile, which will allow the user's profile to be dynamic because it is continuously updated by the PIDNA system. In other embodiments, the system may receive a request manually entered by the user to update the user's profile after receiving the updates to the user's preferences. For example, the system may alert the user that updates are available to the user based on the user's preferences and request that the user select to update the user's profile.
In various embodiments, the PIDNA profile may be shown as a visual representation that may be embedded or overlaid on a website or graphical user interface for an application. In particular embodiments, the visual representation of the user's PIDNA profile may be shown in any suitable shape. In various embodiments, the representation may be in the shape of a bar that is divided into sub-bars that each represents a particular category, where the length of each sub-bar is proportional to the number of times a particular word occurs in a word cluster. In some embodiments, the size of each sub-bar of the representation is based on the number of times the user engaged in an activity related to the particular category associated with the sub-bar. In particular embodiments, the bar sections may visually represent a percentage of the user's total interests. For instance, where the user has equal interests in sports, news, weather, and travel, the four categories will each be depicted as an equal proportion of the total bar. In still other embodiments, the system may build a graphical representation of the user's preferences based on the subcategories of a particular category. For example, the system may build a bar that includes all of the users interests from which the user can select a particular category, such as sports, to expand to display a second graphical representation of the category sports subdivided into subcategories for sports, which may include subcategories such as golf, football, basketball, baseball, tennis, etc.
In other embodiments, the visual representation of the user's PIDNA profile may be represented by a double helix similar to DNA or as a series of rings where the width of any one ring is proportionate to the user's interest in the category associated with the ring. For example, where the user is more interested in sports than news, the width of the sports ring will appear larger than the width of the news ring.
In various embodiments, the system may include the name of the category on each sub-bar. In particular embodiments, the system may include the name of the category and subcategory on the graphical representation. In other embodiments, the system will include a portion of the name of the category or subcategory on the graphical representation. In particular embodiments, the system may color code the graphical representation such that each category is a different color and each subcategory is a shade or variation of the color of the category to which it belongs. For instance, the system may color code the category of sports as blue. In addition, the system may then color code a subcategory, such as golf a different shade of blue such as light blue. In other embodiments, the system may arrange the categories on the graphical representation in ascending or descending order based on what the user is most or least interested in.
Personalization Engine Module
The system begins, in various embodiments, at Step 405, where the system receives a request from a first website, a first application, a web service, etc. to access a user's profile. In some embodiments, the PIDNA system may receive a request to access one user's profile. In other embodiments, the PIDNA system may receive a request from the first website, the first application, the web service, etc. to access the user's profile in addition to a request to access at least one other user's profile. In various embodiments, the PIDNA system receives the request from the first website, the first application, the web service, etc. substantially automatically after the user accesses the first website, the first application, the web service, etc. In various embodiments, the first website, the first application, the web service, etc. may be a website, application, web service, etc. that requires the user to log into the first website, the first application, the web service, etc. before the user can access the contents of the first website, the first application, the web service, etc. In particular embodiments, the first website, the first application, the web service, etc. may be any suitable first website, application, web service, etc. seeking information about the user in an effort to customize the content provided to the user.
Continuing at Step 410, at least partially in response to receiving the request from the first website, the first application, the web service, etc., the PIDNA system provides the first website, the first application, the web service, etc. access to the user's PIDNA profile. In particular embodiments, at least partially in response to receiving the request from the first website, the first application, the web service, etc., the PIDNA system provides the first website, the first application, the web service, etc. access to the user's profile substantially automatically. In other embodiments, the PIDNA system may provide the first website, the first application, the web service, etc. access to the user's PIDNA profile based on predetermined settings set by the user. In particular embodiments, the system may provide the first website, the first application, the web service, etc. access after notifying the user that the first website, the first application, the web service, etc. is requesting access to the user's PIDNA profile. In particular embodiments, the system may notify the user that the first website, the first application, the web service, etc. is requesting access to the user's PIDNA profile by sending an email to the user. In other embodiments, the system may notify the users that the first website, the first application, the web service, etc. is requesting access to the users' PIDNA profile via a pop-up message, text message or any other suitable method of providing notification to the user.
In various embodiments, the PIDNA system may require the user to manually authorize access to the user's PIDNA profile based on individual preferences set by the user. For example, the PIDNA system may include a browser plug-in that the user installs in their local web browser. When the user navigates to a website that uses PIDNA profiles, the web browser notifies the user by opening a pop-up asking the user if the website can access the user's PIDNA profile. The user may allow access by clicking a “YES” button or deny access by selecting a “NO” button.
In other embodiments, the PIDNA system may be configured to notify the user of a PIDNA profile access request by sending the user an email or text notification that requests access to the user's PIDNA profile and that requires the user to click a link contained in the email or text message authorizing the first website or first application to access the user's PIDNA profile. In particular embodiments, user may change setting in the user's account on the PIDNA system that allows: (1) all requesting websites or applications access to the user's PIDNA profile or (2) no requesting websites or applications access to the user's PIDNA profile.
In particular embodiments, PIDNA system may provide the first website, the first application, the web service, etc. access to the user's PIDNA profile by providing the first website, the first application, the web service, etc. access to all or a part of the user's PIDNA profile. In various embodiments, the PIDNA system may provide the first website, the first application, the web service, etc. access to all information contained in the user's PIDNA profile. In particular embodiments, the PIDNA system may provide the first website, the first application, the web service, etc. access to only a portion of the user's PIDNA profile. For example, where the first website, the first application, the web service, etc. requesting access to the user's profile is a news website, the PIDNA system may provide the news website access to only the user's PIDNA profile information related to the category of news.
In various embodiments, the PIDNA system may be configured to provide the first website, the first application, the web service, etc. access to the user's PIDNA profile if the user receives a fee from the first website, the first application, the web service, etc. In particular embodiments, the fee may be set by the user. For instance, the user may set the fee to $0.01 USD for each websites to access the user's PIDNA profile. In another example, the website may set a predetermined payment amount for users whose profile matches a predefined profile established by the website by some fixed percentage. For example, the website may pay a user $10.00 USD to access the user's PIDNA profile if the user's PIDNA profile meets the requesting websites predefined profile by at least 70%. In other embodiments, the PIDNA system may provide the first website, the first application, the web service, etc. access to the user's PIDNA profile after receiving a fee from the user. For instance, the first website may require user's to pay a $0.01 USD fee for the first website to access the user's profile in order to customize the first website for the user.
The PIDNA system continues at Step 415 by generating one or more customized content items based on all or a portion of the user's PIDNA profile. The customized content items are configured to be integrated in, embedded in, or displayed by the first website, the first application, the web service, etc. In other embodiments, the customized content items are configured to be integrated in, embedded in, or displayed by the web service. For example, on a computer, the user may right click on a desktop, which causes the computer to open a specialized PIDNA menu that provides the user with various options to interact with the PIDNA system. One menu option may allow the user to select a link to the management user interface so the user can change account preferences, review profile request logs, etc. Another menu option may provide the user with a search box that allows the user to search the internet for particular content that can be customized based on the user's PIDNA profile.
In particular embodiments, the PIDNA system may generate the one or more customized content items as the graphical visualization of the user's profile and display the visualization to the user. In various embodiments, the one or more customized content items may be content displayed on a webpage associated with the first website. For example, the webpage may include articles that have been customized to include topics that would be of interest to the user based on the user's PIDNA profile. In particular embodiments, the one or more customized content items may be displayed in a widget that is associated with the website. In various embodiments, the one or more customized content items may be displayed on the first website using the browser plug-in. In some embodiments, the one or more customized content items may be displayed on a desktop or home screen of a computing device. In still other embodiments, the one or more customized content items may be displayed by an application as content that is customized to the user's taste. For example, in the case the URBANSPOON® application, the customized content may be one or more restaurants that serve food that the user likes based on the user's PIDNA profile. In yet other embodiments, the one or more customized content items may be sent to a third party server by a web service and then displayed by a browser. For example, as mentioned above, the user may enter a search for shoes using the specialized PIDNA menu on a computer. The search may be performed based on the user's PIDNA profile, which indicates that the user likes Jimmy Choo® shoes, Manolo Blahnik® shoes and likes to purchase shoes from Nordstrom's. Thus, once the search is submitted, a webpage for Nordstrom's may open that only shows Jimmy Choo® and Manolo Blahnik® shoes in the user's size.
In other embodiments, businesses or firms may interact with the PIDNA system 120 and conduct a search of PIDNA profiles to locate an individual or collection of people matching a very specific interest profile. The search results could list PIDNA profiles of users without other identifiable information such as names or address, thereby protecting basic privacy. Such a search may be accessible via a business or sponsor interface from a website or application.
In some embodiments, the system may generate one or more customized content items (e.g., to be integrated into the first website, the first application, the web service, etc.) based on the user's PIDNA profile and at least one other user's profile. In particular embodiments, in generating the one or more customized content items (e.g., articles, information, commerce items, services, applications or people, etc.), the system compares the user's PIDNA profile to the at least one other user's PIDNA profile. In comparing the user's PIDNA profile and the at least one other user's PIDNA profile, the system determines commonalities between the user's PIDNA profile and the at least one other user's profile. In some embodiments, after comparing the profiles, the PIDNA system suggests at least one customized content item to the user via the first website or first application. Where there is not an exact match, the suggested at least one customized content item may be a “best fit” compromise between the user's interests and the at least one other user's interests.
In particular embodiments, the at least one customized content item may be a name of a restaurant based on commonalities from the user's and the at least one other user's PIDNA profiles. In other embodiments, the at least one customized content item may be an activity (e.g., a sports game, a concert, a show, etc.) that would be appealing to the user and the at least one other user. In still other embodiments, the at least one customized content item may be whether the user and the at least one other user are compatible. For instance, the user and the at least one other user may be compatible based on similarities in business, social behavior, dating, etc. Thus, PIDNA profiles may be used by dating websites or applications that seek to match users based on commonalities in preferences, interests and other attributes that may be stored in the user's PIDNA profile.
In various embodiments, when customized content is not available to match the exact interests of the user, the system may provide customized content that is of a similar topic to one or more of the user's interests. For instance, if the user's profile indicates that the user is interested in golf, but the inventory of content available to the website does not include content on golf, the system may instead provide customized content for sports rather than for golf based on default rules in the user's PIDNA profile. In this way, of the user reads the presented content, the system may gather additional information about the user to update their profile and offer new content that matches actions by the user.
At step 420, the PIDNA system integrates the customized content into the first web site or the first application. The customized content items may be embedded into a webpage on the website, integrated into a pop-up screen, overlaid on the webpage, integrated in an applet that is run by the website or integrated in any other method. In some embodiments, the system may generate a customized webpage based on preferences and interest of the user in the user's PIDNA profile. The generation of customized webpages are described in U.S. patent application Ser. No. 14/476,800, filed on Sep. 4, 2014, and entitled “SYSTEMS AND METHODS OF PUBLISHING CONTENT FROM ONE OR MORE SOURCES. In other embodiments, the customized content may be displayed as results in a mobile application. For example, when the user searches for a restaurant using a mobile application such as OPENTABLE®, the application may access the user's PIDNA profile to determine which restaurants satisfy the user's preferences and/or interests. Thus, the customized search results are displayed to the user by the mobile application alone, or in combination with other content.
In particular embodiments, the user's PIDNA profile may be used to customize content that the user sees on social media sites. For example, when a user reviews a twitter feed, the TWITTER® feed may be filtered using the user's PIDNA profile so that only TWEETS® from other user's having a similar PIDNA profile are displayed to the user. Moreover, TWEETS® that match interests of the user's PIDNA profile may also be shown instead of, or in addition to, TWEETS® from other user's with a similar PIDNA profile. For purposes of this disclosure, reference to a similar PIDNA profile may be based on an exact match, a match of some predefined percentage (e.g., a 60% similar PIDNA profile, etc.).
In various embodiments, the system, when executing the Profile Module 300 and the Personalization Engine Module 400, may omit particular steps, perform particular steps in an order other than the order presented above, or perform additional steps not discussed directly above.
Exemplary User ExperienceExemplary Graphical Display
In various embodiments, the graphical display 500 may also include other options for the user such as buttons to turn the graphical display on or off as explained in more detail below. The graphical display 500 may also include the option to change the appearance of the graphical display 500. For example, user may elect to have the graphical display 500 shown as a pie chart rather than the standard bar profile. In addition, PIDNA system may allow the user to change the colors associated with the various sub-bars of the graphical display 500. For instance, the user may want the news portion 514 to be red because the color red is likely to get the attention of the user.
In various embodiments, when the user has selected the activated graphical display 612, the user may click on a sub-bar portion 618 of the graphical display 500 to show articles that relate to that particular sub-bar. For example, the user may select the green tech sub-bar portion 618 to view articles related to technology. As may be understood from this figure, because the user has an interest in technology, the tech sub-bar portion 618 of the graphical display 500 appears larger than the other sub-bar portions of the graphical display 500.
Referring to
Group Discount Application
In a particular example, the PIDNA system may be implemented to enable a group of users to connect to receive a group discount. The PIDNA system may also use the user's PIDNA profile to suggest particular coupons, offers, and events that match the user's preferences and/or interests. For example, the PIDNA system may use the location of a particular user to suggest offers nearby to the user. The PIDNA system may also use the location of another user with a user PIDNA profile to suggest offers that require more than one person to receive the benefits of the offer. In various embodiments, the system may connect two users that are geographically diverse to receive a group discount. In various embodiments, the user may opt in or out of receiving group discount notifications.
Group Meeting Application
In another illustrative application of the PIDNA system, the system may be utilized in a group setting such as dating, business, social, etc. to allow users with similar preferences and/or interests to meet or connect with one another. The PIDNA system may allow a user to specify that the user's PIDNA profile may be visible to all other users with PIDNA profiles. In various embodiments, the PIDNA system may allow a user to specify that the user's PIDNA profile may be visible to other users with similar interests in their PIDNA profile. The PIDNA system may also allow a user to specify that it does not want to be connected to other users with particular preferences and/or interests that are not included in the user's PIDNA profile as being of interest to the user. The PIDNA system may also suggest that two users connect based on the compatibility of their respective PIDNA profiles.
Group Aggregation Recommendations Application
In yet another illustrative application, the system may aggregate users' PIDNA profiles to generate a recommendation to the users based on commonalities between the users' PIDNA profiles. The system may compare users' PIDNA profiles using a percentage of similarity where an exact match is not possible. For instance, where the users PIDNA profiles have similarities in 70% of the users' interests, the system may determine that the users' PIDNA profiles are similar. The users may opt into the group aggregation recommendation application by sending a “hashtag character” (e.g., #hashtag) from the users' phones to join a particular group. For instance, where a group of users wants to go out to dinner together, a first user may open an OPENTABLE® application on their mobile phone. The application may be linked to the user's PIDNA system account. Thus, the user may select an option in the application that allows the application to make recommendations of places to eat based on one or more user's PIDNA profile. The application first provides a #hashtag for everyone in the group to text using their cellphones. Once the two or more users text the unique group #hashtag to the PIDNA system, the system compares the users' PIDNA profiles to determine commonalities for the various group users. For example, the system may determine that everyone or a majority of users would prefer to eat German food. The application would then use this information for making customized recommendations for a restaurant that would likely satisfy everyone in the group. In some embodiments, the application may list only restaurants that satisfy the commonality of all users or the majority of users. In other embodiments, the application would rank the customized recommended restaurants first and then other restaurants below the customized content. The users may also aggregate user profiles for any other suitable reason such as for engaging in political protests, attending events, finding nearby activities, etc.
CONCLUSIONMany modifications and other embodiments of the invention will come to mind to one skilled in the art to which this invention pertains, having the benefit of the teaching presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for the purposes of limitation.
Claims
1. A computer-implemented method of building a user profile that is used by websites, applications, or web services to generate customized content for the user comprising:
- a. receiving, by a processor, information selected from a group consisting of: i. at least one of a user's preferences, a user's interests, or a user's demographic information, wherein the at least one of the user's preferences, the user's interests, or the user's demographic information is obtained by tracking the user's activities on at least one of one or more websites, one or more applications, or one or more web services, ii. at least one of the user's preferences, the user's interests, or the user's demographic information obtained manually from the user; and iii. user interests obtained from at least one social media account of the user;
- b. at least partially in response to receiving the information, building, by a processor, a profile for the user based on the received information, wherein the profile is configured to allow the user to control access to the profile by one or more websites, one or more applications, or one or more web services;
- c. categorizing the received information into topics and subtopics; and
- d. generating, by a processor, a visualization of the user's profile and displaying the visualization to the user.
2. The computer-implemented method of claim 1, further comprising:
- a. tracking, by a processor, at least one of website usage, application usage, or web service usage by the user; and
- b. at least partially in response to tracking the at least one of website usage, application usage or web service usage by the user, updating, by a processor, the user's profile based on information obtained from the at least one of website usage, application usage, or web service usage.
3. The computer-implemented method of claim 2, wherein tracking the user's website usage, application usage, or web service usage further comprises providing the user with a browser plugin that is configured to capture information about the user's preferences as the user searches on one or more websites, one or more applications, or using one or more web services.
4. The computer-implemented method of claim 1, wherein
- a. the visualization comprises a series of colored boxes adjacent to each other,
- b. each colored box represents a category of interest for the user, and
- c. the width of a respective one of the colored boxes is based on the number of times the user engaged in an activity related to a particular category.
5. The computer-implemented method of claim 1, wherein:
- a. the visualization is configured to allow the user to click on a discrete one of the colored boxes to open a second website that contains customized information associated with the category linked to the discreet colored box; and
- b. at least partially in response to receiving an indication that the user clicked on the discrete one of the colored boxes, opening, by a processor, the second website containing customized information.
6. The computer-implemented method of claim 1, further comprising:
- a. receiving, by a processor, a request from the one or more websites, the one or more applications, or the one or more web services to generate customized content for the user for a set fee offered by one of the user or the one or more websites, the one or more applications, or the one or more web services; and
- b. at least partially in response to receiving the request from the one or more websites, the one or more applications, or the one or more web services, providing, by a processor, access to at least some of the information in the user's profile to the one or more websites, the one or more applications, or the one or more web services to allow the one or more websites, the one or more applications, or the one or more web services to generate customized content for the user.
7. A computer-implemented method of customizing information presented to one or more users comprising:
- a. receiving, by a processor, one or more user profiles for one or more users;
- b. analyzing, by a processor, the one or more user profiles to determine particular common interests of the one or more users;
- c. at least partially in response to analyzing the one or more user profiles, determining a common interest between the one or more users based on at least one predetermined criterion; and
- d. at least partially in response to determining the common interest of the one or more users, presenting, by a processor, customized information to the one or more users.
8. The computer-implemented method of claim 7, further comprising:
- a. receiving, by a processor, a request from one or more users to create a group at least partially based on the common interest of the one or more users; and
- b. at least partially in response to receiving the request, creating, by a processor, the group of one or more users based on the common interest.
9. The computer-implemented method of claim 8, wherein receiving the request to create the group further comprises:
- a. receiving, by a processor, from one or more users a hashtag character; and
- b. at least partially in response to receiving the hashtag character, creating, by a processor, a group consisting of all users who sent the hashtag character.
10. The computer-implemented method of claim 7, wherein the predetermined criteria is that the common interest satisfies at least 70% of the interests for the one or more users.
11. The computer-implemented method of claim 7, wherein the customized information further comprises one or more recommendations, wherein the one or more recommendations is selected from a group consisting of:
- a. restaurant recommendations;
- b. activity recommendations;
- c. connection recommendations between the one or more users; and
- d. coupon recommendations.
Type: Application
Filed: Oct 5, 2016
Publication Date: Jan 26, 2017
Inventors: York Eggleston (Baltimore, MD), Llewellyn Wall (Arlington, VA)
Application Number: 15/286,263