Patent ID: 8812644

Claim:
A system for converting aspects of a developed third party application downloaded onto at least one device located at a domain of a premises into descriptions of actions and protocols that said at least one device understands, wherein said system includes a customized function for said developed third party application to be implemented at said at least one device, said system comprising: a server; a set of application programming interfaces (APIs) coupled with said server, said set of APIs configured for providing building blocks for development of said at least one third party application, and wherein each API of said set of APIs comprises: a set of selectable widgets, wherein upon a selection of a selectable widget of said set of selectable widgets, said selectable widget appears in said at least one third party application, wherein said selectable widget is a predesigned user interface element that is enabled to be integrated within said at least one third party application to provide user information and enable user interaction through said at least one third party application via a communication port via a device driver of a device of said at least one device, wherein said device driver supports a second protocol that corresponds to a first protocol supported by said communication port; and an instruction translator coupled with said server, said instruction translator configured for translating said set of instructions at said at least one third party application to be a description of at least one requested action and a protocol that said device understands, wherein said at least one requested action relates to running said at least one third party application on said at least one device, wherein said instruction translator comprises: an instruction analyzer configured for: comparing a particular device to which said set of instructions is to be applied with said at least one device within said domain; and based on said comparing, determining a designated device of said at least one device that is able to perform said at least one requested action of said set of instructions; and an instruction sender coupled with said server, wherein said instruction sender is configured for sending translated instructions to said designated device for implementation by said designated device, whereby said at least one third party application is developed for said at least one device, without developing specific programs thereon to match protocol requirements of said at least one device.