Systems and methods for encouraging content discovery

By incorporating incentive items with dynamic placement in user interfaces, the system addresses the challenge of limited screen real estate by encouraging user interaction and exposure to a wider variety of content items, enhancing engagement and discovery.

JP2025537040APending Publication Date: 2025-11-13VALVE CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025514091
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-09-07
Filing Date
2023-06-27
Publication Date
2025-11-13

AI Technical Summary

Technical Problem

The challenge of presenting content items of potential interest to individual users is difficult due to the large number of available items and limited screen real estate, leading to reduced user exposure to important content.

Method used

Incentive items, or 'treasure' items, are introduced in user interfaces based on user-specific data, with their placement and presentation order adjusted dynamically to encourage interaction and discovery of various content items, using preference factors that can increase or decrease based on user interaction.

Benefits of technology

This approach enhances user interaction with content items by increasing the likelihood of selecting incentive items, thereby exposing users to a broader range of content categories and encouraging deeper engagement.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025537040000001_ABST
    Figure 2025537040000001_ABST
Patent Text Reader

Abstract

There may be a large number of content items available in current content provider systems. Incentive items may be inserted into content items associated with content categories, for example, which may provide access to view the content items. When an incentive item is selected by a user, the user may be associated with credits toward or awarded a bonus item. Incentive items may have associated preference factors that may be manipulated to increase the probability that such incentive items are presented to the user.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Application No. 17 / 939,286, filed September 7, 2022, and entitled "SYSTEMS AND METHODS FOR INCENTIVIZING CONTENT EXPLORATION," the entire contents of which are incorporated herein by reference. [Background technology]

[0002] As the consumption of content items on electronic devices continues to proliferate, the amount of available content items and information about those content items also continues to proliferate. For example, the number of songs, movies, television programs, and games available for streaming or download has increased significantly in recent years. While this increase in available content items is generally beneficial to users, presenting content items and information of potential interest to individual users can be difficult, in part, due to the large number of available content items and limited screen real estate in which to present them. [Brief explanation of the drawings]

[0003] DETAILED DESCRIPTION OF THE INVENTION The detailed description is described with reference to the accompanying drawings. In each drawing, the leftmost digit(s) of a reference number identifies the drawing in which the reference number first appears. Use of the same reference number in different drawings indicates similar or identical components or features.

[0004] [Figure 1] A diagram illustrating an example environment including a video game distribution platform and a plurality of client computing devices configured to implement the techniques described herein. [Figure 2A] 2 illustrates an exemplary user interface (UI) that the video game distribution platform of FIG. 1 may provide to the client computing device of FIG. 1, according to an embodiment of the present disclosure. [Figure 2B] 2 illustrates an exemplary user interface (UI) that the video game distribution platform of FIG. 1 may provide to the client computing device of FIG. 1, according to an embodiment of the present disclosure. [Figure 3] 1 is a flow diagram of an exemplary process for determining and presenting a content item on a client computing device, according to an embodiment of the present disclosure. [Figure 4] 1 is a flow diagram of an exemplary process for determining and including treasure items within candidate content items for presentation on a client computing device, according to an embodiment of the present disclosure. [Figure 5] 1 is a flow diagram of an example process for facilitating the redemption of treasure items and prizes via a client computing device, according to an embodiment of the present disclosure. [Figure 6] FIG. 1 is a computer architecture diagram illustrating an example computer hardware architecture for implementing a computing device configured to perform the techniques described herein. DETAILED DESCRIPTION OF THE INVENTION

[0005] Described herein are, among other things, techniques, devices, and systems for generating and presenting incentive items among content items presented to a user in a user interface based at least in part on data specific to each user and / or the type of content item being considered for presentation in the user interface. For example, one or more incentive items (“treasure” items) may be included among the content items presented to a user in response to the user requesting the presentation of content items associated with a particular content genre or other criteria. In response to a user selection of such an incentive item, the systems described herein may associate incentive data with the user that the system can use to determine whether the user is eligible for virtual items and / or other prize data. The system may use past user incentive response and / or selection data to determine a presentation order and / or location of one or more unredeemed incentive items among the presented content items that increases the likelihood of the user selecting the incentive item.

[0006] In various embodiments, a remote computing system offering one or more content items, such as game titles, for acquisition may group such items into various categories. These categories may be associated with content genre (e.g., racing games, role-playing games, action games, strategy games, etc.), content type (e.g., single player, multiplayer, etc.), content theme (e.g., anime, horror, space, open world, etc.), content availability (e.g., new release, demo, free, on sale, discount, promotion, limited time availability, etc.), and / or any other criteria that may be associated with a content item. A particular content item may be associated with one or more content categories. In some embodiments, an "all" category may include all available content items, and one or more other categories may be subsets of the "all" category.

[0007] To facilitate user acquisition and / or interaction with content items, the remote computing system may present (e.g., a representation of) content items associated with a particular category on a user interface. However, there may be more content items associated with a particular category than can be clearly presented on a single user interface. For example, the remote computing system may be configured to generate and / or present a user interface with a defined number (e.g., 4, 6, 8, 10, etc.) of icons representing the content items, but there may be more than the defined number of content items available in that category. Thus, the remote computing system may determine a subset of available content items in a particular category to present on the user interface. The remote computing system may also configure the user interface to include a selectable control that allows the user to request another user interface with a different (e.g., different) subset of available content items associated with the category.

[0008] There are various techniques that the remote computing system may use to determine the content item subset to be represented on any particular user interface. For example, the remote computing system may arrange the content item icons on the set of user interfaces in order of popularity (e.g., prioritizing more popular items). Alternatively or additionally, the remote computing system may arrange the content item icons on the set of user interfaces in order of availability (e.g., prioritizing new items, limited-time items, expired items based on availability date, etc.). Alternatively or additionally, the remote computing system may arrange the content item icons on the set of user interfaces in an order determined based on user preferences and / or history (e.g., prioritizing items based on user preferences and / or previously selected themes, types, genres, etc.). Alternatively or additionally, the remote computing system may arrange the content item icons on the set of user interfaces randomly.

[0009] While the order of presentation of content items on a user interface may facilitate presenting items of greater interest to a user, the order of presentation may also result in preventing user exposure to a potentially important portion of the items in a category, as users may often select items in the first few user interfaces in a series without viewing items in later interfaces. To increase the presentation of content items to users, the disclosed systems and methods may be used to generate user interfaces that increase user interaction with various content items associated with a content category.

[0010] For example, the remote computing system may generate and / or determine one or more incentive items (e.g., "treasure" items) that the remote computing system may include among the content items that the remote computing system may present to the user in one or more user interfaces. The remote computing system may determine whether a particular user is eligible for an incentive item based on various criteria, such user interactions with the system (e.g., search control selections (e.g., forward, back, next page, show more, etc.), content item selections, content item previews, etc.). If the user is associated with a sufficient (e.g., threshold) amount of interactions, the system may decide to present the incentive item to the user. The threshold for a sufficient amount of interactions may increase over time, such that a user may be presented with a first incentive item relatively quickly, but may require increasingly greater numbers of interactions with the system to be presented with subsequent incentive items.

[0011] An incentive item may provide benefits and / or content to a user upon selection by the user. For example, an incentive item may include or provide a means to obtain one or more bonus items (e.g., game credits, boosters, badges, level-ups, etc.). Such bonus items may include graphical assets such as emoticons (e.g., chat emoticons), profile badges, profile levels, profile decorations (e.g., background images, skins, avatars, avatar frames, etc.). Alternatively or additionally, an incentive item may include or provide a means to obtain credits for one or more such bonus items. For example, a user may be provided with a bonus item after obtaining a certain number (e.g., 5, 8, 10, etc.) of incentive items. In various embodiments, a user may be presented with a selection of bonus items to choose from upon obtaining several incentive items.

