> 1 and 2 - this seems incompatible with how 90% of the population uses software, namely they set it and forget it. Having to manually approve and schedule every single update for everything a user touches would be a) a security nightmare, as most things would never get updated ever and b) a UX nightmare, with a million different things asking for updates.
I don't see how an automatic update setting is incompatible with 2. If a user says "go ahead and install updates as needed" that is the user expressing their desire to receive updates.
I also think the phrasing in 1 is a little needlessly aggressive though I believe it comes from a place of frustration. The difference in my mind between saying "this thing updated behind my back" and "this thing updated automatically for me" is whether the user has registered the update as being beneficial or not, and depending on the device, that's a WIDE spectrum. I know my smart outlets update their firmware all the time, and an extremely small handful of times I do notice, because sometimes they end up not reconnecting to the wifi quite right and need to be reconnected. However if they updated and, for example, broke HomeKit support and no longer worked, I'd be angry the next time I tried to use them.
> 3 - Maintaining a data path forward is tricky enough. Demanding that users be able to downgrade at anytime would be a very tall ask if user data has to survive the downgrade.
I mean, this is just an engineering problem pure and simple. Most of the time, in my experience, graceful downgrade just isn't prioritized because, well, who can even do it for starters? Installing old software oftentimes means you need to do some really intense stuff, like wiping whatever device entirely, so the retention of data is moot.
If this was mandated I see no problem with getting it done in my industry. It's simply a matter of making it a priority IMO.
> 4 - This seems outlandishly expensive to do. This effectively reads “nobody can ever deprecate an api on anything”.
With certain products I can definitely see it being an advantage, and the first place my mind goes to is again, smart home products and appliances, automotive hardware, that sort of thing. Large, expensive items that incorporate software that the user interacts with can be an absolute nightmare when the OEM randomly decides that the way something's worked for years and years for you is now just not an option, or worse still, locks it behind a paywall. And what are your options here? Buy a new car or dishwasher? Or eat shit and pay them $20 a year that they have not earned and are providing no value for?
This is why the newest car I have is a 2018 Corvette, because I know all it's software and have access to it, and there's no system that's going to lock my heated seats behind a Chevrolet Premiere+ subscription where I have to give chevy money to permit my car to engage a damn relay for me.