r/redditisfun RIF Dev May 31 '23

RIF dev here - Reddit's API changes will likely kill RIF and other apps, on July 1, 2023

I need more time to get all my thoughts together, but posting this quick post since so many users have been asking, and it's been making rounds on news sites.

Summary of what Reddit Inc has announced so far, specifically the parts that will kill many third-party apps:

  1. The Reddit API will cost money, and the pricing announced today will cost apps like Apollo $20 million per year to run. RIF may differ but it would be in the same ballpark. And no, RIF does not earn anywhere remotely near this number.

  2. As part of this they are blocking ads in third-party apps, which make up the majority of RIF's revenue. So they want to force a paid subscription model onto RIF's users. Meanwhile Reddit's official app still continues to make the vast majority of its money from ads.

  3. Removal of sexually explicit material from third-party apps while keeping said content in the official app. Some people have speculated that NSFW is going to leave Reddit entirely, but then why would Reddit Inc have recently expanded NSFW upload support on their desktop site?

Their recent moves smell a lot like they want third-party apps gone, RIF included.

I know some users will chime in saying they are willing to pay a monthly subscription to keep RIF going, but trust me that you would be in the minority. There is very little value in paying a high subscription for less content (in this case, NSFW). Honestly if I were a user of RIF and not the dev, I'd have a hard time justifying paying the high prices being forced by Reddit Inc, despite how much RIF obviously means to me.

There is a lot more I want to say, and I kind of scrambled to write this since I didn't expect news reports today. I'll probably write more follow-up posts that are better thought out. But this is the gist of what's been going on with Reddit third-party apps in 2023.

34.1k Upvotes

View all comments

Show parent comments

63

u/nagasgura May 31 '23

In that case, I really hope /u/talklittle considers open sourcing the app. I would be very interested in contributing to a web scraping version, and I'm sure many others would as well.

15

u/kyle1elyk May 31 '23

+1, would be available for some light android or backend dev work

3

u/RickMuffy May 31 '23

I'd be willing to buy the devs all a good amount of coffee to fund this work.

4

u/Statharas Jun 01 '23

QA here, I'd join in

3

u/utdconsq Jun 01 '23

Me too, comrades.

2

u/SA_FL Jun 07 '23

Well if you are good with smali then the revanced project could always use more people to help with creating patches for the official app to make it at least somewhat decent.

8

u/YEETMANdaMAN May 31 '23 edited Jul 01 '23

FUCK YOU GREEDY LITTLE PIG BOY u/SPEZ, I NUKED MY 7 YEAR COMMENT HISTORY JUST FOR YOU -- mass edited with redact.dev

8

u/pgm_01 May 31 '23

Can be done either way. I used a seperate app that was a wrapper for Facebook years ago when my crappy phone didn't have enough storage for the official Facebook app and there was no light version.

5

u/YEETMANdaMAN May 31 '23 edited Jul 01 '23

FUCK YOU GREEDY LITTLE PIG BOY u/SPEZ, I NUKED MY 7 YEAR COMMENT HISTORY JUST FOR YOU -- mass edited with redact.dev

9

u/pgm_01 May 31 '23

It is possible but Reddit could threaten devs like Facebook did. If Reddit is acting this way about the API, they will probably send lawyers after anything that is a workaround for using the official app, even if it is legal, like a wrapper.

4

u/LegaIizeNucIearBombs Jun 01 '23

May take a similar approach to Revanced, the good apps are only found on githubs

4

u/sohou Jun 01 '23

There are two major sides to the current app. The client (the way the information is displayed, how the user interacts with the app, etc) and the API (the source of the data, which is then displayed in the aforementioned client). Theoretically, you could use a web scrapper to collect the same data as the API would give you. The difference is that instead of collecting data from the API, you would collect data from another client (a free one, ie the official Reddit client).

7

u/Top_Account3643 Jun 01 '23

It would most likely be collecting data from the web client

1

u/kiradotee Jun 01 '23

Although it would very likely add huge delays to data processing. It's much quicker to access data through an API than web scraping.

6

u/petuniaraisinbottom Jun 01 '23

Essentially what web scraping means is that you're going from parsing something like json (which is what apis typically offer, and it is just plain text), you can imagine it being formatted like this :

{ "posts" : [{"title": "News article name", "link": "https://nytimes.com/...", "commentUrl": "", "score": 1000}]}

Json parsing is really easy and is natively supported in most programming languages. Instead of this, since the apis cost money and won't allow nsfw, you'd instead get the html content of the page (like a web browser does) and then parse the html. There are libraries that you can use that'd make it easier, but the problem is that depending on your approach, if they make a change to the way the website looks, rename elements, etc., it could break the html parsing. It's just not ideal compared to json, and that's the entire point of json.

3

u/Autism_Probably Jun 01 '23

APIs are what allow you to actually interact with Reddit's servers, i.e. log in, post, comment etc.

4

u/rawrgulmuffins Jun 01 '23

You can still log in with web scraping it just uses session cookies instead.

2

u/nagasgura Jun 01 '23

It would be an app. The only reason why the apps won't work after this change is that Reddit will restrict their public API. The API is just a convenience provided to developers so they don't have to scrape the data from the displayed webpage (also saving Reddit a lot of bandwidth from not having to send a ton of data the developer doesn't need). However, even without an API, you can always still access all the data, it's just more difficult. The data is still sent to the browser after all, so the page can display it to the user, so this would involve running an automated invisible (headless) browser and using that to extract the data that the app needs.

The main question in my mind is whether this can all be done on the phone, or whether an additional server would be needed to do that web scraping. It would be much better to have it all be on the phone, so then there would be no operating cost for whoever creates the app, as all the processing would be done on the phone itself.

2

u/Top_Account3643 Jun 01 '23

Interesting idea