[0012] Incentive items may also, or instead, include content with which a user can interact. For example, an incentive item may include a trivia question that a user can answer to earn bonus items and / or credits toward bonus items. In another embodiment, an incentive item may include a game (e.g., a quick game) that a user can play to earn bonus items and / or credits toward bonus items. In various embodiments, an incentive item may also, or instead, include clues or hints associated with finding additional inventive items and / or finding one or more bonus items. For example, an incentive item may include a list of one or more categories in which other incentive items may be located (e.g., redeemable for credits toward bonus items).

[0013] The remote computing system may determine the placement of incentive items among the content items within a category based on one or more criteria. In embodiments, the remote computing system may determine the placement of the incentive items using preference factors, which may be determined based on such criteria. The preference factors may be used to increase and / or decrease the likelihood of presenting the incentive items on a previous user interface. In various embodiments, the remote computing system may track the amount of interaction by the user (e.g., search control selections (e.g., forward, back, next page, show more, etc.), content item selection, content item preview, etc.) and adjust the preference factors based on such interactions. In some such embodiments, the system may make the incentive items gradually more difficult to find. For example, the remote computing system may determine to insert the incentive items within higher portions of content items that are more likely to be presented on a previous user interface or on a previously presented user interface, so that the incentive items are more likely to be presented to the user. The system may then adjust the preference factor as user interaction increases so that the incentive item is more likely to be presented on later user interfaces, or more likely to be presented within a lower or larger portion of a content item that is more likely to be presented on later-presented user interfaces. In this way, the incentive item may become more difficult to locate over time. Alternatively or additionally, the system may make the incentive item gradually easier to find by adjusting the incentive factor over time and / or with user interaction so that the incentive item is more likely to be presented to the user sooner.

[0014] In various embodiments, the preference factor may represent the denominator of a fraction of one potential user interface in which the incentive item is presented. For example, if the preference factor is 2, the remote computing system may determine a user interface in which the incentive item is presented from among the top half (1 / 2) of the user interfaces (e.g., one of the first five user interfaces in a series of 10). In another embodiment, if the preference factor is 10, the remote computing system may determine a user interface in which the incentive item is presented from among the top tenth (1 / 10) of the user interfaces (e.g., the first user interface in a series of 10). In such embodiments where finding the incentive item is intended to become more difficult over time and / or user interaction, the preference factor may start at a relatively high value (e.g., 10) and may be reduced over time and / or interaction, whereas in embodiments where finding the incentive item is intended to become easier over time and / or interaction, the preference factor may start at a relatively low value (e.g., 1) and may be increased over time and / or interaction.

[0015] The preference factor may alternatively or additionally represent the denominator of a fraction of the ordered candidate content items presented in the user interface. For example, if the preference factor is 2, the remote computing system may determine that the incentive item be inserted in the top half (1 / 2) portion of the candidate content items (e.g., the first 50 of 100 candidate content items). In another example, if the preference factor is 10, the remote computing system may determine that the incentive item be inserted in the top tenth (1 / 10) portion of the candidate content items (e.g., the first 10 of 100 candidate content items). In such embodiments where the incentive item is intended to become more difficult to find over time and / or user interaction, the preference factor may again start at a relatively high value (e.g., 10) and decrease over time and / or interaction, while in embodiments where the incentive item is intended to become easier to find over time and / or interaction, the preference factor may start at a relatively low value (e.g., 1) and increase over time and / or interaction. Alternatively or additionally, the remote computing system may determine the placement of the incentive item within the determined portion of the user interface or candidate content item randomly and / or using one or more other placement determination techniques.

[0016] For example, the remote computing system may use the user's past user interaction data to determine the preference factor and / or placement of the incentive item. If the user has not interacted (e.g., within a threshold period) with content items available on the remote computing system and / or with one or more specific subsets of such content items (e.g., items in one or more specific categories), the remote computing system may set the preference factor of the incentive item to 1. Because the preference factor indicates that the incentive item can be placed anywhere among all candidate content items (e.g., the preference factor is 1 / 1), the remote computing system may randomly insert the incentive item among the ordered candidate content items presented to the user in a series of user interfaces. For example, the remote computing system may detect a user request to display content items in the "action" genre and determine a prioritized set of 100 candidate content items. Based on a preference factor of 1, the remote computing system may then randomly determine a number (e.g., 45) from among the number of candidate content items. The remote computing system may then use this randomly determined number of incentive items to determine when to present the incentive item to the user (e.g., present the incentive item as the 45th candidate content item or any subsequent thereto).

[0017] The remote computing system may track a user's interactions with the content items and / or the user interface and determine adjustments to the preference factors based on such interactions. For example, if a user selects a content item for acquisition or interaction from among a set of candidate content items without selecting an incentive item included in the set of candidate content items, the remote computing system may increase (e.g., increment, double, etc.) the preference factor associated with the incentive item. In another example, if a user performs an action other than selecting an incentive item included in the set of candidate content items (e.g., selecting a control to navigate to the next interface with additional content items), the remote computing system may increase (e.g., increment, double, etc.) the preference factor associated with the incentive item. On subsequent requests for presentation of content items (e.g., a new request for content associated with a category or a request for a subsequent content item associated with the same category), the remote computing system may use this increased preference factor in determining the placement of the incentive item among the candidate content items. If the incentive item remains unselected for subsequent presentation of the candidate content item, the remote computing system may, in some embodiments, again increase the associated preference factor, etc., until the incentive item is placed on the first user interface presented to the user with the candidate content item.

[0018] In some embodiments, the preference factor may be associated with an individual incentive item, while in other embodiments, the preference factor may be associated with a user. When associated with a user, the preference factor may be reset (e.g., to 1) in some embodiments when the user selects the incentive item, while in other embodiments, it may be maintained at its current level following selection of the incentive item. In some embodiments, the preference factor may increase or decrease over time (e.g., based on the amount of time since a user interaction was detected).

[0019] The placement of preference factors and incentive items may be dynamic and / or user-specific. For example, a remote computing system may determine the placement of incentive items in response to a specific request from a particular user for the presentation of one or more content items. The incentive items may be similar in form and appearance to the content items so as to blend with the items represented in the user interface, thereby encouraging the user to carefully examine the represented items and place the incentive items.

[0020] In response to detecting the selection of the incentive item, the remote computing system may generate an incentive interface including a redemption link that may provide a means for the user to obtain the associated incentive item (e.g., a bonus or credit). In various embodiments, the remote computing system may generate a token based on the user, user data, incentive item, incentive item data, and / or other data, and encrypt this token using a private key that may be associated with the user and / or the incentive item and may not be available to any other users and / or the system. The system may also generate a link associated with the encrypted token that, when activated, transmits the encrypted token to the system, allowing the system to verify that the appropriate user is redeeming the incentive item. Alternatively or additionally, the remote computing system may generate such a link using public key encryption and the user's public key. Other techniques may also or instead be used to prevent unauthorized redemption of the incentive item. The user may then obtain the associated credit or bonus item by activating the link using the user's private key. Once the user is verified by this process, the remote system may credit the associated bonus or credit to the user's account or profile. In some embodiments, hints or clues as to the location of additional incentive items may be provided along with credits or bonus items associated with the redeemed incentive item.

