Subscription models for an app that’s not hosting anything is just the dev wanting a constant revenue stream, no matter how they try to word it.

spiritedpause@sh.itjust.works to Lemmy@lemmy.ml – 25 points –

Subscription models only make sense for an app/service that have recurring costs. In the case of Lemmy apps, the instances are the ones with recurring hosting costs, not the apps.

If an app doesn’t have recurring hosting costs, it only makes sense to have one up front payment and then maybe in app purchases to pay for new features going forward

81

Isn't app development a recurring cost? It's not like you just work on it for a bit and just forget about it once you got a version out. Especially if it's using a service (lemmy) that is still in development and is constantly changing.

Preach. Not sure why this is so hard for folks to understand.

App development isn't and never has been an one-time done deal. Devs always do the work to fix bugs, add new features / requests, upgrade to new platform / API etc. If they do this for free that is at their will but they are burning their own time / money one way or another. To demand a developer to run their business a certain way and mandate their business model is just mind-blowing to me.

I get the distinct impression that everyone bitching about the fees are people that have never had to develop for end users and maintain the fucking thing.

Yep, and it's even worse for mobile apps because people are so used to the terrible dollar-per-app model, despite the fact that these mobile apps are actually THE software they use everyday.

Apple and Google don't care, they get 30% cut regardless whether the dev makes $100 / sale or $1 / sale at higher volume. But it was a good strategy to shift the power over to the iOS and Android platforms because the perception is, dollar-per-app devs can't be that important, right? And they'll never get too big.

Ongoing development IS an recurring cost.

I have zero problem with people trying to get paid for their work, often it is the only feasible way to dedicate enough time to the project.

I'd prefer open source sure, but I'm not all that opposed to small/individual projects not going that route. Especially when it's not a critical service and there's an abundance of FOSS choices

Personally, I don't need yet another subscription service.

That being said, I've used Sync for years (Pro, so just ad removal, one time fee.), and just paid again for ad removal. I did this because I enjoy the app, and appreciate the effort that goes into creating and maintaining it.

I have no qualms about paying a person for quality work.

And then making money tracking you too

Tracking is for ads only, when ads are disabled then so is the tracking.

https://lemmy.world/comment/1991550

Link is broken

I think there's something wrong with lemmy.world, this is the post. The developer posts to confirm the tracking is turned off. Sorry the direct link didn't work.

https://lemmy.world/post/2538321

Edit: a federated comment link: https://programming.dev/comment/1561763

It's wild what lemmy.world has done. If your referrer is lemmy.world itself, a click off their web page, it loads the comment. But if you come from another lemmy instance or just put the link directly into your browser address bar, they reject it with ERR_INVALID_RESPONSE - I can't recall having seen a website do this to try and prevent attacks.

I also have the same problem... BUT it happens if simply try to open a comment on a new window using the link.

several people have confirmed it... I haven't seen them explain how exactly, but they seem convinced it is causing crashes so they blocked it. Lemmy is practically in the realm of voodoo PostgreSQL at this point. Since April or May it's been scaling very poorly as data gets added.

Well, that's what happens when you go for PostgreSQL without much experience I guess. But it works.. mostly :) I don't get it why the database would f* up the application itself in this case, its a simple "get by id" operation...

Which there is no way to verify as the app is closed source. So it's just a speculation.

You're the one speculating. You can analyze your network traffic to ensure it disabled, and as people have done and verified that it is disabled. Those are standard Google Ad trackers. Any app with ads has them, like Sync for Reddit did and Sync for Lemmy does.

You can always download the APK and decompile it. Closed source does not exist in real world.

If I understand correctly, every sync feature that requires the subscription (and cannot be purchased by a one time fee) requires the sync dev to run a constantly online server. Translation makes calls to translation services that cost money, push notifications require a push server since Lemmy servers don't include support for it, etc. Removing ads doesn't cost sync ongoing cash which is why you can get it for a one time fee.

Seems reasonable to me.

All apps have a recurring cost if the dev is continuing to develop the app. At the scale these apps are working the labor the dev puts in in the most expensive part. Plus Lemmy is continually updating so to keep the app working the dev will need to continually update.

