Intent fulfillment
First Claim
1. A computing device, comprising:
- one or more processors; and
a computer-readable storage device coupled to the one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations comprising;
receiving first user input, the first user input indicating a first intent of an operation that is to be performed by an application, the first intent including one or more fields;
identifying one or more applications installed on the computing device, each respective application of the one or more applications configured to apply one or more respective filters, each respective filter of the one or more respective filters included in the respective application being associated with a respective field of the one or more fields of the first intent;
comparing, for each respective application, each respective field to the respective filter that is associated with the respective field of the first intent;
determining, for each respective application, based on the comparing, that at least one field of the intent fails a rule of the respective filter associated with the respective field of the application;
generating, based on the determining, a first list of one applications of the one or more applications installed on the computing device;
determining that the first list is empty; and
in response to determining that the first list is empty, transmitting a request to a server system for one or more additional applications that are capable of fulfilling the first intent, the one or more additional applications differing from the one or more applications installed on the computing device.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving first user input, the first user input indicating a first intent; searching applications installed on the computing device based on the first intent; determining that none of the installed applications are capable of fulfilling the first intent; transmitting a request to a server system, the request requesting applications capable of fulfilling the first intent; receiving a list of one or more applications, each of the one or more applications being capable of fulfilling the first intent; downloading and installing a first application of the one or more applications; launching the first application; and fulfilling the first intent using the first application.
236 Citations
27 Claims
-
1. A computing device, comprising:
- one or more processors; and
a computer-readable storage device coupled to the one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations comprising;receiving first user input, the first user input indicating a first intent of an operation that is to be performed by an application, the first intent including one or more fields; identifying one or more applications installed on the computing device, each respective application of the one or more applications configured to apply one or more respective filters, each respective filter of the one or more respective filters included in the respective application being associated with a respective field of the one or more fields of the first intent; comparing, for each respective application, each respective field to the respective filter that is associated with the respective field of the first intent; determining, for each respective application, based on the comparing, that at least one field of the intent fails a rule of the respective filter associated with the respective field of the application; generating, based on the determining, a first list of one applications of the one or more applications installed on the computing device; determining that the first list is empty; and
in response to determining that the first list is empty, transmitting a request to a server system for one or more additional applications that are capable of fulfilling the first intent, the one or more additional applications differing from the one or more applications installed on the computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
- one or more processors; and
-
12. A non-transitory computer-readable medium coupled to one or more processors having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
-
receiving first user input, the first user input indicating a first intent of an operation that is to be performed by an application, the first intent including one or more fields; identifying one or more applications installed on the computing device, each respective application of the one or more applications configured to apply one or more respective filters, each respective filter of the one or more respective filters included in the respective application being associated with a respective field of the one or more fields of the first intent; comparing, for each respective application, each respective field to the respective filter that is associated with the respective field of the first intent; determining, for each respective application, based on the comparing, that at least one field of the intent fails a rule of the respective filter associated with the respective field of the first intent; generating, based on the determining, a first list of applications of the one or more applications installed on the computing device; determining that the first list is empty; and
in response to determining that the first list is empty, transmitting a request to a server system for one or more additional applications that are capable of fulfilling the first intent, the one or more additional applications differing from the one or more applications installed on the computing device. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer-implemented method, comprising:
- receiving first user input, the first user input indicating a first intent of an operation that is to be performed by an application, the first intent including one or more fields;
identifying one or more applications installed on the computing device, each respective application of the one or more applications configured to apply one or more respective filters, each respective filter of the one or more respective filters included in the respective application being associated with a respective field of the one or more fields of the first intent; comparing, for each respective application, each respective field to the respective filter that is associated with the respective field of the first intent; determining, for each respective application, based on the comparing, that at least one field of the intent fails a rule of the respective filter associated with the respective field of the first intent; generating, based on the determining, a first list of applications of the one or more applications installed on the computing device; determining, by one or more processors, the first list is empty; and
in response to determining that the first list is empty, transmitting a request to a server system for one or more additional applications that are capable of fulfilling the first intent, the one or more additional applications differing from the one or more applications installed on the computing device. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27)
- receiving first user input, the first user input indicating a first intent of an operation that is to be performed by an application, the first intent including one or more fields;
Specification