IoT Think Tank
There Is No Such Thing As an IoT Platform
Creative Intellect Analyst Clive Howard says that if IoT is to move beyond the hype and to deliver the significant benefits that are possible, then we need to move beyond talking about IoT platforms.
- By Clive Howard
With Internet of Things (IoT) at the top of the hype curve it is no surprise that there is a growing abundance of products and services tagged with "IoT." One of the most popular forms of this is the "IoT Platform." Companies across the technology market are frantically releasing their own IoT Platforms. When one looks at what is involved in an end-to-end IoT solution, one must ask what is an IoT Platform?
This is an important question to answer because with the abundance of IoT Platforms, organizations are naturally going to find themselves trying to compare different options to find the right technology foundation for their IoT strategy.
Defining a Platform
Historically, a technology platform is a product or collection of products that provides the basic foundation on which solutions can be built. Before IoT there was a proliferation of "Mobile Platforms." These enabled developers to quickly and easily build, test, deploy and measure mobile apps.
A mobile app is a relatively straightforward solution; it typically consists of:
- An installable that runs on the client (phone).
- Some back-end services providing capabilities such as data management and push notifications.
- Security and testing capabilities.
- Deployment of the different binaries into different public and private app stores.
- The ability to capture usage data for gathering insights to help improve the app.
Most Mobile Platforms provide all of these capabilities and so with a single platform a developer could get all of the fundamentals that they needed.
The Challenge of IoT
IoT solutions look very different from mobile ones and are far more complex. Anyone creating an end-to-end IoT product will have multiple considerations with associated technical challenges:
- "Things" are essentially hardware with sensors that will be deployed into the world. They will require code written for them and to be managed. Things will come in many shapes and sizes, some will have advanced compute capabilities while others will be incredibly limited.
- Connectivity will be a challenge as many solutions will not be able to rely on a single type of network such as cellular. Instead, multiple network types and possibly protocols may need to be supported and networks themselves deployed to support the things.
- The things will connect over the Internet to an endpoint, typically a hosted service such as one living in the cloud. For some solutions this piece will live entirely within a single infrastructure but many will integrate with multiple systems living in different infrastructures such as multiple clouds and/or on-premises datacenters.
- There will usually be the need for analytics to mine data gathered from the things for insight that can be turned into actions. These actions may result in instructions being sent back to the thing and/or to another system(s).
Depending on the nature of the solution, these different elements may be more or less complicated. For example, very low power devices may require the type of programming typically found in embedded systems, which is highly specialized. The networking and communication issues will be a major factor for some, such as where there are health and safety concerns, where the robustness, latency and security of the network is far more important than when using the Facebook app on your phone.
Hopefully, this provides an indication of the breadth and complexity of an IoT solution. So for an IoT Platform to provide the same foundation as a Mobile Platform it needs to be able to cover this spectrum of considerations.
Why 'IoT Platforms' Are Not IoT Platforms
IoT platforms are actually very specific to a part of the whole solution. For hardware vendors (processors, sensors and so on) an IoT platform is usually something that resides on the hardware. The ambition of such platforms is to simplify the programming of what can be complex environments. This is a commendable aim and certainly one that will help many developers who lack skills and experience in hardware development. But such a platform by no means supports every consideration within a complete IoT solution.
Similarly, there are IoT platforms that reside entirely in the cloud. These help developers to collect data coming from things and then apply analytics to that data. In some cases these platforms also provide the ability to trigger actions as a result of those insights. Again, these capabilities focus on only a small part of the complete solution. Cloud platforms do nothing to help developers create code that runs on the things, or with the challenges of communication between the things and the cloud.
In every step of the IoT chain there will be vendors with IoT platforms that concern themselves solely with the vendor's role in the overall solution. Together these platforms can be advantageous. The easier that the many complexities of IoT are made, the better for developers and organizations wanting to bring IoT products and services to market.
To label all of these different offerings as "IoT Platforms" will likely lead to confusion (there is already a lot of confusion with respect IoT) and make them impossible to compare. I'm sure at some point we will see an infographic that tries to compare a hardware platform with a cloud platform, which will simply be nonsense and help no one.
The term IoT platform is therefore meaningless and mostly unhelpful. Vendors would do well to either stop using this term or to make it clearer what type of platform they are offering. For example, hardware manufacturers could have "IoT hardware platforms" while organizations in the business of networking and communication could have "IoT communication platforms." If one wanted to compare platforms, then at least this would make it easier to compare apples with apples rather than apples with oranges.
The danger for vendors is that, as happened with mobile, customers become jaded and mistrustful of platforms. They see vendors as trying to offer the answer to everything but in fact the customer
ends up having to integrate multiple platforms, each with perhaps limited or restrictive capabilities. Platforms that make for faster and easier development sometimes limit what's possible. The customer's solution becomes defined by the platforms rather than the platforms supporting the best solution.
Customers Are Already Wise to IoT Platforms
It is no surprise that many of the organizations we talk to that have delivered IoT solutions have not used IoT platforms. Instead they have created their solutions out of individual products and services that help them to best create the solution they want. If IoT is to move beyond the hype and to deliver the significant benefits that are possible, then we need to move beyond talking about IoT platforms.
Clive Howard is Principal Analyst for industry analysis firm Creative Intellect Consulting and a technology consultant and entrepreneur focused on delivering expert guidance on software and systems delivery in a connected world. Clive can be reached at email@example.com. Read more from Clive on the Creative Intellect Consulting blog.