I don't really get how everyone focuses on the ad-free feature as if it's the only thing that Sync Ultra provides. It also provides text recognition in images, translation in-app, (both requiring constant server work) and will eventually support push notifications (again requiring server work). On top of that, LJ has stated he wants to work on this app full-time, which is only possible if he earns a living from it.

If those features aren't interesting to a user, there's always the one-time ad removal option (I'll admit which is a bit pricey but per OP's post, is a one time fee and not a subscription).

Everyone wants a constant revenue stream, app devs aint unique. And also like everyone else, they charge what people are willing to pay. Price is never about cost.

I mean, if you want updates or fixes for bugs that's on work that occurred after you paid? Or are you suggesting we go back to the old model of super expensive software that gets sunsetted in a few years anyway?

Development costs money. When you buy an app, development doesn't stop. What kind of nonsense are you peddling here? How do you have such a rudimentary understanding of work and effort and how they all cost money?

Yeah how dare them try to make a salary out of their labour. OUTRAGEOUS!

The thing I really don't understand, and what is really starting to annoy me, is that you don't have to use it.

I used sync for years. I even bought the pro version to get rid of ads. When I saw the price for the new app I decided that I didn't want to pay that and moved the fuck on.

I understand why the price was what it was. This is how this person makes their living. I don't want to pay what they're charging and that's that. Complaining about it seems childish, and now I realize I'm complaining about people complaining.

All of this is nonsense.

As much as I support the developers’ right to profit off their work, I also cannot afford to have everything in my life turn into a reoccurring payment model.

Then don't. Free version barely has any ads and has 99% of the functionality. Y'all a bunch of babies.

I’m not talking about this one specific application. I’m talking about the trend that everything is taking.

One thing in isolation isn’t bad. “ItS oNlY $xx.99/yr” after all.

But when stepping back and looking at the trend you see a different story.
It’s only $10
It’s only $15
It’s only $30
It’s only $5
It’s only $50
It’s only $100
It’s only $60
It’s only $3
It’s only $1599
It’s only $130
It’s only $45
It’s only $99
It’s only $200
It’s only…

You can use interest rates to convert between stocks and flows of money. If the prevailing interest rate is 5%, a thing will produce 5%, or 1/20th, of its actual value every year. So you can take the annual cost of something and multiply by 20 (and vigorously wave your hands at compounding) to get its actual value.

A $10/month subscription costs $120/year, or $2,400 over 20 years. So it's equivalent to a $2,400 purchase.

You can also think of it as, you need to set aside $2,400 in investments to pay for your subscription, e.g. in retirement. Or, if you ditched your subscription you could afford to borrow $2,400 more to e.g. buy a house. Or, you as a customer are the same value to the business as $2,400 in capital, minus whatever they have to spend to make the thing.

You should think a lot about a $2,400 purchase.

Exactly, and that's why I dropped Amazon Prime and most other subscriptions.

Yeah, packages taking a few days longer is annoying, but I also don't feel obligated to keep shopping at Amazon to "get my value." I miss some shows, but I can buy them for less than the yearly cost of the subscription, and most can be replaced with content at other services.

I still have two streaming subscriptions: Netflix (kids love it, I watch it while folding laundry) and Disney+ (wife and one kid loves it). I spend $20/month total for both (have discount for D+ through credit card for the legacy plan, so it's like $7-8 net), and neither have ads.

And that's pretty much it for subscriptions. Sure, I have my city utilities and whatnot, but those aren't really optional unless I'm willing to go off-grid, and from my math it would take many years to pay off (not sure it will depending on how markets go), and I'd likely have a worse experience.

Other services:

  • Spotify - I buy what I want, and YouTube + ad blocker for one-offs
  • Audible/Kindle - local library
  • apps - haven't found anything that I can't replace with open source apps
  • gym - I have a municipal gym that I pay for yearly, no auto-renew; it has a pool as well that we use enough to be cheaper than the daily rate, so I see it as a bulk discount, not a subscription
  • gaming - I buy games as needed, most of them on discount/bundles
  • food delivery - I pay for Costco, but we do most of our shopping there and it's way more convenient than other discount stores (e.g. WinCo/Aldi); we save far more than we pay for it, so the $130 or whatever we spend for the membership is nothing vs the value we get
  • phone - we're on no-contract phones, and for two lines, we pay $30-ish/month; my wife is on Mint ($15-20/month), and I'm on Tello (~$10/month); we buy phones outright (wife has iPhone 11 I got for $500, mine is usually $200-300 every 2-3 years)
  • Patreon/Twitch - I don't have any, but I do donate/buy merch from time to time to support my favorite creators (usually smaller, I don't donate to any larger orgs)

