this post was submitted on 18 Jun 2023
45 points (97.9% liked)

No Stupid Questions

36168 readers
1632 users here now

No such thing. Ask away!

!nostupidquestions is a community dedicated to being helpful and answering each others' questions on various topics.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules (interactive)


Rule 1- All posts must be legitimate questions. All post titles must include a question.

All posts must be legitimate questions, and all post titles must include a question. Questions that are joke or trolling questions, memes, song lyrics as title, etc. are not allowed here. See Rule 6 for all exceptions.



Rule 2- Your question subject cannot be illegal or NSFW material.

Your question subject cannot be illegal or NSFW material. You will be warned first, banned second.



Rule 3- Do not seek mental, medical and professional help here.

Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.



Rule 4- No self promotion or upvote-farming of any kind.

That's it.



Rule 5- No baiting or sealioning or promoting an agenda.

Questions which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.



Rule 6- Regarding META posts and joke questions.

Provided it is about the community itself, you may post non-question posts using the [META] tag on your post title.

On fridays, you are allowed to post meme and troll questions, on the condition that it's in text format only, and conforms with our other rules. These posts MUST include the [NSQ Friday] tag in their title.

If you post a serious question on friday and are looking only for legitimate answers, then please include the [Serious] tag on your post. Irrelevant replies will then be removed by moderators.



Rule 7- You can't intentionally annoy, mock, or harass other members.

If you intentionally annoy, mock, harass, or discriminate against any individual member, you will be removed.

Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.



Rule 8- All comments should try to stay relevant to their parent content.



Rule 9- Reposts from other platforms are not allowed.

Let everyone have their own content.



Rule 10- Majority of bots aren't allowed to participate here.



Credits

Our breathtaking icon was bestowed upon us by @Cevilia!

The greatest banner of all time: by @TheOneWithTheHair!

founded 2 years ago
MODERATORS
 

I'm not sure on the ins and outs of hosting/running a 3rd part reddit app, but since reddit is claiming these API charges are only for apps that pull in big numbers, couldn't the app creators just make a bunch of versions of the app with a limit to how many users can access it?

I'm not sure what reddit's threshold is for when they start charging for API usage, but do any of you see this happening? Would it be possible for the 3rd party creators to release personal instances of their apps that are technically separate entities that could stay in the free APL limit?

Again, I have no idea on how 3rd party apps are run or how they access the API. I was just curious if there was a way to keep an app under the limit.

top 26 comments
sorted by: hot top controversial new old
[–] [email protected] 25 points 2 years ago

OK so the way the API is structured, a single user makes upwards of 100+ API calls a day - there's a single call to do everything - even things that would make more sense being grouped together into a single call.

The API was poorly optimized from the start, and as a result apps had no choice to basically spam calls in order to get the job done. Certain calls are also made over and over - like checking your inbox for new messages, refreshing, loading more comments and so many more - the more often you do it, the faster you get your inbox in, and the more responsive the app feels. if you don't do it often enough,, the app will feel like its clunky, chugging and taking forever to load. Some calls are pre-made when there's a high likelihood of clicking something for faster load time when it is clicked - now this could probably be stopped..

Now some apps also host their own data servers in order to provide more efficient running as well - this server does a number of different things, but one of the things it can do is create a second API for efficiencies' sake- essentially the server makes numerous reddit API calls, so that the app only has to make one. Its also a good way to help stagger calls to get past rate-limiting, which is where the server essentially tells you off for making too many requests to the API too quickly, and stops responding to you for a small amount of time. Another thing it can do is cache data - if its a generic (doesn't require authentication) call to a resource that went viral, it can cache that data so that people can get it without making additional calls - now this doesn't work for things like comments and vote counts.. but post titles and links? you bet that's a great thing to do. The problem: these servers cost money - not any where near as much as what they're asking for with the API changes, which is why most devs only asked for a small one off payment for server costs, which is way less than a large monthly payment.

