How not to choose an IoT platform

Would you commit to a platform for internet applications? Then why would you do so for IoT applications?

How not to choose an IoT platform

What's the best platform for internet applications?

Stupid question, right? Yet it's the same question vendors pose to developers regarding the internet of things. Don't fall into this trap -- the only answer is a highly proprietary, locked-in environment for whatever purpose the vendor has decided to slap the IoT label on. IoT is more variable and subtle than that -- and your tool selection should not assume the use of a platform.

IoT investments should start with the project, not the platform

The internet of things is, first of all, no more a thing than the internet is. IoT really means a network of connected devices that can be sensors, actuators, and/or miniature computers optimized for one or more tasks. What those devices are, what they do, and what you do with them and the information they collect and act on is the basis for choosing an IoT platform.

That platform could easily be an age-old platform you already have, like your ERP system, supply chain management system, building control system, routing system, plant automation system, or so on. Long before IoT became a buzzword, these connected systems existed in all sorts of industries.

Of course, you may not have such systems in place because you're not an airline, a power plant, a manufacturer, an oil rig, an electrical utility, a phone company, or a delivery firm. That's when you should be looking for appropriate IoT tools -- again, not necessarily a platform -- for your IoT efforts.

Either way, you still want to take advantage of today's historically cheap sensors, communications networks, and computing power to do something new -- or, if you're a pre-buzzword IoT organization, to do more with today's technology than you could in the past. In that case, you may want a platform for that effort, whether prepackaged from a vendor or one you rolled yourself.

For example, maybe you're a county government trying to manage dispatch to emergency rooms, so patients see care as quickly as possible. Today, dispatchers poll or get regular updates from ERs regarding their available capacity, then calculate how many patients they could accept. If there's a major incident, centralized dispatch can better allocate the injured. A connected device that counts how full your ER waiting room is and can calculate that fullness level with your operating capacity could save a lot of labor and ensure real-time allocation data. That's IoT applied in a new way. (There are such people-counter devices; a purportedly smart one will be announced tomorrow, in fact.)

Maybe you're a conference organizer who wants to know which attendees went to which breakout sessions so that you can better match them to potential sponsors and/or each other. You could use RFID badges with door readers or smartphone apps that talk to beacons to track users and identify such clustering, then take that data and act on it in your sales or other systems.

Don't forget the "internet" in "internet of things"

Once you know what you want to do, you then choose the right tools. Just as you would for an internet project, right? You don't first pick a platform, then let it dictate what you can do; you figure out what you want to do, then get the right tools.

For the internet, most of those tools are independent of each other -- your servers and/or cloud platforms, languages, code manager, and so on rarely care what the other components are. What does matter is whether you have the right APIs and delivery mechanisms, especially for the client end. You may choose to get dedicated circuits to your servers or cloud -- or not. You may choose to use Amazon or Azure or several clouds. You may decide to use .Net or something else.

That's how you should do IoT app dev. Start with the problem, then figure out what tools, standards, and so on you need to deliver the result. Maybe a prepackaged suite is the better idea -- that'd be like choosing an ERP suite instead of buying and integrating separate components.

That ERP mentality is why the tech providers pushing IoT, especially the "industrial IoT" variety, are so often the platform-oriented big-name tech vendors: AT&T, Cisco Systems, IBM, Microsoft, Oracle, SAP, and Verizon, with General Electric seeking to join their ranks. They want IoT to be the next big enterprise investment for software, servers, and consulting.

But keep in mind that, unlike ERP, any specific IoT initiative may not be an integrated activity that requires the various components to have been designed to work together (either upfront as part of a suite or after the fact as part of an IT integration effort).

We tend to forget that the "internet" part of the "internet of things" label means a loose coupling of endpoints, communications channels, data types, and processing engines. That's why the internet actually works (remember: it started as a network that could survive nuclear war precisely because it was not so tightly coupled), and how it differs from a typical purpose-built network.

Some IoT efforts really need an ERP-like platform

Some IoT efforts aren't internet-like; they, like ERP, are closely coupled networks that benefit from being developed and executed on a prebuilt suite. If that's the case, you'll have lots of choices from vendors who want to own that IoT effort forever, like they own your ERP effort forever. Some will even bring in a carrier to lock in your devices' communications forever to that one provider; IBM and AT&T have such a lock-in alliance for an analytics IoT platform, for example, and Verizon keeps trying to position itself as a joint communications and cloud platform for IoT. (Run, don't walk, from such carrier-based suites!)

Excepting the irrationality of committing to a single carrier for all your device communications, it can make sense to get an IoT platform for a specific class of IoT project, just as it makes sense to get an ERP platform for your enterprise resource planning, a CRM platform for our customer relationship management, an SCM platform for your supply chain management, an HRIS platform for your human resources information systems, and so on. Even though there is a lot of overlap among such systems, with certain ERP systems including all or some of the others, IT shops know that these are different tasks even when related.

The market isn't yet there for IoT, so the "IoT platform" label is used for all sorts of distinct items, from communications servers to analytics platforms, from cloud-based processing to sensor networks. Make sure you understand the subsets you need, and choose the appropriate platforms -- and yes, you will likely have more than one because you'll likely have different kinds of IoT projects.

But if your IoT project is really internet-like -- where the endpoints, communications channels, data types, and processing are more modular and interchangeable, bound by broad standards -- make sure your IoT platform is similarly modular and adaptable. Don't look for a single platform but a good tool set, exactly as you would for the internet.

Copyright © 2016 IDG Communications, Inc.

How to choose a low-code development platform