We just got two cats, so maybe I'll end up getting a Chewy membership or something, but we'll try to avoid that.

Reoccurring bills are also subscriptions. Like rent, food, electricity, gas, water, etc.

I guess, but they're a lot less optional and more useful.

I own my house, so I don't pay rent. My mortgage is below inflation and expected investment returns (it's even below risk free investments like CDs), so I actually make money by not paying it down.

Replacing gas/water/electricity/food with fixed cost items is more expensive. Electricity is the easiest, and going off-grid would cost $20-30k initially with a really good deal (assuming I DIY a lot of it; a lot of this is the battery backup), which if invested in the market would yield $1200-1600 the first year @ 6%. I only pay $50-100/month for electricity, so I'd pay more to generate it myself vs investing that money. The same goes for gas, water, and food, mostly because of the land requirement (need trees for heat, large plots for growing for, well access, etc). These items benefit from economies of scale, so it's absolutely worth paying based on use.

So it goes both ways. Some subscription-type things are cheaper long term, such as a Costco subscription or natural gas delivery, and some are likely more expensive, like paying for heated seats or many streaming subscriptions.

Microtransactions started with horse armor in oblivion. The fact that people can't see the clear trend with things like this is directly one of the causes of constant enshitification

5 more...
5 more...
5 more...

There's one thing you're forgetting; most applications aren't just code-and-forget anymore. Updates need to be made to fix security issues, adapt to newer versions of the API, etc.

Much as I liked Sync for Reddit I'm not willing to participate in subscription pricing for something like this, nor am I willing to pay a breathtaking $100 for a lifetime license or a still high $20 for ad removal. Keeping it in perspective, Sync is an Android app that provides nothing more than a nice UI for lemmy.

It will take some time for the number of Lemmy users and Sync customers to ramp up. IMO the dev is trying to quickly replace his lost Sync for Reddit revenue by charging excessively high prices for Sync for Lemmy. He's lucky so many of you want to pay him but I, for one, will pass on Sync and use other apps with more reasonable pricing.

This comment was written on Infinity for Lemmy which is working just fine.

$16/year for ultra seems pretty reasonable to me.

Well, there are recurring costs, such as:

  • App/Play store developer license - like $100/year, so not huge
  • development efforts to fix bugs, implement features; even just keeping up with Lemmy backend changes is a fair amount of work since it's constantly changing
  • many development tools require hosting, such as CI/CD, so even if it's 100% outside contributor driven, there are still costs

But those costs are pretty fixed.

Hosting an instance, however, is an order of magnitude or two more expensive. Instead of costing up to hundreds per year (not counting dev time), hosting tends to cost hundreds per month for larger instances.

So if people are continually coming to an app, I could see a fixed purchase price being different, and ads are probably enough to support it entirely on a free tier. An instance requires ongoing donations instead.

unless they changed it, play dev is a one time purchase, only apple takes a yearly fee.

I thought Play was $25/year or something, but it's been years since I cared enough to check. If so, I guess for Android-only apps, it's much less of an issue.

It's no win scenario for developers. While you're ok with "one up front payment and then maybe in app purchases to pay for new features going forward" there's a whole other slew of voices who are going to complain about being nickled and dimed.

Given those choices (and other factors), as a consumer I prefer the subscription model. If nothing else, it lets me forecast my expenditure and continually re-assess the cost/value proposition of the application in question.

Not the best take. The apps still need to continue to be developed, adding new features and improvements along the way. That's the cost of development. Not everything is just the cost of infrastructure. By that logic, McDonald's workers shouldn't be paid because it's not their buns and patties, etc.

Of course they want a constant revenue stream. I want a constant revenue stream as well, isn't it normal?

Whether the price is worth paying for you is a different matter but wanting to profit off your hard and good work is completely natural to me.

