Making Things talk Web with the W3C
A couple of weeks ago, I had the chance to participate to the first face to face meeting of the W3C Web of Things (WoT) Interest Group (IG).
Vlad and I have been working on and actively promoting an Internet of Things (IoT) that uses Web protocols (also known as “Web of Things”) since 2007 – and it’s the way that EVRYTHNG’s IoT Smart Products Platform is architected too, so this group is pretty important. It’s also important because it’s an opportunity to take the work we’ve done and turn it into recommendations and standards that will build out the IoT industry.
The membership of the group is already growing currently: 104 individuals from 43 member companies, including consumer electronics heavyweights like Siemens, Intel, Cisco, LG, Sony and Ericsson.
What quickly became clear was that most of the members shared 2 main concerns: integration, and semantics.
(I’m going to provide a high-level description here – but if you want to get into the technical details, check out the companion blog post on the Web of Things.)
The IoT space is already bloated with standards and alliances – so there’s a real need to think about a point of convergence. First of all, there’s a question around where things converge at the network level – though it seems that we’re quickly moving towards agreement that IPv6 and 6LoWPAN are the right way to go.
Then, there’s the question of where applications converge. The whole concept of the Web of Things is founded on the basis that applications should converge at Web protocols. Just as the Web made the Internet of documents successful and accessible, the Web of Things can push the Internet of Things to the next level and greatly facilitate the integration of Things to applications.
Given this is the W3C’s Web of Things Interest Group, there’s general agreement on the Web being the place for applications; the real issue is then is how? At EVRYTHNG – and in the Web of Things community – we’re proponents of REST, because it’s fundamentally web-based. This seems to be the prevailing opinion, and we’re hopeful that it will become the default standard, especially since the REST architectural style is already implemented by a number of ubiquitous protocols such as HTTP (or CoAP, more about that on the technical companion blog post on the Web of Things.)
Even if we were all to agree to adopt the RESTful approach as a common standard, we still have a problem: We now have lots of accessible Things, but in silos. Unless all these smart Things are semantically described in the same or at least in compatible ways – using a number of agreed upon taxonomies – it’s unnecessarily difficult to enable these things to interact with each other.
So our next challenge is to agree semantic descriptions of Things. One opinion is that Things should use fundamentally different taxonomies depending on what they are. At EVRYTHNG, we’re in favor of a different approach: a simple and uniform taxonomy that provides a set way of describing Things, described in the EVRYTHNG API. Because there’s no one right way to model all the Things in the world, we also know we need to support extensions to this model to accommodate all the weird and wonderful specialities of Things. A large deployment of such an approach approach would make it much easier for all of applications to discover and communicate with all kinds of Things without needing custom code for each new Thing. In frame of the W3C WoT IG we are currently working on a proposal based on our hand-on experience in building uniform APIs for millions of Things, we’ll keep you posted on the progress!
What happens next?
EVRYTHNG actively joined both task forces and we’re looking forward to see what will come out to make Things talk Web!