The New York Times has a new article on Nest, describing how a software glitch allowed units to discharge completely and become non-functional. We’re all used to semi-functional gadgets and Internet services, but when it comes to thermostats we expect a higher standard of performance. After all, when thermostats go wrong, people can get sick and pipes can freeze. Or take a look at the problems of Nest Protect, a famously buggy smoke detector. Nest is an important case, because these are supposed to be the closest thing we have to grownups in IoT right now!
Having worked for an Internet of Things company, I have more than a little sympathy for Nest. It’s hard to make reliable connected things. In fact, it might be impossible — at least using today’s prevailing techniques and tools, and subject to today’s prevailing expectations for features, development cost, and time to market.
First, it should go without saying that a connected thermostat is millions or even billions of times as complex as the old, bimetallic strips that it is often replacing. You are literally replacing a single moving part that doesn’t even wear out with a complex arrangement of chips, sensors, batteries, and relays, and then you are layering on software: an operating system, communications protocols, encryption, a user interface, etc. Possibility that this witch’s brew can be more reliable than a mechanical thermostat: approximately zero.
But there is also something else at work that lessens my sympathy: culture. IoT is coming from the Internet tech world’s attempt to reach into physical devices. The results can be exciting, but we should stop for a moment to consider the culture of the Internet. This is a the culture of “go fast and break things.” Are these the people you want building devices that have physical implications in your life?
My personal experience with Internet-based services is that they, work most of the time. But they change on their own schedule. Features and APIs come and go. Sometimes your Internet connection goes out. Sometimes your device becomes unresponsive for no obvious reason, or needs to be rebooted. Sometimes websites go down for maintenance at an inconvenient time. Even when the app is working normally, experience can vary. Sometimes it’s fast, sometimes slow. Keypresses disappear into the ether, etc.
My experience building Internet-based services is even more sobering. Your modern, complex web or mobile app is made up of agglomeration of sub-services, all interacting asynchronously through REST APIs behind the scenes. Sometimes, those sub-services use other sub-services in their implementation, and you don’t even have a way of knowing what ones. Each of those links can fail for many reasons, and you must code very defensively to gracefully handle such failures. Or you can do what most apps do — punt. That’s fine for chat, but you’ll be sorely disappointed if your sprinkler kills your garden, or even if your alarm clock failures to wake you up before an important meeting.
And let’s not even talk of security, a full-blown disaster in the making. I’ll let James Mickens cover that territory.
Anyhoo, I still hold hope for IoT, but success is far from certain.
But how long will I have to wait for my toaster to talk to my flying car?
The internet of things may at some point be useful, but again, many of the attempts to get devices to communicate with each other seem to solve non-problems (or problems that vex people in the limited universe of upper-income thirtysomethings who make the decisions about what to produce and for whom). There are probably other sorts of solutions to pressing problems that go begging for capital because they are not on the radar of those who deploy capital, nor are they (or should they be) on the to-do list of philanthropic foundations.
I agree that it is hard to find compelling problems in the home for IoT automation, particularly if you set the bar to “is worth the complexity, security, and reliability cost.”
In the case of thermostats, I think the problem that Nest is really addressing is not “keep the home comfortable while saving energy” because existing programmable units solve that pretty well and, though there is room for improvement, it’s relatively small. Instead, the problem is “programming thermostats is super hard and annoying.” (Also, “collecting data to monetize”) But the solution to that problem does not require the full force of the Internet, and, indeed, that can be counterproductive. That’s why I’m glad to see not just more WiFi competitors out there, but also the traditional programmable thermostats just getting better and easier to use.
Automation, of course, has a long history in industry, and here “IoT” has more potential, but they will, of course, get better products. The economics are simple. Having a production line go down can cost $MM+/hr, so you will purchase products designed with that risk/reward in mind. In the case of residential, it is generally going to be millicents/hr, and so you get quality to go with. It does not matter that those millicents will be multiplied by potentially millions of users, the private decision is what drives the product performance expectations.