Something has gone wrong in software development where software can never be finished.

If you release an app on Google Play and never touch it again, eventually Google will pull it from the store and customers will complain that it no longer runs on new devices. Android 16 will require that all applications now do something, and refuse to run any that do not.

This is the real structural source of the constant subscription demands. Nobody is willing to commit to supporting a stable API for 10 or 20 years, and nobody will keep coming in to bump dependency versions and rewrite systems to Google or Apple's new whims every year unless they get paid for this apparently useless work.

of course nobody is going to commit to supporting a stable API for 10 to 20 years… that’s expensive as heck and not even remotely worth it!

there’s nothing “wrong” with software development, it’s just that consumers demand new features rather than stagnation… i sure don’t want to be using a 20 year old app because we’ve come a long way in 20 years in so many regards

in 2003, windows xp was still microsoft’s dominant OS with vista still being several years off, half life 2 was about to be released, gmail was allllmost ready to release, msn messenger was still in its prime

yeah no, ill stick with rapidly changing technologies rather than sticking to that for some misplaced sense of “stability”

But one would like to be able to still play Half Life 2 today, even if Valve weren't helpfully around to update it. One would like to be able to read an old Word document or display an old blog post along with its scripts. So either you support the old standards and, for active content, the old APIs, or you lose access to anything that doesn't emit enough cash to pay a person to keep it current.

Did you just say progress is what's wrong with software development? Really. Do you even know how software development works before criticizing how it works?

I think the requirement for constant progress, and the expectation that all software be able to change arbitrarily with a year or so of notice, is in fact a problem with software development.

I do software development all the time, and I find this to be an impediment to my work. I also make the kind of breaking changes that cause this problem.

Is it difficult, sure. But not being easy doesn't mean its wrong. And the expectation is more to do with keeping a job. You can't just let your software go obsolete. And should software really be a cash cow where you write something once and you get paid forever? Doesn't feel right to me.

If you write a commercial program and sell it once, you are probably not going to be selling new copies in 10 years. If you keep getting paid you should indeed keep working. But if you stop working on it, it is better for the finished software to last longer.

Windows 11 has a "compatibility mode" that goes back to before XP. Android has a dialog that says that an old APK "needs to be updated", regardless of the continued existence of the original developer or whether the user is happy with the features and level of support.

It is this attitude of "we don't need to think about backward compatibility because we are powerful and all software has a developer on call to deal with our breaking changes" that causes software to go obsolete very quickly now. User needs also change over time, but not nearly as fast.

Compatibility mode is for software that isn't being supported anymore. It also is a huge security vulnerability. Android doesn't have it for a reason. Things usually fall out did too not updating the permissions to match the newer Android versions. That's a good thing. I'm tired of developers who don't consider security important.

And do you not agree with me? I'm confused. You're talking about continuous development being a good thing. Are you not suggesting that is something that costs money? I don't even know what your argument is anymore.

What's the security problem with Compatibility Mode? Is it just that it lets you let an app run with more permissions than it otherwise has on the new APIs? Or does it turn off a bunch of mitigations?

The Android permissions churn seems meant to protect people from applications: previously you could just say you need GPS, install, and then use GPS all the time. But untrustworthy apps started tracking people all the time, so Google declared that now only Google Maps is allowed to track people all the time, and that everybody else has to do a new location access ritual. If I have an old app that I trust (or wrote!) but doesn't do the ritual, I ought to be able to convey to the OS that I trust the application anyway. The machine works for me, not for Google's idea of what my privacy preferences are.

I don't see how a developer not implementing new permissions models is the developer not caring about security. I guess a more robustly sandboxed app is more secure than a less robustly sandboxed app? But just because a security enhancement like that is available doesn't mean it's actually worth doing, and the user experience of the new system (get sent to settings to toggle on file system access for a file manager) is often worse than before.

Having new development is better for the user than not; they will get features and improvements. But having to do development to prevent the user from losing features over time is a pure cost to the developer. The rate at which it currently happens makes it unnecessary hard to do projects that aren't shaped like commercial subscription services.

