This is not the IoT you are looking for
Nowadays the Internet of Things is all the rage. Connected devices are popping up everywhere and tech people are feeling that something big is coming. Something as big as the internet itself. But is it really? The term “Internet of Things” implies that we have something very similar to the internet we know, but with devices talking to each other and sometimes to us. But what is currently created is far away from being just like “our” internet.
What makes the internet great
The history of the internet is widely known, especially among tech people. And this history gives you some insight on the environment in which the internet grew.
The internet didn’t start as a commercial project. In fact companies were very sceptical of it and even thought that it was a trend, which would soon be over. They couldn’t have been more wrong. The internet developed in an environment free of commercial interests which was mostly academic. This environment enabled the engineers and scientists developing basic internet technologies to take decisions free of the pressure to generate short term (monetary) gains. The engineers were free to think about what would make such a network great, usable, successfull in a sense away from commercial success. Granted this environment was probably a little too trust worthy since security didn’t play a signifacant role at that time. But it was a mostly free environment. In this environment (just like in the real world) it looks like stupid idea to create communication protocols which are not open and cost money to use. It probably seemed borderline retarded to work towards excluding any party from this great network called the internet. And why should they have tried to exclude anyone? This would have slowed the internet down, would have excluded new and exciting ideas and would have prevented the internet as we know it.
What makes the IoT not so great
Lets skip a couple of decades (actually not that many) and we are in the age of the Internet of Things. Most technologies in this area started as a commercial project. Engineers pressured to take good business decissions (this mostly means bad technology decisions) and companies not able to imagine a future more than a few months from now.
In this environment now grew some of the basic techologies of the current IoT. Compared to the environment in which the internet grew this hopefully sounds terrible to you. And if you look at the results we got so far it actually is. Many companies like eq-3 created their own rf protocols which they won’t share with anyone, forcing them to create their own rf gateways with terrible UI and UX. We have protocols like Z-Wave and ZigBee which are open to multiple vendors, but require you to pay a hefty fee (several thousand dollars) to be able to use them. Thus excluding many very small companies and hobbyists (or interested professionals) from using their technology. But don’t be alarmed. If you payed these fees (or your employer payed them for you) and you have a closer look into these specifications you will see, that even if these protocols were free you probably don’t want to use them.
Just compare this situation to the internet and other computer networking technologies. IP (v4 and v6) are free mostly well thought out standards anyone is able to adapt. Ethernet, WiFi are also IEEE specifications which don’t force you to become a member of some alliance (although you could). People are connecting all kinds of self assembled devices to computer networks (Arduino based or even completely self developed) and creating new exciting things.
What do developers do then in the Internet of Things? Well, if you are a hobbyist chances are that you are messing around with solutions like the nRF2401, creating your own protocols on top of this rf transceiver or similar solutions. If you are an engineer at eq-3, D-Link, Philips or any other company using ZigBee, Z-Wave, Homematic etc. you are probably forced to build the same boring IoT devices over and over again. Because your project needs to be monetarized in a few months. I seriously doubt that an engineer would try to create a new technology to connect computers together (except he is researching/implementing a new IEEE specification). So why do we want to force engineers to create new technologies to connect IoT devices? To be honest I don’t know. And neither does probably anyone else. And this is bad on so many levels. Companies wasting resources on creating new rf technologies or implementing bad rf technologies like Z-Wave, people missing the chance to interface properly with their own tech at home generating new exciting ideas and in the end customers who are completely baffled that their new thermostat can’t communicate with the temperature sensors they bought from a different vendor.
The Silos of Things
The truth is, currently we are very far away from an Internet of Things. What we currently have are more multiple “Silos of Things”. Every silo stands on its own. Slowing down market penetration and innovation. Unfortunately I don’t think that we can stop this development right know. Companies are pushing out devices (and mostly not very exciting ones) with whatever technology they have available.
Currently we are moving into the phase to bridge these silos with the help of gateways. More and more companies are creating devices which support multiple silo technolgies and try to translate between them. Most notably here are the open source projects openHAB and Eclipse SmartHome. Currently these projects (which actually are based off one another, but follow the links to know more) are currently the most promising ways to bridge different silos.
But even projects like Eclipse SmartHome are no solution for the current problem. What would the internet look like if nealy every computer vendor would have their own networking technologies and protocols and we would need gateways to translate between them? And this often at a loss of information? I don’t think that we would have now networks in nearly every home which are connected to bigger networks which again are connected to even bigger networks which again are connected to much much bigger networks which at some point create the internet.
The network of security holes
So, now you probably get why I think the current state of the “Internet of Things” is bad. But you probably think, that interoperation would be nice, but in the end it doesn’t even matter to you. Well, you should reconsider. Using all these silos introduces a lot of not publicly documented technolgies in your home which have who knows how many security holes. Many technologies like Homematic don’t even have security by default (and the optional security they have is also far from trustworthy). But since all these technologies are more or less proprietary it is unnecessary hard to do security reviews on these technologies. But you can be sure but that some time someone will discover ways to undermine the security of your “smart” devices (like here or here for my german readers). Sure open standards wouldn’t automatically eleminate all security problems. But they help creating more secure and tested systems because not everyone needs to reinvent the wheel.
The network of obsolete things
Using these silos has another disadvantage. Chances are high that manufacturers will go broke or abandon older technologies. So you will run into situations where have to replace fully functional devices just because they currently can’t and never will talk to your new devices. This is a waste of money for customers. Money they should spend on more valuable things. And if these new things also use proprietary technologies you will most probably also replace them before they are broken because their technology will be superseeded with the next generation of proprietary technology (and eventually by some open standard).
Lets create the IoT we are looking for
Solving the current situation will be hard and requires effort from multiple sides. If you are an engineer at a company involved in the development of IoT devices pressure your managament to use open standards. 6loWPAN looks very promising, but lacks certain key features to ne ready for end users. Apart from the terrible name we need a cool device enrollment process and a better security concept. But pressure your management into pouring resources into the research of these missing components. Don’t use Z-Wave or ZigBee or, even worse, create your own standard. Help improve an open standard with your product.
If you are a customer actively ask if the device you are about to buy supports open standards. Can it communicate with hardware from different vendors? Is the specification of the communication protocol available free of charge?
I hope that if customers (at least some of them) actively ask for devices they can use beyond the point where the manufacturer decides it’s time for something new and engineers demand to not waste resources in dead end technologies we can start creating a real Internet of Things which deserves this name.