Mozilla has announced the graduation of its Project Things work from its early-stage developer program, launching it as Mozilla WebThings. Based on the World Wide Web Consortium’s (W3C) Web of Things standard, in which Evrythng was quite involved, WebThings hopes to be a prime choice for anyone interested in using Web of Things for controlling connected devices out in the field – thanks to its capabilities and open source availability.
Of course, this is Mozilla, which has a track record of dumping IoT-related projects. After deciding that Firefox OS wasn’t going to power smartphones, as initially intended, Mozilla refocused on smart homes and sensor networks, according to an announcement in March 2016. Not a year later, Mozilla killed off this connected devices initiative, which looked like the end of things in this realm.
But then, just a few months later in July 2017, it unveiled the Project Things stack for the Raspberry Pi, following it up with the release of the gateway code for the W3C project – which would give any device connected to that gateway the equivalent of a URL, making it addressable in IoT applications.
A version of Gateway that will be based on OpenWrt is on the way, and this is going to be aimed at off-the-shelf WiFi gateways that could then be used for IoT applications too – opening it up to far more than just the Raspberry Pi hobbyists and developer community. OpenWrt is often found in commercial deployments, and using the OS as the basis means that the Gateway code doesn’t have to run on a separate box to the WiFi access point, as is currently the case.
Mozilla thinks its gateway code can be used commercially, but if it’s truly open source, this means that the firm is only going to be able to monetize it via support contracts, a bit like how Red Hat and Canonical treat RHEL and Ubuntu.
Now, Mozilla’s WebThings has two main components: WebThings Gateway v0.8, which is going to be running on the relevant gateway devices, and WebThings Framework, which is a library of software components that are to be used in applications, as well as the supporting API that lets other applications interact with these gateways and connected devices. It’s all on GitHub (owned by Microsoft, remember), and Mozilla’s blog has a pretty detailed guide too, so feel free to have a root around.
“The Mozilla IoT team’s mission is to create a Web of Things implementation which embodies those values and helps drive IoT standards for security, privacy and interoperability,” wrote software engineer Ben Francis in a blog post. “We look forward to a future in which Mozilla WebThings software is installed on commercial products that can provide consumers with a trusted agent for their ‘smart,’ connected home.”
The newest additions to the Gateway code have added data logging and better visualization tools, and Mozilla is stressing the privacy and security angles of keeping the user’s data on the gateway, and not transporting it to the cloud. With the API, these gateways can be linked to other W3C Web of Things environments, although there’s not been much progress on this ecosystem front.
Speaking to Dom Guinard, Evrythng’s CTO, back in 2015 when Web of Things was being finalized, he explained that key to the project is network and transport protocol independence, meaning that the standard would be PHY agnostic, and therefore support all the usual suspects in the IoT. The second main thrust of the new proposal is the use of web protocols, including HTTP, WebSockets, and JSON, in order to achieve that transport layer agnosticism.
As the approach focuses on the application layer, Guinard likens it to an open version of Apple’s HomeKit or Nest’s Weave – application frameworks that support multiple physical layers, and ensure interoperability by defining the application layer interactions. He added that the W3C has no interest in defining another PHY.
Guinard explained: “The architecture of the IoT is currently a complex labyrinth of fragmented standards and alliances. This makes neutral institutions such as the W3C vital to ensure that no single, commercial interest dominates the space. Universal standards are essential; not only to provide a fair marketplace, but also to help the IoT achieve its full potential. By operating in silos, devices are making it much harder to work together to deliver a coherent, valuable user experience. This is why Evrythng has proposed an entirely Web standards based approach.”
So then, why has a standard that looks set to pretty easily bridge the divide between the online digital world (the internet) and the physical world (all those devices and sensors) received such little interest? We are not sure, but this is quite typical in the IoT – the most open platforms are often kept at arm’s length, while the major players look for a way to leverage their own IP, products, or services.