Users have increasingly come to expect that software and online services will provide them with a personalized experience. For some time, users have had the ability to customize the appearance of a software application or online service, for example by specifying a particular color background, or by selecting a particular layout, or by selecting functional widgets to be displayed on a home screen. Users can also subscribe to particular notifications—e.g., they can subscribe to receive scores for a favorite sports team, or to receive news updates from a source that they trust. In these cases, however, the user is receiving a particular personalized experience because the user made an explicit choice to ask for that experience.
It is possible to predict what sort of personalized experience a user is likely to want, by inferring certain attributes about the user. For example, if a user frequently “checks in” at tapas restaurants, one can infer that the user is a tapas enthusiast. If the user attends a Seattle Mariners game once a week in the summer, it is possible to infer that the user is a Mariners fan. Some systems that have obtained user permission to analyze a user's behavior may assign a “badge” to the user based on such inferences, where the badge describes some attribute or behavioral pattern of the user. However, systems that draw these inferences and that personalize an experience based on the inferences run the risk of offending the user. Some users find it intrusive, and are left with a sense that they are secretly being “watched”, when the system customizes the experience form them in a way that appears too accurate—particularly when the users do not understand how the system determined to customize the experience in a particular way.
A user experience may be customized by associating activities with a badge, and allowing the activities to be initiated for the user. With a user's permission, a system may gather information about the user and may assign badges to the user based on that behavior. The system may then initiate activities based on the user's badges. The user may be given the opportunity to choose which activities to associate with the badge, and may also be offered additional activities in exchange for the user's providing some information about himself or herself. Moreover, different activities may be initiated based on context—e.g., the same badge might cause one activity to be initiated when the user is traveling with his smart phone, and may cause a different activity to be initiated when the user is at home using his tablet.
For example, if the user has a badge indicating that he holds a reservation on a particular flight, then activities such as “check me in” and “report on traffic” may be associated with that badge. If the user is on his way to the airport with his smart phone, the phone may initiate the “report on traffic” action. If the user is using a tablet at home (or even if the user is not presently using any device), the badge may initiate the “check me in” action.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Users have increasingly come to expect a personalized experience when the use devices or online services. One way to personalize the user's experience is to assign badges to the user, where the badge represents some attribute of the user, a pattern of behavior, or an arbitrary fact about the user. In some cases, these attributes, patterns, and facts are self-reported by the user, while in some cases the facts are gleaned or inferred from the user's behavior (with the user's permission, in order to preserve the user's interest in privacy).
The subject matter herein associates activities with badges, and initiates those activities based on the badges that have been assigned to the user, and also based on various aspects of the current context. Based on either inference or self-reporting, a badge is assigned to the user, and certain activities may be associated with the badge. The user may be shown the badge and the associated activities, and may be given the chance to turn some of the activities on or off, or to configure the activities. The user may also be offered the chance to associate additional activities with the badge by voluntarily providing additional information about himself.
For example, the user might choose to give the system access to his patterns of checking in at retail establishments, and those patterns might indicate that the user frequents tapas restaurants. The user could then be assigned the tapas badge. The tapas badge may be associated with the activity “alert me when a tapas restaurant in nearby.” A user interface may be provided that allows the user to enable or disable this activity. The interface may also ask the user if he or she is interested in receiving tapas recipes and, if so, to turn on the “alert me to new tapas recipes” badge. In this way, the user provides information to the system about his interest in recipes, and, in exchange, gets a new activity associated with the badge. A system may initiate these activities based on the fact that the activities are associated with the badge, but also based on context. Examples of context include where the user is and what device the user is using. For example, if the user is traveling with his smart phone, then the “alert me when a tapas restaurant in nearby” activity may be initiated when the user is within one mile of a tapas restaurant. When the user is at home using a tablet in his kitchen, the “alert me to new tapas recipes” activity may be initiated.
Turning now to the drawings,
At 104, the system may receive, from the user, information about the user's interests. For example, the user may self-report that the user is interested in the Seattle Mariners, tapas restaurants, Renaissance paintings, etc. The user may also indicate an interest in a specific event—e.g., a concert, a particular airline flight, etc.
At 106, a set of badges for the user is created. For example, a user might self-report his or her home address, an interest in a sports team, a flight that he or she is scheduled to take, etc. A badge may be created based on that self-reported interest (block 108). As another example, a badge may be created from inferences that the system draws about the user from the user based on the user's recurring behavior (block 110). For example, if the user frequently “checks in” at tapas restaurants, then the system may infer that the user is a tapas enthusiast. If the user frequently attends games for a particular sports team, the system may infer that the user is a fan of that sports team. If the user frequently travels a particular route by car, bus, or train, the system may infer that the route is part of the user's commute. (Of course, information about where the user checks in, what events the user attends, or what routes the user travels, may be obtained pursuant to appropriate permission in order to preserve the user's interest in privacy.) Based on any inferred attributes of the user, a badge may be created—e.g., a user who frequently checks in at tapas restaurants may be assigned the “tapas lover” badge. In addition to the foregoing, badges may be assigned based on any other attributes about the user, which may be ascertained in any appropriate manner (block 112).
At 114, a set of activities may be associated with a badge. For example, if the user has the “Seattle resident” badge, then activities associated with Seattle may be associated with the badge. Such activities might include checking the weather for Seattle, checking traffic reports for Seattle, notifying the user of new restaurants opening in Seattle, or any other activities that are geographically associated with the locale of Seattle. As another example, the user might receive a badge indicating that he or she is taking American Airlines flight 312 in the near future (e.g., the “AA312” badge). Activities associated with such a badge might include flight status reports, offering a chance to select seats, checking traffic on the way to the airport near the time of the flight, etc. If the user has the tapas lover badge, then activities associated with that badge might be alerting the user as to the opening of new tapas restaurants, displaying videos featuring information about tapas, displaying tapas recipes, etc.
It is noted that the act of associating an activity with a badge does not mean that the activity would have to be performed in all contexts. As discussed below, the actual activities that are performed based on the badge may be based on the context in which the user is interacting with a device. (E.g., the tapas lover badge might point the user to different tapas restaurants while the user is traveling with his or her smart phone, but might show the user a tapas recipe if the user is using a tablet in the kitchen.)
At 116, context triggers may be detected. Context triggers might include the user's location, the device that the user is using, whether the user is moving or stationary, the current time, whether the user is actively using a device at a particular time, what the user is doing on that device, or any other facts that make up the current context. At 118, an activity is chosen based on the detected context. For example, continuing with the tapas example above, if the user has the tapas lover badge and the user is traveling with his or her smart phone near a tapas restaurant, the phone might choose to alert the user that a tapas restaurant is nearby. If the user is watching a television program and a cooking show featuring tapas is on another channel, the system might display an alert on the television indicating that a tapas program is on, and might ask the user if he or she wants to switch channels or record the program. If the user is in the kitchen, the system might choose to display a tapas recipe. Any of these are examples of activities that could be chosen based on context. Some additional examples of activities include the following: A search could be performed, and the rankings of results could be altered based on a badge (e.g., for a user who has the tapas badge, the tapas restaurants could appear higher in the rankings). Or, results could be annotated with badge-based information, such as “this restaurant appears in the results because you like tapas.” Or, additional user interface elements could be displayed on a web page, a device home page, or on some other canvas.
At 120 the chosen activity is initiated on some device associated with the user.
Each badge may be associated with a number of actions, some or all of which may be configured by the user.
The interface shown in
In
In
Device 700 includes one or more processors 702 and one or more data remembrance components 704. Processor(s) 702 are typically microprocessors, such as those found in a personal desktop or laptop computer, a server, a handheld computer, or another kind of computing device. Data remembrance component(s) 704 are components that are capable of storing data for either the short or long term. Examples of data remembrance component(s) 704 include hard disks, removable disks (including optical and magnetic disks), volatile and non-volatile random-access memory (RAM), read-only memory (ROM), flash memory, magnetic tape, etc. Data remembrance component(s) are examples of computer-readable storage media (or device-readable storage media). Device 700 may comprise, or be associated with, display 712, which may be a cathode ray tube (CRT) monitor, a liquid crystal display (LCD) monitor, or any other type of monitor.
Software may be stored in the data remembrance component(s) 704, and may execute on the one or more processor(s) 702. An example of such software is badge-based activity initiation software 706, which may implement some or all of the functionality described above in connection with
The subject matter described herein can be implemented as software that is stored in one or more of the data remembrance component(s) 704 and that executes on one or more of the processor(s) 702. As another example, the subject matter can be implemented as instructions that are stored on one or more computer-readable (or device-readable) media. Such instructions, when executed by a computer, device, or other machine, may cause the computer, device, or other machine to perform one or more acts of a method. The instructions to perform the acts could be stored on one medium, or could be spread out across plural media, so that the instructions might appear collectively on the one or more computer-readable (or device-readable) media, regardless of whether all of the instructions happen to be on the same medium.
Computer-readable (or device-readable) media includes, at least, two types of computer-readable media, namely computer storage media and communication media. Likewise, device-readable media includes, at least, two types of device-readable media, namely device storage media and communication media.
Computer storage media (or device storage media) includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data. Computer storage media (and device storage media) includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that may be used to store information for access by a computer or other type of device.
In contrast, communication media may embody computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transmission mechanism. As defined herein, computer storage media does not include communication media. Likewise, device storage media does not include communication media.
Additionally, any acts described herein (whether or not shown in a diagram) may be performed by a processor (e.g., one or more of processors 702) as part of a method. Thus, if the acts A, B, and C are described herein, then a method may be performed that comprises the acts of A, B, and C. Moreover, if the acts of A, B, and C are described herein, then a method may be performed that comprises using a processor to perform the acts of A, B, and C.
In one example environment, device 700 may be communicatively connected to one or more other devices through network 708. Device 710, which may be similar in structure to device 700, is an example of a device that can be connected to device 700, although other types of devices may also be so connected.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.