Web of Things Community Group

The aim of the Web of Things Community Group (CG) is to accelerate the adoption of Web technologies as a basis for enabling services for the combination of the Internet of Things with rich descriptions of things and the context in which they are used.

Note: Community Groups are proposed and run by the community. Although W3C hosts these conversations, the groups do not necessarily represent the views of the W3C Membership or staff.

No Reports Yet Published

The Web grew strong on the back of open source and a community of enthusiasts. Now, improvements in electronics are fuelling the Internet of Things, and we have a limited window of opportunity to create and establish strong open standards on a world wide scale for the IoT.

Right now, the IoT suffers from fragmentation and data silos. Without strong open standards, we’re likely to see competing proprietary solutions that increase the costs for developers and limit the potential.

W3C is one of the few organizations that can define global standards to enable discovery and interoperability of services on a world wide basis. We want to extend the Web from a Web of pages to a Web of Things.

The value proposition is enabling lowered development costs and unlocking data silos by bridging IoT platforms through the Web at a range of device scales from microcontrollers to cloud-based server farms.

We will do this via a core model of services in terms of metadata, events, properties and actions, that is bound to a variety of protocols as no one protocol will fulfill all needs. By bindings, we mean how to use the protocols to notify events and property updates, and how to invoke actions and return the results via REST based messages for each protocol.

The importance of this core model of services is that it simplifies the scripting of services by decoupling the details of the communication protocols. The server uses the models to automatically create local objects for scripts to interact with in place of having to directly drive the protocols. This makes it easier to build highly scalable servers which are free to use the protocols best suited to the requirements.

We would like to achieve this through open source projects for Web of Things servers for a number of different device types, and a start has been made with an implementation based on NodeJS. This is still at a very early stage, but it nonetheless suggests the potential.

The initial code uses HTTP to access the descriptions of “things” represented in JSON-LD, i.e. the semantics are founded on W3C’s work on Linked Data, but expressed with the simplicity of JSON. The messaging is built on top of WebSockets.

The idea is to extend this to support a wider range of protocols, including MQTT and XMPP as well as pure HTTP solutions. The roadmap calls for work on supporting richer metadata for security, privacy and communication patterns. We also are looking for help with work on device drivers, both for direct access, e.g. through GPIO ports on the device hosting the server, or through IoT technologies such as Bluetooth and ZigBee. We’re also looking for people interested in open source development of highly scalable cloud based servers, building on the firm foundation of existing projects.

So if you are willing to help with software development for the Web of Things servers, that would be greatly appreciated. In addition, to the NodeJS server, we anticipate work on servers for microcontrollers, e.g. building upon existing open source projects for CoAP and MQTT. Potential target devices include the Arduino and the more powerful ESP8266. Like the Web of pages, we expect that developers will want to choose which programming languages they use, e.g. JavaScript on NodeJS, Lua on NodeMCU, Python on MicroPython, and C/C++ on the Arduino IDE.

To complement work on the software, we will need help with use cases, design and documentation, and with test frameworks and associated test suites. We’re also looking for people to apply the web of things to practical IoT projects and to share their experiences with the wider community, including helping with hackathons. There is a lot of fun to be had by hobbyists thanks to the low cost of microcontrollers, sensor, actuators and associated electronic components. There are also opportunities for businesses to exploit open standards as they emerge, and to avoid being locked into a particular vendor’s platform. A strong open source community will stimulate innovation and lower costs through shared building blocks and expertise that allows businesses to focus on the added value they offer to customers.

We welcome contributions to the open source projects whether extensions to existing server projects or to new ones like the NodeJS server cited above. If you find a bug in the source code or a mistake in the documentation, you can help us by submitting an issue to the GitHub repository, and likewise if you have suggestions for new features. Even better you can submit a Pull Request with a fix.

We encourage you to join the W3C Web of Things Community Group where contribution and discussions will happen. Anyone can join and there are no fees. The Community Group hosts a publicly archived mailing list, blog and wiki. We can also collaborate on documents, e.g. on GitHub. So if you have ideas you want present or questions to ask please feel encouraged to do so. Together we can build a better Web!

n.b. the Community Group has been quiet to date with most of the activity occurring in the associated W3C Interest Group, but I hope to change that as we kick start the effort on open source and applications. If you work for a W3C Member Organisation, you are also welcome to join the Interest Group.

The W3C Web of Things Workshop is being held in Berlin on 25-26 June 2014, hosted by Siemens. The agenda and submissions are now public. The minutes, presentations and workshop report will all be made public following the event. We’re collecting ideas for break out sessions on the wiki. Please feel free to add your ideas!

We’re seeking your help in planning the W3C Workshop on the Web of Things for June 2014. The aim of the workshop will be to discuss opportunities for standardization as a basis for interoperability and a thriving ecosystem, and to support that we will be looking for examples of use cases, and analyses of requirements and architectures. Please help us to frame the scope of the workshop in more detail.

Teleconferences would be tricky given the wide distribution of time zones we are located in. As a result, we will need to work with email, the wiki and the IRC chat channel. If you are a newcomer to the group, please introduce yourself on the mailing list.

A break-out session on the Web of Things took place on Wednesday, 13 November during the plenary day for TPAC2013, at the Shenzhen Wuzhou Guest House. The session was led by Rich Tibbett (Opera), Jacques Bourhis (Intel) and Dave Raggett (W3C). Dave started with an introduction to the Web of Things. This was followed by demos for the Network Service Discovery API by Opera, an introduction to the NFC API by Intel, using Network Service Discovery together with WebRTC for peer to peer messaging by NTT, access to sensors and actuators (HyWAI for Web of Things) by ETRI, and another by Daliworks, Inc.

Audience questions included the intended scope for “things”, and the need for clear definitions for terms. The Web of Things covers many use cases, and a single approach is unlikely to suffice. The Web of Things Community Group provides a forum for discussing the scope and identifying use cases that will help to pin point priorities for further standardization work. A W3C workshop is being planned for mid-2014.

The 4th international workshop on the Web of things took place in Zurich on Monday, 9th September, as part of UbiComp 2013. The slides are being uploaded to Slideshare and we hope to add links to them soon. The workshop was preceded by a hackathon on Sunday, 8th September, and very much enjoyed by those who participated. Our special thanks to Simon Mayer, ETH-Zurich for his efforts in organizing the event.

We’re just getting started and looking for suggestions as to how to progress. Please use the mailing list to circulate your ideas and bounce them off others. Please use the wiki to collect information relating to the aims of the group (see the charter). There is already some content in the wiki and we expect to grow this considerably over the next few weeks. We’re also looking for volunteers to act in the role of chairs. Looking forward to working with you all!