Extensible user context system for delivery of notifications
First Claim
1. A computer-readable storage medium having computer-executable components for implementing a method for controlling a delivery of notifications on a personal computing device, comprising:
- declaring a plurality of user contexts including at least a first user context, a user context comprising a condition that is true or false and an instruction that is to be followed if the condition is true wherein the condition is derived from one or more applications executing on the personal computing device;
defining a first rule that, in combination with the first user context, forms a dynamic context that specifies how to deliver a notification containing a first specified element when the first user context is true, wherein the first specified element is a variable value defined by a value within a current user context;
defining a second rule that dictates how to control the delivery of notifications that contain at least a second specified element;
receiving notifications from a plurality of sources wherein the plurality of sources includes the one or more applications, the notifications including a first notification containing a first specified element and a second notification containing a second specified element;
delivering the second notification in accordance with the second rule, without consideration of the plurality of user contexts;
determining that the first user context applies to the first notification; and
delivering the first notification according to the dynamic context.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for controlling the delivery of notifications. The system brokers and serializes the delivery of notifications from multiple sources. In addition, a shared notion of user context is provided, for determining the appropriate handling for each of the notifications. In one embodiment, a user context consists of a condition that may be true or false, and an instruction that is to be followed if the condition is true. For example, if a user is listening to music, the instruction may be to show the notification on the screen but not play any sound for the notification. A user'"'"'s contexts are declared by the operating system and arbitrary programs. The user'"'"'s contexts may be presented to the user for modification in accordance with the user'"'"'s preferences. The user may also define rules, which dictate how notifications that contain specified elements should be handled, and may provide exceptions to the instructions of the user'"'"'s contexts.
138 Citations
13 Claims
-
1. A computer-readable storage medium having computer-executable components for implementing a method for controlling a delivery of notifications on a personal computing device, comprising:
-
declaring a plurality of user contexts including at least a first user context, a user context comprising a condition that is true or false and an instruction that is to be followed if the condition is true wherein the condition is derived from one or more applications executing on the personal computing device; defining a first rule that, in combination with the first user context, forms a dynamic context that specifies how to deliver a notification containing a first specified element when the first user context is true, wherein the first specified element is a variable value defined by a value within a current user context; defining a second rule that dictates how to control the delivery of notifications that contain at least a second specified element; receiving notifications from a plurality of sources wherein the plurality of sources includes the one or more applications, the notifications including a first notification containing a first specified element and a second notification containing a second specified element; delivering the second notification in accordance with the second rule, without consideration of the plurality of user contexts; determining that the first user context applies to the first notification; and delivering the first notification according to the dynamic context. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. In a system for controlling a delivery of notifications, comprising:
-
means for declaring one or more user contexts, each context including a condition that can be in at least a first state or a second state and an instruction that is to be followed if the condition is true, wherein at least one condition is derived from one or more applications executing on the system; means for providing one or more rules to be used to modify how to deliver notifications when one or more notifications contain at least a specified element from a second group of specified elements corresponding to a plurality of rules, wherein the notifications are received by a personal computing device having the one or more applications executing thereon; means for defining a dynamic context based on a combination of a first rule and a first user context, the dynamic context specifying how to deliver a notification containing a specified element from a first group of specified elements when the first user context is true, wherein the first group of specified elements are variable values based on a user context of a second user; means for determining user preferences, the means comprising generating a user interface, inquiring to a user for input, receiving input, and modifying user preferences accordingly; means for receiving the notifications from the plurality of sources; means for controlling the delivery of notifications in accordance with the one or more rules prior to evaluation of the one or more user contexts when one or more notifications contain specified elements corresponding to a plurality of rules, and using a most invasive rule of the plurality of rules to modify how to deliver the notifications when conflicts arise between the plurality of rules, means for evaluating the one or more user contexts; means for evaluating specified elements from the first group of specified elements to determine dynamic contexts; and means for controlling the delivery of notifications that do not contain at least a specified element from the second group of specified elements in accordance with the evaluated user contexts. - View Dependent Claims (10, 11, 12, 13)
-
Specification