The permissions framework is a lot more than just claiming Google wants tracking all to itself. That's conspiracy level shit. The permissions framework has undergone immense changes from earlier ones from small things like giving an app an approximate location instead of detailed to also allowing permissions to be given at the time it's needed and to require asking every time. Did you even use older android? All the permissions were from the get-go and you had no idea how it was being used. Permissions are so much nicer and the sandboxing has evolved. Your understanding of permission changes is extremely naive and simple. Applications are much safer now than on earlier android. This is objective truth.
Compatibility mode basically means the runtime being used is a different one and any vulnerabilities that existed in that mode (not every one obviously) is now introduced. It's why Windows XP compatibility mode requires admin rights because it's entire authorization scheme was different and apps in that mode can do things that normally require elevated privileges. Microsoft recommends updating apps to not require compatibility mode for these very reasons. Even just the threat model alone is expanded due to the increased attack surface. I'm tired of developers who can't take security seriously.

I did use older Android, and I agree that the new permission model is absolutely much better for the use case of running apps that you do not trust or even like. I can scan a coupon with the camera today without having to worry that the store's app is going to be taking pictures of me tomorrow.

But that's hardly any of what I use my phone for. So I pay a lot of the costs of more hoops to jump through to allow stuff I actually want, while not really getting much of the benefit of being able to use malicious applications relatively safely.

And the one time I had a real permission problem, it was Snapchat trying to bully me into giving it access to all my files so it could "detect screenshots" before it would let me talk to my friends. And Android permissions were no help there, because the app can still tell if I reject its requests and won't get booted from the store for refusing to work until I grant access to everything, even though I do not want to.

The whole system seems to me to be designed to make people feel like their privacy is being protected, by popping up all the time to say that unused permissions have been removed and hey look at all these privacy options you have. It does indeed stop people from spying on your location and camera all the time without you noticing. But while the little permanent green dot is flashing every five minutes when your location is sent to Home Assistant like you explicitly asked, and you are trying to decide if you want to let Zoom use Bluetooth headsets just right now or on an ongoing basis, Google is hoping you don't notice that the OS and most of the apps are designed to extract value from you rather than to serve your interests.

It's now safer to run the evil apps, but they're still there trying to do evil.

I, uh, think your point is getting away from you here though, yeah? You can argue about the real intent (and we can pick and choose whatever OS you want), but the fact of the matter is OSes update for legitimate reasons and allowing older apps to run is expensive and/or insecure. App development does not and should never stop. Even Linux is patching vulnerabilities constantly. And new features do occur. Buying an app once is outdated in the connected age.

I understand that keeping backward compatibility forever isn't worth it. But I think it should be kept for longer than it is now.

That's expensive. Increases the attack surface. Degrades performance by requiring more overhead. Bloats the size of the OS. Sure, you can care about backwards compatibility over all of that. But apps will likely continually get developed regardless of backwards compatibility. So there's still cost.

Again. I'm afraid you lost your point somewhere. Development rarely is ever completed. If it's truly "completed" then it's an extremely simple app with no real value and probably not worth anything. If it has value and isn't simple, then it can always be improved. So hosting isn't the only reason for ongoing payment. Continued development is extremely legitimate. Is it possible someone might abuse it? Sure. But software development never stops. It will always go into sustainment after release and when sustainment is over, the app is retired.

I think it started when software stopped being distributed physically. It's hard to push a bunch of updates to your users when they've need to physically have floppies sent to them versus doing it over the network.

I remember a time when software being "Gold Master" meant it was literally written to a gold master disk, from which copies were made. With that kind of release you had to make damn sure things were finished.

The difference is that software nowadays is interconnected. Sync doesn't exist on its own, nor does Lemmy. And if one of these links changes, chances are, that something else needs to change to keep up. You're talking about standalone software that that exists entirely on its own. But that's not what this post is about.

Technology moves fast. Why would you want to have an app that old, and what app is actually worth running that is that old and unsupported?

Games are a good example. One might want to publish a game and then work on the next game, not go back to the first game again and add dynamic permission prompts for the accelerometer or recompile with the new SDK or whatever. But someone also might want to play Space Grocer I before Space Grocer II-X to get the whole story.

The fewer breaking changes there are, the lower the burden of an app being "supported" is. Someone might be willing to recompile the app every couple years, or add a new required argument to a function call, but not really able to commit to re-architecting the program to deal with completely new and now-mandatory concepts.

