How to Choose an IoT Platform
By: Kenny Fok
Date: November 15, 2019
Now that we have a basic understanding of what an IoT platform is and how it functions. How then do you choose the platform? Choosing the right IoT platform is a complex task. Whether you’re a IoT hobbyist, experienced developer, or senior executive, the landscape is massive and confusing. This article provides the criteria necessary for how you should evaluate and choose IoT platforms based off your needs.
Complete or Partially Complete
We'll start by listing the differences you can expect between partial and complete IoT platforms. There are many "IoT Platforms" in the industry, but most of them are only providing a subset of what is required for commercial IoT devices. For example, Amazon AWS IoT is advertised as an "IoT Platform", however it is missing the IoT-Device component. We always recommend to seek out advice form experienced IoT professionals before choosing.
- Faster time to market - A complete IoT platform helps to eliminate integration efforts and expedite time-to-market.
- Possible lower initial cost, but higher long term cost
- Can be more stable out-of-the-box, particularly during the beginning phases
- Requires an in-house team of engineers or a team of contract engineers to assist
- Can be more expensive to start, but cheaper in the long term
- Virtually unlimited customization
- Can have stability issues depending on the team of engineers. Always seek out qualified experienced people in the IoT space
Open Source or Proprietary
Open source vs proprietary, which is better? Both can be vary viable solutions, but you should know what you are getting into with each. Let's look at some of the pros and cons.
- Can accelerate development timeline, if there are many active participants in the Open Source community
- You have full control of the platform
- Labor intensive to keep track of "the stable" version with many participants
- Usually requires a larger team
- Can be unpredictable and unreliable
- Offers finer control over the quality of the platform with a faster turn around time
- Usually has greater stability
- Can find proprietary companies that offer a SDK, which dramatically decreases time to market with reduced effort
- You may not have full control over the platform (this is dependent upon on the company that owns the platform)
Generic or Customized
The next thing to consider when choosing the right IoT platform is "Generic" or "Customized." If cost is your top priority and you do not care whether there are similar products like yours, a Generic Platform is the way to go.
- It’s the most cost-effective option
- The IoT platform is already built and easily integrated
- A Generic platform can also speed your time to market
- Has off-the-shelf IoT products with limited customization such as having your company name on the app(s)
- User interface and IoT workflow are pretty much locked down
- Any change request (bug fix or enhancement) is likely to be time-consuming as the provider needs to evaluate the impact of all their customers
If you have a long-term IoT product(s) portfolio plan, it's recommended to go with a Customized Platform. The initial cost will pay off in the long run and you will have your unique IoT product line. A Customized Platform:
- Allows you to build a unique IoT product(s) based on your requirements
- Engineering services will work with you to customize their platform to meet your requirements
- It’s the least cost-effective option
- Will require significant time to test and prototype
- Decreases your time to market
IoT Software and Protocol Design
With so many components in an IoT platform, many focus on the hardware, chipset, and chipset BSP. While they are important, the IoT Software and the IoT protocol design play the most crucial role in the platform.
These are a few IoT operational concerns to keep in mind when testing IoT Software and Protocol Design Play:
- Make sure the device onboards successfully (getting IoT device to connect to Internet speedily)
- Make sure the device has a low fail rate when onboarding
- Determine the BSP (board support package used for standard onboarding) IoT device software is at a consumer quality level
- Determine that the respond time of the IoT operations is speedy
- Be aware that, depending upon design, customizing UI and features for apps may take an extended period time
- Make sure the design is modularized for easily integrating additional features or components
It is highly recommended to get a demo unit from the IoT platform provider and test it out yourself and also to evaluate the IoT platform design (e.g., making sure it has SDKs in their design). Though it can be very challenging looking for the right IoT platform suited to your needs, we hope this information helped you in your search.Contact Us