The Internet of Things - the nebulous buzzword coined in 1999, and which now includes any non-computer, internet connected device, ranging from smartphones to fridges - is predicted to reach almost inconceivable sizes over the coming decade. The growth happening in this space is what makes it such a current field of interest, but it is also - paradoxically - stunting its utility. This technological ‘wild west’ is resulting in siloing of data, customer lock-in, and unnecessarily inflated development costs as tech companies all rush to reinvent their own versions of the IoT ‘wheel’. For innovation on the IoT to thrive, devices need to be able to easily interoperate with each other, and the best way to achieve that is by using open standards.

To begin, I should quickly overview what an ideal IoT would look like: countless devices spread across the entirety of the Earth (and beyond: there’s no reason EO satellites can’t be considered IoT devices) collecting and broadcasting data about their surroundings, including air quality, flood levels, weather conditions, parking spot availability, bus location and myriad other data points not yet considered - what amounts to a giant ‘sensor web’ to use a different (inexplicably outmoded) term.

And just like the regular ol’ (non-sensor) World Wide Web, this web will spawn innumerable applications conceived by future developers. However, for this to happen - and again, just like with the WWW - we need IoT devices to be accessible and interoperable using common standards, and free from data silos controlled by a few proprietary vendors.

As it stands, there are some very big players fighting for market share in the super-hot consumer IoT space, names including Samsung, Apple, and Amazon. However, as is usual practice in the consumer space, interoperability is not considered a priority by those that can profit from vendor lock-in.

Internet of Things silos, making it time consuming to develop applications that require data from multiple IoT devices

Yet the true value of the IoT - from the collection of data for use in scientific studies, to consumers wanting to know today’s hyper-local air quality before going out for a jog - lies in a swarm of heterogeneous sensors all contributing to an accessible (albeit not necessarily free - but this is not the place to talk about micro-transactions), decentralised pool of data. And this can only happen if the devices, and the software powering them, are built upon open standards with interoperability at their core.

Of course, I’m not the first to say this. Over the last few years a large number of efforts, consortia, and otherwise have sprung up, all trying to standardise communication, data-sharing, and other aspects of interoperability between IoT devices. However, a major problem with creating standards for IoT is that the term itself is nebulous, but many of these consortia have specific domains of expertise - leading to IoT standards that work well in a particular domain, say Smart Homes, but fall down when used in Disaster Management. Data traverses domains, so it’s imperative that sensor networks - and the interfaces that people use to access them - also traverse them.

For this to happen, we need standards that are broadly applicable across every conceivable domain - and be flexible enough to later incorporate those domains that are currently inconceivable. What common quality, then, links all IoT devices and provides a solid starting point from which to build data interoperability? This probably won’t come as news to readers of Directions Magazine, but the answer, of course, is their location in time and space.

And it’s here that the Open Geospatial Consortium can contribute greatly. The OGC has been creating standards for use in the spatial industry for over 20 years, and has already developed its own proven-working standard for scientific sensor webs - OGC’s Sensor Web Enablement standard suite. However, recognising that this new wave of IoT devices differs from the scientific sensor webs that SWE was designed for, OGC has now created and released an IoT-friendly version of SWE known as SensorThings API.

OGC SensorThings API provides interfaces for IoT devices connecting to the cloud and for IoT application to access and filter IoT sensor data from the cloud

How is this better for IoT? It’s designed for up-to real-time communication in low- or no-bandwidth situations, using resource constrained devices, and - perhaps above all - is written with web developers in mind. In other words, it’s specifically targeting IoT devices and the new-wave of web developers that are writing code for them.

For example, SensorThings API uses the RESTful pattern, the easy-to-use JSON encoding, and the push-based MQTT messaging protocol, which is designed specifically for real-time data streams. Further, it’s free to implement. The result is an intuitive, yet powerful, standard API that allows any experienced web developer to start coding and developing geospatial IoT applications within minutes. Approved on February 1st 2016 and a final version due for public release shortly. OGC has already seen adoption of the API, including both proprietary implementations and open source projects. For example, the Eclipse Foundation has launched a new open source project implementing the SensorThings API, called Whiskers - an API framework consisting of a JavaScript client and a lightweight server for IoT gateways (for example, the near ubiquitous Raspberry Pi).

This standard has been developed since inception using Github. A new process change for a standards development organisation like the OGC. You can find the current version at https://github.com/opengeospatial/sensorthings.

As this is the first version of this standard we are keen for feedback on people’s experience in implementing the standard and always welcome new members who would like to contribute to developing better and more useful open standards.

For the visions outlined above to come true, then, it’s crucial that developers can easily access as many ‘things’ on the IoT as possible, regardless of their manufacturer or the software running on them. The only way to do this is to foster a collaborative environment built on open standards. The OGC has these standards ready - and free - to be used now. Developers: it’s now up to you.