It has been a trending topic for a while now: The Internet of Things; otherwise referred to as IoT. Many R+D departments of IT companies are looking for ways to incorporate IoT in their current products or services in order to not miss out. So, there is a big chance you have heard about it before. Still, what does it mean? In this post we will take a look at the significance of IoT. Why is it currently trending and how can we make use of it within software development?
Possibilities of IOT
In this modern day and age all personal computers and laptops are interconnected. To add to that, almost everyone is carrying a pocket device connected to the internet. It makes it incredibly easy to communicate with each other or, for instance, exchange files. The ‘internet of things’ adds to this an extra layer, namely: making it easier to communicate with your (household) appliances. This way you can turn up the thermostat before you head home from work, or the washing machine can send you a message your laundry is ready.
In this case we are specifically talking about connecting ‘things’ to the internet. In such a way as to make the usage of it easier, more insightful and more accessible. Therefore, the focus is on registering environmental parameters by means of different kinds of sensors and (de)activating functionalities when necessary, by means of actuators. Products offering these functionalities have been available for quite some time now, and thus we can conclude we have been living in the Internet of Things era already.
The Driving force behind this evolution is the development of smaller and cheaper micro controllers with integrated WiFi technology. They make incorporating connectivity to products and appliances really east. Additionally we have seen an increase in internet speed and coverage over the past ten years. Both these developments have resulted in the improvement of usability and ease of use of any connected product, making them more widely popular and more available to the broad public.
When developing for IoT-integrated solutions the biggest challenge is often the cooperation between the hardware and software components. Furthermore, companies specialized in realizing custom-made software for business-to-business applications are designated to the wishes and possibilities of their clients. Especially when it comes to incorporating IoT solutions. So what are the possibilities for these software developers?
Possibilities of IoE
For the last two years a new term has emerged: The Internet of Everything (IoE). Even though the exact meaning (and the difference with IoT) is still up for debate, we can conclude with certainty IoE logically results from the IoT development. Besides ‘things’ we add three other components to the equation when talking about interconnecting our world. They are: ‘people’, ‘processes’, and ‘data’. The network is becoming more self-aware and, more importantly, is going to give meaning to sensor data and information channels. My favorite analogy about this exact differences is given by Dorothy Shamonsky: IoT is like a child asking its parent: “can I have a pony? I saw one for sale and it was only $100!” Where IoE understands, just like the parents, that owning a pony has bigger implications than the initial purchasing value. The pony needs to be fed, the barn needs to be cleaned and there will be vet bills.
As you can imagine the focus of the Internet of Everything is more on the inter connectivity between appliances, without intervention of its owners. A smart fridge can detect you are almost out of milk and send you an email about it. However, since the fridge is connected to the internet anyways, it might just as well order new milk from the web shop of the local supermarket. The focus of developing for such a network is no longer on making hardware and software cooperate but on analyzing and making sense of data produced by these appliances and making different protocols adhere to each other.
This is where opportunities for developers lie, because it is something we have been already doing. Connecting different platforms via REST API’s or translating and integrating new standards is nothing new. Opening your platform for the washing machine of the neighbors, however, might be something you did not think about before. Or analyzing big data flows with machine learning for instance to do sentiment analysis neither. It might be of great value for your company to have a way to quickly receive honest and comprehensive feedback when lancing a new platform.
Analyzing sentiment on social media when launching a new platform or software update is just an example, but it is less futuristic than you might be thinking. Sentiment analysis is already a reality with the use of Microsoft’s Cognitive Services like the Text analyser API. And even though it might seem somewhat premature to think appliances are going to approach your application, the odds are great that developing software that can be approached by your fridge will pay off rather sooner than later.
If you would like more information about the Internet of Things and the possibilities for making a buck off of it, I would advise you to watch the conference of James Whittaker (Microsoft): https://www.youtube.com/watch?v=ci4kbCmEmOI