Once you take all the requests that flow directly from the app and server, and multiply them by your user-base.. you've got a problem on your hands when it comes to the new API pricing - while it is certainly possible to charge a monthly payment (perhaps about $15 a month).. they need more than thirty days to set this app - most app stores don't allow pricing changes and subscription requirements to be set up instantly - they usually have some form of contract that will need to end so a renegotiation can take place. This means some apps might even need an entire year before they can even try to set this up.

The only other option is in the API keys. These monolithic apps use one single API key in order to make requests - the Key securely identifies who is making the request - similar to how stream keys work on streaming sites like Twitch and YouTube. You get the key, you can make a request. To get a key, you need to register with reddit as a developer, and they generate your key and give it to you. I can imagine there's a few hoops to jump through for it. (like verification - twitter had a "why do you need this" questionnaire before they started charging for their API Keys) Its impractical for a Developer to make however many thousand of fake emails and identities in order to get enough keys on the volume needed to keep app like Apollo or RIF free. The only other option would be to ask all their users to register as a developer and get their own keys, and provide a mechanism for the installation of said keys. While this is possible. its impractical and/or impossible for the people who don't understand how this works, and the hoops they may have to jump through to do this - many would likely get frustrated and give up, either going elsewhere, or worse: using the official ~~dumpster fire~~ app.

Also i wouldn't be surprised if reddit tried to close the API key loophole if too many third party apps went that direction, especially if the app's user-base decided to jump on board with it - financially it would be just as bad as having a third party app with a single API key, and they're hemorrhaging money like its going outta style right now, enough that they probably are trying to find ways to downscale, and removing the traffic from third party apps seems like a pretty understandable way to enable down-scaling - processing, data storage and bandwidth costs money after all, and on the huge user-base reddit has, its gotta be costing an arm, a leg and a kidney, probably more. - It doesn't excuse them for being this shitty, but i do understand where they're coming from, most of these large scale corporate social media sites aren't profitable or sustainable anyway, and with the economy going the way it is, the venture capitalists keeping things afloat must be tightening their purse strings, the time is running out and they're starting to want returns on their investments - free money is free no longer, and as a result the corporations get greedy, its almost like the only thing that is actually trickle down in a trickle down economy is greed.

[–] ulu_mulu 24 points 2 years ago* (last edited 2 years ago) (1 children)

As I understand it, API charges are for everyone, ~~Apollo for example showed the app is within the limits, I think other app devs did the same.~~

While not wanting their data to be scraped for AI for free is indeed a valid reason, if it was the real reason they would have come up with different tiers of pricing like every other paid platform does.

Edit: Apollo was within the limits, but reddit changed the rules apparently ...

[–] kiwifoxtrot 18 points 2 years ago (1 children)

Not quite. The new rules are 100 api calls per minute per user per app. It used to be 100 api calls per minute per user. That means Apollo is limited to 100 api calls per minute for all users.

If someone were to have a private API key for personal use, it would be difficult to exceed the limit.

[–] ulu_mulu 7 points 2 years ago* (last edited 2 years ago)

Ooh they changed them :O What .....

[–] [email protected] 13 points 2 years ago* (last edited 2 years ago)

They could technically make their app so you could insert your own API keys which you'd get from Reddit directly, but it's not very seamless to the user. You wouldn't just need to enter your username and password when you log in the first time, you'd need to go into the old.reddit preferences > apps > create a new app > agree to the API EULA > fill out redirect URI, about URI, app-name, etc. > THEN it would give you your API key that you'd have to copy and paste to the waiting app along with your username and password. The developer of "Infinity for Reddit" (an open-source Reddit client) already asked Reddit about this prior to the blackout and they said big fat NO unfortunately. They want every Infinity app to share a single API key for every phone that's using it. There are ways around this, but out of the scope of what you're asking.

[–] a_new_sad_me 12 points 2 years ago (2 children)

Without looking into any information, I can guess that it is associated with API key which are registered to a specific email. Sure, you can open more email accounts and more APIs but this is becoming a hustle.

What they could do, is release their code, and for user to register their own API and compile the app on their own. But this solution would answer only tech savi people.

