Who needs an operating system for the Internet Of Things?

Recently, there was a rise of so called « operating systems for the internet of things ». To name a few, there is Arm, Contikit, Riot. Even Google and Microsoft wants to be in the race. This is probably the worst thing that could happen to the IOT.

Internet of things is about simple interactions, but also about communication.

As a user of IOT, you don’t care about the OS of your ” things ” but should you care as a developer ?
Connected devices are for most of them simple devices, that does one thing that does it well. Price is a key factor, and Arduino as the major prototype board for the IOT shows us the path. Simple, no OS, just a few functions to interact with the board and the external world, and no real OS.

The biggest issue is about communication and that’s the today weakness of IOT. To be able to do communication you need something much more powerful that was is needed to interact with the user. In Arduino for instance, you embedded a full Linux based system just to be able to do Wifi with the rest of the world (Arduino YUM).
Of course, some connected devices will require some complex and powerful OS, typically those with strong interaction with users but that’s only a fraction of the IOT
Others, like Spark.IO or Electric Imp try to solve the system by integrating at the chipset level the communication stack.

So we don’t need another OS, we need communication stack and protocol, to be able to discover, interact, commands objects. This is the « real » OS for the IOT, and this have yet to come.
The basic list of features should be:

  • simple
  • secure
  • light
  • provide a discovery and registration protocol
  • ability to send and receive information
  • pull AND push! (push is really key here)

There are some candidate for this, but no real winner so far, unless I’ve missed something!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>