This may be the current sucky reality of SaaS, but it could be fixed if the market demanded it.
I'm not so much angry about server-based apps changing things, although I see your point, but I am angry about too many server-based apps in the first place. At least when it's not necessary. Hard to argue when it's literally for a social network.
* Although in practice this only works for so long as it gets more and more painful as time passes.. there are still users of Windows XP! But I'm sure it's far from a pleasant experience these days.
Meaning, effectively, that it will not be fixed.
I understand the frustration. I work on a mobile application that, like Uber, relies on a lot of server-side communication and deliberately stops working if the client is out of date. And I do know that this sucks.
But the reality is, our API is non-public, and so there is no pressure from anyone to maintain backward compatibility. And I have a thousand features that need to ship, with not enough time as it is, or I will start getting heat from management. Abandoning the cadence of "constant breaking changes bundled with client updates" would slow development considerably, for no gain except the one-hundredth-of-one-percent of HN weirdos who care about this stuff. It's just not going to happen.
Ignoring the lame slur, it's not just people that care about computing freedom. It's also people with terrible connections and extremely limited data plans. Being forced to download a 40MB app update just to look at a few KB of data is a deal-breaker for many people.
The market (my mom for example) is unaware there is a fix.
> there is no pressure from anyone to maintain backward compatibility.
You and your manager are both part of the problem. And the phone makers, because they invented a market place for shit companies that wants to ship unfinished software and push daily updates to their users to eventually reach a point where their API is stable.
There used to exist software developers who took great pride in (API) backwards compatibility. These days, where are they? My guess is they have been overrun by the a huge crowd of new people who have never maintained a backwards compatible API and who don't know how to. Management love fast-moving people who say "yes sir" and "not a problem sir".
1. Software that would work, un-modified, for decades.
2. Software that worked without access to some back-end.
3. Software that didn't require permission from a third party to run.
4. Software that didn't collect personal data from users.
5. Having root/admin access to your own computer/devices.
We can still prevent this from coming true, but it's going to happen if nobody pushes back on these practices.
This is an admirable sentiment. Thank you for making HN a better place.
> But everything comes at a cost that has to be weighted against the corresponding benefit, and the apparent benefit (to management) in this case is near-zero
Software can have virtues that do not present short-term benefits, but instead contribute to a wholesome UX, even to captive users. It is the responsibility of the software developer to make these hard calls and stick to their guns in the face of management pressure.
Now, you often buy only a license to use something until the company that made it decides not to let you use it anymore.
In some sense, we live at the mercy of people we've never met.
People providing services can argue a lot about the limitations for them of this situation and the advantages of having more control:
https://signal.org/blog/the-ecosystem-is-moving/
http://paulgraham.com/road.html
(Analemma_'s comment elsewhere in this thread also expresses this.)
But it also comes at a cost to users' power and autonomy:
https://www.gnu.org/philosophy/who-does-that-server-really-s...
Out of curiosity, would you pay for a standalone Google Docs that worked locally and pushed data to a server (say, a daemon you can also purchase and run in your home computer or droplet) only when you wanted to sync? If you are willing to pay, Microsoft offers much of this through Sharepoint + Office.
But anyway, my workplace brought some version with a clear requirement of getting an eternal license on it. Yet, it breaks all the time because it can't get licenses on the cloud. I am still not sure how MS isn't evading the requirements, but well, it's not my job to check it.
> "Tinder has been updated. Deal with it".
is an interesting choice of example. The anger at updates only really makes sense for apps that are entirely local to your hardware. As soon as you have an app where part of it runs on a server that you don't control, that logic goes out the window. They can stop your non-updated app from working with no effort, just by making the server API incompatible. As long as you are depending on someone else's server to be up and responding and not changing, you give up your rights to be in control of local updates.
It sucks, but that's the reality of SaaS. I'm a fan of using local apps whenever possible. For instance, Google Docs is just too damn useful not to use sometimes. But I still, majority of the time, will choose to use a local word processor whenever I can get away with it. And when I'm done working on a Google Docs project, I download it in several formats and put it in the drawer.
In the meantime I'd really like to see more take-up of open source, federated hosted solutions based on open document standards and open protocols. But so far the big corporations are winning that game.