A system for a user interface to an internet-of-things controller, comprising:
- one or more processors and programmable memory, wherein the system is configured:
- to accomplish receiving from a first developer a first selection of a first application program that, when executed, can remotely access one or more internet-of-things devices, wherein data passed by a first end-user as one or more arguments, to one or more corresponding parameters of the first application program, adapts the first application program to perform specific behavior in a specific hardware environment;
- to accomplish operating by the first developer a first graphical user interface to produce a first meta-data specification of a set of all potential arguments, for input to a first parameter of the first application program, that are properly structured;
- to accomplish providing by the first developer a first module dedicated to documentation of the first meta-data specification in a first natural language;
- to accomplish requiring each documentation node of the first module correspond to a node of the first meta-data specification;
- to accomplish receiving from a first end-user a second selection of the first application program;
- to accomplish accessing, in response to the second selection of the first application program the first meta-data specification;
- to accomplish operating by the first end-user a second graphical user interface in conformance with the first meta-data specification, to produce a first argument for input to the first parameter;
- to accomplish adding by the first end-user with the second graphical user interface a second module dedicated to documentation of the first meta-data specification in a second natural language;
- to accomplish requiring each documentation node of the second module correspond to a node of the first meta-data specification;
- to accomplish pointing the first meta-data specification to all its natural-language-dedicated documentation modules, including the first and second modules, using a star configuration;
- to accomplish adding, in accordance with a first tabular meta-data node of the first meta-data specification a first tabular data node to the first argument;
- to accomplish adding the first tabular data node, in accordance with the first tabular meta-data node, to require at least a first and a second key-value pairs;
- to accomplish identifying a first list-type meta-data node of the first meta-data specification, corresponding to a first key of the first key-value pair;
- to accomplish creating, as part of adding the first tabular data node a first list-type data node corresponding to the first list-type meta-data node, wherein the first list-type data node is capable of representing an ordered listing of data;
- and
- to accomplish starting execution of the first application program with the first argument input to the first parameter.