Whoever the fuck thought a massive regression for every single customer was the perfect thing to deploy with no option for rollback needs to stop working in software.
This isn’t a software problem. It’s a capitalism problem.
It should be straight up illegal to remove pre-existing functionality from a device, regardless of whether that is present in software or hardware. If you release it on a stable channel, if you advertise it as a feature of a device, you support it for the life of the device. You can test beta features via an entirely separate beta app, but once the feature becomes stable you don’t have a choice anymore. Once you stop supporting the hardware or software, you are required to open source everything required for consumers — as well as any competitor — to pickup where you left off and continue development.
If you release it on a stable channel, if you advertise it as a feature of a device, you support it for the life of the device.
And when support ends you must provide everything necessary for users to have absolute control over the hardware themselves. “Unsupported so it’s trash” is nonsense.
Once you stop supporting the hardware or software, you are required to open source everything required for consumers — as well as any competitor — to pickup where you left off and continue development.
You don’t even need demand eternal support. Just say that if manufacturers want their product to expire like milk, then they can damn well print an expiry date on the package, too.
How would "“Will cease functioning on <x>” affect consumer purchasing decisions?
Sorry. I forgot human civilization is structured around what is profitable for the individual for a fraction of a lifetime, instead of what optimizes the quality of life, usage of resources, and long term survivability of our species for millennia. My bad.
Except companies would be more careful about what they develop, more focused with their resources, and restructure their hardware and software to be easily open sourced without leaking legitimately-proprietary IP — instead of closed sourcing everything because it’s easy, vendor lock-in, planned obsolescence, and fuck-you-pay-me!
Obviously all of this depends on whether you have a government by the people, for the people, instead of a corporate oligarchy masquerading as a democracy… So we’re all fucked and I’m daydreaming in some star trek fantasy socialist utopia!
I appreciate the notion, but I fear it would probably just result in management saying “just NERD HARDER”. The flip side of being more careful and focused is being less flexible. Not gonna replace that ancient foundational framework that was deprecated in 2015 if it risks legal liability.
There was an unofficial option for rollback - I’m on Android so I went to apkmirror and downloaded the last good version and turned off auto update. This worked for a while, but then they forced me to update - it literally said I had to update to continue using. I’ve seen someone say this wasn’t actually a forced update, but rather keeping all the parts of your network in sync. I have one Sonos device and my phone is the only things that connects to it??
Did you also disable FW updates on the hardware? I’m still running the old version because they nuked Subsonic support. There’s a banner at the top remind me there’s an update, but it’s not forcing anything.
Having been in this position, I’m sure having two apps is hell for them and increasingly complicated the more the features and back-end services overlap. And there would probably have been drastically more overlap between v2 and v3 than v1 and v2.
Ultimately, you just wanna be on one codebase.
I’m not saying this is a good or okay move by Sonos as a company to their consumers. But the die was cast when the product roadmap was established, and the short-sighted technical solutions people are throwing out in the comments are far worse options for the company (and consumers, in the long run) than just accepting the current problem and moving on.
I’m in leadership at a place where we ship software to hundreds of millions of devices every other week and sure, it sucks to maintain legacy products, but you never sunset something without one hell of a grace period and plenty of warning. And not without feature parity if you’re rewriting to escape tech debt.
There isn’t a valid excuse. They brought this upon themselves and their users knowingly and if they did it without knowing the consequences, that’s even more alarming.
Whoever the fuck thought a massive regression for every single customer was the perfect thing to deploy with no option for rollback needs to stop working in software.
This isn’t a software problem. It’s a capitalism problem.
It should be straight up illegal to remove pre-existing functionality from a device, regardless of whether that is present in software or hardware. If you release it on a stable channel, if you advertise it as a feature of a device, you support it for the life of the device. You can test beta features via an entirely separate beta app, but once the feature becomes stable you don’t have a choice anymore. Once you stop supporting the hardware or software, you are required to open source everything required for consumers — as well as any competitor — to pickup where you left off and continue development.
And when support ends you must provide everything necessary for users to have absolute control over the hardware themselves. “Unsupported so it’s trash” is nonsense.
Does this not cover that??
You can open source everything and it doesn’t matter if you don’t provide the keys to unlock it.
You’re going to have to proactively provide tools for users to unlock their devices completely.
You don’t even need demand eternal support. Just say that if manufacturers want their product to expire like milk, then they can damn well print an expiry date on the package, too.
How would "“Will cease functioning on <x>” affect consumer purchasing decisions?
But there’s no future profit for Sonos in them providing the ability for us to play music we already own from our own library.
Sorry. I forgot human civilization is structured around what is profitable for the individual for a fraction of a lifetime, instead of what optimizes the quality of life, usage of resources, and long term survivability of our species for millennia. My bad.
(Photo of IoT dev living in your proposed world, colorized 2024)
Except companies would be more careful about what they develop, more focused with their resources, and restructure their hardware and software to be easily open sourced without leaking legitimately-proprietary IP — instead of closed sourcing everything because it’s easy, vendor lock-in, planned obsolescence, and fuck-you-pay-me!
Obviously all of this depends on whether you have a government by the people, for the people, instead of a corporate oligarchy masquerading as a democracy… So we’re all fucked and I’m daydreaming in some star trek fantasy socialist utopia!
I appreciate the notion, but I fear it would probably just result in management saying “just NERD HARDER”. The flip side of being more careful and focused is being less flexible. Not gonna replace that ancient foundational framework that was deprecated in 2015 if it risks legal liability.
There was an unofficial option for rollback - I’m on Android so I went to apkmirror and downloaded the last good version and turned off auto update. This worked for a while, but then they forced me to update - it literally said I had to update to continue using. I’ve seen someone say this wasn’t actually a forced update, but rather keeping all the parts of your network in sync. I have one Sonos device and my phone is the only things that connects to it??
And that is why we don’t buy things that depend on proprietary apps and/or cloud connectivity. Can’t break my shit if it’s local only.
Did you also disable FW updates on the hardware? I’m still running the old version because they nuked Subsonic support. There’s a banner at the top remind me there’s an update, but it’s not forcing anything.
No, I didn’t.
It’s not that simple. They sold new hardware that claimed app support, and the app support was only in the new codebase.
Ship a new app then. Sonos already do this for older products.
Having been in this position, I’m sure having two apps is hell for them and increasingly complicated the more the features and back-end services overlap. And there would probably have been drastically more overlap between v2 and v3 than v1 and v2.
Ultimately, you just wanna be on one codebase.
I’m not saying this is a good or okay move by Sonos as a company to their consumers. But the die was cast when the product roadmap was established, and the short-sighted technical solutions people are throwing out in the comments are far worse options for the company (and consumers, in the long run) than just accepting the current problem and moving on.
I’m in leadership at a place where we ship software to hundreds of millions of devices every other week and sure, it sucks to maintain legacy products, but you never sunset something without one hell of a grace period and plenty of warning. And not without feature parity if you’re rewriting to escape tech debt.
There isn’t a valid excuse. They brought this upon themselves and their users knowingly and if they did it without knowing the consequences, that’s even more alarming.