There are real challenges to making distributed systems easier to build but I'm working with others on that c.f http://nymote.org and http://openmirage.org.
That's the simple case, where you are only using devices from a single vendor. If you - god forbid - own devices from two different companies and try to connect them in any meaningful way, your setup might suddenly stop working as soon as one of the following happens:
- Company A shuts down.
- Company B shuts down.
- The hub service that you used to connect Product A and Product B shuts down.
- Any one of the involved companies have a dispute with any other of the involved companies and cease cooperation/demand that their products not be used together until contracts are re-negotiated.
- Any of the companies makes a breaking API change and the other's don't have the time/money/motivation to update their software accordingly.
For any of this IOT stuff, a reliable cloud service is essential. Apparently there are ways to have my own "mini cloud" for my Ninja Block, so I'll be following that up before the official one shuts down.
In this instance, I bet sandstorm.io could come up with a transition for Ninja Blocks users. I hope they think about it.
Please don't post mean comments to Hacker News.
I'm not saying HN should be a place of ruthless criticism and shnarky comments but I'm also not in the camp that thinks it should all be cuddling and cooing either.
All I was waiting for was better support for existing services and devices.
Anyone behind YC want to go buy them to keep them alive? Its a massive waste to let the company go under when they have customers wanting to buy their product.
The product never "needed" to be cloud-based. The dashboard could have lived on the Beaglebone Black inside the main unit and from there it could have allowed us to hook it into IFTTT, Pushbullet, etc. without the need for Ninja Blocks to still be a part of it.
These sort of failures make the larger corporate offerings look even more sweet, and that is a terrifyingly dangerous prospect. The company might not go away, but the data they will collect on you will probably blow your hair back.
IoT needs an open source solution, and fast.
In the end, nothing beats a physical switch on the door (wireless battery operated), with hardware on/off states. Then the door can't be mistaken ever as open or closed due to mis-matches in sending the state, or whatever other interference cause the "door open" state to get out of sync. If Ninja Blocks had made their own special little purpose-built wireless sensors and switches rather than use aftermarket, then things like state could have been sorted out early on IMHO.
The supplied door switch for example that came with the NB, triggered the same thing whenever the pin was moved in or out. The switch had no concept of open or closed or on/off, it just blurted the same signal each time it was triggered. Attempting to build "state" from such trigger data is never going to be reliable.
Knowing without doubt that your garage door is open or closed when looking at the app on your phone, is not something you want your security device to be wishy-washy about. You want the truth. Ninja Blocks (in combo with the basic remote sensors) simply couldn't give you the truth, it could only give you a "pretty sure, quite likely, almost certainly the door is closed". This isn't good enough for security.