When browsing content, such as a website, a book, an album, a video, etc., a user may be interested in viewing or sampling an excerpt of the content to evaluate the content or determine if it will pique the user's interest. Some content providers offer content recommendation services that suggest content a user may be interested in based on the user's purchase history or browsing history. Many of these systems, however, do not provide specific portions of content for a user to sample based on the user's interests or online behavior (e.g., purchase history, browsing history, etc.) as a component of a recommendation.
In some instances, a user may begin to consume content and decide that it is uninteresting or otherwise not worth continuing. For example, a user reading a book may enthusiastically read the first few chapters, but that enthusiasm may wane mid-way through the book. At this point, the user may decide to abandon the book or not finish reading the book because the user does not have any reference to gauge what the user's potential interest might be in the remaining chapters of the book.
According to an implementation of the disclosed subject matter, a user profile corresponding to a user may be obtained. A selection of content may be received based on a recommendation. An indication of an abandonment event may be received. Based on the abandonment event, analytic data may be selected. The analytic data may indicate a likelihood of continued consumption of the content by users having profiles similar to the user profile. The analytic data may be provided or presented to the user.
In an implementation, content may be segmented into one or more segments based on a predetermined interval. Analytic data for each of the one or more segments may be determined. A selection of content may be received from a user associated with a user profile. A request for analytic data corresponding to a portion of the one or more segments may be received. A position of the user in the content may be determined. Responsive to the request and based on the user position in the content and the user profile, the analytic data may be provided or presented to the user.
A system is provided in an implementation that includes a database and a processor communicatively coupled to the database. The database may store at least one user profile. The processor may be configured to obtain a user profile for a user from the database. It may receive a selection of content based on a recommendation and an indication of an abandonment event. Based on the abandonment event, the processor may be configured to select analytic data, that indicates a likelihood of continued consumption of the content by users having profiles similar to the user profile. The analytic data may be provided or presented to the user.
In an implementation a system is provided that includes a database for storing analytic data and a processor communicatively coupled to the database. The processor may be configured to segment content into one or more segments based on a predetermined interval. It may determine analytic data for each of the one or more segments and receive a selection of content from a user associated with a user profile. The processor may receive a request for analytic data corresponding to a portion of the one or more segments and determine a position of the user in the content. Responsive to the request and based on the user position in the content and the user profile, the processor may be configured to provide the analytic data.
A method is provided in which content may be segmented into one or more segments based on a predetermined interval. Analytic data for each of the one or more segments may be determined. A recommendation may be generated for content for a user based on a user profile. Analytic data may be presented as a component of the recommendation. The analytic data may include a graphical representation of a completion rate for each of the one or more segments.
In an implementation analytic data for content may be obtained. A user profile for or corresponding to a user may be obtained. Content may be provided to the user. An indication of a decision from the user may be received. A portion of analytic data may be selected based on the user profile, the content, and the indication of the decision. The portion of the analytic data may be provided or presented.
Additional features, advantages, and implementations of the disclosed subject matter may be set forth or apparent from consideration of the following detailed description, drawings, and claims. Moreover, it is to be understood that both the foregoing summary and the following detailed description provide examples of implementations and are intended to provide further explanation without limiting the scope of the claims.
The accompanying drawings, which are included to provide a further understanding of the disclosed subject matter, are incorporated in and constitute a part of this specification. The drawings also illustrate implementations of the disclosed subject matter and together with the detailed description serve to explain the principles of implementations of the disclosed subject matter. No attempt is made to show structural details in more detail than may be necessary for a fundamental understanding of the disclosed subject matter and various ways in which it may be practiced.
A user may have difficulty making a decision about content such as whether to watch a particular content or determining whether the content is something in which the user will be interested. As described above, analytic data may be provided to the user to help the user make a decision about what content to consume based on, for example, an abandonment rate or other user metrics that indicate interest or disinterest in certain content. There may be a difference between a user's initial decision to consume content and the user's mindset once consumption of content has begun. For example. a movie trailer may entice a user to view a movie, but the user may find that the movie is not entertaining midway through it.
Implementations disclosed herein may relate to providing information to a user that indicates a completion rate of content by other individuals consuming the same content. Each of the other individuals may be a consumer of the same content, or a member of a subset of individuals such as a friend group or social network group. For example, a user may be interested in movie X. The user may be presented with a graphic that indicates the completion rate of other people who watched the entirety of movie X or a section of the movie. This may indicate, for example, that certain segments of the movie may not be particularly interesting. In addition, the completion rate may be shown based on a particular user or something known about the user. For example, if the user is taking a trip to London and the movie the user is watching has an upcoming scene involving London, that particular scene may be highlighted for the user as an excerpt or preview.
As another example, a user may receive an indication of parts of a book that have been actually read by other people (or friends in the user's social network). This may indicate to the user that people tend to skip specific sections of a book. One such indication may be based on the amount of time a group of users spent viewing each page or chapter. This may indicate that a part of the book may not be especially important and may have caused many people to abandon the book, i.e., not to read the remainder of the book. Similarly, a user may receive an indication that many people spent a significant amount of time on a specific part of the book, suggesting that people may have studied the content therein carefully.
In an implementation, content may be highlighted based on excerpts that have been shared. For example, several individuals may share a paragraph of a book. A user, when viewing the book, may receive an indication that the specific portion of the book has been shared by a number of individuals. The indication may be provided in the form of highlighted text in the case of a book (e.g., bold type, underlined, circled, etc.) or other visual or audible indicator for other types of digital content.
Content may be divided into portions, such as ten second segments for audio/video content, three pages for a book, pixels for vertical scroll of a website, or any other such increment (e.g., a chapter, a scene, a paragraph, a frame, etc.). The percentages of content consumed by people who have completed consumption of the portion may be determined. In some instances, the data may be smoothed to minimize noise due to, for example, sparse data.
Implementations of the presently disclosed subject matter may be implemented in and used with a variety of component and network architectures.
The bus 21 allows data communication between the central processor 24 and the memory 27, which may include read-only memory (ROM) or flash memory (neither shown), and random access memory (RAM) (not shown), as previously noted. The RAM is generally the main memory into which the operating system and application programs are loaded. The ROM or flash memory can contain, among other code, the Basic Input-Output system (BIOS) which controls basic hardware operation such as the interaction with peripheral components. Applications resident with the computer 20 are generally stored on and accessed via a computer readable medium, such as a hard disk drive (e.g., fixed storage 23), an optical drive, floppy disk, or other storage medium 25.
The fixed storage 23 may be integral with the computer 20 or may be separate and accessed through other interfaces. A network interface 29 may provide a direct connection to a remote server via a telephone link, to the Internet via an internet service provider (ISP), or a direct connection to a remote server via a direct network link to the Internet via a POP (point of presence) or other technique. The network interface 29 may provide such connection using wireless techniques, including digital cellular telephone connection, Cellular Digital Packet Data (CDPD) connection, digital satellite data connection or the like. For example, the network interface 29 may allow the computer to communicate with other computers via one or more local, wide-area, or other networks, as shown in
Many other devices or components (not shown) may be connected in a similar manner (e.g., document scanners, digital cameras and so on). Conversely, all of the components shown in
More generally, various implementations of the presently disclosed subject matter may include or be implemented in the form of computer-implemented processes and apparatuses for practicing those processes. Implementations also may be implemented in the form of a computer program product having computer program code containing instructions implemented in non-transitory and/or tangible media, such as floppy diskettes, CD-ROMs, hard drives, USB (universal serial bus) drives, or any other machine readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing implementations of the disclosed subject matter. Implementations also may be implemented in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing implementations of the disclosed subject matter. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits. In some configurations, a set of computer-readable instructions stored on a computer-readable storage medium may be implemented by a general-purpose processor, which may transform the general-purpose processor or a device containing the general-purpose processor into a special-purpose device configured to implement or carry out the instructions. Implementations may be implemented using hardware that may include a processor, such as a general purpose microprocessor and/or an Application Specific Integrated Circuit (ASIC) that implements all or part of the techniques according to implementations of the disclosed subject matter in hardware and/or firmware. The processor may be coupled to memory, such as RAM, ROM, flash memory, a hard disk or any other device capable of storing electronic information. The memory may store instructions adapted to be executed by the processor to perform the techniques according to implementations of the disclosed subject matter.
According to an implementation, an example of which is provided in
A purchase history may refer to a record of any content or products actually purchased by the user. A location of the user may be obtained from a user's IP address or it may be entered by the user. Characteristics of the user may refer to a user's online behavior. For example, it may refer to the time of the day that a user typically accesses a web site. Personal preferences of the user may refer to a user's desired configuration of a web site. For example, a user may prefer to have advertisements provided to the user's email address or shown to the user while visiting a particular web site. A personal preference of the user may refer to a user's desired appearance of a particular web page (e.g., a theme, or what content is displayed on a web page).
A user profile may be generated when a user attempts to access or purchase content on a web site. For example, a user may be prompted to create a user account that has a user name and/or password. Any activity the user undertakes or performs (e.g., browsing, purchasing, and selecting personal preferences) may be stored as a data record and associated with the user profile of the user, including the user account itself. The use profile may be stored in a remote database and accessible therefrom by a processor communicatively coupled to the database.
A user profile may be clustered or grouped with other users whose profile contains similar elements. For example, users who are associated with having an interest in Victorian romance novels may be grouped together. Techniques for clustering user profile data are known by those of ordinary skill in the art. A single profile may be present in multiple clusters. For example, a user may have an interest in Victorian romance novels and adventure movies. The user's profile may be associated with both categories. A category may be defined and user profiles may be selected to be associated with the category based on the data contained in the user profile (e.g., browsing and/or purchase history). Categories may be further refined and user profiles may be selected based on an intersection of data contained in the user profile. For example, a user's age may be used to further define subcategories within adventure movies.
Data regarding content (e.g., movie, book, song, album, etc.) may be collected, stored, arranged, configured, etc. by an existing system designed to construct a knowledge graph, as would be understood by one of skill in the art. For example, determining that Movie X has a style similar to Hitchcock films, or that books A, B, and C are in the same genre may be performed according a method known to one of ordinary skill in the art.
[43] A selection of content may be received based on a recommendation at 320. For example, a content provider may generate a recommendation of content to a user based on the user profile. As a specific example, a user may be particularly interested in World War II (“WWII”) based on a browsing history that indicates the user has viewed multiple WWII documentaries, 20th-century history programs, and the like. The content provider may suggest a WWII movie that the user has not yet browsed or purchased. The recommendation may be based on what content other users with a similar user profile (e.g., WWII documentaries) have viewed or consumed, what content has been popular or rated highly, or combinations thereof. A user may make a selection of the content recommended to the user by the content provider. For example, the user may select a movie recommended by the content provider using a keyboard and/or mouse.
An indication of an abandonment event may be received at 330. An abandonment event may refer to an action that could be interpreted as the user no longer pursuing consumption of content being provided. For example, an indication of an abandonment event may be a pause, a window close, or a browser action (e.g., selecting a “back” button or the like that would allow the user to leave a web page). In some instances, such as reading book, the user may pause over a particular passage for an inordinately long time based on the user's typical reading habits or behavior. The pause may be determined to be the user losing interest in the book. Likewise, a camera associated with a computer with which the user consumes content may be used to detect the user's presence or eye movements. For example, the camera images may be used to determine that the user is looking away from the computer screen for a period of time. The period of time may be a minimum threshold of time beyond which an abandonment event is deemed to occur. The camera data may be used to determine the user's facial expressions and this may be used to gauge the user's interest. A microphone may be used to determine the user's interest. For example, if the microphone detects a user sighing multiple times within a predefined interval of time, the user may be deemed to be disinterested or losing interest in the content. As another example, if it is determined that the user is speaking to another person for more than a trivial amount of time, it may be determined that the user has ceased paying attention to the content. Thus, both user actions and visual and audio cues that may be automatically detected may be used individually or in combination as an indication of an abandonment event (e.g., that the user is no longer interested in pursuing consumption of the content).
Based on the abandonment event, analytic data may be selected at 340. The analytic data may indicate a likelihood of continued consumption of the content by users having profiles similar to the user profile (i.e., the user from which an indication of an abandonment event was detected). Analytic data may refer to a completion percentage of content consumption by one or more users, a completion percentage for one or more segments of the content by one or more users, a satisfaction rating, and/or a click-through metric. The analytic data may be provided to the user at 350. For example, a user may have selected a documentary recommended to her. The user may watch 25 minutes of the documentary and decide that she is losing interest. The user may select the back button on the web browser that she is using to view the content. Analytic data for the documentary the user is viewing may be selected based on the user profile, indicating an age for this user and other individuals whose user profiles have been clustered into a group that likes documentaries that are related. Related documentaries, for example, may be based on data represented by a knowledge graph such as a genre, a director, an actor, etc. The analytic data may indicate, for example, that 45% of users similarly grouped as the user completed viewing the entire movie. As another example, the analytic data may show users' ratings of the upcoming scenes in the movie. The analytic data may be presented as a graphical representation that appears in a user's web browser. Other examples of analytic data and types of textual and/or graphical representations thereof are provided below.
Analytic data may be based on an action of the user. For example, a user may finish reading the first four chapters of a book and the analytic data may be selected for the remaining 6 chapters of the book. The selected data may indicate that other users who read the same book and for whom an abandonment event was detected at the end of or during chapter four skipped chapters 5-7 and resumed reading at chapter 8, and that the same users also completed reading the book from that point onward 75% of the time. In some configurations, content may be purchased by segments. For example, a book may be purchased by chapter or a television series may be purchased by episode. The analytic data selected and provided to the user may be based on a user's decision to consume a portion of the content and then pause or stop consuming the content for a period of time (e.g., a user hasn't viewed a new episode in several months). Similarly, it may be selected and provided subsequent to the user making an explicit decision to cease consuming content, such as where the user indicates that he does not wish to purchase the next portion of the content.
In some configurations, a decision from the user may be received. For example, upon learning that a majority of individuals read the last five chapters of a book the user is reading, the user may elect to skip ahead to those chapters in order to avoid seemingly mundane ones. The user's decision to skip ahead may be stored and incorporated into the analytic data for future users. That is, a user's decision or action upon receiving analytic data may be used to modify the analytic data for a subsequent user. The user's decision or action may be utilized to modify the user's profile. For example, a user's decision to opt out of continued viewing of a movie after being provided the analytic data may be used to modify the user's profile to indicate that the user is less likely to be interested in content from the same director, or that the user is more/less interested in scenes that have a significant number of cuts in a scene. As an example, an action sequence may have more cuts in a scene as compared to a scene that primarily is focused on a dialogue between two actors. A user's preference of the relative number of cuts in a scene may be incorporated with the analytic data and/or organized as a component of a knowledge graph. Analytic data also may be provided in response to a user's decision to skip a portion of content, such as where a user moves forward in a film without viewing the intervening portions, or skips one or more sections of a book. For example, the user may be informed of a percentage of users with similar preferences, browsing histories, purchasing histories, or the like that viewed the skipped portion and/or rated the skipped portion relatively highly.
In some configurations, the analytic data may be selected based on a user's social network. A social network may refer to a collection of individuals or groups that are associated or interconnected with a user based on the user's personal interests, communications, or other information typically contained in a user profile. A social network associated with the user may be determined. For example, a user's contacts, friends, friend groups, etc. may be obtained from the user herself, a social network account, the user's email account, etc. Analytic data may be selected based on how the user's friends from the social network acted for the same content. For example, a user's friends may have viewed the same movie or even recommended the movie to the user. Upon detecting an abandonment event, analytic data from the user's friends may be obtained and provided to the user. It may inform the user that most of her friends finished watching the movie. In some configurations, the user's friends may enter a comment or rating for the movie. A comment may be analytic data and may be provided to the user.
In an implementation, an example of which is shown in
A selection of content from a user associated with a user profile may be received at 430. Content may refer to audio, video, applications, books, etc. A selection may be received, for example, when a user selects a movie to view using a web browser interface or the like. Once the selection is made, the content may be provided to the user via the interface.
A request for analytic data corresponding to a portion of the one or more segments may be received at 440. For example, a user may select a book to read. A user's position within the content may be determined at 450 so that the appropriate analytic data for the remaining content may be selected and provided to the user. For example, a user who has read the first ten chapters of a book may not be provided with analytic data for those ten chapters except as a baseline (e.g., other users who have read the first ten chapters continued to read the remainder of the book 80% of the time). Analytic data may be constantly collected, updated, and stored, based on the actions of users consuming a given content. However, only a portion of the analytic data may be shown to the user for the given content based on the user's profile, the user's position within the content, the user's social network, etc. A request for analytic data may be sent to a processor connected to the database that stores or has access to the analytic data that has been and is being collected. The request may be sent when an abandonment event is detected, for example, as described earlier. The request may be sent from an electronic device from which a user accesses the content.
Responsive to the request and based on the user's position in the content and the user profile, analytic data may be presented or provided at 460. Upon receiving a request for analytic data (e.g., from a user's device), the relevant analytic data may be selected and/or provided to the user. As an example, the user may be finished with chapter ten of a book and be interested in knowing how upcoming chapters of the book have been received. Analytic data may be presented to indicate user ratings for each of the upcoming chapters and what percentage of users read each upcoming chapter through completion. For any implementation disclosed herein, a presentation style for the analytic data may be determined and/or selected. In some instances, it may be useful to provide a graphical representation of the analytic data to a user while in other cases it may be better to have a single line of text display the relevant data. The user's decision subsequent to providing the analytic data may be detected, stored, and used to modify the analytic data and/or the user profile as described earlier.
In an implementation, a system is provided that includes a database that communicatively coupled to a processor as shown in the example system in
The analytic data may indicate a likelihood of continued consumption of the content by users having profiles similar to the user profile. For example, user profiles may be clustered into groups based on a user's determined interest in various topics. A user may be ranked among such groups to indicate a user's preferred interests. A user may be interested in science fiction novels, entrepreneurship documentaries, Alfred Hitchcock, and music from Vivaldi. These may be the highest ranked interests for the user. The user may have a demonstrated interest in these categories based on the user's browsing and/or purchase history, for example. Thus, the user may be recommended content similar to entrepreneurship documentaries or Hitchcock's style based on the user's interest therein. If the user is viewing a entrepreneurship documentary, analytic data may be selected based on other users that are also aficionados of entrepreneurship documentaries. It may also narrow the pool of analytic data to users who have been pooled into both the entrepreneurship documentary and science fiction novel categories where relevant. For example, the entrepreneurship documentary may focus on a historical entrepreneurship figure that has an interest in science fiction novels. The processor may provide the analytic data to the user. As described earlier, the processor may receive a decision from the user subsequent to providing the analytic data to the user or user's device. The result of that decision may be utilized to modify the analytic data and/or the user profile.
In an implementation, a system is provided that includes a database 610 for storing analytic data and a processor 620 communicatively coupled to the database 610. An example of such a system is provided in
In an implementation, an example of which is provided in
In an implementation, an example of which is provided in
As disclosed herein, graphical representations may be provided to a computing device belonging to a user consuming content to indicate a completion rate of content by other users, the user's friends (or social network), or other subset of the total individuals consuming that particular content. The graphical representation may include a presentation of the completion rate of consuming an entire piece of content or a portion thereof. This may reveal, for example, that certain portions of the content may not be particularly interesting to a particular user. It may indicate that other individuals tended to skip over certain parts of a book, as indicated by the length of time the other users viewed a particular page or passage of the book. A user, upon being presented this information, may realize that a middle portion of the book may not be particularly important to the overall story or that interesting. This may cause the user to abandon reading the book or to skip the middle portion of the book, or to continue reading past the less-consumed portions of the book to reach the “more interesting” portions. It may allow the user to ascertain significant portions of a book.
For example, analytic data may indicate that users spent a significant amount of time for a particular portion or passage of the book. One such method of obtaining this information may be determining a user's average time to read a page of a book. The user's actual time for completing a page of a book may be compared to the average time. It may be determined if the user's actual complete time represents a significant deviation from the user's completion time or if the user exceeds a threshold for completing a given page. Similarly, an average completion time may be computed for a group of individuals who consumed a portion of content and the user's actual completion time for the same portion of content may be determined and compared to one another.
In some configurations, content may be highlighted from excerpts that have been shared between one or more users. For example, a user may receive a book recommendation from a friend and that recommendation may include an excerpt of the book that may be highlighted for the user. An instance of sharing a portion of content between two or more individuals may be stored in a database. A user may be presented with analytic data which indicates what portions of content are the most shared, for example, or the most shared by other individuals who have a similar user profile to the user.
In an implementation, content may be segmented based on time, page, paragraph, scene, etc. The percentage of content consumers who have completed consumption may be determined. In some configurations, the data may be smoothed to remove sudden fragment drop-off. For example, the data may be passed through a low-pass filter which may blur spikes in the analytic data. The analytic data (either raw or smoothed) may be provided or exposed to a user depending on the user and the content the user is consuming. In some instances the analytic data that is presented may be ranked based on what completion data is determined to be relevant to the user. For example, the analytic data may be based on a click-through rate for those novels that resulted in user satisfaction according to completion statistics. For example, if a user is browsing books to potentially read, a recommendation may be generated based on the completion statistics for a subset of books that has been selected according to the user profile of the particular user.
Book B is shown in
In some cases, a user may choose to abandon viewing content because it is uninteresting to the user. But, the user may not realize that analytic data indicates that people who arrive at a first maker in the content continue through to a second marker in the content a percentage of the time. If the analytic data is exposed or presented to the user, the user may decide to continue viewing the content instead of abandoning it. For example, upon detecting an abandonment event as described earlier, a window 1110 may appear that contains analytic data 1170 as shown in
A user's friends may discontinue viewing a movie or abandon a movie and not return. In an implementation, a user's friends may share their video activity, including when the friend abandoned the movie, with the user and/or the user's friend may provide a comment about the movie that may be tagged to a particular interval of the movie (e.g., where the friend discontinued viewing the movie).
In some cases, a user would like to make a decision about whether to buy content based on a preview (e.g., a trailer, an excerpt, a screenshot, a rating, a review, etc.). In an implementation, analytic data showing, for example an abandonment rate of users may be provided to inform a user's rental or purchase of content. For example, below information about the content, an annotation or textual representation of analytic data may be provided to the user to indicate, for example, “People who watch fifteen minutes of this movie tend to watch the entire movie.” This may assist the user in deciding whether to consume the content or not and/or might cause the user to consume at least the first fifteen minutes of content and decide at that point in time whether or not to continue consumption of the content.
In some instances, a user may not know what content may be entertaining or what portions of content may be entertaining Completion statistics or analytic data may be provided based on an age group, location, friend group, etc. For example, a song that a user is previewing could be accompanied with an indication that it is currently being listed to by the user's friends and/or provide the user's friend's comments. The user may be informed that a song in the user's shopping cart has a very low play rate by other consumers. As another example, a movie that a user has ceased viewing for ten minutes may have a very high completion rate for people who watch the movie for at least fifteen minutes.
In an implementation, major filter differences and features for a user may be identified. For example, a user may be affiliated with a particular university and people from that university may tend to watch a particular video of the university winning on a last second touchdown pass. People from the university also tend to re-watch that video multiple times whereas individuals from the opposing school may tend to abandon the video without returning to watch it again. The major filter in this example would be individuals from the university that scored the winning touchdown as compared to people from the other school. This filter may be compared to other filters that show a significant different that are not necessarily connected. Content may be segmented as described earlier. The percentages of content that has been completed by consumers or users may be determined. The data may be smoothed as described earlier and it may be ranked and/or selected. The selected data may be provided to the user. An example of providing analytic data is provided in
In an implementation, analytic data may include completion metrics such as a percent read, watched, listened to of a book, a movie, or a song/album respectively. It may be organized by a particular chapter, scene, or song and filtered by information contained in a user profile such as an age, a location, an indicated interest, a time of day, etc. The analytic data may be based on a user action such as selecting or causing content to play, pause, stop, rewind, replay, or be purchased. The analytic data, therefore, may represent data about what users are doing with particular content items and filtering may allow enough variation or manipulation of the data so that the analytic data can inform a user's decision with respect to consume content or continue to consume content.
In some instances, a user may be informed that a fried liked a particular book or that a book has a high rating. The user also may benefit from additional analytic data that shows what other people like the user tend to do with the book.
In situations in which the systems discussed here collect personal information about users, or may make use of personal information, the users may be provided with an opportunity to control whether programs or features collect user information (e.g., information about a user's social network, social actions or activities, profession, a user's preferences, or a user's current location), or to control whether and/or how to receive content from the content server that may be more relevant to the user. In addition, certain data may be treated in one or more ways before it is stored or used, so that personally identifiable information is removed. For example, a user's identity may be treated so that no personally identifiable information can be determined for the user, or a user's geographic location may be generalized where location information is obtained (such as to a city, ZIP code, or state level), so that a particular location of a user cannot be determined. Thus, the user may have control over how information is collected about the user and used by a content server.
The foregoing description, for purpose of explanation, has been described with reference to specific implementations. However, the illustrative discussions above are not intended to be exhaustive or to limit implementations of the disclosed subject matter to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The implementations were chosen and described in order to explain the principles of implementations of the disclosed subject matter and their practical applications, to thereby enable others skilled in the art to utilize those implementations as well as various implementations with various modifications as may be suited to the particular use contemplated.