Home device application programming interface
First Claim
Patent Images
1. A method for seamlessly and automatically building an application using an application programming interface (API) to interface with one or more devices within an environment with an assistant device having artificial intelligence (AI), comprising:
- receiving, via a processor, a graphic representing a layout of one or more graphical user interface (GUI) elements for the application to instruct the assistant device to control the one or more devices within the environment;
identifying, by the processor, a section of the graphic corresponding to the one or more GUI elements for the application that is to be a selectable item on the application to implement a functionality to be performed within the environment using the assistant device, wherein the section of the graphic is identified based on a change in color between a background color of the graphic and a section color of the graphic;
identifying, by the processor, a graphical content within the section of the graphic;
determining, by the processor, object characteristics of the graphical content within the section of the graphic corresponding to the one or more GUI elements for the application that is to be the selectable item on the application to implement the functionality to be performed within the environment using the assistant device, wherein the object characteristics of the graphical content within the section of the graphic includes a type of object corresponding to the graphical content within the section of the graphic, a position of the graphical content within the section of the graphic, a size of the graphical content within the section of the graphic in relation to a size of the section of the graphic, a relationship between a position of the graphical content within the section of the graphic with other graphical content within the section of the graphic, or a color of the graphical content within the section of the graphic;
identifying, by the processor, a textual content within the section of the graphic;
determining, by the processor, text characteristics of the textual content within the section of the graphic corresponding to the one or more GUI elements for the application that is to be the selectable item on the application to implement the functionality to be performed within the environment using the assistant device, wherein the text characteristics of the textual content within the section of the graphic includes one or more of a meaning of the textual content within the section of the graphic, a size of the textual content within the section of the graphic, a font of the textual content within the section of the graphic, a relationship between a position of the textual content within the section of the graphic and the position of the graphical content within the section of the graphic, or the position of the textual content within the section of the graphic;
determining, by the processor using a database, the functionality to be performed within the environment using the assistant device based on the text characteristics of the textual content within the section of the graphic and the object characteristics of the graphical content within the section of the graphic;
identifying, by the processor, the one or more devices capable of performing the functionality within the environment; and
generating, by the processor, the application having the section of the graphic, wherein the section of the graphic, when selected, instructs the assistant device to cause the identified one or more devices to perform the functionality within the environment.
1 Assignment
0 Petitions
Accused Products
Abstract
The present disclosure contemplates a variety of improved methods and systems for enabling developers to program and control a variety of disparate devices coupled to the framework and/or ambient operating system. The Home API can expose operation of the devices in a natural and intuitive manner, facilitating control of unknown devices by high-level commands.
156 Citations
21 Claims
-
1. A method for seamlessly and automatically building an application using an application programming interface (API) to interface with one or more devices within an environment with an assistant device having artificial intelligence (AI), comprising:
-
receiving, via a processor, a graphic representing a layout of one or more graphical user interface (GUI) elements for the application to instruct the assistant device to control the one or more devices within the environment; identifying, by the processor, a section of the graphic corresponding to the one or more GUI elements for the application that is to be a selectable item on the application to implement a functionality to be performed within the environment using the assistant device, wherein the section of the graphic is identified based on a change in color between a background color of the graphic and a section color of the graphic; identifying, by the processor, a graphical content within the section of the graphic; determining, by the processor, object characteristics of the graphical content within the section of the graphic corresponding to the one or more GUI elements for the application that is to be the selectable item on the application to implement the functionality to be performed within the environment using the assistant device, wherein the object characteristics of the graphical content within the section of the graphic includes a type of object corresponding to the graphical content within the section of the graphic, a position of the graphical content within the section of the graphic, a size of the graphical content within the section of the graphic in relation to a size of the section of the graphic, a relationship between a position of the graphical content within the section of the graphic with other graphical content within the section of the graphic, or a color of the graphical content within the section of the graphic; identifying, by the processor, a textual content within the section of the graphic; determining, by the processor, text characteristics of the textual content within the section of the graphic corresponding to the one or more GUI elements for the application that is to be the selectable item on the application to implement the functionality to be performed within the environment using the assistant device, wherein the text characteristics of the textual content within the section of the graphic includes one or more of a meaning of the textual content within the section of the graphic, a size of the textual content within the section of the graphic, a font of the textual content within the section of the graphic, a relationship between a position of the textual content within the section of the graphic and the position of the graphical content within the section of the graphic, or the position of the textual content within the section of the graphic; determining, by the processor using a database, the functionality to be performed within the environment using the assistant device based on the text characteristics of the textual content within the section of the graphic and the object characteristics of the graphical content within the section of the graphic; identifying, by the processor, the one or more devices capable of performing the functionality within the environment; and generating, by the processor, the application having the section of the graphic, wherein the section of the graphic, when selected, instructs the assistant device to cause the identified one or more devices to perform the functionality within the environment.
-
-
2. A method, comprising:
-
receiving, via a processor, a graphic representing a layout of one or more graphical user interface (GUI) elements for an application to instruct an assistant device to control one or more devices within an environment; identifying, by the processor, a section of the graphic corresponding to the one or more GUI elements for the application that is to be a selectable item on the application to implement a functionality to be performed within the environment using the assistant device; identifying, by the processor, a graphical content within the section of the graphic; determining, by the processor, characteristics of the graphical content within the section of the graphic, wherein the graphical content within the section of the graphic includes a depiction of an object or a depiction of a text; determining, by the processor using a database, the functionality to be performed within the environment using the assistant device based on the characteristics of the graphical content within the section of the graphic and device categories; identifying, by the processor, the one or more devices capable of performing the functionality within the environment; and generating, by the processor, the application having the section of the graphic, wherein the section of the graphic, when selected, instructs the assistant device to cause the identified one or more devices to perform the functionality within the environment. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An electronic device, comprising:
-
one or more processors; a database storing characteristics of a graphical content, a functionality, and device categories; and a memory storing instructions, execution of which by the one or more processors cause the electronic device to; receive a graphic representing a layout of one or more graphical user interface (GUI) elements for an application to instruct an assistant device to control one or more devices within an environment; identify a section of the graphic corresponding to the one or more GUI elements for the application that is to be a selectable item on the application to implement the functionality to be performed within the environment using the assistant device; identify the graphical content within the section of the graphic; determine characteristics of the graphical content within the section of the graphic, wherein the graphical content within the section of the graphic includes a depiction of an object or a depiction of a text; determine, using the database, the functionality to be performed within the environment using the assistant device based on the characteristics of the graphical content within the section of the graphic and the device categories; identify the one or more devices capable of performing the functionality within the environment; and generate the application having the section of the graphic, wherein the section of the graphic, when selected, instructs the assistant device to cause the identified one or more devices to perform the functionality within the environment. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
Specification