Claims
- 1. In a computer system that delivers notifications to a user, a method for controlling the delivery of the notifications, comprising:
declaring a first condition that can be in at least first or second states; providing a first delivery instruction that is to be carried out for controlling the delivery of notifications when the first condition is determined to be in its first state; and receiving notifications from a plurality of sources and controlling the delivery of the notifications in accordance with the first delivery instruction when the first condition is determined to be in its first state.
- 2. The method of claim 1, wherein the first condition is part of a user context that is intended to be at least partially indicative of the user's current availability for receiving notifications.
- 3. The method of claim 1, wherein when the first condition is in its first state it is indicative that the user may be at least partially visually occupied and the first delivery instruction restricts notifications in terms of their visual display.
- 4. The method of claim 1, wherein when the first condition is in its first state it is indicative that the user may be at least partially occupied by sound, and the first delivery instruction restricts the delivery of notifications in terms of their volume.
- 5. The method of claim 1, wherein when the first condition is in its first state it is indicative that a user may be unavailable for receiving notifications of any kind, and the first delivery instruction restricts the delivery of notifications altogether.
- 6. The method of claim 1, wherein the first delivery instruction is made available to the user for modification in accordance with the user's preferences.
- 7. The method of claim 1, wherein the first condition is made available to the user so that it can be turned off, in which case even if the first condition is in its first state, the first delivery instruction will not be followed.
- 8. The method of claim 1, wherein for the first condition, its first state is when it is true, and its second state is when it is false.
- 9. The method of claim 1, wherein the state of the first condition is initially determined at the time that the first condition is declared.
- 10. The method of claim 1, wherein the state of the first condition is determined at the time that a notification is to be delivered.
- 11. The method of claim 1, wherein the first condition is declared by an operating system.
- 12. The method of claim 1, wherein the first condition is declared by a source other than an operating system.
- 13. The method of claim 12, wherein the source other than an operating system is a program.
- 14. The method of claim 11, wherein a second condition that can be in at least first or second states is declared and a second delivery instruction is provided that is to be carried out for controlling the delivery of notifications when the second condition is in its first state.
- 15. The method of claim 14, wherein additional conditions are declared and are provided with additional corresponding delivery instructions.
- 16. The method of claim 15, wherein the conditions are declared by an operating system and a set of programs.
- 17. The method of claim 1, further comprising defining a first rule that dictates how to control the delivery of notifications that contain at least a first specified element.
- 18. The method of claim 17, wherein additional rules are defined, and when two rules conflict, the more invasive rule is applied.
- 19. The method of claim 17, wherein the first rule is declared by the user.
- 20. The method of claim 19, wherein additional rules are declared by the user.
- 21. The method of claim 20, wherein the rules are made available to the user for modification in accordance with the user's preferences.
- 22. The method of claim 1, wherein the first delivery instruction comprises at least one of routing, denying, deferring, or delivering a notification.
- 23. A computer-readable medium having computer-executable components for implementing a method for controlling the delivery of notifications, comprising:
declaring a first condition that can be in at least first or second states; providing a first delivery instruction that is to be carried out for controlling the delivery of notifications when the first condition is determined to be in its first state; and receiving notifications from a plurality of sources and controlling the delivery of the notifications in accordance with the first delivery instruction when the first condition is determined to be in its first state.
- 24. The method of claim 23, wherein the first condition is part of a user context that is intended to be at least partially indicative of the user's current availability for receiving notifications.
- 25. The method of claim 23, wherein the first delivery instruction comprises at least one of routing, denying, deferring, or delivering a notification.
- 26. The method of claim 23, wherein the first delivery instruction restricts the delivery of notifications in terms of their visual display.
- 27. The method of claim 23, wherein the first delivery instruction restricts the delivery of notifications in terms of their volume.
- 28. The method of claim 23, wherein the first delivery instruction is made available to the user for modification in accordance with the user's preferences.
- 29. The method of claim 23, wherein for the first condition, its first state is when it is true, and its second state is when it is false.
- 30. The method of claim 23, wherein the first condition is declared by an operating system.
- 31. The method of claim 30, wherein a second condition that can be in at least first or second states is declared by a source other than the operating system, a second delivery instruction being provided that is to be carried out for the delivery of notifications when the second condition is in its first state.
- 32. The method of claim 31, wherein the source that declares the second condition is a program.
- 33. The method of claim 23, further comprising defining a first rule that dictates how to control the delivery of notifications that contain at least a first specified element.
- 34. The method of claim 33, wherein additional rules are defined, and when two rules conflict, the more invasive rule is applied.
- 35. The method of claim 33, wherein the first rule is declared by a user.
- 36. The method of claim 35, wherein the first rule and the first delivery instruction are made available to the user for modification in accordance with the user's preferences.
- 37. In a computer system that delivers notifications to a user, a method for controlling the delivery of the notifications, comprising:
declaring a plurality of user contexts, each user context comprising a condition that may be true or false and an instruction that is to be followed if the condition is true; receiving notifications from a plurality of sources; and when the condition of a user context is true, following the instruction that corresponds to the user context for determining what should be done with the notifications.
- 38. The method of claim 37, wherein the instructions comprise at least one of routing, denying, deferring, or delivering a notification.
- 39. The method of claim 37, wherein the instructions are made available to the user for modification in accordance with the user's preferences.
- 40. The method of claim 37, wherein at least one of the plurality of user contexts is declared by an operating system.
- 41. The method of claim 37, wherein at least one of the plurality of user contexts is declared by a source other than an operating system.
- 42. The method of claim 41, wherein the source other than the operating system is a program.
- 43. The method of claim 37, further comprising defining a plurality of user rules that dictate how to control the delivery of notifications that contain specified elements that correspond to each rule.
- 44. The method of claim 43, wherein when two user rules conflict, the more invasive rule is applied.
- 45. The method of claim 44, wherein the user rules are declared by the user.
- 46. The method of claim 45, wherein the user contexts and user rules are made available to the user for modification in accordance with the user's preferences.
- 47. A computer-readable medium having computer-executable components for implementing a method for controlling the delivery of notifications, comprising:
declaring a plurality of user contexts, each user context comprising a condition that may be true or false and an instruction that is to be followed if the condition is true; receiving notifications from a plurality of sources; and when the condition of a user context is true, following the instruction that corresponds to the user context for determining what should be done with the notifications.
- 48. The method of claim 47, wherein the instructions comprise at least one of routing, denying, deferring, or delivering a notification.
- 49. The method of claim 47, wherein the instructions are made available to the user for modification in accordance with the user's preferences.
- 50. The method of claim 47, wherein at least one of the plurality of user contexts is declared by an operating system.
- 51. The method of claim 47, wherein at least one of the plurality of user contexts is declared by a source other than an operating system.
- 52. The method of claim 51, wherein the source other than the operating system is a program.
- 53. The method of claim 47, further comprising defining a plurality of user rules that dictate how to control the delivery of notifications that contain specified elements that correspond to each rule.
- 54. The method of claim 53, wherein when two user rules conflict, the more invasive rule is applied.
- 55. The method of claim 54, wherein the user rules are declared by the user.
- 56. The method of claim 55, wherein the user contexts and user rules are made available to the user for modification in accordance with the user's preferences.
- 57. In a system for controlling the delivery of notifications, comprising:
means for declaring a first condition that can be in at least first or second states; means for providing a first delivery instruction that is to be carried out for controlling the delivery of notifications when the first condition is determined to be in its first state; and means for receiving notifications from a plurality of sources and controlling the delivery of the notifications in accordance with the first delivery instruction when the first condition is determined to be in its first state.
- 58. The system of claim 57, further comprising means for making the first delivery instruction available to the user for modification in accordance with the user's preferences.
- 59. The system of claim 57, further comprising means for determining the state of the first condition at the time that the first condition is declared.
- 60. The system of claim 57, further comprising means for determining the state of the first condition at the time that the notification is to be delivered.
- 61. The system of claim 57, further comprising means for defining a first rule that dictates how to control the delivery of notifications that contain at least a first specified element.
- 62. The system of claim 57, further comprising means for carrying out the delivery instruction that comprises at least one of routing, denying, deferring, or delivering a notification.
- 63. A system for controlling the delivery of notifications, comprising:
means for declaring a plurality of user contexts, each user context comprising a condition that may be true or false and an instruction that is to be followed if the condition is true; means for receiving notifications from a plurality of sources; and when the condition of a user context is true, following the instruction that corresponds to the user context for determining what should be done with the notifications.
- 64. The system of claim 63, further comprising means for carrying out an instruction that comprises at least one of routing, denying, deferring, or delivering a notification.
- 65. The system of claim 63, further comprising means for making the instructions available to the user for modification in accordance with the user's preferences.
- 66. The system of claim 63, further comprising means for defining a plurality of user rules that dictate how to control the delivery of notifications that contain specified elements that correspond to each rule.
- 67. The system of claim 63, further comprising means for making the user rules available to the user for modification in accordance with the user's preferences.
CROSS-REFERENCE(S) TO RELATED APPLICATION(S)
[0001] This application is related to U.S. application attorney docket number MSFT-1-20462, titled “System and Method Utilizing Test Notifications,” filed concurrently with the present application, which is hereby incorporated by reference in its entirety.