The growth of IoT technology is on a hockey-stick trajectory and the number of interconnected devices is expanding exponentially. More and more businesses are investing in IoT application development.
A recent article from McKinsey points out that small- to medium-sized businesses in particular are poised to reap the greatest benefits from the latest IoT advances. Implementation is becoming easier and more affordable.
That doesn’t mean that IoT application design and development is easy, though. In fact, there is a lot to consider to make sure you get it right the first time around, so you don’t waste time and money on something that doesn’t work.
Here are five of the most common challenges to overcome in IoT application development and some advice on how to handle them effectively.
The top five IoT application development challenges
Choosing the right IoT platform
An IoT platform provides the environment that developers use to build an IoT application, which should make it easier to connect hardware to IoT devices and sensors and integrate the IoT app with existing systems. It may also provide some security and authentication features.
Leveraging a platform saves time and money during the development process, but you need to choose the right one (from a sea of choices). When you evaluate IoT platforms, consider such factors as connectivity, security, scalability, usability, and integration.
What’s right for one project may not work well for another, so this is an important decision to make early in the design process. If you’re not sure how to pick the right platform, you can always seek outside expertise.
Connectivity can be a major challenge in IoT app design, especially when you’re designing for an industrial or agricultural setting. There may be very poor connectivity on a remote factory floor or out in the fields, making it difficult to transmit data.
These limitations must be addressed during the design phase to ensure that the proper technologies are used. The good news is there are several new IoT wireless technologies that are ideal for remote locations.
They can also consume less power and can reduce the overall cost of your IoT project. Examples include:
- Narrowband IoT (NB-IoT) and LTE Cat M1—Two cellular technologies that cost a fraction of a traditional cellular service. You can’t send nearly as much data, but this works fine for most IoT devices operating at the edge of a network. The cost savings are helping companies put cellular connections in places they never would have considered before.
- Low-Power Wide-Area Networks (LPWANs)—LPWANs operate on inexpensive batteries to deliver long-range communication. This technology is ideal for connecting IoT sensors across a network for remote monitoring and asset tracking.
- Zigbee—A short-range, low-power wireless standard that creates an IoT mesh network by relaying data over several sensors. It is ideal for applications in which IoT sensors are relatively close to one another and evenly spaced out, including many industrial settings.
Data collection and processing problems
One of the biggest problems with IoT applications is often having too much data, which can make it hard to decide where to store and analyze it.
When we design an IoT system for a client, we start by mapping out our clients’ data needs. We help them decide what data to record, how much of it to store, and what to do with it based on the project’s requirements and goals.
One of the biggest decisions, once you’ve collected the data, is deciding where to process and store it. One of the main factors to weigh here is how quickly you need to analyze the data. Are you dealing with microseconds or seconds?
Processing data at the edge of the network in the Fog, for example, is much faster and provides real-time insights on your application. The Fog is the space between the edge and the cloud. It operates close to the data source, but has enough power and bandwidth (than the sensor device itself) to perform heavier data processing and analytics.
Fog processing may be a better approach, especially for certain industrial settings where connectivity to the cloud may be limited. Data that is less time-sensitive (such as information for preventive maintenance) can then be sent to the cloud for further analysis.
When it comes to actual data analysis, you may be able to use an off-the-shelf analytics package to analyze your data or you may need a custom solution to fit your needs. You will need to research the options to make the best choice or work with someone who can make the right recommendation.
Once you know exactly what data you want to capture, it’s time to look at sensors. Some may be too expensive for your budget. Others may not be able to function in the environment you’re working with (such as a freezer or outdoor setting). It’s important to consider all budget and performance constraints to make sure you choose the best sensor(s) that can properly capture your data.
Security and privacy issues
Security is a big deal when developing an IoT application, so it should receive attention at all stages of design and development and throughout the life of the application.
There are several areas of security to address:
- Physical security—The IoT device itself must be secured. Consumer end users tend to neglect security, so this is particularly important if you’re designing for this type of customer. We recommend building security into the device as much as possible so you’re not relying on the end user.
- Data security—The data captured and analyzed must be secured both at rest (on the IoT device itself) and in transit (from IoT devices to sensors, the gateway, and the cloud). The data should be encrypted. You should also employ authentication technologies. Any data stored in the cloud also needs to be protected with the proper access controls.
- Privacy regulations—Depending on the type of information you’re storing in your IoT app, you may need to comply with regulations such as HIPAA, GDPR, and CalOPPA.
From a high level, there are several things you should be doing to improve your IoT app security to protect your enterprise and your users, including authentication, encryption, security analytics, and API security. Greater detail is available on all of these security approaches in another post dedicated solely to IoT security.
Because the Internet of Things is all about connectivity, your IoT application will likely include devices or interact with applications using different architectures and operating systems, all of which need to communicate with each other so data can be passed back and forth. You will need to account for these variances during design and development, as well as during maintenance throughout the life of the application.
Fortunately, there are standards and models available to make cross-platform deployment easier. This resource is a great starting point to see what is available and relevant to your current project.
It’s an exciting time for IoT application development. Even though there are some hurdles you will have to overcome, they are manageable when you’re armed with the right information. Check out our checklist on how to design a successful IoT system for more tips and best practices.