IoT is becoming huge. Numbers are exploding. From two billion in 2006, over 200 billion “things” will be connected by 2020. That includes 1.9 billion home devices and 90% of all running cars. Over 82% of businesses will be impacted.

But with size comes complexity.

Currently, a host of different IoT technologies and standards coexist, several of them vying for supremacy. There are already countless types of devices and solutions for managing connected things. As a result, programming for such a dynamic environment can be a challenge. Especially when looking to create a software ecosystem that integrates the wildly different elements. One dashboard to rule them all, that is.

At Tremend we have been developing rather complex tools that link connected devices and their data to business operations. That has helped us define several overarching principles of “IoT programming”. They are based on the experience of our developers with the specifics and challenges of programming for the Internet of Things.

Here’s what they have in mind when designing and building IoT solutions.

“Design with the industry boom in mind.”

Scalability, that is. Make sure the app will work just as easily with 10 or with 1000 connected devices.

“Provide for the risk of limited connectivity”.

Connected devices may suffer from low bandwidth or unstable connections. So, data handshaking and data validation should be taken very, very seriously when coding for IoT applications.

“Pay attention to the way you reconcile business logic with asynchronous communication”

Here is what it means in real life: It is noon, it is getting hot, so you send a command to a remote device to turn on the AC. Problem is, the device is offline. What happens when it comes back online ten hours later (that is asynchronous communication), in the evening, when AC is no longer needed (that is business logic)? Should the AC turn on, as asked, or wait for a confirmation? Or ask for one? That is reconciliation, and is up to the solution designer.

“Properly calibrate the management of data streams.”

Some devices send data every second, and 1000 such devices may end up sending huge amounts of information. Data storage and management needs to be calibrated according to each usage scenario.

And finally…

“Try to hack your own IoT software.”

Security is probably the greatest concern for the IoT industry. Compliance is about meeting standards and about extended testing. Nobody wants rogue code to hijack their devices or to connect to their own cloud service account.

Feel free to contact the author at hello@tremend.ro for more on IoT software solutions.

Tremend Software Consulting

Written by

Romania-based, fast-growing team of coding professionals with hands-on expertise in e-commerce, embedded, mobile and automotive software.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade