When developing software, there are a lot of considerations about how it should be. Some choices are better for the developer, some are better for the user, some are a good balance in between, and sometimes the choice is so bad that it benefits neither.

As an occasional developer and a user, I decided to compare some of the choices and write about my preferences.


If it’s not providing a constantly running service, it should require a one-time payment; not a subscription.

I despise monthly subscriptions unless they’re for things like cloud providers, streaming/music services, or social media features.

If I don’t use your servers, and all the computing is done on my device, just require a one-time fee. I don’t want to pay $3/month, I’d rather purchase it for $50.

I understand that the software is constantly being developed — bugs are fixed, and new features are added. I believe this still doesn’t justify the subscription model. If one day you improve your program so much that you believe previous buyers paid too little, just publish a version 2.

Alright, it’s a free market, and if the user base is more than willing to pay for a subscription that will end up making more for the developer, go for it. There is nothing wrong with maximizing your profit as long as you earn it righteously, and people are voluntarily paying for it.

However, I believe there are a lot of programs out there that would make more if they offered one-time payments. They lose users who decide the software doesn’t deserve their “royalty”, all because of greed.

Stop asking me to create an account.

If it can run perfectly well locally, just stop it. I understand that local backups/restoring is not feasible for most users. Guess what? That’s what my iCloud/Google Drive account is for! Just utilize the existing features of the platform the app will run on.

I don’t want to create an additional email alias for your app, nor an additional entry in my password manager. It’s all unnecessary most of the time.

Also, it’s better for the developer, too. Especially if you’re an indie developer, and/or don’t have much knowledge. You don’t have to make sure your users’ data is well protected, backed up, spend money on hosting the data, etc. I get that it’s also a way of earning money, but why not just put the iCloud/Google Drive backup feature behind a paywall??

Let me have my data, easily.

A lot of applications requiring an account, especially the big platforms, offer a data export feature, should you decide to stop using them or have a local backup. But there are still tons of apps that do not do so. And sometimes, even the ones that do, send you a bunch of files full of unreadable gibberish. Meaningless unless someone wants to go through the files or write a script to make them readable.

It should be easy to read, and ideally, I should be able to import it back if I decide to use your software again.


These are pretty much all I can think of at the moment. I’m sure there are many more. Thanks for reading.