The Internet of Things is an exciting and sometimes worrying idea, but the problem isn't the technology for making it all happen. There's just so much of it... in fact that really is the problem.
The Internet of Things or IoT is big news at the moment. Google recently bought Nest for a lot of money and now has a stake in the IoT.
In case you didn't know, Nest makes a smart thermostat that learns how best to control your heating system to take account of your lifestyle and other factors. It has now added an intelligent smoke detector to its product range.
What most people have been commenting on with regard to its acquisition is the scope it gives Google for getting deeper into your personal life by recording what you do with your thermostat. I can't quite see why I should worry about my temperature settings becoming public, but this doesn't mean that I'm not worried.
What worries me is the fact that the Nest smoke detector will talk to its thermostat, but not to much else. How is this supposed to further the connected network of things?
The same is true of all sorts of hardware connected to the Internet, so I'm not singling out Nest for special treatment. For example, Belkin's WeMo remote controlled mains socket has its own API that allows you to write apps, but out of the box it doesn't interoperate with anything.
The general problem is that things may be connected but they don't talk to each other.
In some cases this isn't a just a software problem. WiFi is far from the most used communication method. Connected devices make use not only of well known radio technologies such as WiFi and Bluetooth but, for reasons of cost and perhaps efficiency, they make use of other frequencies typically around 900MHz and "simple" protocols such as ZigBee.
I say "simple" because they range from a basic hub and spoke type network to a fairly sophisticated mesh architecture that is better suited to the multi-path environments of a typical building. In a mesh every device can act as a relay station to pass the data to the controlling hub.
This may be sophisticated but it is still difficult to get a single unified standard for hardware let alone software.
You think your fridge is going to talk to your cooker or to the online grocers shop? Well think again.
One of the early vanguards of the IoT is home automation and after fifty years or so it is still in its infancy which is something of a surprise. Given the potential it has to save power and make life more pleasant it is not just a surprise but a shock things are both so primitive and so expensive.
The home automation market gives a clear view of the problems any bigger IoTs has to solve.
The biggest problem is fragmentation.
Consider the problem of picking a home automation system. You would want to pick something that would be around for a while. After all buying lots of different sensors and actuators is expensive and keeping the system going a while is clearly a priority. Even if money was no object you don't want to have to throw it all away and start again just because one device failed and you couldn't buy a replacement because the company had also failed.
The point is that home automation has a lot in common with fitting electricity points and lights in the house. It is part of the infrastructure and this focuses the mind on the systems longevity. Imagine if you had to change all of the bulb holders a few years after fitting them because they no longer made the lamps you needed. In fact this isn't quite as far fetched as it sounds because currently if you buy a smart bulb and invest in the control system it needs who is to say that you will be able to buy a replacement or more smart bulbs in 12 months time?
A second big problem is specialization.
If you look at the forums of any of the home automation systems one question you will find repeatedly is
"Where can I get a remote thermometer for this system"
You would think that is is such an obvious device that the answer would be forthcoming in a flash. The truth is that usually the answers are of the sort "what do you want to do that for" and various not quite right alternatives leading up to -
"build one yourself".
Now while I personally like the "build it your self" option this is not a consumer oriented approach.
How can this happen that a common requirement isn't catered for?
Part of the answer if the problem of fragmentation again but this time coupled with specialisation. A thermometer isn't just a thermometer it can take on many different forms and tasks. For example, do you want a room thermostat, a weather station thermometer, a pool temperature sensor, a central heating sensor, freezer thermometer, something to automate your brewing operation ... and so on. Each group of users want something so specialised that it is difficult to meet their requirements with a single device and hence the "build it yourself" response. In fact it is more a "if you want it then build it yourself".
Again the solution would be standardisation because if each of the small number of users wanting a particular sensor were all working with the same technology they would probably be a big enough group for some one to think it worth making a device.
The problem of fragmentation could be cured by standardization.
For the IoT to take off, and for home automation in particular to take off, we need standards that allow companies to compete with novel products on an equal footing.
You might think that this is so obvious that companies would realize that the more they could entice other companies to make compatible products the more secure their products would be in the market - but this is not what happens. The home automation market place is comprised of more "walled gardens" than the mobile phone market.
What seems to happen is that a company thinks up a communications protocol and uses it to sell complete household systems. Once you buy the controller from company X then you are committed to buying all of the rest of the home control equipment from company X - because they are the only people manufacturing compatible hardware.
A monopoly in is what all of the IoT companies seem to be aiming for even though it must be obvious to anyone that having a single standard protocol would create a much bigger market than any one of them could hope to establish.
A Z Wave equipped Raspberry Pi - DIY in desperation
Before you decide to tell me that there are standards for home automation I need to add that currently the only standard that actually works is X10. Insteon have a sort of compatible protocol, but if you want to use its extended range of sensors and actuators you have to use its proprietary protocol.
There is also Z-Wave, which in theory is a multicompany standard, but in practice it is still developing and making sure that devices work together can still be a matter of buying from one manufacturer. However, given time, Z-Wave could be the standard we are looking for and its certification process is becoming more strict and better controlled. There are even open source initiatives and a GPIO card for the Raspberry Pi. At the moment things are at the stage of just getting started, but Z-Wave is certainly the one to watch.
Even if Z-Wave is a candidate for the single standard home automation needs, how is it that Nest created a thermostat and smoke detector that aren't compatible? Even though Nest has just released an API, the system that has made the biggest splash in the home automation market for years could still go its own way.
Imagine a Google-backed home automation system that wasn't compatible with anything else on the market, but arguably better. If you don't think this is possible there are plenty of examples of electronics companies who have and are producing proprietary control systems rather than joining the standards bandwagon.
As far as home automation goes you have a choice of either a very old and limited X10 standard or the more expensive Z-Wave. When it comes to the wider world of IoT then you have no choices at all.
You can argue that the lack of a successful standard has held back home automation. If this is the case imagine how much the lack of a standard is going to hold back IoT. Manufacturers are creating freezers, toasters and all manner of white goods and devices that connect to the Internet - but when the get there they won't talk to each other.
This problem is so bad that even Stephen Wolfram has got in on the act and started a "Connected Devices Project." The idea is to build a big catalog of devices and their characteristics. It might even work enough to let us create software that acts as a big interconnect. Of course he wants to use Wolfram language to analyse and present it all so this is as proprietary an approach as any other.
For the foreseeable future the IoT looks as if it is going to be the winner takes all battlefield that home automation mostly is. There are attempts at creating standards but even here there are competing standards. There is too much at stake for companies, and even standards authorities, to think that co-operation is a good idea. The IoT looks as it if is more likely to be a lot of Internets of Things rather than a single entity.
It makes you feel glad that the Internet of Computers was established and standardized long before commercial interests started to take an interest.
A temperature sensor waiting to be connected - but to what?