Re: it runs GUI apps written for Microsoft's new Universal App Platform (UAP)
> What you're describing is the interfacing layer. If there is any intelligence at all on the "Thing" device, then that code will not be the totality of the application
Of course I am describing 'the interfacing layer', that is what the intelligence of the 'thing' is.
A dumb 'garage door opener' has a control board that drives the motor and responds to sensors. It may also respond to a remote control with an IR sensor or similar. An IoT garage door opener will have the dumb control board replaced by a RaspberryPi 'compute' module or an Arduino or similar that has Wifi or ethernet connection to the home network, and through this to the internet. The code on this will not only drive the opening and closing of the door and use sensors to stop, but may also detect any forcing of the door or other unusual conditions in order to send messages. It will respond to commands arriving on the network to show status, activate a sequence or other.
Your phone app will do _none_ of that. The phone app may connect and ask status, view history, (including notifications sent), and request open or close. The app running in your car may also, given that it gets to a certain GPS location, request an open or close. None of this is in the door opener.
> It is about distributing the intelligence to manage remote functions at the edge of the networks.
Exactly. The door opener (or light bulb, or fridge) _is_ the edge of the network, the intelligence is the Arduino or RaspberryPi compute module or similar.
You seem to want to distribute the 'intelligence' of _how_ the door should be opened and the sensors interpreted to your phone whereas the phone app should only need to send a 'please open' command and get back a status regardless of how that should be achieved.
The door and its RPi is the 'Thing'. It acts a server. The phone app (or car app, or other) is a client. There is almost no commonality of code - except the base OS and network stack. It is the same relationship as a web server and a web client - would you claim they are the same thing ?