System and method for rules engine that dynamically adapts application behavior
First Claim
1. A method performed by an electronic device, the method comprising:
- executing, by the electronic device, an application configured to provide dynamically customized user experience to a user of the electronic device in cooperation with a server system, wherein the application initiates outputs on the electronic device based on a set of program rules for a program, wherein;
the program rules each have a trigger, a condition, and a system action to be performed in response to a determination that the trigger and condition for the program rule are satisfied,the application is configured to determine whether the triggers and conditions are satisfied based on survey responses from the user, interaction of the user with the application through an interface of the electronic device, and sensor data from the electronic device, anddifferent sets of the program rules are assigned different at least partially overlapping scopes of applicability, and wherein different sets of the program rules are evaluated for different subsets of a plurality of users of the application based on the interactions of the users with the application;
generating, by the electronic device, records of conditions detected by the electronic device and user interactions of the user with the application using the electronic device, the records indicating sensor data from the electronic device or one or more other devices in communication with the electronic device;
providing, by the electronic device, the generated records of the detected conditions and the user interactions with the application to a server system over a communication network;
communicating, by the electronic device, with the server system to determine, from among a subset of the program rules that are determined to be applicable to the user given the user interactions of the user with the application, a second subset of the program rules for which the corresponding triggers and conditions are determined to be satisfied based on the generated record; and
initiating, by the electronic device, outputs to the user specified by the system actions of the program rules for which the corresponding triggers and conditions are satisfied based on the generated records of conditions and user actions detected by the electronic device.
1 Assignment
0 Petitions
Accused Products
Abstract
In some implementations, a system enables an administrator to customize a set of rules to dynamically adjust the configuration and output of an application provided to users. A configuration interface for setting rules that dynamically adjust output of an application is provided. Data indicating one or more rules are received through the configuration interface. Activity data indicating user interaction with the application or sensor data for at least some of a plurality of users of the application are then received from multiple client devices. A determination relating to the activity data satisfying at least one condition or trigger is then made. Instructions to adjust output of the application according to one or more system actions of the one or more rules are then communicated to client devices associated with the users in the first subset of the plurality of users.
110 Citations
20 Claims
-
1. A method performed by an electronic device, the method comprising:
-
executing, by the electronic device, an application configured to provide dynamically customized user experience to a user of the electronic device in cooperation with a server system, wherein the application initiates outputs on the electronic device based on a set of program rules for a program, wherein; the program rules each have a trigger, a condition, and a system action to be performed in response to a determination that the trigger and condition for the program rule are satisfied, the application is configured to determine whether the triggers and conditions are satisfied based on survey responses from the user, interaction of the user with the application through an interface of the electronic device, and sensor data from the electronic device, and different sets of the program rules are assigned different at least partially overlapping scopes of applicability, and wherein different sets of the program rules are evaluated for different subsets of a plurality of users of the application based on the interactions of the users with the application; generating, by the electronic device, records of conditions detected by the electronic device and user interactions of the user with the application using the electronic device, the records indicating sensor data from the electronic device or one or more other devices in communication with the electronic device; providing, by the electronic device, the generated records of the detected conditions and the user interactions with the application to a server system over a communication network; communicating, by the electronic device, with the server system to determine, from among a subset of the program rules that are determined to be applicable to the user given the user interactions of the user with the application, a second subset of the program rules for which the corresponding triggers and conditions are determined to be satisfied based on the generated record; and initiating, by the electronic device, outputs to the user specified by the system actions of the program rules for which the corresponding triggers and conditions are satisfied based on the generated records of conditions and user actions detected by the electronic device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An electronic device comprising:
-
one or more processors; and one or more storage devices storing instructions that, when executed by the one or more processors, cause the electronic device to perform operations comprising; executing, by the electronic device, an application configured to provide dynamically customized user experience to a user of the electronic device in cooperation with a server system, wherein the application initiates outputs on the electronic device based on program rules for a program, wherein; the program rules each have a trigger, a condition, and a system action to be performed in response to a determination that the trigger and condition for the program rule are satisfied, the application is configured to determine whether the triggers and conditions are satisfied based on survey responses from the user, interaction of the user with the application through an interface of the electronic device, and sensor data from the electronic device, and different sets of the program rules are assigned different at least partially overlapping scopes of applicability, and wherein different sets of the program rules are evaluated for different subsets of a plurality of users of the application based on the interactions of the users with the application; generating, by the electronic device, records of conditions detected by the electronic device and user interactions of the user with the application using the electronic device, the records indicating sensor data from the electronic device or one or more other devices in communication with the electronic device; providing, by the electronic device, the generated records of the detected conditions and the user interactions with the application to a server system over a communication network; communicating, by the electronic device, with the server system to determine, from among a subset of the program rules that are determined to be applicable to the user given the user interactions of the user with the application, a second subset of the program rules for which the corresponding triggers and conditions are determined to be satisfied based on the generated records; and initiating, by the electronic device, outputs to the user specified by the system actions of the program rules for which the corresponding triggers and conditions are satisfied based on the generated records of conditions and user actions detected by the electronic device. - View Dependent Claims (11, 12, 13, 14)
-
-
15. One or more non-transitory computer-readable storage devices storing instructions that, when executed by one or more processors of an electronic device, cause the electronic device to perform operations comprising:
-
executing, by the electronic device, an application configured to provide dynamically customized user experience to a user of the electronic device in cooperation with a server system, wherein the application initiates outputs on the electronic device based on program rules for a program, wherein the program rules each have a trigger, a condition, and a system action to be performed in response to a determination that the trigger and condition for the program rule are satisfied, the application is configured to determine whether the triggers and conditions are satisfied based on survey responses from the user, interaction of the user with the application through an interface of the electronic device, and sensor data from the electronic device, and different sets of the program rules are assigned different at least partially overlapping scopes of applicability, and wherein different sets of the program rules are evaluated for different subsets of a plurality of users of the application based on the interactions of the users with the application; generating, by the electronic device, records of conditions detected by the electronic device and user interactions of the user with the application using the electronic device, the records indicating sensor data from the electronic device or one or more other devices in communication with the electronic device; providing, by the electronic device, the generated records of the detected conditions and the user interactions with the application to a server system over a communication network; communicating, by the electronic device, with the server system to determine, from among a subset of the program rules that are determined to be applicable to the user given the user interactions of the user with the application, a second subset of the program rules for which the corresponding triggers and conditions are determined to be satisfied based on the generated records; and initiating, by the electronic device, outputs to the user specified by the system actions of the program rules for which the corresponding triggers and conditions are satisfied based on the generated records of conditions and user actions detected by the electronic device. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification