As much as any sane development team tries to avoid breaking changes, they're virtually inevitable for a long-enough-lived client/server platform.
A nice poison pill built in up front lets the ancient clients that for whatever reason aren't being upgraded at least get a nice informational prompt when those breaking changes happen, instead of a potentially uglier failure mode
Its one of those things that you think you'll never need because of course you wouldn't make breaking changes, but then at some point an unstoppable force hits an immovable object and this becomes the least-bad way out for user experience
From the user's point of view, I can't think of a good reason to force users to update software, besides maybe a security/privacy issue. As a user, I expect software that works today to work tomorrow--forever. Every time I update, I risk getting a new UI shoved down my throat, or my favorite use case removed or broken, or the app has tripled in size for no discernible reason, or it's now too slow for my computer. I've been trained by software companies' repeated bad behavior to not update voluntarily unless I have some kind of assurance that it's purely a security update and no functionality has changed.
Version your API, figure out how to make maintaining the old versions zero cost, and don't throw users under the bus just because they are (understandably) unwilling to update.
A mobile app is the same as a web page. I view them as much more related to web apps, than to traditional desktop apps.
It’s tied to a backend version. I do get annoyed with apps that want to update every single time, but with auto updates it’s not that bad.
As many mobile apps are merely wrappers around a web app, It’s easy to see how this happens. But I think the end game will be even more web-like: apps that indicate they must be up to date and can’t even be manually set to stick to one version.
A nice poison pill built in up front lets the ancient clients that for whatever reason aren't being upgraded at least get a nice informational prompt when those breaking changes happen, instead of a potentially uglier failure mode
Its one of those things that you think you'll never need because of course you wouldn't make breaking changes, but then at some point an unstoppable force hits an immovable object and this becomes the least-bad way out for user experience