I think the article does a decent job of highlighting some of (what I hear as) the primary concerns surrounding IoT, namely:

1. WiFi needs to always work

2. Internet connection needs to always work

3. Power needs to always work

4. Stability of software and firmware

5. Trustworthiness of software and firmware (including data leakage, privacy, etc)

Simultaneously, though it rightly points out that IoT is still very much in its infancy, I think it misses a very important observation: there will absolutely come a day when IoT is unavoidable. Not as in you can't avoid encountering it, but as in you can't avoid owning it. There will, (I think anyways) without a doubt, be a day when devices that the average Western consumer considers necessary for everyday life -- things like refrigerators, electric meters, thermostats, and so on -- are effectively impossible to buy "dumb". Every analysis and meta-analysis of IoT that I've seen has been incredibly bullish on it, and I think that's an indication of how much economic incentive there is for it. Given that, I'd say automobile ECIs are the proof in the pudding for the assertion that IoT will be unavoidably ubiquitous. As an experiment, try to find a new car that you can personally can actually buy, that doesn't have a computer in it. As the median Western consumer, that's not possible. So I'm pretty convinced that for IoT, non-participation will not remain an option.

So then the question is, what do we do about those 5 issues? I tend to look at stuff like this from an economic perspective; clearly device producers haven't seen enough market pressure to give a shit about any of them. Right now, the only pressure device creators are demonstrating is a profound push to get something, anything, to market. It really is an internet of shit.

That being said, even the bare minimum is really hard here. You're talking about a system architecture that our existing infrastructure simply isn't cut out to handle. Think about the challenges involved in deploying a reliable authentication system to a web-scale application, and now imagine doing it in a way that can't necessarily rely upon a central server. It's far easier to just "punt" on the second half of that, assume the traditional web paradigm (trusted third party server), and call it a day. And make no mistake, for a commercial device, authentication is absolutely required, even for home WiFi network: not everyone wants every person in their house to control, for example, their locks. Or, alternatively, imagine an AirBNB host being forced to give their guests unfettered access to their IoT vibrator (yes, they exist). These edge cases are everywhere, and they make authentication of some sort or another an absolute requirement.

My hope is that someone (and by someone, in all honesty I'm talking about my own project [1]) can come along and say to device producers:

1. I understand how hard it is for you to make any IoT device.

2. I'm going to make it substantially cheaper for you to do that, but...

3. The privacy and security I've baked into my system is inseparable from your economic benefit as a device producer.

The idea is to evolve that into:

4. You cannot be competitive in the IoT marketplace without privacy and security.

At this point, with how completely and totally horrendous the industry has been in these areas so far, I think that's the only viable way we can achieve those goals without a tremendous amount of growing pains.

[1] The project is called Hypergolix, and at this point it's basically "Dropbox for Python objects, geared towards IoT, with an emphasis on social, and secured via end-to-end encryption". We're in the process of getting a private alpha shippable, to be followed soon by a public alpha. It all works, and it's all open source, but there's some necessary stuff we need to iron out in the coming weeks. Our outdated landing page is https://hypergolix.com, but a better preview of the developer experience is on our very incomplete docs page: http://pyhgx.readthedocs.io/en/latest/index.html . The whole project is backed by a crypto protocol known as Golix: https://github.com/Muterra/doc-golix