Four Challenges to Be Considered When Developing IoT Devices
Many challenges exist in the process of developing IoT products. This article lists four of the major challenges.
Join the DZone community and get the full member experience.Join For Free
IoT, along with cloud computing, is a major contributor to the fourth industrial revolution and is inevitably becoming a part of each of our lives. More and more industries have gradually applied this IoT technology, and an increasing number of enterprises are attempting to gain footing in the future IoT world.
The challenge with IoT is that many enterprises only focus on IoT development without evaluating or learning the primary challenges that they are facing. Many of these enterprises do not even have any background in the IT industry or software development, but most of them are committed to providing internet-connected devices. Even enterprises that have software and hardware design experience often mistake IoT as other traditional computing technologies and make big mistakes when developing IoT devices.
Again and again, facts prove that this practice is a disaster and will ruin manufacturers' efforts and, ultimately, damage the integrity of IoT.
This article will put forward four challenges that all manufacturers and developers should consider when they decide to go into the IoT industry.
Connectivity is the first concerning issue, i.e. how to connect devices to the internet and the cloud computing platform. However, to a great extent, this is determined by the device application environment and the type of communication infrastructure provided to these devices.
For example, if you need to develop a smart home device, such as an online toaster, you may access a Wi-Fi home router or a ZigBee/Z-Wave IoT router. Therefore, your device must support one or more transmission media. However, in some environments, such as the agriculture IoT or smart cars, access to the Wi-Fi network is unavailable, and the mobile network may be your only choice for connection.
Therefore, you must balance your choice and make design decisions based on possibilities provided by every option and investment. For example, it may be expensive to transmit data through a cellular network to the cloud service, but you may determine to select the function first mode or the blockchain mode to build an IoT ecosystem that is less dependent on cloud computing.
Of course, you also need to know that IoT is still a technology at its early stage and may undergo significant changes or modifications. Too many uncertainties and competition trends exist. Therefore, technologies in use today may become outdated in the future.
On the other hand, as compared to computers and smartphones that may be quickly replaced by new products, IoT devices have a longer life cycle. For example, a smart refrigerator must work for at least five to ten years. Therefore, you must develop a plan to ensure that your device can maintain its connectivity and adapt to new technologies when IoT begins to take shape in the future.
Security and Privacy
IoT security has always been a controversial issue. The first challenge to be considered is that security and privacy of IoT are fundamentally different from the network security that we've known. The following lists some key points for security design that are considerable:
- Physical Security — IoT devices are often located in open fields and are unattended and physically unprotected. You must ensure that they will not be maliciously tampered with by a vicious organization, breached by hackers, or operated using a flat-head screwdriver. Also, you must protect data that gets stored on the devices in any form. Although it is costly to embed a security protection component on every IoT device, it is still important to encrypt data on these devices.
- Security of Data Exchange – Data protection is also important because data must get transmitted from the IoT sensors and devices to the gateway, and then to the cloud. Therefore, use of encrypted transfer protocols is a must. In addition to encryption, you must also consider the authentication and authorization to ensure IoT security.
- Security of Cloud Storage — Data stored in the cloud is equally fragile as other parts of the IoT ecosystem. Your platform should be able to protect data stored in the cloud. Protection measures include appropriate encryption, access control, and so on.
- Update — Security vulnerabilities always exist no matter how much effort you pay to enhance your product code and hardware. In this case, you must first have a plan to fix errors and quickly release patches, instead of leaving the errors unfixed for a long period of time. Next, you must provide customers with a direct and secure method to fix errors. Currently, it is popular to update online devices over the air, but you must ensure that the above method itself will not become a security vulnerability.
Regarding privacy, you must know that data collected by IoT devices are easily subject to restrictions on laws and regulations. For example, a fitness tracker can collect a lot of user information, which is protected by HIPAA in the United States. This means if you store this type of information on the cloud server, the data must comply with related laws and regulations.
As a rule of thumb, you'd better anonymize customer data to avoid storing personal identity information in the cloud. This rule defends you against legal punishments when incidents occur.
Flexibility and Compatibility
As the IoT pattern is continuously changing, you must ensure that your product can support future technologies. However, it requires a balance between software and hardware when designing your product.
Developing dedicated hardware for your device helps your device achieve the optimum performance, but may also restrict product update. On the other hand, selecting appropriate storage and computing resources and operating systems (such as Linux, Brillo, or Windows IoT) tailored for IoT may cause degradation of performance, but it allows you to expand your device, use new functions, and fix bugs using patches.
Some vendors may try to provide appropriate APIs and SDKs whenever possible to allow the developing personnel to add functions for their IoT devices. A good example is Amazon Echo. This IoT tool can implement the expansion in 1000 different directions using programming.
You must also consider compatibility when designing IoT products. Ensure that your IoT device can get seamlessly integrated with users' IoT ecosystem, without increasing complexity or bringing any setbacks to existing experience. For this reason, you need to consider both software and hardware.
An ideal situation is that consumers should not be forced to install a new application just because they purchase a new smart device for their homes. Apple HomeKit and Samsung SmartThings are two typical examples. Both allow the developing personnel to provide new IoT functions for users in environments that users are familiar with.
Data Collection and Processing
In addition to security and privacy, you must also properly plan how to process all collected data. You must first evaluate the amount of processed and collected data to control the size of your cloud storage and meet your platform requirements.
What is even more important is how you are going to process the collected data. IoT data is as precious as gold, but it is useless if it gets stored on your server without getting properly processed. Therefore, you must figure out the skills and tools that can best utilize your data. These tools include recruiting data experts and adopting appropriate analysis and machine learning to extract operable insight information from the collected data.
IoT data can complete multiple practical functions, including:
- Supplement Existing Data — Most enterprises already have extensive data about their customers before they migrate their services to IoT. Integrating the existing data with data collected by IoT devices can bring new business insights and more opportunities for generating revenues.
- Analyze and Further Divide Users — Data collected by IoT devices can also tell you a lot of information about customers' preferences and characteristics. Analyzing and classifying IoT data can help enterprises better learn their customers' requirements and preferences, and enable them to resolve related problems in a wiser manner.
- Find Opportunities to Improve Products — Correct analysis of IoT data helps enterprises find out functions that should and should not get added to products, and functions that should be corrected to improve the production efficiency and ease-of-use. In this way, enterprises can add appropriate functions to future products and update software accordingly.
Many challenges exist in the process of developing IoT products. This article lists some major challenges. If these challenges do not get properly considered, you may walk into a deep channel without a torch. In fact, challenges encountered in IoT development may be even more complicated and comprehensive as time goes on. If you find other challenges for IoT development, you are welcome to share your ideas with us.
Published at DZone with permission of Leona Zhang. See the original article here.
Opinions expressed by DZone contributors are their own.