What is a horizontal IoT platform - and why should you bother?
Marcus Rej?s
Senior Software Architect. CPR Instructor. Swimming coach and official. Sailor. Alpine skier. Specialist in Free Software. @[email protected]
Disclaimer: I work for a IoT platform company, but this text and the thoughts in it are mine and not my employers.
Disclaimer2: This text was not written by AI. The spelling and grammar mistakes are all human and mine.
This is a quite long text. Take your time and read it. Especially if you somewhat know or think you know what IoT is and have a vague idea of what an IoT platform is. If not you can still read it. Are you an expert? You are most welcome too. Please share you thoughts below.
Let's start from the beginning. Well, almost at least, by defining what IoT is. The computer science in general and computer communication in particular just loves three letter acronyms. Name three letters and most likely they mean something in computer communication. Most people interested in IT know that IoT stands for Internet of Things. They might also know that there are some other acronyms being used like IIoT, IoE and M2M and others. I personally think that those acronyms, except maybe m2m, are quite bad. But they have stuck so let's embrace them.
There are two major problems with the term IoT and that is Internet and Things. I truly have no problem with of. The Internet is known to almost every person on earth and has a meaning to all. Even though it can mean different things it is to most people the name of the World Wide Web, and to more tech people Internet is the network below WWW. But that is not the scope for this essay. The thing is that Internet is not in any way needed in an IoT solution. It often is, but doesn't have to be. So in Internet of Things the Internet is not really needed.
What is wrong with Things then? Well, what is a thing? Most things are things. A computer is a thing. The Arpanet back in the late '60s was an Internet of things, right? Yes it was, and Internet still is an Internet of Things. That being said the term IoT doesn't really mean anything. But since it has stuck, let's embrace it.
I have my own definition of IoT and that is that something is IoT when computer nerds like myself uses computers in some way to get data from or control the real world that we live in. For instance, displaying the actual temperature in a room on a computer screen is IoT. The thermometer is a sensor and the transport of the measurement all the way to the screen is IoT. If I can turn on the light in the room by clicking a button on my screen or maybe on my phone, that is IoT. The switch that turns on the lamp is an actuator and the rest is IoT. Both applications above are IoT solutions.
So when we by a computer in some way can control or collect data from the real world. That is IoT. The internet and things like computers, printers and other equipment needed is not really IoT but can of course also be a part of an IoT solution.
Still here? Great, so far we have only concluded what IoT is. Let's move on.
As the need for IoT grows, the sensors and actuators as the two mentioned above tends to be more and more. And when they are in place it is obvious that they can be used for different things. In industry sensors have been used for ever and also in machines like cars and others but it is still a new phenomena that we place sensors and actuators everywhere to solve different problems.
This opens up for problems and opportunities.
Since sensors are pretty cheap and available companies have for decades creating solutions build on sensors and actuators. I'm quite sure you already have one or several around you. The building you are in is likely equipped with a burglar alarm. Look in the corners near the ceiling and you may see a sensor. That may be a motion detecting sensor. When the alarm is set and that sensor trigger on movement the alarm goes of. That is IoT. If you have a modern car there are lots of IoT in it and even older cars have IoT in them. No Internet there but IoT anyway.
领英推荐
If you think about it I'm sure you can find more IoT applications you use every day. The problem when companies deliver these services they are in many cases delivered as vertical solutions. That is tech-talk for solutions solving one isolated task and is not open for other uses. The solutions all uses different solutions and doesn't share information with each others. Therefore you might in a room see several motion detection sensors next to each others in a corner of a room. That might be because one of them serves the burglar alarm and the other serves the lighting system. If you want to add presence controlled heating you probably will have to install a third sensor measuring the same thing. It doesn't look pretty and they all needs maintenance and new batteries every now and then.
The more sensors we get we need a smart way to control them and organize them. This is were the platform comes in. In the example above the company selling the alarm solution probably already have one platform and the company installing the heating system have another one. You cannot control any of them. You probably cannot even see or use the data from the sensors in any way except via the services they were deployed for. Does that make sense? Well, yes you might argue and I will not object to that. But there is a smarter way.
Why not an analogy. I just love analogies, they make anything true, especially car analogies but this time i did not find any related to cars. But anyway. Let's say you by an online software as a service. Take an email application for instance. It works well and you use it every day. To access it you use your internet connection in your home. If you buy another service, like file storage for you photos you use the same internet connection. Wouldn't it be really annoying if the different services used different internet connections bundled with the service? Of course it would and we are beyond that now, the services doesn't even have to tell you that you do need an Internet connection to use their service. You just know that.
So now we translate that to the IoT world. What if you have the IoT Platform, you control the sensors and actuators, of course with the help from the suppliers. When the alarm is installed the alarm company installs the motion detector in your room and then when the lighting company comes the sensor is already there so they use the same sensor. When the heating guys comes they can also use the same sensor. And even a third company or yourself can offer or build smart solution with the infrastructure you already have.
Does that make sense? Well I like to think so. If you don't please comment below. I'd love to argue with you.
There is nothing wrong with vertical solutions. That is an important thing to point out. Well designed fit for purpose solutions will always be needed and wanted. But they don't have to include an IoT platform for that sole purpose. They rather need to support one or more horizontal platforms that the customer controls. In that way operations will be smother and more efficient.
Are there any downsides to this? No, not really. There are some obstacles and things that need to be set before it will work as smoothly as the Internet connection in my analogy above. But it was the same with the Internet at first.
Now to the big question. What is a horizontal IoT platform then? It is a platform built for no particular purpose. It must be attractive to the companies building the vertical solutions. The big adaptation will not come until it is easier for the vertical suppliers to build on the horizontal platform instead of a vertical one. For that to be true the platform needs a well documented and easy to use API that makes the benefits of the platform easy accessible to the developer of the vertical solution. There are standard APIs out there and believe me I love standards, but there is no "one size fits all" standard out there that suits all situations in all industries and applications all over the world. Therefore the API must be suitable for the tasks of the platform and easy to use for translating into whatever standard or API needed. But that discussion might be saved for another essay.
It is also important that the platform can be controlled by the customer and not the suppliers. Otherwise the customer might just end up with several parallel horizontal platforms. This is a problem that can be seen already today.
It will take some time for the world to adapt but I do hope we will get there some day. In the mean time when you buy a vertical solution please make sure it supports an open horizontal platform.
Specialist Application Engineer @ Orica
1 年Great article. But is there not a risk that complexity increases when using one thing to manage all needs. And when complexity increase the security risk can also increase.