Citations
Claims1. A method for providing notifications to clients in response to state property changes, comprising:
2. The method of claim 1, further comprising utilizing an Application Program Interface (API) to perform actions involving the state properties, wherein the actions include at least one of the following: registering a state property; querying the state property; and setting the state property. 3. The method of claim 2, wherein determining when the client should receive the notification, comprises: applying a conditional expression to the state property and notifying the client of the state property change when the condition is met. 4. The method of claim 3, wherein the conditional expression is expressed using the following conditions: all, equal, not equal, greater than, greater or equal than, less than or equal, less than, contains, starts with, and ends with. 5. The method of claim 2, further comprising launching the client in response to at least one of: a state property change and a scheduled event. 6. The method of claim 2, further comprising notifying the client in response to a schedule defined by the client. 7. The method of claim 2, wherein determining when the state property changes further comprises: performing a batching operation on changes to the state property that occur within a predetermined time period. 8. The method of claim 1, wherein receiving the notification request from the client to receive the notification in response to the change associated with the state property, further comprises associating a group of state properties with the notification request from the client when an identifier associated with the request identifies a category of state properties, wherein the state properties are arrange in a hierarchy within the notification system. 9. The method of claim 2, further comprising providing pre-loaded state property data that may be accessed by the clients without the client having to register a state property with the notification broker; wherein the pre-loaded state property data comprises a majority of the following states; a display orientation state; an undismissed reminders state; an undismissed alarms state; a battery state; a memory state; a storage card state; a hardware state, a keyboard enabled state, a Wifi enabled state, a Bluetooth enabled state, a headphones state, a camera state; a messaging state; a tasks state; a calendar state; an Instant Messenger state; a connectivity state; a media player state; a synchronization status state; and a telephony state. 10. A system for state management and notifications, comprising:
11. The system of claim 10, wherein the Application Program Interface (API) is further configured to perform at least one of the following actions: registering a state property; querying the state property; and setting the state property. 12. The system of claim 11, wherein determining the clients to receive the notification, comprises: applying a conditional expression to the state property and notifying the client of the state property when the condition is met. 13. The system of claim 12, wherein the conditional expression includes at least one of the following conditions: all, equal, not equal, greater than, greater or equal than, less than or equal, less than, contains, starts with, and ends with. 14. The system of claim 11, further comprising launching the client in response to at least one of a state property change and a scheduled event. 15. The system of claim 11, further comprising notifying the client in response to a schedule defined by the client. 16. The system of claim 11, wherein determining when the state property changes further comprises: performing a batching operation on changes to the state property that occur within a predetermined time period. 17. The system of claim 10, wherein the state properties are arranged in a hierarchy. 18. The system of claim 10, wherein content within the data store persists across device reboots. 19. A tangible computer-readable storage medium having computer executable instructions for performing operations on state properties, comprising:
20. The computer-readable medium of claim 19, wherein the operation includes at least one of the following operations: registering a state property; querying the state property; associating a conditional expression with the state property; and setting the state property. 21. The computer-readable medium of claim 20, wherein performing the operation, comprises: applying the conditional expression to the state property and notifying the client of the state property when the condition is met. 22. The computer-readable medium of claim 21, wherein the conditional expression includes at least one of the following conditions: all, equal, not equal, greater than, greater or equal than, less than or equal, less than, contains, starts with, and ends with. 23. The computer-readable medium of claim 20, wherein performing the operation further comprises launching a client application in response to at least one of the following: a change in the state property and a scheduled event. 24. The computer-readable medium of claim 20, wherein performing the operation further comprises notifying the client in response to a schedule defined by the client. 25. The computer-readable medium of claim 20, wherein performing the operation further comprises: performing a batching operation on changes to the state property that occur within a predetermined time period. |