Hacker News new | ask | show | jobs
by Dragony 1160 days ago
I actually worked on an App for a company that made home appliances. Originally they made everything local, so direct App to Washing machine communication. They had a really hard time with that approach for a number of reasons.

The first, and most obvious, reason is that getting your phone and (all) your appliances on the same network is non-trivial. Especially for a novice user. Sometimes the washing machine is in the basement and can't connect to your WiFi. Or maybe you're simply outside your house in your car and can't connect to your local network. The cloud approach solves this.

The other, not so obvious reason, is that the manufacturer made a ton of devices. Some of them a decade old, with very rudimentary interfaces. Originally the App had to handle special cases and workarounds for dozens of devices. This became a problem once they tried to port it to multiple platforms. For Android and iPhone they started with a shared C++ library. But that quickly became a problem, once they wanted to interface with popular home network and automation solutions.

To solve all this they decided to build a cloud API that would resolve all these problems in one go. A single, unified API with a modern HTTP interface and available via the internet. That solves the workaround and compatability issues by having a single abstraction layer (instead of one per app). It solves the "on the go" problem when you're not in you local wifi. It enables you to control devices outside your home network in a true IoT sense.

I totally agree with you that, if you're not in an urban environment with good internet and cell coverage, the advantages dwindle away. Also, of course, there is the privacy concern that is very real. At the end of the day the cloud solution is selected for the same reason companies select Electron. It saves development time and is very easy for the average end user to use. At the expense of performance and privacy.

4 comments

> To solve all this they decided to build a cloud API that would resolve all these problems in one go.

It solves everything except for the fact that, for people like me, it means we'll never actually give network access to the devices.

Not judging, but you represent such a small fraction of the market that companies simply don’t deem it worth it when looking at the cost of supporting LAN-only. Just imagine the support tickets they’ll get.
Oh yeah, I'm fully aware of that. Somewhat ironically, the one device (garage door opener) that I did allow to do its cloud thing works so poorly that I gave up on trying to make it work and turned off the WiFi. The remote open never worked, the "notify me when the door is open after 9pm" alerts would arrive days later, etc. And, of course, the user interface looked and felt like one developed by an industry where the existing UX was a single button.
How does the cloud solve the Washing machine not connecting to wifi?
> The first, and most obvious, reason is that getting your phone and (all) your appliances on the same network is non-trivial.

What other networks do homes have? Every WiFi ISP router I have used provides a single network and DHCP server. Perhaps some routers provide both a public and private WiFi and the consumer doesn't understand which one they should pick but that is the fault of the ISP.

> Sometimes the washing machine is in the basement and can't connect to your WiFi. Or maybe you're simply outside your house in your car and can't connect to your local network. The cloud approach solves this.

How does the cloud fix poor/no WiFi signals? This is pure ignorance. Perhaps you are confusing cloud with "stick a SIM in everything" 5g marketing which isn't really a thing yet. I stopped reading the rest of your post at that point.

Many cases I knew, people would have several repeaters and extra routers to extend coverage in big houses, and not set it up correctly in PA/Bridge mode, so peripheral network devices would be locked behind in a separate NAT’ed subnet.
I've dealt with this a ton trying to help troubleshoot people's home network problems during the early days of COVID WFH. [1] Some of the absolute messes I'd see were astounding, and they thought everything worked fine because all their phones and Apple TVs and kids PCs running Steam could all get to their cloud stuff fine, so why couldn't their company laptop talk to the printer they brought home and plugged into the "router" in the basement?

[1] Not something we'd /normally/ do, but when that was going on... You just had to get people working.

Can we at least consider that the solution to poorly designed technology is not more poorly designed technology?

If users can't set up routers and extenders properly, that may say more about the designers of the routers than the people using them.

I'm nominally an expert user, but a lot of these products make me WTAF regularly.

We can consider it, but Miele won’t. Their problem is connecting your washer to your phone and going through the cloud has other side benefits for them as well, such as telemetry, so here we are and will be.
> Every WiFi ISP router I have used provides a single network

Actually, many provide multiple SSIDs (5GHz and 2.4GHz). While you’d think these would be interoperable, it’s a massive pain in the ass. IoT devices only have the 2.4GHz antenna. And you want your main devices on 5GHz for speed. If you combine the 2.4 and 5 networks into a single said and let band steering work, IoT devices often don’t place nicely. If they’re separate, then you have to rely on the custom local app to see a server running on the other ssid. Another issue on top of that is apps on iOS will be required to use SSL for HTTP connections, and making sure your washing machine has always up-to-date certificates is also not simple.

> What other networks do homes have? Every WiFi ISP router I have used provides a single network and DHCP server. Perhaps some routers provide both a public and private WiFi and the consumer doesn't understand which one they should pick but that is the fault of the ISP.

Think of times when your phone might not have connected to WiFi because you just got home, or are in some random dead spot. Or it just... isn't for a moment.

From the perspective of many consumers, without that always-available-via-cloud central point, it's then "broken".

Put it all in the cloud and so long as the phone and the device can get to "the internet" it'll be working.

But it's trivial to have the app display a message "please connect to your WiFi network"
What if the person has two networks at home? Or ends up on the neighbor's that they sometime use? Or their saved guest network? The user could well think "I am..." whether they are or aren't.

How would the phone know the /right/ network? All it can really know is it can't find the appliance.

>Sometimes the washing machine is in the basement and can't connect to your WiFi

...snip...

>The cloud approach solves this.

How? You just stipulated the machine can't connect to wifi

Your WiFi.

They clearly stated that getting devices on the same network is non-trivial. Obviously, at a place where no network access exists anyways, neither local nor cloud solutions will work.

If somebody required WiFi in an area of the home where it wasn't already, why not just use a repeater/mesh node? If someone wants their smart appliance online, a few extra dollars on top of a likely three-to-four digit purchase appliance is nothing.