Hacker News new | ask | show | jobs
by twodave 879 days ago
The chase for subscription revenue is destroying a lot of potentially-great software. Not just in pricing structure, but in how software is designed in the first place.

Compare this to something like Magnet, which is great software that I use almost every time I turn on my wife’s MacBook and costs $2. Once.

My guess is the people who made Magnet just aren’t getting rich off of it, but maybe we shouldn’t expect to get wildly rich from making a useful utility.

3 comments

> The chase for subscription revenue is destroying a lot of potentially-great software.

Phone OSes aren't nearly as well-optimized for backwards compatibility. Speaking as someone who works in this field, your phone app is almost never "done." Once you hit publish, you're signing up to continue providing updates for the life of the product. I've got binaries from the 90's that will run on Windows 11, no issues. But apps? Forget it, we just had to publish an update to a racing application for Android for literally no other reason than the binary was old and google said so, or we'd lose our Play store listing until we did.

And in the process of doing that, while changing basically nothing you actually use as a user of that app, we had to update several permissions-seeking dialogs to be compatible with newer versions of Android, along with some changes to how we share files. You might notice the second one if you look hard. That took one of our developers about 4 days of work, and a fair amount of testing after that.

Like, you can hate the game, I certainly do, but the way both Apple and Google go about arbitrarily changing and updating the OS, you just have to update your apps, which takes labor and time. And we have no mechanism to gate updates behind price tags. So like, I get the frustration, I really do and I share it a lot of the time. But I also understand the economics at play here and I won't ask someone to work for free for me.

Part of this is that it’s only been recently that mobile OSes have started to approach a similar level of maturity as their desktop counterparts, while also introducing and developing new concepts that desktop OSes never had (like permissions). For some number of years a high level of churn was inevitable.

As for the, “binary too old” thing on the Play store that could be a low effort way of weeding out apps with security vulnerabilities due to old dependencies. There isn’t really an equivalent on Windows for this because it doesn’t have any kind of centralized, hosted app management (at least that people actually use). It’s not uncommon for maintainers of Linux package manager repos to remove “abandoned” (as in hasn’t received any updates in X time) packages for similar reasons, leaving users who want them to source them elsewhere.

How demanding/complex upkeep is may be a big factor here.

For something like a single platform utility, the burden is relatively low because the number of things that can break is bounded (as long as public APIs are used, private API usage is another matter). With a Mac app like Magnet there’s one time each year chance of breakages occurring is high (new OS release), which devs are given several months ahead of time to find and fix.

Multiplatform apps obviously multiply that burden, with some platforms being more problematic than others — e.g. Android phones sometimes have weird per-device-model quirks that apps need to work around, which is not something one typically sees on Windows PCs, iPhones, or Macs.

Anything with an online/server component unavoidably needs to be babysat to keep running and secure, and the more functional that component is and the more surface it has exposed the more vigilant one needs to be. There’s also hosting costs, which can be quite high in the case of an independent dev who relies on cloud services to make up for lack of resources.

Which is all to say that it makes sense that a Mac-only tiny utility could more sustainably be a cheap one time purchase than many other types of project could be.

> Multiplatform apps obviously multiply that burden

They also multiply the number of potential customers, so I don’t see that being a problem.

> with some platforms being more problematic than others

That _is_ part of the problem. As a developer, you have to compare your programming effort with expected revenues, so if a platform is “more problematic”, you’d only develop for it if you expected to get more revenue from it (either by getting more customers, by getting each customer to pay more for the product, or, sometimes, by getting more revenues on other platforms because you also support this one)

> They also multiply the number of potential customers, so I don’t see that being a problem.

This is something I believe requires some research, because each platform is a bit of a different market. Point in case, the market for Magnet exists only because macOS has no Aero Snap type system built into its window management — a utility like it probably wouldn’t sell enough copies to justify Windows or Linux ports.

There’s plenty of software where multiplatform makes sense, but it’s not certainly not universal.

I love Magnet and also paid for it. Coming from Linux to Mac, I _rarely_ pay for any kind of utility .. but I did here. Maybe that says something in itself.

Subscriptions for desktop software sucks; but I can deal with yearly licenses .. assuming the app is maintained, you have a chance to actively consider the value you're getting before renewal. A subscription feels far more passive.

I resonate with this. I can even stomach the JetBrains subscription if I rationalize that this is the equivalent for paying again for e.g. the 2024 edition. And they are good about letting you continue to use the software as of your last paid update.

I can’t rationalize paying monthly or even annually for something I expect to continue working exactly the same. Continued development on something like that almost guarantees it’s going to eventually change in a way I don’t want it to, anyway.

Edit: except in the cases where the monthly subscription is paying for supporting infrastructure, of course. That’s easy to rationalize.

> except in the cases where the monthly subscription is paying for supporting infrastructure

How do you feel about cases where there is supporting infrastructure, but that infrastructure is artificial and just designed to allow subscription fees?

Hard to make a blanket statement here, but if I get absolutely nothing out of it then it’s probably a hard pass from me.