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.

  • Da_Boom@iusearchlinux.fyi
    link
    fedilink
    English
    arrow-up
    21
    ·
    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.