One-off upgrade fees are more honest #
I'll get right into it, I think most app subscriptions shouldn't exist.
Not because I have a vendetta against subscriptions, but because in most cases, they are used as a substitute. They are used as a mask to hide the lack of real upgrade pricing.
When a developer feels like they need to have a continuous stream of money coming in, for them to work on and improve an app, it's because they want security to allow them to continue. They want reassurance that they won't be wasting time.
A more honest solution would be that if you work on a major update to an app, that you could make it available alongside an upgrade price.
It then gives agency to the user, where they can make a decision on whether they want to pay for an upgrade. Sometimes an app works for you, and there's no extra value to be gained. Other users may appreciate the increase in functionality and would be willing to pay for it.
It also assures the developer that they can work on an upgraded version of their app, and not have it lose them time or money. From both existing users upgrading, and from the potential of new users.
If I suddenly announced that Text Case was moving to a subscription model, I expect a lot of people wouldn't be best pleased. Sure, I could make the argument that this would come with regular updates, but what if someone is fine with the app how it is? Why would you need to pay for something you don't want?
But at the same time, if I spent months working on a whole new version of the app, I'd feel a bit weird releasing it to everyone as a free update. But if I could make it both the new default version for new customers and offer it to existing users at a much smaller upgrade price, that would make a lot more sense.