[0021] As described above, incentive items may be associated with credits toward bonus items. In various embodiments, the remote computing system may determine that a user may obtain a bonus item based on the user selecting, obtaining, or otherwise redeeming one or more incentive items. The remote computing system may determine a particular bonus item to associate with the user (e.g., with the user's account, profile, etc.). Alternatively or additionally, the remote computing system may present the user with a user interface with a representation of one or more bonus items that the user may select or otherwise activate to obtain one or more such bonus items. In response to the user's selection of one or more bonus items, the remote computing system may associate the bonus items with the user (e.g., with the user's account, profile, etc.).

[0022] The techniques introduced above will now be described with reference to Figures 1-6. The disclosed techniques may be implemented, at least in part, by a remote computing system that delivers content items (e.g., video games, movies, television programs, songs, game titles, etc.) to client devices of a user community (e.g., as part of a video game service, a movie service, a song service). While these techniques are described with respect to games (e.g., video games), it should be understood that these techniques may be applied to any other type of content item, such as books, movies, videos, songs, etc.

[0023] 1 is a diagram illustrating an exemplary environment 100 including a first client computing device (or “client device”) 102(1) operated by a first user 104(1) and a second client computing device 102(2) operated by a second user 104(2). As illustrated, client computing devices 102(1) and 102(2) may communicate with one or more other computing devices over a network 106. For example, client computing devices 102(1) and 102(2) may communicate over network 106 with a remote computing system 108 configured to provide games and / or other content items to the client computing devices (collectively, “devices 102”).

[0024] Client device 102 may be implemented as any suitable type of computing device configured to execute content items, such as video games, movies, songs, etc. Client device 102 may include, but is not limited to, a personal computer (PC), a desktop computer, a laptop computer, a mobile phone (e.g., a smartphone), a tablet computer, a personal digital assistant (PDA), a wearable computer (e.g., a virtual reality (VR) headset, an augmented reality (AR) headset, smart glasses, etc.), an in-vehicle (e.g., in-car) computer, a television (smart TV), a set-top box (STB), a game console, a music player, a voice-controlled assistant, and / or any similar computing device. In some cases, client device 102 may include an integrated display, and in other cases, the client device may be coupled to a respective display device. Additionally, client device 102 may communicate with a remote computing system (“computing system”) 108 via a computer network 106. Computer network 106 may represent and / or include, but is not limited to, the Internet, other types of data and / or voice networks, wired infrastructure (e.g., coaxial cable, fiber optic cable, etc.), wireless infrastructure (e.g., radio frequency (RF), cellular, satellite, etc.), other connection technologies, and / or any combination thereof. Computing system 108 may, in some cases, be part of a network-accessible computing platform that is maintained and accessible via computer network 106. Such network-accessible computing platforms may be referred to using terms such as “on-demand computing,” “software as a service (SaaS),” “platform computing,” “network-accessible platform,” “cloud services,” “data center,” and the like.

[0025] In some embodiments, computing system 108 serves as or has access to a video game platform that implements a video game service to deliver (e.g., download, stream, etc.) video games (or any other type of content item) to client devices, such as client device 102. In one example, each client device may have a client application installed thereon. The installed client application may be a video game client (e.g., game software for playing a video game). Client device 102 with the client application installed may be configured to download, stream, or otherwise receive programs (e.g., video games and their content) from computing system 108 over computer network 106. To this end, any type of content distribution model may be utilized, such as a direct purchase model in which programs (e.g., video games) are individually available for download and execution on client device 102, a subscription-based model, or a content distribution model in which programs are rented or leased for a period of time, streamed, or otherwise made available to the client device. Accordingly, each client device 102 may include one or more installed video games that can be executed by loading a client application.

[0026] Client devices 102 may be used to register with and subsequently log in to a video game service. A user may create a user account for this purpose and specify / configure credentials (e.g., password, PIN, biometric ID, etc.) tied to the registered user account. A user may also, or instead, create a user profile with additional and / or supplemental information (e.g., user information) for this purpose. As users interact with the video game platform (e.g., by accessing their user / player profiles using registered user accounts, playing video games on their respective client devices, etc.), the client devices transmit data to the remote computing system 108. For a given client device 102, the data transmitted to the remote computing system 108 may include, but is not limited to, user input data, video game data (e.g., game performance statistics uploaded to the remote system), social networking messages and related activity, identifiers (IDs) of video games played on the client device 102, incentive items redeemed and / or acquired, bonus items redeemed and / or acquired, browsing and / or search history and related data, browser data and activity, etc. This data can be streamed in real time (or substantially real time), transmitted to the remote system 108 at defined intervals, and / or uploaded in response to an event (e.g., completion of a video game, selection of a control on a user interface, etc.). As introduced above and discussed in further detail below, this data can be used to determine a user's game play history of the client device 102, user preferences, etc., which can be used to determine which game titles (e.g., content items, incentive items, bonus items, icons representing such items, etc.) to recommend to the user and / or the manner (e.g., order) in which game titles are recommended to the user (e.g., in a series of one or more user interfaces).

[0027] For example, user 104(1) may operate client device 102(1) to navigate to a web page or the like associated with computing system 108, and in response, computing system 108 may cause client device 102(1) to present user interface (UI) 110(1) on the display of client device 102(1). In some cases, this UI 110(1) may include information about one or more video games and / or other content items available for acquisition by user 104(1) and from computing system 108. For example, UI 110(1) may include icons associated with each game title, which may be selected by user 104(1) to learn more information about each game title, request acquisition of each game title, etc. In some cases, as illustrated, UI 110(1) may include a first set of item icons (e.g., icons 1-6 of FIG. 1 ) associated with a first category (e.g., a first games category). These icons may represent a subset of the available content items associated with the first category.

[0028] In some cases, the computing system 108 may include one or more incentive items in the set of candidate content items for which items to be displayed on the UI 110(1) have been determined. For example, the computing system 108 may determine multiple content items associated with a particular category ("Category X" in the example of FIG. 1) as candidate content items for display on the UI 110(1) and may determine that the user 104(1) is eligible to be presented with the incentive items, as described in more detail herein. The computing system 108 may then determine an ordered set of candidate items. The computing system 108 may then determine a position of the incentive item within the ordered set of candidate items and insert the incentive item into the ordered set of candidate items. The computing system 108 may then determine a content item to display on a particular UI. For example, as shown in FIG. 1, the computing system 108 may determine that incentive item 5 may be inserted at the fifth position in the ordered set of candidate content items. Computing system 108 may decide to present icons representing candidate content items 1-6 on UI 110(1), with the icon associated with incentive item 5 in the fifth position. As shown in this example, incentive items may be presented differently than typical content items (here, incentive item 5 is shown in UI 110(1) in bold, underlined, and with a thicker outline). User selection of incentive item 5 may cause computing system 108 to generate and / or present additional interfaces to user 104(1) for redeeming or obtaining incentive and / or bonus items, as described in more detail herein.

[0029] In another example, user 104(2) may operate client device 102(2) to navigate to a web page or the like associated with computing system 108, and in response, computing system 108 may cause client device 102(2) to present UI 110(2) on the display of client device 102(2). In some cases, this UI 110(2) may include information about one or more video games and / or other content items available for acquisition by and from user 104(2). For example, UI 110(2) may include icons associated with each game title, which may be selected by user 104(2) to learn more information about each game title, request acquisition of each game title, etc. In some cases, as illustrated, UI 110(2) may include a second set of item icons (e.g., icons 7, 5, 9, 8, 11, and 12 of FIG. 1 ) associated with a second category (e.g., a second games category). These icons may represent a subset of the available content items associated with the second category. As shown here, the icons shown for the first category in UI 110(1) may include some, but not necessarily all, of the icons included in the second category in UI 110(2).

[0030] Again, computing system 108 may include one or more incentive items in the set of candidate content items for which items to be displayed on UI 110(2) have been determined. For example, computing system 108 may determine multiple content items associated with a particular category ("Category Y" in the example of FIG. 1) as candidate content items for display on UI 110(2) and may determine that user 104(2) is eligible to be presented with an incentive item, as described in more detail herein. Computing system 108 may determine an ordered set of candidate items and the position of the incentive item, as described herein, and then determine the content item to display on a particular UI. For example, as shown in FIG. 1, computing system 108 may determine that incentive item 8 may be inserted in the fourth position of the ordered set of candidate content items. Computing system 108 may determine to present icons representing candidate content items 7, 5, 9, 8, 11, and 12 on UI 110(2), the icon associated with incentive item 8 in the fourth position. Again, incentive items may be presented differently than typical content items (here, incentive item 8 is shown in UI 110(2) in bold, underlined, and with a thicker outline). User selection of incentive item 8 may cause computing system 108 to generate and / or present additional interfaces to user 104(2) for redeeming or obtaining incentive and / or bonus items, as described in more detail herein.

[0031] In various embodiments, categories and / or game titles may be selected for presentation to user 104(1) and / or 104(2) based on criteria associated with the user, user selections, user advertising and / or system historical data, content item data, etc. For example, computing system 108 may use information such as sales data for game titles, user preferences, game play history, etc. to select game titles and / or categories to present to user 104. Additionally or alternatively, computing system 108 may use this information (e.g., sales data, preferences, game play history, etc.) to determine an order or other manner in which to present a set of game titles, such as game titles associated with a particular sales event or other promotion. Computing system 108 may use this ordered set of game titles or content items as a set of candidate items into which incentive items may be inserted and from which display items for presentation in the UI may be determined. It should be understood that any other number of content items may be considered for presentation on the UI, and any method of determining the order of presentation of such items may be utilized. Additionally, while this example describes ordering icons based on one or more criteria, it should be understood that techniques may make certain icons more prominent on UI 110 in ways other than ordering, such as making certain icons larger, highlighting certain icons, etc.

[0032] 1 illustrates exemplary components of a computing system 108 for generating respective UIs 110(1) and 110(2). As illustrated, computing system 108 may include one or more processors 112 (e.g., one or more central processing units (CPUs)) and computer-readable media 114, as well as components stored thereon, for generating UIs, such as exemplary UIs 110(1) and 110(2). Computer-readable media 114 may include volatile and non-volatile memory, removable and non-removable media, implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Such memory may include, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, RAID storage, and the like. The computer-readable medium 114 may include a memory system, or any other medium that can be used to store desired information and that can be accessed by a computing device. The computer-readable medium 114 may be implemented as a computer-readable storage medium (“CRSM”), which may be any available physical medium that can be accessed by the processor 112 to execute instructions stored on the computer-readable medium 114. In one basic implementation, the CRSM may include random access memory (“RAM”) and flash memory. In other implementations, the CRSM may include, but is not limited to, read-only memory (“ROM”), electrically erasable programmable read-only memory (“EEPROM”), or any other tangible medium that can be accessed by the processor 112 and that can be used to store desired information.

[0033] As illustrated, the computer-readable medium 114 may store or otherwise have access to an incentive item determination component 116, a candidate content item determination component 118, a bonus item determination component 120, and / or a UI generation component 122. Additionally, the medium 114 may store a library of content items 124, which stores information associated with a user of the computing system 108 that may be used to determine and / or redeem incentive items and / or bonus items, user account and / or profile data 126, incentive item data 128, which may include data associated with the incentive items and associated content described herein, and / or bonus item data 130, which may include data associated with the bonus items and associated content described herein.

[0034] The incentive item determination component 116 may function to determine an incentive item and associated data to present to the user on the UI. For example, the incentive item determination component 116 may determine, based on data associated with the user (e.g., represented in profile data 126), whether the user is eligible to be presented with an incentive item, and if so, which one or more incentive items (e.g., from among multiple available incentive items represented in incentive item data 128) to present to the user. For example, the incentive item determination component 116 may determine whether the user 104(1) has had a sufficient level of interaction with the computing system 108 to be eligible for an incentive item. After determining that the user 104(1) is eligible for an incentive item, the incentive item determination component 116 may determine that incentive item 5 may be presented to the user 104(1) on the UI. The incentive item determination component 116 may also, or instead, determine in a similar manner that the user 104(2) is eligible for an incentive item and that incentive item 8 may be presented to the user 104(2) on the UI.

[0035] The candidate content item determination component 118 may function to determine which content items may be considered for presentation in one or more UIs based on various criteria. For example, the candidate content item determination component 118 may determine content items from among the content item data 124 associated with categories selected by the user 104(1) and / or based on user 104(1) data represented in profile data 126. The candidate content item determination component 118 may also, or instead, order such content items based on various criteria described herein so that the content items may be presented to the user 104(1) in a series of one or more UIs. The candidate content item determination component 118 may also, or instead, similarly, determine content items from among the content item data 124 associated with categories selected by the user 104(2) and / or based on user 104(2) data represented in profile data 126.

[0036] The candidate content item determination component 118 may also, or instead, determine whether to insert an incentive item into this ordered set of candidate content items. For example, the candidate content item determination component 118 may query the incentive item determination component 116 for an incentive item (or an indicator thereof) when determining the set of candidate content items. Alternatively or additionally, the incentive item determination component 116 may proactively send an incentive item (or an indicator thereof) to the candidate content item determination component 118 under various conditions. The candidate content item determination component 118 may receive or obtain an incentive item from the incentive item determination component 116 and / or the incentive item data 128. The candidate content item determination component 118 may insert the received or obtained incentive item into the ordered set of candidate content items. In various embodiments, the candidate content item determination component 118 may determine a position within the ordered set of candidate content items at which to insert the incentive item. Alternatively or additionally, the incentive item determination component 116 may provide this information to the candidate content item determination component 118 (eg, on-demand or proactively).

[0037] For example, the candidate content item determination component 118 may determine a set of candidate content items associated with category “X” for presentation to user 104(1) in the UI. The candidate content item determination component 118 may query the incentive item determination component 116 for data indicative of user 104(1), which may respond with an incentive item 5 and a location or preference factor for the incentive item. The candidate content item determination component 118 may insert the incentive item 5 into the set of candidate content items based on the location or preference factor. Similarly, the candidate content item determination component 118 may determine a set of candidate content items associated with category “Y” for presentation to user 104(2) in the UI and query the incentive item determination component 116 for data indicative of user 104(2). Based on receiving responsiveness data from the incentive item determination component 116 indicating the incentive item 8 and the location or preference factor of the incentive item associated with the user 104(2), the candidate content item determination component 118 may insert the incentive item 8 into the set of candidate content items for category “Y” based on the associated location or preference factor.

[0038] Bonus item determination component 120 may determine, for example, based on profile data 126, incentive item data 128, and / or bonus item data 130, whether a user is eligible for a bonus item (e.g., by sufficient redemption of an incentive item) and / or one or more bonus items that may be redeemed by or otherwise associated with the user. For example, bonus item determination component 120 may determine that user 104(1) is eligible for a bonus item in response to detecting a selection of incentive item 5 by user 104(1). Bonus item determination component 120 may further determine one or more bonus items to which user 104(1) is eligible. In another embodiment, bonus item determination component 120 may determine that user 104(2) is not eligible for a bonus item in response to detecting a selection of incentive item 8 by user 104(2).

[0039] The UI generation component 122 may generate a UI for presentation on a client device. For example, the UI generation component 122 may receive a set of candidate content items (which may include, for example, one or more incentive items) from the candidate content item determination component 118 and may use this set of candidate content items to generate a UI that presents at least a subset of the candidate content items. The UI generation component 122 may then provide the UI for presentation on the client device.

[0040] It should be noted that in some embodiments, various functions and / or components may be distributed across multiple devices, including client devices. For example, one or more of the incentive item determination component 116, the candidate content item determination component 118, the bonus item determination component 120, and / or the UI generation component 122 may be configured on one or both of the client devices 102. Either or both of the client devices 102 may be configured with respect to those and similar components to perform any one or more of the functions described herein (e.g., using the data described herein).

[0041] To provide one example, user 104(1) may navigate client device 102(1) to a web page associated with content items provided by computing system 108. User 104(1) may select a category on that web page, which may trigger a browser on client device 102(1) to send a UI request to computing system 108 that presents content items associated with that category. This request may include data associated with user 104(1).

[0042] In response to receiving this request, the incentive item determination component 116 may determine that the user 104(1) is eligible for the incentive item. The incentive item determination component 116 may further determine that an incentive item 5 may be presented to the user 104(1) and may determine a preference factor for the incentive item 5. The incentive item determination component 116 may provide this information to the candidate content item determination component 118.

[0043] Also, in response to receiving this request, the candidate content item determination component 118 may determine content items associated with the category indicated in the request and the order in which such items should be placed to generate a set of candidate content items (e.g., based on the profile data 126). Based on the information about the incentive item 5 received from the incentive item determination component 116, the candidate content item determination component 118 may insert the incentive item 5 into the candidate content items at a location determined based on the preference factor received from the incentive item determination component 116.

[0044] Candidate content item determination component 118 may provide the ordered set of candidate content items (including incentive items) to UI generation component 122, which may generate and / or provide UI 110(1) to client device 102(1) for presentation to user 104(1). Here, UI 110(1) includes items associated with category "X," including exemplary content items 1-4 and 6, and incentive item 5. Using these components and similar techniques by system 108, UI 110(2) may be generated and presented to user 104(2) with exemplary content items 7, 5, 9, 11, and 12, and incentive item 8.

[0045] 2A illustrates details of exemplary UIs 202 and 208 that computing system 108 may provide to client computing device 102(1) or 102(2), for example. As illustrated, UI 202 may include instructions or representations (e.g., icons) associated with content items associated with category 204. These content items may be ordered and / or otherwise organized based on one or more criteria, such as the preferences or consumption history of a user who initiated a request for presentation in UI 202. For example, UI 202 may include user-selectable icons 206(1), 206(2), 206(3), 206(4), 206(5), and 206(6) that correspond to content items associated with category 204 and that serve as controls to initiate a request for the content represented by such icons.

[0046] In some cases, these displayed content items may be a subset of the ordered set of candidate content items associated with the category 204. The content item presented in the UI 202 may be the highest-ranked and / or initial content item in the set of candidate content items and thus may have been determined to be the display item for the UI 202. The UI 202 may include an incentive item, for example, because the computing system 108 did not determine an incentive item to be included in the subset of the ordered set of candidate content items associated with the category 204 presented in the UI 202 (e.g., because the associated user is not eligible for the incentive item or because the determined incentive item is not included in this particular subset of the ordered set of candidate content items).

[0047] UI 202 may also include one or more controls and other information. For example, UI 202 may include informational messages, text, images, etc. (e.g., "Find the treasure!"). UI 202 may also, or instead, include one or more links or other types of controls that may initiate a request for further UI and / or other actions. For example, UI 202 may include a link (e.g., "Show more" in UI 202) that, upon user activation, may generate a request for another UI that presents a subsequent subset of the ordered set of candidate content items associated with category 204.

[0048] 2A further illustrates UI 208 that may be generated based on detecting activation of a control configured on UI 202. For example, a user may select a link on UI 202 that generates a request for a UI that presents a subset of the ordered set of candidate content items subsequent to those represented in UI 202 and associated with category 204. For example, UI 208 may include user-selectable icons 206(7), 206(8), 206(10), 206(11), and 206(12) that correspond to content items associated with category 204 and that serve as controls to initiate a request for the content represented by such icons.

[0049] In response to this request, computing system 108 may generate and / or provide UI 208, which may include indicators or representations (e.g., icons) associated with the additional content items associated with category 204. These displayed content items may be another (e.g., subsequent) subset of the ordered set of candidate content items associated with category 204 presented in UI 202. The content item presented in UI 202 may be the next highest-ranked and / or subsequent content item in the set based on the order of that set, and thus may be determined to be a display item for UI 208.

[0050] UI 208 may include incentive content item 206(9) based on, for example, computing system 108 determining that a user associated with a request for UI 208 is eligible for the incentive item. Computing system 108 may determine, for example, based on the requesting user, preference factors, and / or other data, that incentive content item 206(9) may be inserted at the ninth position in the ordered set of candidate content items associated with category 204. Because UI 208 includes the seventh through twelfth content items in the ordered set of candidate content items, incentive item 206(9) may be included in this UI.

[0051] As shown here, the incentive content items 206(9) may be represented in a different manner than the non-incentive content items (e.g., in this example, with bold, italic text and shading). In other embodiments, the incentive content items may be represented similarly to the other content items (e.g., as a shading icon similar to the other content item icons), differently from the other content items (e.g., as a type of graphical element different from that used for the content items), or substantially the same as the other content items. Like UI 202, UI 208 may also include one or more controls and other information.

[0052] 2B illustrates details of an exemplary UI 210 that the remote computing system 108 may provide to the client computing device 102(1) in response to detecting a selection by the user 104(1) of an incentive content item 206(9) presented in the UI 208 of FIG. 2A. As described above, the content item, the incentive item, and / or their representations (e.g., icons) may function as controls that may generate requests associated with the respective items. In this example, the user 104(1) may have selected the incentive content item 206(9) in the UI 208 being presented to the user by the client device 102(1). In response to this selection, the client device 102(1) may generate a request for transmission to the computing system 108 requesting redemption of the incentive item.

[0053] In response to this request, computing system 108 may generate and / or transmit UI 210 to client device 102(1) to present to user 104(1). UI 210 may be an incentive item redemption interface that allows user 104(1) to request incentive content item 206(9). As shown in this figure, UI 210 may include a control or link 212 that generates a request for credits for incentive content item 206(9). UI 210 may include informational text, images, data, etc. (e.g., a congratulatory message) associated with link 212. 210 may also include additional information, such as progress information 214 that may indicate progress made by user 104(1) toward obtaining the bonus item (e.g., remaining incentive needed, incentive redeemed so far, etc.). Such additions may also, or instead, include hints or clues 216 that may help user 104(1) locate one or more additional incentive content items (e.g., suggested categories for further exploration).

[0054] Link 212 may include and / or be associated with one or more security measures intended to limit acquisition of the associated incentive item to appropriate users (e.g., user 104(1)). For example, link 212 may be associated with a token encrypted using a private key available only to computing system 108 and decryptable only using this private key. Thus, when user 104(1) clicks on link 212, client device 102(1) may (e.g., automatically) transmit the encrypted token to computing system 108, which may then decrypt the token and verify that user 104(1) is associated with incentive content item 206(9). However, if link 212 is activated by another user, the information transmitted with the token (e.g., user information) will not match the information in the decrypted token, and acquisition of incentive content item 206(9) using link 212 will be impossible.

[0055] FIG. 3 illustrates a flow diagram of an exemplary process 300 for determining content items to present to a user on a user interface. This process, and each process described herein, is illustrated as a collection of blocks in a logical flow graph, which represent a sequence of operations that may be implemented in hardware, software, or a combination thereof. In the software context, the blocks represent computer-executable instructions, which, when executed by one or more processors, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, etc. that perform particular functions or implement particular abstract data types. The order in which the operations are described is not intended to be construed as limiting, and any number of the described blocks can be combined in any order and / or in parallel to implement a process. In some cases, the computing system 108 may be configured to perform some or all of the operations, while in other cases, other devices may additionally or alternatively perform some or all of the operations. For example, some or all of the techniques described herein may in some cases be performed on the client device itself.

[0056] At operation 302, computing system 108 may receive a request from a user computing device, such as client device 102(1) or 102(2), for one or more content items. For example, computing system 108 may receive a request for a UI that presents content items associated with a particular content category, such as a request to browse or search for action games, multiplayer games, on-sale games, etc. The request may include other data, such as user identification data, timestamp data, authentication data, encryption data, etc.

[0057] At operation 304, the computing system 108 may determine a set of candidate content items for presentation to the requesting user. For example, the computing system 108 may obtain data associated with (e.g., all) content items associated with the category indicated in the received request. Alternatively or additionally, the computing system 108 may obtain the candidate content item data based on user data, such as user profile information, user account information, past interaction information, user preferences, etc. Other information may also, or instead, be used to determine the candidate content items for presentation to the user in response to the request received at operation 302.

[0058] Additionally, in operation 304, the computing system 108 may order the candidate content items to determine an ordered set of candidate content items. The order may be based on one or more criteria such as relevance, recency (e.g., priority given to newest or oldest items, priority given by availability date), price (e.g., highest to lowest, or vice versa), popularity, user preferences, past interaction information, etc.

[0059] At operation 306, the computing system 108 may determine whether the user is eligible for an incentive item and / or whether the incentive item is included in an ordered set of candidate content items that may be used to determine items to be displayed on one or more UIs. For example, the incentive item may be provided to the user based on user interaction. User interaction may be determined based on various criteria. In some embodiments, a threshold amount of user interaction may be required before the incentive item is available to the user.

[0060] For example, user interaction may be determined based on an amount of interaction time associated with the user. For example, the system may determine whether the user has interacted with the computing system 108 (e.g., played a game, logged in, etc.) for at least a threshold period over a particular period (e.g., a week, 30 days, 60 days, etc.). In another example, user interaction may be determined based on an amount of interaction associated with the user. For example, the system may determine whether the user has interacted with a threshold number of different programs or items (e.g., played a sufficient number of different games) over a particular period (e.g., a week, 30 days, 60 days, etc.). In another example, user interaction may be determined based on an interaction quality associated with the user. For example, the system may determine whether the user has spent a threshold amount interacting with the system, viewed a threshold number or advertisements, is a particular type of member, etc. Any other criteria and / or any combination thereof may be used by the computing system 108 to determine whether the user is eligible for an incentive item in operation 306.

[0061] If the computing system 108 determines that the user is not eligible for an incentive item, the computing system 108 may use the set of candidate content items without the inserted incentive item to determine display items for the UI at operation 310. For example, the computing system 108 may determine the number of content items that can be represented in a particular type of UI and sequentially select that number of items from the set of candidate content items for display on the UI. The computing system 108 may then generate and / or provide the UI to the user computing device for presentation to the user at operation 312.

[0062] If the computing system 108 determines in operation 305 that the user is eligible for an incentive item, then in operation 308, the computing system 108 may insert one or more incentive items into the set of candidate content items. The computing system 108 may also, or instead, generate an encrypted token for the user (e.g., based on user data) and associate the token with the incentive item. In various embodiments, the remote computing system may generate a link associated with the encrypted token that, when activated, transmits the encrypted token to the system, enabling the system to verify that the appropriate user is redeeming the incentive item. The computing system 108 may insert the incentive item, the token, the link, and / or any combination thereof into the set of candidate content items. In various embodiments, the computing system 108 may use various techniques to determine the placement or location of the incentive item, multiple incentive items, associated tokens and / or links, and / or the incentive item, token, and / or link in the set of candidate content items (see, e.g., FIG. 4 and related discussion).

[0063] Once an incentive is included in the set, computing system 108 may use the set of candidate content items to determine display items for the UI at operation 310. The determined display items may or may not include an incentive item. For example, as described above, computing system 108 may determine the number of content items that can be represented in a particular type of UI and sequentially select that number of items from the set of candidate content items for display on the UI. The incentive item may be in a portion of the set of candidate content items that is outside of the number of items in the set of candidate content items selected for display on the UI. In such an embodiment, the incentive item may be selected for a subsequent UI. Computing system 108 may then generate and / or provide the UI to the user computing device for presentation to the user at operation 312.

[0064] 4 illustrates a flow diagram of an example process 400 for determining content items, including incentive items, for presentation to a user on a user interface. This process may also be performed by a remote computing system 108, a client device, or any other computing device. At operation 402, the computing system 108 may determine that one or more incentive items are included among the candidate content items to be considered for presentation to the user. For example, the computing system 108 may determine that the incentive items are included in an ordered set of candidate content items used to determine display items for one or more UIs in a series of UIs. The determined incentive items may have associated preference factors that can be used to determine the position of the incentive items among the ordered candidate content items, as described herein.

[0065] At operation 404, the computing system 108 may determine whether one or more incentive items are included in a previous candidate content item. In various embodiments, the same incentive item may be included among the candidate content items that may be presented to the user until selected by the user and / or until the incentive item expires and / or times out. For example, once a user becomes eligible for an incentive item, the incentive item may be included in each subsequently generated UI presenting the associated content item until the item is selected by the user. Incentive items may also have an expiration date or lifespan. In such embodiments, if an item is not selected by the user before its expiration date or lifespan, the item may be removed from consideration for inclusion in the set of candidate content items.

[0066] If, at operation 404, the computing system 108 determines that the incentive item has not been included in a previous candidate content item, then process 400 may proceed to operation 408, where the incentive item may be inserted into the current candidate content item using its current (e.g., unchanged, default) preference factor. In various embodiments, the preference factor may be used to increase the likelihood that a particular incentive item will be presented to a user. In such embodiments, a larger preference factor may result in the incentive item being included in the UI sooner than a smaller preference factor (e.g., as described herein, the preference factor may be used as the denominator of a top fraction of the candidate content item into which the incentive item is inserted). In such embodiments, if the incentive item has not been inserted into the candidate content item (e.g., within a recent period), then a default preference factor may be used. The default preference factor may be a relatively low preference factor that may essentially result in a random selection of the incentive item's position within the candidate content item.

[0067] If, in operation 404, the computing system 108 determines that the incentive item was included in a previous candidate content item, then, in operation 406, the preference factor of the incentive item may be adjusted (e.g., increased, decreased, incremented, decremented, etc.). Adjusting the preference factor may increase (or ensure) the likelihood that the incentive item will be presented to the user earlier in the series of UIs. For example, an increased preference factor may ensure that the incentive item is positioned higher in the set of candidate content items (e.g., as described herein, the preference factor may be used as the denominator of a top fraction of candidate content items into which the incentive item is inserted). As the preference factor increases, the probability that the incentive item will be presented to the user may also increase. In some embodiments, the preference factor may have a maximum or minimum value that ensures its inclusion in the first UI presented to the user in the series of UIs. The preference value and the technique for adjusting the preference value over time and / or the iterations of generating the set of candidate content items may be adjusted based on the goals of the system operator.

[0068] In operation 408, the incentive item may be inserted into the candidate content items based on the preference factors (default or adjusted). In various embodiments, the position of the incentive item within the ordered set of candidate content items may be determined based on the preference factors, and the remaining content items may be adjusted to conform to this positioning.

[0069] At operation 410, computing system 108 may determine the number of display items for a particular UI based on the candidate content items. For example, computing system 108 may determine that there are a certain number of UIs needed to display all of the content items associated with a particular category (e.g., 10 UIs, each displaying 10 items, are needed to display 100 items total). Computing system 108 may determine, in order, the top number of items for a first UI, the next number of items for subsequent UIs, and so on. Computing system 108 may then generate, transmit, and / or otherwise provide a UI with the determined display items to a user computing device, such as client device 102(1) or 102(2), at operation 412.

[0070] FIG. 5 illustrates a flow diagram of an example process 500 for associating data representing incentive items and bonus items with a user. This process may be performed by a remote computing system 108, a client device, or any other computing device. At operation 502, the computing system 108 may detect a user selection of an incentive item (e.g., incentive content item 206(9) of FIG. 2A). For example, the user may use a client device to select an incentive content item from among a set of display items presented on a UI and determined from an ordered set of candidate content items (e.g., as described herein). The indication of the user selection may be a request for a UI (e.g., a web page), which may include user information, item information, user device information, etc.

[0071] In response to detecting this user selection, the computing system 108 may send or otherwise provide a link to the user (e.g., to a client device associated with the user) at operation 504. For example, the computing system 108 may generate a UI, such as UI 210 of FIG. 2B , that includes a link, control, and / or instructions for transmitting the encrypted token to the computing system 108 (e.g., the link may be embedded in the UI with such instructions). As described herein, this token may be based on the incentive item and / or a token associated with the incentive item.

[0072] When an appropriate user activates this link, for example, in operation 506, the user's device may (e.g., automatically) transmit an associated encrypted token to the computing system 108 to access the incentive item. The token may be transmitted along with user and / or incentive item data. The computing system 108 may decrypt the token and compare the user and / or incentive item data represented therein with the user and / or incentive item data received with the encrypted token to ensure they match (e.g., the appropriate user is redeeming the incentive item). Because an unauthorized user does not have the appropriate associated user data and / or incentive data, the computing system 108 recognizes that the token does not match the unauthorized user and / or incentive and, therefore, does not credit the incentive item to the unauthorized user.

[0073] At operation 508, the computing system 108 may credit an incentive associated with the user (e.g., add points to the user account, associate the user with a puzzle piece or map section, etc.) in response to detecting the user activation of the link at operation 506 and validating the user using the token. The computing system 108 may also notify the user that an incentive has been awarded.

[0074] At operation 510, the computing system 108 may determine whether the user is eligible for a bonus item, for example, due to the redemption of the incentive item at operation 508. In various embodiments, the user may have the opportunity to obtain multiple incentive items. If a sufficient number (e.g., all) of such incentive items are collected, the user may be eligible for the bonus item. In other embodiments, a single incentive item may result in the awarding of the bonus item. The computing system 108 may track the incentive items and bonus items associated with a particular user (e.g., in the user account and / or profile data).

[0075] If the computing system 108 determines that the user is not eligible for a bonus item (e.g., due to insufficient incentive item acquisition), the system may return to operation 502 to detect a subsequent incentive item selection. However, if the computing system 108 determines that the user is eligible for a bonus item (e.g., due to sufficient incentive item acquisition), at operation 512, the computing system 108 may generate, transmit, and / or otherwise present to the user a bonus item redemption UI that may enable the user to acquire the bonus item. The bonus item UI, in some embodiments, may provide a link to the bonus item, similar to the encrypted link described herein for use in redeeming an incentive item. Alternatively, the bonus item UI may provide multiple bonus items from which the user may select one or more bonus items. Upon selection of such one or more bonus items, the computing system 108 may generate or otherwise provide a subsequent UI that may include a link to the selected bonus item (e.g., encrypted as described herein for use in redeeming the incentive item). In various embodiments, alternative means may be implemented that allow for the selection of one or more bonus items and / or provide one or more bonus items.

[0076] 6 is a computer architecture diagram showing an illustrative computer hardware architecture for implementing a device 600 that can be utilized to practice aspects of the various techniques presented herein. The computing system 108 and / or client device 102 described herein may include some or all of the components discussed below with reference to device 600.

[0077] The computing resources described herein may be provided by a cloud computing network, a data center, etc., and may be data processing resources such as virtual machine (VM) instances or hardware computing systems, database clusters, computing clusters, storage clusters, data storage resources, database resources, networking resources, etc. Some devices 600 may also be configured to execute a resource manager capable of instantiating and / or managing computing resources. In the case of VM instances, for example, the resource manager may be a hypervisor or another type of program configured to enable the execution of multiple VM instances on a single server device 600. Devices 600 in a data center may also be configured to provide network services and other types of services.

[0078] Device 600 includes a baseboard 602, or "motherboard," which is a printed circuit board to which multiple components or devices can be connected via a system bus or other electrical communication pathways. In one illustrative configuration, one or more central processing units (CPUs) 604 work in conjunction with a chipset 606. CPU 604 can be a standard programmable processor that performs the numerical and logical operations necessary for the operation of device 600.

[0079] CPU 604 performs operations by transitioning from one discrete physical state to the next through the manipulation of switching elements that distinguish and change these states. Switching elements generally include electronic circuits that maintain one of two binary states, such as flip-flops, and electronic circuits that provide an output state based on a logical combination of the states of one or more other switching elements, such as logic gates. These basic switching elements can be combined to create more complex logic circuits, including registers, adder-subtractors, arithmetic logic units, floating-point units, etc.

[0080] Chipset 606 provides an interface between CPU 604 and the components on baseboard 602 and the rest of the device. Chipset 606 may provide an interface to RAM 608, which is used as the main memory of device 600. Chipset 606 may also provide an interface to a computer-readable storage medium, such as read-only memory (ROM) 610 or non-volatile RAM (NVRAM), for storing basic routines that help start up device 600 and transfer information between the various components and the device. ROM 610 or NVRAM may also store other software components necessary for operation of device 600 in accordance with the configurations described herein.

[0081] Device 600 can operate in a networked environment using logical connections to remote computing devices and computer systems over a network, such as a local area network 624. Chipset 606 can include functionality for providing network connectivity through a network interface card (NIC) 612, such as a Gigabit Ethernet adapter. NIC 612 can connect device 600 to other computing devices over the network. It should be understood that multiple NICs 612 can be present in device 600 to connect the computer to other types of networks and remote computer systems.

[0082] The device 600 may be connected to a storage device 618 that provides non-volatile storage for the computer. The storage device 618 may store an operating system 620, programs 622, and data, as described in more detail herein. The storage device 618 may be connected to the device 600 through a storage controller 614 connected to the chipset 606. The storage device 618 may be comprised of one or more physical storage units. The storage controller 614 may interface with the physical storage units via a serial attached SCSI (SAS) interface, a serial advanced technology attachment (SATA) interface, an FC interface, or any other type of interface for physically connecting and transferring data between the computer and the physical storage units.

[0083] Device 600 can store data on storage device 618 by transforming the physical state of the physical storage unit to reflect the information being stored. In various embodiments herein, the particular transformation of the physical state may depend on a variety of factors, including, but not limited to, the technology used to implement the physical storage unit, whether storage device 618 is characterized as a primary or secondary storage device, etc.

[0084] For example, device 600 may store information in storage device 618 by issuing instructions via storage controller 614 to alter the magnetic properties of specific locations within a magnetic disk drive unit, the reflective or refractive properties of specific locations within an optical storage unit, or the electrical properties of specific capacitors, transistors, or other individual components within a solid-state storage unit. Other transformations of physical media are possible without departing from the scope and spirit of this description, and the foregoing examples are provided only to facilitate this description. Device 600 may further read information from storage device 618 by detecting the physical state or properties of one or more specific locations within the physical storage unit.

[0085] In addition to the mass storage device(s) 618 discussed above, device 600 may have access to other computer-readable storage media for storing and retrieving information such as program modules, data structures, or other data. It should be understood by those skilled in the art that computer-readable storage media are any available media that provide non-transitory storage of data and that can be accessed by device 600.

[0086] By way of example, and not limitation, computer-readable storage media may include volatile and non-volatile, removable and non-removable media implemented in any manner or technology, including, but not limited to, RAM, ROM, erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory or other solid-state storage memory technology, compact disc ROM (CD-ROM), digital versatile disc (DVD), high definition DVD (HD-DVD), Blu-ray or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device, or any other medium that can be used to store desired information in a non-transitory manner.

[0087] As briefly described above, storage device 618 may store operating system 620 utilized to control the operation of device 600. According to one embodiment, the operating system includes the LINUX operating system. According to another embodiment, the operating system includes the WINDOWS® SERVER operating system from MICROSOFT CORPORATION of Redmond, Washington. According to a further embodiment, the operating system may include the UNIX® operating system or one of its variants. It should be understood that other operating systems may also be utilized. Storage device 618 may store programs and data for other systems or applications utilized by device 600.

[0088] In one embodiment, storage device 618 or other computer-readable storage medium is encoded with computer-executable instructions that, when loaded into device 600, transform the computer from a general-purpose computing system into a special-purpose computer capable of implementing the embodiments described herein. These computer-executable instructions transform device 600 by specifying how CPU 604 transitions between states, as described above. According to an embodiment, device 600 has access to a computer-readable storage medium that stores computer-executable instructions that, when executed by device 600, perform the various processes described above with respect to FIGS. 3-5. Device 600 may also include a computer-readable storage medium having instructions stored thereon for performing any of the other computer-implemented operations described herein.

[0089] Device 600 may also include one or more input / output controllers 616 for receiving and processing input from a number of input devices, such as a keyboard, a mouse, a touchpad, a touchscreen, an electronic stylus, or other types of input devices. Similarly, input / output controller 616 may provide output to a display, such as a computer monitor, a flat panel display, a digital projector, a printer, or other type of output device. It will be understood that device 600 may not include all of the components shown in FIG. 6, may include other components not explicitly shown in FIG. 6, or may utilize an entirely different architecture than that shown in FIG. 6.

[0090] The device 600 may also store, in the storage device 618, the incentive item determination component 116, the candidate content item determination component 118, the bonus item determination component 120, the UI generation component 122, and / or one or more of the additional elements described above with reference to FIGS. 1-5.

[0091] While the present invention has been described with reference to specific examples, it should be understood that the scope of the invention is not limited to these specific examples. Since other modifications and variations that adapt to particular operating requirements and environments will be apparent to those skilled in the art, the present invention is not to be deemed limited to the examples selected for purposes of disclosure, but rather covers all changes and modifications that do not depart from the true spirit and scope of the invention.

[0092] Although the present application describes embodiments having specific structural features and / or methodological acts, it should be understood that the claims are not necessarily limited to the specific features or acts described. Rather, the specific features and acts merely illustrate some embodiments that may be within the scope of the present application's claims.

Claims

1. 1. A method comprising: receiving a request for content associated with a content category from a computing device associated with a user; determining a plurality of content items based at least in part on the content categories; determining an incentive item based at least in part on the user; ordering the plurality of content items to determine an ordered set of candidate content items; determining a position of the incentive item within the ordered set of candidate content items based at least in part on a preference factor associated with the incentive item; inserting the incentive item into the ordered set of candidate content items at the location; determining a subset of the ordered set of candidate content items for display on a user interface; causing the computing device to display the user interface.

2. detecting a user selection of the incentive item; determining, based at least in part on the user, an encrypted token associated with the incentive item and the user; The method of claim 1 , further comprising: causing the computing device to display a second user interface that includes a link associated with the encrypted token.

3. 3. The method of claim 2, wherein determining the encrypted token comprises generating the encrypted token using a private key to encrypt data associated with the user.

4. The method of claim 1 , wherein the subset of the ordered set of candidate content items includes the incentive item.

5. 2. The method of claim 1, further comprising increasing the preference factor based at least in part on detecting a user selection of an item from the subset of the ordered set of candidate content items that is not the incentive item.

6. determining a second position of the incentive item within the ordered set of candidate content items based at least in part on the preference factor associated with the incentive item; inserting the incentive item into the ordered set of candidate content items at the second position; determining a second subset of the ordered set of candidate content items for display on a second user interface; The method of claim 5 , further comprising: causing the computing device to display the second user interface.

7. The method of claim 6 , wherein the second subset of the ordered set of candidate content items includes the incentive item.

8. 1. A system comprising: one or more processors; one or more computer-readable media storing computer-executable instructions, which, when executed, cause the one or more processors to: determining an incentive item based at least in part on a user associated with the request for content; determining a location of the incentive item within a plurality of content items associated with the content based at least in part on a preference factor associated with the incentive item; inserting the incentive item at the location within the plurality of content items; generating, at a user computing device, a user interface that includes a subset of the plurality of content items.

9. generating the user interface, configuring, on the user interface, a plurality of user-selectable icons corresponding to respective content items of the subset of the plurality of content items; and configuring on the user interface a user-selectable incentive item icon corresponding to the incentive item.

10. The operation is detecting a selection of a user-selectable incentive item icon; 10. The system of claim 9, further comprising: generating a second user interface including a user-selectable control for obtaining the incentive item based at least in part on detecting the selection of a user-selectable incentive item icon.

11. The system of claim 10 , wherein the user-selectable control comprises a token encrypted based at least in part on a private key and data associated with the user.

12. The operation is detecting a selection of a user-selectable icon from among the plurality of user-selectable icons; The system of claim 9 , further comprising: increasing the preference factor based at least in part on detecting the selection of the user-selectable icon.

13. The operation is determining a second position of the incentive item within the plurality of content items based at least in part on the increased preference factor; inserting the incentive item at the second location within the plurality of content items; The system of claim 12 , further comprising: generating, at the user computing device, a second user interface including a second subset of the plurality of content items.

14. The operation is user preferences, Past user data, The availability date of the content item, or The system of claim 8 , further comprising ordering the plurality of content items based on at least one of: a price of the content item;

15. One or more computer-readable media storing computer-executable instructions that, when executed, cause one or more processors to: receiving a request for content associated with a content category; determining a plurality of content items associated with the content category; determining an incentive item based at least in part on the user indicated in the request; determining a location of the incentive item within the plurality of content items based at least in part on a preference factor associated with the incentive item; inserting the incentive item at the location within the plurality of content items; determining a subset of the plurality of content items based at least in part on a user interface; and transmitting, to a user computing device, instructions to cause the user computing device to display the user interface including the subset of the plurality of content items.

16. 16. The one or more computer-readable media of claim 15, wherein determining the subset of the plurality of content items is further based at least in part on a quantity of content items available to be represented on the user interface.

17. The operation is detecting a selection of the incentive item; 16. The one or more computer-readable media of claim 15, further comprising: based at least in part on detecting the selection of the incentive item, sending instructions to the user computing device that cause the user computing device to display a second user interface that includes a link to obtain the incentive item.

18. 20. The one or more computer-readable media of claim 17, wherein the second user interface further comprises information associated with locating a second incentive item.

19. 20. The one or more computer-readable media of claim 17, wherein the second user interface further comprises information associated with obtaining an incentive item associated with the user.

20. 16. The one or more computer-readable media of claim 15, wherein the user interface further comprises a control for sending a request for a second user interface that includes a second subset of the plurality of content items.