I don't know how developers pull out that many subscription services out of their ass really. Everything is a subscription now.
I was surprised by the aversion to subscriptions. But, based on the comments, I also believe that this aversion is a result of various misunderstandings.
In this post, I'll elaborate on why subscriptions are often a good thing, both for developers and users.
Supporting new versions of operating systems and hardware
Software development is (often) not fire-and-forget. Unlike buying a pair of socks, users expect software to last for at least a couple of years. The problem, however, is that the environment in which software runs changes constantly. New versions of operating systems and hardware require testing and updates. A good example is supporting dark mode, introduced in macOS Mojave. Many users would expect this to work for the apps they are (already) using. But introducing this compatibility requires development effort.
Funding new features
Software is rarely ever finished. Successful apps constantly receive user feedback and developers always have new ideas. Implementing those require funding, regardless of the size of the business (hobby projects taken aside). This funding can come from new users, existing users, or a combination of both. My simple view is that everyone who (potentially) benefits from added value, should pay for it. A few options are available to support this:
Regularly release an entirely new app as an update, and try to convince existing users to purchase that app. Panic is a good example of a company doing this.
Release new features as separate in-app purchases as part of a pay-per-feature model. While this might sound most fair, from a development perspective the app easily becomes unmanageable complicated. It also might confuse users and bring a bad user experience.
Introduce a subscription and provide ongoing value in the form of regular updates.
Like many other developers, for Daily, I've chosen the latter for the following reasons:
Committing to developing and maintaining the app to provide ongoing value to users. Daily already has been around since 2013 and has got dozens of updates since then.
It provides a steady source of income, giving me the confidence to keep investing time, money, and other resources in it.
Avoiding the need to spend time and resources on upselling an existing userbase to an entirely new app, that actually just represents a (major) update.
Keeping in-app purchases logic relatively simple. Introducing a pay-per-feature model would complicate things. I only find this feasible for more expensive products, typically operating in a B2B context.
Offering a free plan
Regardless of the business model for the paid tier to generate revenue, there's the option to introduce a free plan too. Businesses also use this to increase revenue, either by up and cross-selling paid features or plans to free users, or by increasing their userbase to expand reach to ultimately get more users on their paid plans.
For Daily, I decided not to do this. Instead, I offer a free trial for people to evaluate if it provides (enough) value for them. Free users typically consume (back-end) resources and time, for example when they request support. Also, free users hardly convert to paid users. Many people expect apps to be free, probably as a result of how our industry has approached marketing apps. This comment says it all:
What? Not for free? See-ya!
Instead, I've based my business model on the popular 1,000 True Fans concept:
To make a living as a craftsperson, photographer, musician, designer, author, animator, app maker, entrepreneur, or inventor you need only thousands of true fans. A true fan is defined as a fan that will buy anything you produce.
In other words, with Daily, I'm focussing on bringing as much value as I can to blow away my true fans; the ones who're willing to pay for that value.
Subscriptions provide flexibility
So far I've explained how I believe subscriptions help both developers (by receiving steady funding for improving their software) and users (by receiving ongoing value through improvements and new features). But there's another advantage to users: only pay when the software is actually needed.
By offering time-bound plans (e.g. weekly, monthly, or yearly), users can choose whatever works best for them. This is what I like so much about Adobe Create Cloud. Previously users had to buy their (expensive) software, often making it a no-go for many people who just needed it temporarily. Now, users can just take a monthly subscription, use it, and stop paying for it when they don't need it anymore.
Subscriptions aren't just for cloud-powered apps
Another interesting finding I had while reading the comments, was that many believed that only having a back-end justifies offering subscriptions:
Like if they’re a single developer and they’re running a backend, I completely understand subscriptions.
In my opinion, any recurring resource potentially justifies offering subscriptions, regardless of whether this is time, money, or something else. Why would a SaaS running on a $49/month back-end fit a subscription model better than an app business with similar recurring costs?
People seem to forget that typically there are way more costs involved: hardware, office, electricity, internet, marketing, services, and not to forget: development. How are these (often recurring) costs different than back-end costs?
Subscriptions aren't the holy grail (yet)
If you offer an auto-renewing subscription, you must provide ongoing value to the customer. While the following list is not exhaustive, examples of appropriate subscriptions include: [...] apps that offer consistent, substantive updates [...].
Not every app meets this requirement. Another app I've built solves such a niche issue in a simple way, that I don't expect to provide substantive updates in the future. That's why it's made available as a paid app, with its source code made available on GitHub.
Apple's implementation of the subscription model also could be improved. Especially to increase its reputation and give it the acceptance it deserves. Here's my list:
Increase transparency of the app's business model to users when viewing the app in the App Store. Something similar to App Privacy Details. Just today I received an email from a user thinking Daily was free, while it's nowhere advertised as such:
I do not like your “bait and Switch” tactics. Advertising it is “Free” and get stuck for a subscription.
Offer APIs to manage, cancel and refund subscriptions in-app, and require developers to implement those. Similar to how Apple now requires apps to offer the ability to delete user accounts when they also offer the ability to create one. Every week I'm getting emails from users asking how to cancel or manage their subscription, although I've included a button in the app that redirects them to Apple's support page.
Offer introductory offers, specifically free trials, not automatically converting into paid subscriptions after they expire. A custom implementation using multiple in-app purchases is currently required to offer a truly non-committal way for users to test a subscription. While this is not an issue perse, tracking conversion rates (which is crucial for any digital business) using App Store Connect is hard that way.
One last thing...
Another part of the discussion on /r/apple was about pricing. Many believed Daily's price is too high when compared to other (both related and unrelated) apps that offer more functionality. Finding an optimal price is extremely important for most businesses. I will dedicate another blog post to this, as comparing apples with pears is definitely the wrong approach to determine an optimal price. Ultimately it's about being profitable, maximizing (recurring) revenue, and ensuring users are extracting more value out of a product than they are investing in it.