@JDRoberts my bad - I misunderstood your position. In any case, I still think they lock in - in the sense that their APIs aren’t open. Yes you can use ZigBee and Z-Wave and several other devices (but SmartThings controls which ones that is). Also you can only control them using the smart things hub, and you have to use their own proprietary cloud API. I’m saying we need non-proprietary local access APIs, and we need a standard so we don’t need SmartThings to be the ones to implement support for new devices - they should just autodiscover AllJoyn devices on the network and roll with them. And likewise if a new better controller comes out, I want my SmartThings hub to switch over to just being a dumb DSB bridge for the better controller.
I have written my own LIFX and Philips Hue DSB, and the Raspberry PI 2 Windows IOT image comes with a ZWave DSB built in (just plug in a zwave usb controller). This means my PI is running several independent set of DSBs - any AllJoyn enabled controller can now use all these devices. The architecture is pure beauty and nicely pluggable. It effectively means I have several different kind of lightbulbs (and still buying more kinds ) but they can all be controlled with the exact same code and works in one simple app I built. When a Thread USB controller; comes out, I just plug that in, start up the DSB service, and I’m done. No reason to touch the app or any controller/hub device. You can hardly grasp how HUGE this is - we can effectively disconnect two things that shouldn’t be so tightly connected and grow them each independently and faster.
And Thread not being a ZigBee competitor? I’m aware of the collaboration, but they both seem to try and solve the same problem, working together or not. AllJoyn effectively sits on top and therefore doesn’t have this huge overlap that Thread and ZigBee has.