So true. When I first read about IoT, about a decade ago, I thought of it as a miniaturized and decentralized, semi-autonomous client and server systems design.
The fundamental problem of the current take on IoT is a misunderstanding of the internet part. Our systems should be decentralized and find routes to nearby systems that are available. So, to be an active actor within the arena of pico-net, local net, internet. Currently, most IoT systems mostly connect to some central, unprotected server hosted in <insert-cheap-labor-country-youve-never-heard-of>.
May I introduce you to AllJoyn [0]? Proximal (broadcast domain) IoT. It's baked in to Windows 10, LiFX bulbs, a bunch of TVs... [1] It's being folded into OCF now, but the open source will live on. Don't need a gateway, don't need a server.
I've looked into AllJoyn, but honestly it has a very outdated and over-complicated design. It's also not really suited to running in low-power devices due to its roots in DBus. IoTivity might be better but I doubt it will get much support even when they do finish it - Apple and Google have such a huge advantage in this space from owning mobile OSes (and Google Home) that I can't see anyone else gaining much traction.
I think Weave will probably win this battle. It is tied to Google, but less so than Homekit is to Apple and it doesn't have the insane MFi requirements. Also the (draft) design seems quite nice. They just need to hurry up and finish it.
I'm hoping someone will make the AllJoyn protocol accessible for a weekend project. As it is right now I can't make heads or tails of what I need to onboard a simple LIFX bulb. It seems like I have to spin up a whole Java enterprise-ish project when all I want to do is send some packets to it's virtual access point with my wifi creds in them.
Do you know if there's any documentation on the low-level protocol that doesn't involve using the big SDK? I'd love to just write a python (or similar) script to do this grunt work.
Morten Nielsen [0] has written quite a few small packages around AllJoyn on Windows [1]. There is a JavaScript binding [2] which also might help. There was a Node binding [3] but it doesn't look like it's under active development. ASA stopped shipping SDKs some time ago because the juice just wasn't worth the squeeze.
As programmers we learned decennia ago that it is not wise to depend on a stable network/server; we forgot this again because 'internet works everywhere', so apps, IoT etc all depend on having internet all the time, it being fast (example; some airline apps; when you search for a flight and the internet is slow/dodgy, they'll tell you they did not find any results while the web version just waits and then actually works; the reverse would be far more logical) etc. Many apps, without any reason, do not work (well) at all without internet and/or their server and/or network and most IoT devices do not either.
IoT, from a business perspective, is generally about analyzing IoT-collected data. To do that, you need access to the data. There's no reason to make an IoT device if it's not going to collect data for you to analyze.
Well, that's good for them, I suppose, but why is anyone else supposed to care? You actually have to do better than the status quo before you can use your fancy new automated product as a hook for convincing people to let you snoop on their lives, and it's hard to imagine very many snoop-on-people's-lives-based businesses investing enough R&D into their complex replacements for everyday products to reach that threshold.
I don't even know why people want smart watches or touch-screen monitors but people buy them (and apparently love them.) I'm sure there's a whole planet full of people who will by IoT dice and IoT ice cubes and IoT nail clippers and whatever other shit someone wants to make.
There's probably someone emptying their dryer right now dreaming about preparing a slide deck for a new IoT lint catcher startup. I've recently read a proposal for using block chain to try to track whether children have done their homework, so I willing to believe anything right now.
Haha I learned through longtime use of public laundries that you have to empty the lint screen every time. It's my impression that only those who have only used their own private dryers make this mistake often enough to require an IM from their IoT lint device. Still that might be a big enough market?
...just kidding! Rather than convincing anyone to spend three figures on an IoT lint device, any marketing campaign would just convince them to just check the damn screen!
The fundamental problem of the current take on IoT is a misunderstanding of the internet part. Our systems should be decentralized and find routes to nearby systems that are available. So, to be an active actor within the arena of pico-net, local net, internet. Currently, most IoT systems mostly connect to some central, unprotected server hosted in <insert-cheap-labor-country-youve-never-heard-of>.