Regarding “basic documentation and simplicity”…
I agree; but let me comment on what I think the “vision” is:
The use of the parameterized “App” model is to ensure that no problem is declared “too complex” in advance.
In other words, the common consumer will definitely not be developing Apps, but rather just filling in the blanks for the App that makes sense for each of their Scenarios (literally … these are super “Scenes”, where Scenes are what the basic Z-Wave, etc., remote controllers offer to define a bunch of lights on or off with certain dimming levels, or similar).
There are not many Apps yet, but soon the most obvious and common Scenarios will be defined with well-parameterized and well-documented Apps.
- Presence Tag Thing "Dad" in range, and if nighttime, turn on light: Sounds simple, but the documentation, of course, will explain how to fill in the blanks with the tag name, time options, and the specific light switch.
I have some lingering doubts about complexities of the system or object model that may be difficult to resolve. I plan to raise some of these to the Knowledge Base and/or Support.
For example, I believe that the model should support the definition of “Sets of Things” (not Groups, since Things can only belong to at most one Group, and I think Things should be permitted in any number of Sets and Sets could be nested or overlapped)…
This would permit the above example to read:
- If any of Set of Family Tag Things re-enters range, and if nighttime, turn on Set of Arrival Lights: This adds a layer of complexity... or maybe makes things easier because it utilizes reusable Sets which are defined outside of the App (i.e., Set of Arrival Lights might consist of Set of Downstairs Lights, Set of Outside Lights, Set of Security Lights (which are a user defined selection of lights that might belong to Downstairs and/or Outside Lights...!)...
Anyhow: This is just an example of how the model makes SmartThings very powerful for developers (and makes developers like me antsy about little quirks or missing features of the model…) and, in turn, should permit the development of extremely User Friendly Intuitive) Apps that all start to look consistently similar to the Consumer.
It is a worthy goal, but Abstraction of the Physical World into the Physical Graph and then into Intuitive Apps is a process that will take many real-world iterations (Beta testing?) to shape.