Trying not to dismiss it, but IoT is, frankly, a total mess. Consider that:
- It's mostly done by companies that use hardware as a delivery platform for their cloud services, trying to vendor-lock you, in delusion that they'll be The Next Platform. This results in an extremely user-hostile ecosystems.
- Said companies develop IoT devices with little or no regard to security and protection of user data.
- The business strategy of tying everything into my butt means things are not interoperable by design. I don't see much incentive for IoT vendors to accept standard protocols that go against the core of their business.
- Now W3C wants to tie IoT into the web. The web is a total clusterfuck. JavaScript is not a language suited for this task, and its ecosystem is doubly not suited to working on this.
Maybe I'm just grumpy, old (by web standards; I'll be 30 this year) programmer who desperately tries to turn an unstoppable tide. One who believes IoT should stand for Intranet of Things. I can believe this is "work that can impact me in a big way". I'm not convinced this impact will be in any way positive.
> JavaScript is not a language suited for this task
I think the name of this technology may be leading to some confusion here. From a quick read-through of the API description (https://iot.mozilla.org/wot/), it doesn't seem to have anything to do with JavaScript except that there is a small amount of example code showing how to open a WebSocket. (But you can open a WebSocket from other languages, of course.)
This whole technology seems to center around using RESTful HTTP and WebSocket to discover and manipulate IoT devices. It doesn't seem to have anything to do with using a browser as the client. A more-accurate name might be "HTTP/WebSocket of Things", but that's a mouthful.
At any rate, the API document just describes using GET/PUT/POST and so on to do things like discover actions, read sensors, and actuate things.
If it doesn't have anything to do with browser as client then why would they choose a hobbled protocol like http or websockets? MQTT, AMQP are already standards for this and much better suited for nearly any task. They are more powerful, more efficient and simpler to use than http or websockets. And if you can't get past the firewall or proxy both of them will run over websockets anyway.
Isn't that the point of this? We've got AWS IoT, Artik, Xively, Google Cloud IoT.. I've looked at a few and they basically all do the same thing in a slightly different, incompatible way. If we get something that enough people agree is "the standard" then maybe you can define a single device schema and connect to any of those services interchangeably.
> I don't see much incentive for IoT vendors to accept standard protocols
But we see already this is not the case. Cloud providers give MySQL/ Postgres compatible storage, Docker deployments... Consider that customers are already faced with "do I want to tie my product to this cloud backend" when it could be "oh good Artik supports the ""IoT standard"" let's go." There's still tons of incentive to stick with one platform.
> Now W3C wants to tie IoT into the web. ... JavaScript is not a language suited for this task
Not sure what you mean about JavaScript, they use JSON to represent the schema, and WebSockets as the transport but presumably you could use a websocket library written in any language.
Personally I did hope to see MQTT bindings and/or weight thrown behind CoAP but maybe those will come along later.
I agree the Web is messed up today thanks to big tech doing whatever they feel to defend their empires. But they will overstep (enough examples from the past) and when they do it creates the right kind of pressure for alternatives. Don't have any delusions that the web standards you know today, just fell into place cause some old altruistic wise men sat together out of joblessness and came up with things that were good for the world. Things don't work like that. Good people don't come together to do jack until they are highly frustrated and under pressure.
I really agree that Mozilla/W3C can attempt to make a standard, but I highly doubt we'll see Google/Apple/MS devices support it.
It'd be nice if there was one standard, and you could buy devices that use your local server or phone home (but not both), but for all the reasons you stated, I don't see that happening. The average consumer just don't care enough.
When I first read the grandparent post, I thought it was a deliberate choice of words to denigrate "the cloud" but the fact that it's the accidental result of an overzealous browser extension in a thread talking about dysfunctional technologies makes this incredibly funny.
IoT is a total overkill, whether it's inter- or intranet of things. There are devices that are useful to connect to a local network, e.g. a printer/scanner, a security cam, but almost all other home devices are fine (actually better off) when they are dumb tools that work when you press the correct button.
The web is better of if we can somehow shake it off a bit, removing all the cruft we've accumulated and stopping making shit websites---and stop wars and cure hunger worldwide while at it, I know what I'm saying is pipe dreams. I'd be glad if Mozilla wouldn't implement this, and was a bit more opinionated in general. It sometimes stinks of yet another SV startup but in disguise of freedom fighters. I'm looking forward to nEXT browser, where at least I can presumably stop WebKit from doing silly things via some lisp here and there (I'll reach the good times where I run Emacs and nEXT on GuixSD, turtles all the way down!).
- It's mostly done by companies that use hardware as a delivery platform for their cloud services, trying to vendor-lock you, in delusion that they'll be The Next Platform. This results in an extremely user-hostile ecosystems.
- Said companies develop IoT devices with little or no regard to security and protection of user data.
- The business strategy of tying everything into my butt means things are not interoperable by design. I don't see much incentive for IoT vendors to accept standard protocols that go against the core of their business.
- Now W3C wants to tie IoT into the web. The web is a total clusterfuck. JavaScript is not a language suited for this task, and its ecosystem is doubly not suited to working on this.
Maybe I'm just grumpy, old (by web standards; I'll be 30 this year) programmer who desperately tries to turn an unstoppable tide. One who believes IoT should stand for Intranet of Things. I can believe this is "work that can impact me in a big way". I'm not convinced this impact will be in any way positive.