The internet of things needs developers. So what do developers need?

When it comes to the enterprise there’s a lot of interest in the internet of things, but also a lot of confusion as today’s tech giants struggle to take advantage of this shift. Most see it as a systems integration opportunity rife with service revenue and magic boxes that will remove the pain of collecting and organizing gigabytes of data collected across hundreds of thousands of sensors.

Cisco, Dell, IBM, AT&T, Verizon, Oracle, Intel and even GE all are trying to create some version of this scenario in physical hardware or software to sell. Some of these companies have even teamed up to form the Industrial Internet Consortium to try to build out reference architectures so others can simply plug in the available hardware and business processes designed to make taking advantage of cheap sensors and connectivity easier.

But this approach tries to make the internet of things fit the old-school, expensive M2M model where carriers sold cellular connectivity to enterprises for tracking assets and funneled that information to proprietary software platforms for use in some acronym-heavy effort like CRM or ERP or ILCM. But in a world where open-source software, a variety of much cheaper connectivity choices and agile design cycles proliferate, this old-school model isn’t going to fly.

Instead the internet of things needs developers. And developers need tools. The key isn’t the things, but the data these things generate and the applications that will be built on top of that data. But how developers will use the data generated by the internet of things is still an open question with pros and cons under each option. But letting developers build on that data must happen if we’re to take real advantage of the possibilities offered as this post from Bosch points out.

[blockquote person=”” attribution=””]Exciting developments in the field of applications will emerge when applications become substantially modularised, and particular technology patterns can be reused from one application to another. This may involve interfaces to connectivity layers, data analytics tools, deeply embedded rules engines and/or security components, or even database options and cloud services. From having designed the application for measuring water levels in a container, are there particular modules which could be reused for other applications and potentially accessed as part of a ‘software as a service’ offering? The mash-up of applications has already been one of the success stories from companies such as ThingWorx; presumably a next logical step will be to build a library or store of application build modules for the basic application mash-up? The IoT SDK?
[/blockquote]

It’s a point that seems obvious, but what isn’t obvious is what those developers need to build the awesome apps that will make the internet of things such a disruptive force. The Bosch post mentions cloud efforts such as Xively, Axeda and others. Those look a lot more like places to store data and to offer APIs against it. Meanwhile many companies today are selling platforms to enable developers, from ARM’s mBed to Cisco’s DevNet or IBM’s new IoT Foundation. Others are offering protocols such as the Eclipse Foundation’s MQTT or The Intel-backed Open Interconnection Consortium. And still others are selling APIs.

In the months ahead I will keep an eye on how developers are building enterprise applications for connected devices. Are they using specially designed protocols? Cloud-based platforms and APIs? Abstracted platforms that let the developer affect use a popular language to control embedded devices without having to learn embedded frameworks? Feel free to let me know your thoughts.