I've been very pleased with the subscription experience on the App Store.
The reason I usually hate subscriptions is that they are a headache remember, changing credit cards requires me to remember and update subscriptions in many different places, and providers make it hard to cancel. My experience with subscriptions on iOS has been very positive. It's easy to pay for and easy to cancel.
Personally, I would rather pay a small amount per month while being able to cancel at any time than pay a larger amount up front for something I've never tried. If the app is compelling enough to keep using, I'm happy to keep paying.
Right now you get problems like Tweetbot. It costs money to maintain Tweetbot and keep it working, and to add new features. I use it every day, I'd be happy to 'subscribe' to it.
As it is now they only get paid when I buy the app. If I keep using it for 4 years I may still expect support but they're not getting additional income.
If you don't have enough growth to sustain you, what people have to do is release a new version of the app. Maybe it's a big upgrade (like Tweetbot has done) but some companies basically arbitrarily decide "This one is new, pay again".
And even though Tweetbot is great they lose money because people who are addicted to the app don't want to pay another $2. And they spam the rating for the app with 1-star ratings.
For apps that need constant maintenance? This seems like a great idea.
If I buy Tweetbot today, and it works today, it should keep working tomorrow. If I want new features I will pay for those features, update the app or make them an in app purchase, or create a new version number and charge for it.
This is like leasing vs buying, the only difference is with your example you'll get one choice, pay the lease, or pound dirt. I'd rather buy the app once and be done, and have the choice to upgrade at my discretion, than be forced to pay yearly.
Tweetbot is kind of an edge case since they depend on a third party. A better example would be an application that does something, like a notes app, like noteability.
Every iOS app depends on third parties: Apple, since that is the platform the app runs on; any libraries or development platforms built into the app; if the app talks to a server, the server is a dependency, and of course all the dependencies the server has...
Somewhere along these lines, the software will need to be updated repeatedly: security updates, API changes, SDK changes, etc.
Software just does not stand still like we think it does from the consumer perspective. Any app in production is going to have maintenance costs and forced upgrades that will be an ongoing cost to the developer.
I grew up in a world where software came on a disc, I bought it and installed it it was mine. A perpetual subscription model feels to me like ransomware--"pay up or you'll never see your app again." But I have to admit that I know that the costs of having an app in production today are continuous.
Apple's giving developers the ability to offer trial periods for subscriptions. In their example an app that bills monthly could offer either a week or month long trial period to users.
Firstly, that's a hack. Secondly, even 48 hours is not nearly enough to evaluate complex productivity software. You might argue that the App Store doesn't have any software of that caliber, to which I would say that this could be part of what Apple is trying to address with this change.
The reason I usually hate subscriptions is that they are a headache remember, changing credit cards requires me to remember and update subscriptions in many different places, and providers make it hard to cancel. My experience with subscriptions on iOS has been very positive. It's easy to pay for and easy to cancel.
Personally, I would rather pay a small amount per month while being able to cancel at any time than pay a larger amount up front for something I've never tried. If the app is compelling enough to keep using, I'm happy to keep paying.