This largely echoes my thoughts on privacy and lock-in, but I would have liked to see some more discussion on how we got here. If the average consumer looks at two similarly priced washing machines and one has some fancy Internet stuff and the other doesn’t, even if they don’t want the Internet tomfoolery do they just perceive it as added value? Maybe they’ll want to use it in the future?
My partner has a fancy “smart TV” with apps on it like Amazon Prime Video and Netflix. It’s nice for couch-surfing when it works, but it periodically locks up and the TV has to reboot when you’re in the middle of trying to watch something. I have no idea how to update its firmware, or whether it updates itself over the Internet, but it still doesn’t work very well. On the other hand, vendors that push silent updates too eagerly can shut off your furnace or kill your phone’s battery while it sits in your pocket. I suppose it will always be a trade off between being able to ship new stuff quickly and just update the software later vs. having to wait longer for QA to find every little bug and ship One True Version that will get burned into the EEPROM for life.
If consumers are voting with their dollars and the trend is toward buying more complicated washing machines and electric cars, then I don’t see much hope for decentralization. I think it’s clear that most consumers will gladly give up privacy, stability, and independence for whiz-bang features and a $0 price tag.
What’s ridiculous about many of these connected things is how much latency can be introduced and how even the most basic functionality breaks when things go wrong. Worst example in my house is a Samsung Bluray player that also does Netflix.
I don’t know exactly how the event loop works, but it’s fucking terrible. I’d be watching Netflix, decide I’m done, and hit power. Does it power off? No. It keeps playing. But the pause button would work. Then five seconds later it would turn off. My hypothesis is that the Netflix app pegged the CPU, so it would handle the playing events, like pause and play. Then eventually the background kernel thing would finally get around to that power button event that had been sitting in the queue. Overall, it was slow as balls.
Then I upgraded the firmware. Netflix is considerably snappier now, and events generally get handled with only one to two seconds latency. But it has a new bug. 1 in 10 boots it will crash half way through startup. This leaves me at the welcome screen, but unable to do anything. The best part is if I push the power button on the device, it will blink a few times to indicate powering off, but then it just stays on.
This is a device with practically no onboard storage and nothing to store. Its shutdown procedure should be to cut power and be done. But two distinct firmwares have completely boned the power down procedure in two distinct ways. It’s like somebody decided the best way to integrate the power button into the onboard OS was to have it queue a json request in mongodb. What could possibly go wrong?
That just sounds like incompetent engineering. There doesn’t seem to be any reason to involve software at all in the power down process.
I wonder how many people would actually buy a “smart” appliance. I don’t particularly want or need my laundry machine to be connected to the internet, and I doubt many non-techies would ever want some elaborate touch screen attached to their refrigerator.