Even on software I actively work on that is "supported" by me, I struggle with the frequency of e.g. angry messages demanding I upgrade to new and incompatible versions of Node modules. Time spent porting to new and incompatible versions of a framework is time not spent keeping the app worth using.

Games are actually a really bad example. They're generally not written from scratch and use an engine. So there's usually not a lot of work to keep it up to date. When they don't make enough money from it though, they will retire it. It happens.

And Node modules? Are you kidding. The constant updates are usually security patches. If you're properly using semver then it shouldn't be an issue. You can either stick with the major or minor release depending on your needs. But those packages are also in your boat. Someone is developing them and patching them. They may drop old minor versions because they can't support that many different releases. Because backwards compatibility is expensive.

Seriously, please tell me you're at least securing whatever application you're writing. Do you even do an npm audit (or yarn, whatever you use) and patch the findings?

Especially in web development, security is absolutely important. Sometimes yeah, you may not implement a feature. But that's because your app lacks development resources like another developer. I'm sure it's great to keep working on the exciting stuff like new features. But the "boring" stuff is still damn important.

What does this have to do with Lemmy as a platform?

I generally agree, though I could be convinced of recurring payment in the case of high speed APIs that need a lot of updates to keep working. Chasing an API can be a lot of work.

Of course, a solution to that is having an up-front payment and letting people update as they wish--if there's new value in the new releases presumably they will.

Your suggestion is incompatible with the current infrastructure of either Google Play or Apples' App Store. It's nearly impossible to do that you're asking without severely limiting the app.

I assume you’re talking about Sync? You’re in luck because you could do a one time payment if you wanted to.

Having settings, viewed posts etc sync between devices requires expenses through a server or service

Unless it's using built-in cloud storage. Like some password managers "sync" via Google drive or OneDrive, etc.

This just seems like a Patreon with extra steps. If you like what he does, chip in a bit for it. If not, find something else.

Doesn't the Sync Dev (LJDawson) work on Sync fulltime?

Yes And the only reason we had sync for Lemmy so rapidly is that he worked full time on sync for reddit too but he found himself without a stable income from night to day when the API stuff happened.

I blame Apple for not creating a viable system for paid upgrades; it's perfectly reasonable for a developer to expect to be paid for a major app update - even if it was largely to support a new OS - but without a subscription, the only way to do that is to launch a brand new version of your app, which loses you all of your carefully cultivated SEO / links / etc. (doing this via IAP is impractical because you can only build your app against one version of iOS at a time; it either supports the new version or it doesn't)

And I suspect Apple does this because they don't want people to have to pay money to continue using apps on a new version of iOS, or a new phone; if buying a new iPhone meant forking over $50 to upgrade your favorite apps for it, that might mean fewer people buying new phones.

So don't blame developers for this, in other words; a lot of them would be perfectly happy to charge users the occasional upgrade fee instead of a recurring subscription, but Apple doesn't want them to. (they're also very happy to have their 30% cut of all of that lovely subscription revenue)

Apple and Google app stores had done devs dirty by popularizing the dollar-an-app model. Completely set the wrong expectations about the value of software for users, especially younger ones who grew up with this bs.

I can see both sides of this. I don't usually update an app unless I'm having problems that are fixed in a later update.

Ongoing development of an app can be for various things. For things like bugfixes to existing code, I don't think we should necessarily pay for that. For brand new features that weren't promised before and didn't exist before there could be a case for paying for that.

Honestly, there's no such thing as bug free. I'm not in support of never ending bug support fixes for life. It just isn't possible. Especially with new versions, etc. If you don't give them upgrades, it now creates more work as you're supporting multiple branches. This is why OSes have end of support. There will always be bugfixes.

Bug free is not possible, but there are certainly degrees of bugs. If I pay for software that is supposed to balance my checkbook and it has errors in the math, I would expect those errors to be fixed or my money returned. If one of the buttons is 2px out of alignment, it's not a big deal. The software should at least functionally do what you paid for it to do, without any additional expense. IMHO.

With such a black and white view of bugs, sure. Eith how bugs work in the real world, it's a lot more complex than that.