2017 marked continued stable growth in both interest and deployment of IoT all over the world. In fact, according to IoT Analytics, there are more connected IoT devices than smartphones and PCs (8bn IoT devices vs. 7bn smartphones/PCs). Several writers and analysts have already done a great job reviewing IoT trends in 2017, but here are some real world lessons learned from moving IoT prototypes to massive deployments during my time at Leverege.
When I first started learning about IoT, its benefits and deployment plans seemed relatively simple. Asset tracking? Put a GPS tracker on things. Waste management? Put a depth sensor. Smart homes/cities? Put some cameras/sensors and connect it to the Internet. I mean, don’t you just connect devices to the Internet? But in practice, IoT deployments are really difficult. Each use case necessitates a different connectivity layer. How will IoT deployment affect current workflow and who will lead the training for the switch? The benefits are clear if there are no failure cases, but is there a clear recovery plan in the case of network outage? Are device repair and maintenance schedules clearly thought out? What about storage for replacement devices? How is device activation going to work? What do we do if we need to revoke access?
There are services dedicated to solving each of these challenges, but you need to act as a system integrator to address each of these parts after simply connecting things to the Internet.
Sure, WiFi modules or LoRa chipsets are increasingly getting cheaper, but is that all that your device will hold? How much will adding GPS cost you? What about a battery suitable for your use case?
Aside from device costs, what about costs dedicated to transporting, installing, testing, and deploying your product? Don’t forget about training and maintenance costs. Do you need extra storage to put replacement batteries or sensors? After you pay for hardware, network, VMs, security, and human resources, are you sure that IoT actually reduces cost or is it simply a newer way to address a problem with brute force?
Batteries are boring to think about, but especially for LPWAN use cases where long battery life is advertised, it’s also the least thought about part of IoT. LPWANs list 7+ years of battery life, but in reality, battery life depends heavily on usage.
Yes, LoRa/SigFox/RPMA can reach multiple years of operation if they send one message a day. But realistically what IoT application has that kind of simple message structure? It is more likely that you need to communicate more than several times a day and use some power for intensive processing tasks such as GPS or running data logic. Aside from battery life considerations, how are the batteries inside devices going to be transported? FAA has some limitations for types of batteries used. Is the battery going to be installed on site or are they already embedded inside devices and need some sort of activation? Many manufacturers like magnet-based or motion-based activation, but how feasible is it to deploy thousands of devices that way? Are OTA commands suitable for your application?
More often or not, the initial deployment will not go smoothly. There will be battery issues, weird device bugs, and changes to requirements that dictate both firmware and software changes. Thankfully, more and more vendors support OTA updates to respond to the ever-changing landscape. But don’t overlook monitoring and logging solutions to help track down critical points of failure.
For example, consider an asset tracking application. Are you prepared to recall faulty devices that no longer report GPS positions? For batteries that don’t show linear drainage behavior, how are you going to model battery life? What happens if the network goes down for your connectivity layer or for cloud services you depend on?
Advances in machine learning and artificial intelligence in 2017 have been amazing. Deep learning is expanding its reach from particular applications to become more generic (see AlphaGo Zero and AutoML), but to a lot of people outside the data science community, AI is still a black box.
Yes, AI will provide tremendous value to IoT applications, but you need useful data before making it work. And no, even the most sophisticated tools are not yet plug and play. You can’t just send your messy data and expect the machine to transform, train, and create models that are useful for your business. Focus on creating a solid data pipeline first, before being mesmerized by the latest buzzwords.
Both hardware providers and cloud services have made significant strides to simplify best security practices (e.g. Cloud IoT for Google or crypto-hardware). However, the biggest problems that I’ve seen in practice were related to prototype systems being rushed into production.
IoT, by definition, has many dependencies. Often in building a prototype system, authentication is pushed to the end of the task list as clients want to just see devices talk and do something. What happens when you need to bypass a peripheral part of the system while you wait for a third-party to finish their development? User management and authentication layer of these inter-party communications are often overlooked.
The role of a system integrator is critical in assembling various parts of the IoT stack. Most hardware companies now also provide some cloud/software service to promote the usage of their device management platform.
But often times, I receive hardware with little instruction to activate and connect to the cloud, and end up having to write my own server to ingest data. For an end-user, they might simply want to send data to some public cloud and not necessarily have to use the REST API. As for cloud providers, each of them promote direct communication to devices (AWS IoT, Azure IoT Hub, Google IoT Core), but usually people buy hardware + connectivity, not raw devices unless custom development is needed.
This essentially requires a SI to build a forwarding layer from the device-hosted cloud to AWS/Azure/GCP. We would like to see more collaboration between hardware and cloud providers to ensure seamless end-to-end integration without extra work.
Don’t get me wrong. Even with all the faults of thecurrent state of IoT, I’ve seen firsthand the tremendous value IoT brings to everyday life. There are still a lot of manual processes all over the place.
Often times I am dumbfounded by the menial tasks we have yet to automate or the value that simple, connected products can bring. The influence of the Internet is finally reaching the world of physical products and as the number of IoT devices continue to grow, so will the value over the initial hype.