Apps Are Bought, Services Are Subscribed
Why Hey Listen is a one-time purchase, and the rule I'm using to price everything after it
Hey Listen exists because I didn’t want to pay a subscription.
I was losing the first ten minutes of meetings, so I went looking for something that would put a full-screen alert in front of me before a calendar event started. Several things do this. Nearly all of them wanted a few dollars a month, forever, for software that runs on my own laptop, reads my own calendar, and never talks to a server.
I couldn’t bring myself to pay it. I built my own instead. So pricing it was never really a decision that needed to be made - it was a one-time purchase from the first line of code, because being annoyed at the alternative is the reason it exists in the first place.
Being annoyed isn’t a pricing philosophy, though. I’m going to have to decide how to price the next thing, and the thing after that, so at some point I had to work out what the annoyance was actually about.
It’s not about the money
Subscription fatigue usually gets discussed as a volume problem. Too many charges, too many little line items, too many dollars leaking out every month. I don’t think that’s it. I pay for a fair number of things monthly and feel fine about them.
I pay for encrypted email, for instance, and I’ve never once resented it. Someone is running the servers that hold my mail. Someone is keeping the encryption secure. They keep shipping amazing new services and improving their existing ones. And the whole arrangement is built so that my data stays mine. All of that costs them something every single month, and if they stopped getting paid, they wouldn’t be able to continue.
Then there’s Alarmy. It’s a good alarm clock app - it makes you solve a problem or scan a barcode across the house before it will shut off, which matters if you’re someone who has a hard time getting out of bed, like me. It wants a subscription. For an alarm clock, on my phone, doing nothing that requires anyone to be awake on the other end. I use AMDroid instead. It sold me a lifetime license for a few bucks and has never asked me for anything since.
They both cost money. The difference is in whether I’m getting anything each time I pay.
Pay for what they provide
If the software runs on your machine, it’s a purchase. I should be able to buy it once and it should continue working as long as the operating system doesn’t drop support for something it does.
If the software runs on servers somebody operates for you, it’s a rental. They are continually running and maintaining the software on their own hardware, ensuring that it works all the time. I am borrowing their computer each time I use it.
That’s the difference. Customers seem to know it even when they can’t put their finger on it. Hosting, sync, streaming, storage, constant upgrades - somebody is keeping a light on every month or the thing stops working. That’s a service, and services are fairly rented. An alarm that lives entirely on your own device is not a service. Nobody is keeping a light on for it. Charging monthly for it is charging for doing nothing.
Hey Listen sits about as far toward the purchase end as software gets. It runs locally, reads your calendar through the OS, talks to no server I own, and once you’ve set it up it mostly disappears. There’s no ongoing cost on my side to pass along, so there’s nothing to subscribe to. You buy it, you own it.
What the one-time price covers
Software isn’t finished when you ship it. Bugs surface, the OS moves under you every September, and somebody has to keep the thing working while the ground shifts underneath it. That’s the usual argument for charging every month.
That work is already paid for. When you buy a local app from me, you aren’t buying a snapshot of the binary as it existed the day you paid. You’re buying the app, and keeping the app working is part of what the app is. Bug fixes, security patches, making it run on next year’s OS, the small improvements that probably should have been in there to begin with - that’s upkeep, and upkeep came with the purchase. Charging for it a second time would be charging twice for the same thing.
A new major version is a different matter. If I spend a year building something substantially more capable, that’s fair to sell as a new thing. But it has to actually be that. A year of patch notes with a bigger number on it doesn’t count, and neither does a handful of local-only features I should have shipped anyway. If I have to convince you it’s worth the update, it isn’t a major version.
And the old one keeps working. Version 1 goes on getting bug fixes, security patches, and whatever it needs to keep running on new OS releases, for as long as that’s something one person can reasonably carry.
A couple of things fall out of this that you can hold me to: I won’t hollow out the version you own to make the next one look necessary, and I won’t move something you already paid for behind a new paywall.
This isn’t an argument against subscriptions
It’s a matching rule, and most of the market matches it fine.
A full calendar client that syncs your events across devices and does scheduling work on the backend is doing something for you every month. A subscription is the correct price for that. The cross-platform apps in roughly my space that charge to keep alerts in sync between your phone and your desktop are charging for sync, and sync is a service. Also correct.
I’d charge one myself under the same rule. If Hey Listen ever goes multi-platform and keeps your settings and alerts in step across a Mac, a phone, and a watch, that’s servers I’m paying for every month, and I’d price it as the rental it is. The app on each platform stays a one-time purchase. A subscription only comes in when I have ongoing costs to keep the service running.
What it means for me
Speaking as an indie dev, recurring income is more reliable - it compounds, it smooths out, it’s the thing every guide tells us to chase, and I’m choosing not to have it in this case. What I get instead arrives in lumps, and only when I’ve done something to deserve it, which is the point.
I didn’t make this decision arbitrarily. I’m doing this because it’s the right pricing model for what I am offering. I miss the days when everyone’s pricing model worked like this.
This is not about generosity, and it’s not about greed. It’s about whether the price matches what’s actually being done for you.
I wrote an entire app because somebody charged a subscription without providing an ongoing service. It would be a strange thing to turn around and do myself.
Read more in Deliberately Made.
Subscribe
New posts, straight to your inbox. No spam, unsubscribe anytime.