Update on Mozilla WebThings
discourse.mozilla.org
discourse.mozilla.org
(+ for my taste the standards involve to much JSON-LD complications, but I'll accept that that's taste)
EDIT: I guess part of the question is, what exactly is the goal? Bringing forward the WebThings "standard", or building yet another IoT/home automation controller? To me it has seemed like the "mission" is the former, while the thing actually done is the latter.
(quote) Because your smart home gateway is designed to operate locally inside your home without the need for a centralised cloud service, it will continue to work just as before. You’ll still be able to monitor, control and automate your home via the gateway’s web interface inside your home network.
It seems like they still have no clue how lucky they are to have the Rust Programming Language and yet they still really cannot create any revenue outside of their contract with Google. Without it, Mozilla would cease to exist.
That's the actual reality of open-source. It is funded by the same companies that oppose privacy - contradicting Mozilla's mission.
Mozilla existed just fine without Google, and it was long before Mozilla Corporation was a thing when Firefox was steamrolling the IE.
I love the Mozilla mission, and worked at Mozilla for several years as both an IC and Manager, but the current Mozilla leadership, and Mozilla fan base need to stop pining for the old days, and figure out a clear, sustainable path forward.
I don't think there is anything wrong with Mozilla earning money through their Google contract, but if the Mozilla mission is going to persist beyond the short term, they desperately need both revenue diversification, and a new, high-impact project that will buy them relevance in a market where the influence that Firefox has is waning.
Although this is a bit of a downer comment, I really do believe that is important that they are successful in this, and winding down investment in low-impact, low-relevance projects like WebThings in a way that preserves them for the community is a great step forward.
I agree with your observations on the traps W3C Working Groups can fall into, though it's not fair to say the Working Group tied the standard to a particular gateway project. There are multiple implementations of the Web of Things (e.g. see ThingWeb http://www.thingweb.io/) targeting a range of different use cases spanning different application domains like smart homes, smart cities and industrial applications. WebThings itself has a framework of libraries to help device makers build web things using a dozen different programming languages which have no dependency on the gateway. I acknowledge that there is a bit of a risk in implementing a smart home gateway of making the gateway itself the platform, rather than the Web of Things, and that's something I was very conscious of when designing the WebThings Gateway.
Something I think might help make the Web of Things approach more clear might be to create a general purpose Web of Things client/browser (e.g. a mobile app) which isn't tied to a gateway and can communicate directly with any web thing over the internet. Unfortunately with the current Thing Description specification this level of ad-hoc interoperability isn't possible, which is one of the reasons I created the Web Thing Protocol Community Group (https://www.w3.org/community/web-thing-protocol/), to standardise a more concrete (sub-)protocol for the Web of Things such that any WoT client can communicate with any WoT device.
It was by creating an implementation-driven defacto standard of sorts with Mozilla's Web Thing API (https://iot.mozilla.org/wot/) that Mozilla managed to drive a lot of simplifications to the W3C Thing Description standard, including dialling down the dependencies on RDF and semantic web technologies in favour of a more pragmatic default plain JSON serialisation. I hope that can continue by demonstrating traction with developers using the Web Thing Protocol in their real world IoT applications.
I acknowledge that WebThings has at times lacked an obvious direction and has not yet achieved mainstream mindshare, but I'm hopeful that things might be different outside the constraints and politics of a not-for-profit browser company.
Which has ZigBee, Z-Wave, Ikea, Legrand, Amazon, Apple, Comcast, Google, Huawei, Samsung, Texas Instruments, and a lot of others on board. Almost every consumer electronics, home automation, and home electrical company is on their list somewhere.
Firstly, CHIP is focused specifically on the connected home whereas the Web of Things has broader applications. My commercial interest in the Web of Things extends beyond the connected home.
Secondly, it's not yet clear to me whether CHIP will compete with or could complement the Web of Things.
On the face of it, being an IP-based protocol, CHIP could solve the same kinds of problems as the Web of Things in the connected home space. It could be potentially become ubiquitous on devices, gateways and cloud services. However, I wonder if the dependency on IPv6 may limit the adoption outside local networks initially. This may mean that devices themselves use CHIP instead of something like Zigbee or Z-Wave, but that IoT applications on gateways and in the cloud continue to use other technologies, like the Web of Things.
Either way I hope CHIP succeeds and I'm looking for ways to support CHIP on the WebThings Gateway.
Another example of something begging for a question "Do these people ever use their own software?"
For constrained devices like MCUs the gateway integration pattern is a better fit, which means using some other low power communications mechanism on the device itself and having a gateway bridge the device to the Internet and the Web of Things.
It's also within the charter of the Web Thing Protocol Community Group to explore a more lightweight CoAP+CBOR alternative to the default HTTP+JSON sub-protocol, which may help in some cases.
1. https://docs.google.com/document/d/1H3coHbb3Bwd02_NJi4KEBONB...
What is mostly misunderstood about the Web of Things, is that it does not define a network protocol but a document format to describe devices in terms of properties, actions and events.
Interactions are then further described by „forms“ that contain Hrefs with the protocol scheme supported by the device (e.g. coap://, opc.tcp://). The idea is not to introduce the next unifying protocol, but to unify the description of devices that support arbitrary protocols. Think of OpenAPI for IoT.
It serves us well in industrial settings where protocols like opc-ua, bacnet, coap, modbus and the like will stay the leading protocol in their respective domain for the foreseeable future. Such a descriptive approach to me seems the only option to at least write applications in a uniform manner.
Looking at efforts like MS Device Description Language (DTDL) or AWS Things Graph Data Model (TDM), it makes sense to have at least one openly standardized description language to prevent fragmentation at that level. The war on fragmentation at the protocol level is already lost IMHO (and everybody lost).
It's important that we have open source alternatives. I will be contributing to this project and I encourage others to do so as well.
[0] https://www.reuters.com/article/us-apple-fbi-icloud-exclusiv...
Further their hostility to open protocols, and open systems means I could never adopt them to run my home or IoT system
I have an extreme aversion to vendor lockin when it comes to IoT and I have no desire to tie myself of Apple
Do you know what the Authentication Coprocessor do?
At least those proprietary processor and proprietary protocol are the opposite of the WebThings approach to home automation.
This is exact opposite for what WebThings stood for.
it seems like the perfect fit for you.
For me, I like the OpenHAB scripting, I personally found HomeAssistant to be too complicated to do some things because it was focused on being easy to use. I spent a long time trying to figure out how to get HomeAssistant to do what I wanted with my zwave smart locks, and it was much easier to do it on OpenHAB. So obviously, YMMV based on your preferences and requirements.
I see a lot of people using NodeRed also, which I guess is cool, but I found NodeRed incredibly frustrating compared to writing a script from scratch.
Kudos for that. Too many "smart" things are tied to online accounts for no good reason.
Myself I wrote a couple of them and use them to push further than the regular smarthome use cases.
For the curious ones watch demos:
When will the business unit leaders responsible for repeated failure be let go and replaced?
And to be clear, IMO that is absolutely fair.
At this stage WebThings seemed more like a conceptual thought, rather than actual marketable products, protocols or even code.
If Mozilla need to cut for real, they should definitely get rid of stuff like this which lacked a complete and convincing story.
And the existing product is great. I have been using it for months to control my TV, stereo, lights, etc with no issue. I have even added custom adapters for my own little projects. It's a great product to work with and use.
I agree that this project was unlikely to make Mozilla any money, but this is much more than a "conceptual thought".
The Thing Description specification at the core of WebThings is now a W3C Recommendation (https://www.w3.org/TR/wot-thing-description/) and there is a new W3C Web Thing Protocol community group working on standardising the concrete HTTP & WebSockets based protocol WebThings uses to monitor and control devices.
The WebThings platform includes over a hundred GitHub repositories worth of code (https://github.com/WebThingsIO/) but I'm sorry to hear you feel it lacks a convincing story. That's something I hope to improve in WebThings' new life beyond Mozilla's R&D department.
* independance of any device vendor
* independance of operating system vendor
* independance of cloud vendor (local data)
* true openess that would allow some hope of device vendors contributing integrations
As a former developer of a proprietary home gateway who has studied and implemented many home automation protocols I know too much the mess of the home automation ecosystem. Just walled gardens. And gateway APIs are one way to lock-in users and software developers.
I wonder if that "new commercial sponsor" will not change the balance of independancy.
The closest that WebThings got to a commercial product was this developer kit available on OKdo https://www.okdo.com/p/mozilla-webthings-gateway-kit/ As the Founder of the new commercial sponsor for WebThings, that's something I'd like to change.
Chromecast was once very close to being an open platform by implementing the DIAL protocol (although DIAL also had some centralisation issues), but is now a proprietary platform built on the Google Cast protocol, and is creeping towards morphing back into Android TV.
There was once a project to build a Firefox OS based TV stick called Matchstick which could have been great (B2G is still used on current Panasonic smart TVs believe it or not), which unfortunately got embroiled in a debate regarding DRM and never made it to market.
The digital signage platform I'm currently building at Krellian (https://krellian.com) could be adapted to consumer use cases like Chromecast and I'd be interested in building that in a standards-based way (e.g. using the W3C Second Screen Protocol), but the challenge would always be getting support from the big content providers, and of course the issue of DRM.
https://arstechnica.com/information-technology/2020/08/firef...
Do you know different?
I also think that cuts to servo are de-facto cuts to Firefox as that browser was supposed to be the source of faster components.
According to your link, developer tools and internal tooling/infrastructure teams took a cut. The effects will mostly be indirect.
"In order to refocus the Firefox organization on core browser growth through differentiated user experiences, we are reducing investment in some areas such as developer tools, internal tooling, and platform feature development, and transitioning adjacent security/privacy products to our New Products and Operations team," Baker wrote.
The article prepends the paragraph with another sentence to impose its own interpretation on it, but the way I read it is that the browser division is reorganized around the user experience and everything else is moved in products and operations. Not sure how to highlight the words "browser growth".
Regarding Servo, the project is killed and part of the people had been kicked out, but the rest were merged with the core engine team. My understanding is that Mozilla decided that even Google is not doing two browser engines at the same time and decided to move the old one to rust the evolutionary way.
Did they fired someone from the ff team? Maybe, but I don't think that it is because the browser is no longer important for them. The fact that they moved there best rust devs to it testifies that at least they are not giving it up so far.
The article seems to be quoting from this:
https://blog.mozilla.org/wp-content/uploads/2020/08/Message-...
I think the sentence you've quoted makes it clear that cuts have happened to certain Firefox teams.
Now, we can argue about what the effect is of this cuts is but at least you have to accept that some Firefox teams have received cuts and likely those people have either been moved or dismissed.
When you say they moved their best Rust devs onto Firefox, yes but in part that is possible because they have made cuts to the Rust toolchain teams.
Regarding the rust toolchain, all the FAANG are using rust one way or another. The project is healthy and Mozilla is not key there already. I'd even say that it would've been ugly if a non-profit corporation had to pay for the development of tools that trillion dollar companies are using.
Did Google reduce their payments in the new search deal because people search less when they work remotely due to COVID-19?
Did Mozilla reduce investment in tooling because developers' need for tools is reduced by COVID-19?