An IoT platform provides an interface between the IoT hardware and the data network. Such a platform contains the proper backend applications needed to generate insights from sensors and actuators in the IoT ecosystem. Currently, there are hundreds of IoT platforms available with a wide variety of features. The proper choice of platform for building IoT specific apps essentially relies on these features. While some of the platforms provide features that are better suited for app developer needs, many do not. Some of such features include device management, integration, security, scalability, analytics, visualization, etc. Depending on the application requirements, the developer would often end up mixing two or more platforms.
Let’s take a look at a few examples and see how widely they differ from each other.
- 2lementry IoT platform (recently acquired by Amazon Web Services) supports integration with Salesforce and ThingWorx APIs, links encryption using SSL, supports MQTT and STOMP protocols for data collection, and real-time analytics, but at the same time it doesn’t support device management and visualizations.
- The award-winning EVERYTHNG supports visualizations through its own unique IoT dashboard, uses REST APIs, supports link encryption using SSL, MQTT and WebSockets protocols for data integration, real-time analytics, but does not support device management either.
- ThingWorx is more of an MDM IoT platform rather than a true end-to-end IoT platform. This IoT platform supports device management, REST APIs, encryption through Standards (ISO 27001), Identity Management (LDAP), supports all the popular data collection protocols like MQTT, AMQP, CoAP, WebSockets, has a visualization tool aka ThingWorx SQUEAL and supports Predictive Analysis as well as real-time analytics.
- Big Giants like IBM also have joined the race. Positioned as the platform for cognitive business, IBM Watson supports device management, uses REST APIs, security in the form of TLS Encryption, LDAP and IBM Cloud SSO, supports MQTT and HTTPS for data collection, supports real-time analytics and visualization through a web portal.
So as you can see in the few examples above, the IoT platforms are quite well diversified in terms of features they offer. With leading tech companies such as Amazon, Microsoft and IBM having launched their own platforms, they are becoming more and more popular because of the full-fledged services provided. Still, numerous innovative IoT startups are making their way into the market because the full potential of an IoT ecosystem still remains to be utilized. New startups, hardware and networking manufacturers and enterprise software marketers are adopting various strategies to become popular among the users. For instance, Ayla Networks built its platform starting with the connectivity part, IBM built its platform top-down with the analytics part, and Predix and ThingWorx merged together to offer attractive full packages.
However, the true value of an IoT system is only realized when interoperability is achieved. Considering the ever increasing use cases of IoT, some of which have not even made their way into the market, it will be impossible for a single platform to support such diverse functionalities. This is the reason why more recently, open source tools like Kaa IoT platform and Eclipse Vorto are becoming increasingly popular among users. They enable users to contribute and build their own solutions.
Also note that most IoT software platforms available today are designed without much consideration for the system performance aspects of your IoT deployment.
Alternative IoT hardware and software platforms to consider are:
- Electric Imp and Spark Core are hardware and backend platforms that enable connectivity of sensors and actuators to the web and host IoT source code.
- Keen IO is an IoT analytics platform that facilitates creation of quantified-self type dashboards.
- Libelous provides mesh networking and APIs designed specifically for building apps for smart tech including smart cities.
Your choice of IoT development platform depends largely on what problems you need solved or what industry / domain you're working in. There's no reason for you to expect you'll be able to build your IoT application using a single platform only. Since there're separate IoT platforms for healthcare, home automation, connected things or outdoor sensing, it makes a lot of sense to use a mix of platforms for successful front-end and backend development.
To conclude with, there is no standardized benchmark that would separate ‘good’ IoT platforms from ‘not so good’ ones. Your choice of platform ultimately relies on functionality, protocols in use, scalability, adaptability, support and other factors that are decisive and critical for your business and your IoT app's goals.
And have you ever used any of the above IoT platforms? What has your experience been so far? Which platforms would you recommend for building IoT apps? Please share your opinion in comments below or send us a tweet to @Intersog!