[–] [email protected] 8 points 2 years ago (2 children)

Couldn't they just have the app ask for the user's API key? I use a weather app that does that with OpenWeatherMap.

[–] a_new_sad_me 4 points 2 years ago (1 children)

They could, use, but this requires extra work from the user, who might just say "nah... I'll just use the official app instead"

[–] [email protected] 5 points 2 years ago

I think the people that would seek out a third party app are mostly the kind of people that would do the extra work of copying and pasting an API key. It will definitely be a smaller userbase than before though.

[–] [email protected] 4 points 2 years ago (1 children)

I think I read somewhere this was against TOS or smth, take that with a huge grain of salt because I'm not sure if I'm remembering that right.

[–] [email protected] 5 points 2 years ago

If that's the case, then the point of all of that is definitely to get people onto the official app and not to save money on "inefficient" API calls.

Either way, I won't be going back. I am tired of being the product.

[–] [email protected] 6 points 2 years ago (3 children)

What they could do, is release their code, and for user to register their own API and compile the app on their own. But this solution would answer only tech savi people. >

The developer of Infinity for Reddit (Android app) said they were going to do just that.

[–] a_new_sad_me 7 points 2 years ago (2 children)

Ha! Cool for them!

I guess, though, that the guys who have the skills to enjoy this are the first to switch out of reddit to begin with.

[–] dreamfall 2 points 2 years ago* (last edited 2 years ago)

I just did this from a guide on their reddit, it was super easy...hopefully it sticks!

[–] [email protected] 1 points 2 years ago

Yeah. I can't code but I can follow instructions to compile an app and add my own API key. But given everything that's happened I sure as hell am not going to bother.

[–] dreamfall 2 points 2 years ago

Yep! I found a guide on their reddit page for this, it was really easy and I only have a basic understanding of this stuff!

[–] [email protected] 2 points 2 years ago

They basically wrote a mini how-to on their sub a day or two ago. It's very doable. Can't bring myself to do the work just to go to that site again on mobile.

[–] Arcanepotato 9 points 2 years ago

To answer one part of your question, the limit is on queries per minute, not the number of users. That would be harder to control. I don't think I would use an app that stopped working because it ran out of queries.

Source: https://www.reddit.com/r/reddit/comments/145bram/addressing_the_community_about_changes_to_our_api/

[–] [email protected] 8 points 2 years ago (1 children)

I guess reddit will close the current free-tier API once the new dev platform for moderators settles down.

[–] [email protected] 2 points 2 years ago

I'm expecting this too 100%

[–] [email protected] 3 points 2 years ago

Relay is planning to stay up and charge a small monthly fee. They are my go to app, but I'm hoping content here picks up so there will be little draw to go back to reddit.

[–] [email protected] 2 points 2 years ago

IIIRC, Some Twitter apps did this. Fenix on Android was working but closed to new users for a long while

[–] [email protected] -5 points 2 years ago (2 children)

Short answer is "no".

Long answer require some technical knowledge that you clearly don't possess and would just give you an headache.

To put it simply, if your app get successful and lots of users adopt it, you are bound to exceed those arbitrary limits.

Thing is, offering free api is not sustainable but you could offer some half way option, like including some ads in the apis responses as well and have the devs agree in showing those ads (I'm talking banners and the like) so that you can assure your ads clients that they are going to be shown anyway even by third party apps.

If course you can then go nuts on the penalties for infringing that agreement.

What is Reddit doing is basically saying, you can use our APIs if you are doing a school project.

[–] ulu_mulu 32 points 2 years ago (1 children)

No need to be so rude, noone is forcing you to answer questions, you know?

[–] [email protected] 1 points 2 years ago

I mean, the only "rude" part might have been telling OP that things would be too technical to explain but if you read the OP message he's saying that himself, I just justified why I'm not going much into details.

In fact, OP didn't feel the need to respond that he was offended, you simply felt the need to project into him.

You don't need to reply, you know?

[–] [email protected] 3 points 2 years ago

I didn't think you were being rude btw

load more comments
view more: next ›