Technical article I wrote for CE Pro

It was pretty sad to see the guys at Ninja Blocks crash and burn earlier this year, taking down about $2M of kickstarter & VC funds.
 
The following thread about Ninja Blocks folding is sobering for those thinking about starting up a IoT / HA business - these guys had some good ideas (eg. triangulation), using modern tools / technologies and had some savvy technical & business people on the team. IoT seems to be a gold rush at the moment, but proving to be difficult to make $$$ and stick around for the long term.
https://discuss.ninjablocks.com/t/ninja-blocks-whats-been-happening-whats-happening-next/3608
 
I agree with earlier posters that a number of the 'cool' IoT / automation products that think having a phone app to control the device isn't a long term viable solution as the problem space for HA isn't the device or being able to control it in an isolated monolithic way, but to be able to integrate all the disparate systems popping up in the modern house into a cohesive system that orchestrates multiple devices, provides smart logic, and is easy to use and accessible with multiple devices.
 
Yep. $2M isn't very much in business terms. If you are starting a tech business, which implies that many of your employees are going to have to be of the sort who have lots of options because they are highly skilled, you may end up burning $150K per that type of employee per year, maybe with a lower overall average when you include the non-technical support folks. Still, with, say, 15 employees (a very small company), you'd burn though that money just on salaries in less than normal 'to market' type time frames, leaving aside all of the non-per-employee expenses involved in creating a physical product, marketing, etc...

When I think about the currently very successful companies that I'm aware of their beginnings, before anyone gave them any money they were garage project companies (Apple), dorm room businesses (Cisco), been bootstrapping for years (Microsoft), college dissertation projects (Google), or splinters off of an existing company with all of the skills and contacts in place already (Intel.) None of them were start from scratch, not even a prototype, type businesses when they got funding.

And of course crowd funding is nowhere near as discerning as VC folks. The VCs typically crawl up your behind with a microscope, and if you end up getting the money you probably have a pretty good story and a pretty good team. Crowd funding is more along the 'hey, that sounds like something I'd like to have', which is of course legitimate, but says nothing about how like the thing you'd like to have is going to be successfully created, which you as a crowd funder know very little about at best.
 
The HA/IoT market kinda reminds me of the personal computing market, circa, say, 1978.  It was primarily the hobbyist's who were the first into that market.  Nowadays people seem to just assume some big player(s) will come along and whoosh! sweep up the whole market, whereas in those days PC's were considered "toys" by the big players and unworthy of seriousness.   It had to mature only just a little bit more before that changed.  
 
NeverDie said:
The HA/IoT market kinda reminds me of the personal computing market, circa, say, 1978.  It was primarily the hobbyist's who were the first into that market.  Nowadays people seem to just assume some big player(s) will come along and whoosh! sweep up the whole market, whereas in those days PC's were considered "toys" by the big players and unworthy of seriousness.   It had to mature only just a little bit more before that changed.  
 
I'd say a closer analogy is personal computer _printers_.  Different connection strategies (serial, parallel, 10Base2, etc) and every manufacturer inventing another completely incompatible control protocol (or several).  Each software application had to ship with hundreds of printer drivers.  Then if you had to replace the printer, you had to go through a painful process of re-installing drivers or upgrading to get compatible drivers.  Enough to make one stark raving mad!
 
Eventually a couple of standards emerged:  Postscript via Apple and HP PCL via the Laserjet and Windows.  Now, modern operating systems provide an architecture that allows us to 'interface' with a dizzying array of devices in a standard fashion.  In 10 years, maybe less, I think we'll do the same with all sorts of smart devices in the home (and elsewhere).
 
Craig
 
You must not have really read the article. I explained pretty well that that's not the case. A common syntax on the wire does not get rid of the need to understand what you are talking to, the semantics of which are often very complex. Unless every device understands every possible type of device, then it's not going to become all auto-magical, and having every device understand every possible type of device isn't practical really. That was all sort of the primary message of the article.

BTW, every printer or video or audio card I've ever installed needed a manufacturer specific device driver to get optimal performance or to work at all (and often it's just that Windows ships with manufacturer specific drivers for popular devices.) For simple devices it's become reasonable for Windows to just have built in drivers for them. But Windows still has to know up front every type of device that will be connected, else it needs a manufacturer specific driver to work at all.

You can create all kinds of devices that use, say, USB to connect, but unless something on the PC side knows what that device is, the fact that it's USB doesn't help.
 
Odd that my comments were never approved on the CePro article and I don't recall anymore what it was I posted.
 
Odd because I am (for years now). 
 
Think I am still getting the published magazine although much of the stuff I get today I never am able to get to read.
 
Well never posted anything on the forums there though and only registration was related to publication.
 
Will try again.
 
Dean Roddey said:
You must not have really read the article. I explained pretty well that that's not the case. A common syntax on the wire does not get rid of the need to understand what you are talking to, the semantics of which are often very complex. Unless every device understands every possible type of device, then it's not going to become all auto-magical, and having every device understand every possible type of device isn't practical really. That was all sort of the primary message of the article.

BTW, every printer or video or audio card I've ever installed needed a manufacturer specific device driver to get optimal performance or to work at all (and often it's just that Windows ships with manufacturer specific drivers for popular devices.) For simple devices it's become reasonable for Windows to just have built in drivers for them. But Windows still has to know up front every type of device that will be connected, else it needs a manufacturer specific driver to work at all.

You can create all kinds of devices that use, say, USB to connect, but unless something on the PC side knows what that device is, the fact that it's USB doesn't help.
 
I read your article--I just don't agree with you!   ;)
 
"Printers" now can range from a simple monochrome laser, to photo printers, to high-speed stapling, to hole-punching, collating behemoths, to pdfs, etc.  Also long as someone creates the appropriate printer description, most any application can take advantage of the available features.  During setup, most printers answer a 'who are you' query that assists (or totally automates) the configuration process.
 
Why can't home automation devices do this?  As I understand it, Homekit devices provide an XML file describing their capabilities.  I believe Weave and Alljoyn are intended to offer similar mechanisms.
 
The problem is no more insurmountable than it was for output devices.  Mostly it needs some standards to emerge and gain some traction.
 
Craig
 
Given sufficient effort, the interface to a given type of device can be highly standardized, and the amount of custom work required minimized. But there's a very big gap between being able to plug in a fixed function device and using it for that fixed function, and what is required to create a remotely customized user interface and logic to coordinate various such devices in arbitrary ways, which is what automation has to do. If all you aspire to is a 'remote control on the phone', then yeh, all you need to know is every single control point, it's type, the limits of the value, etc.. But that's not really automation. 
 
Back
Top