this post was submitted on 11 Jul 2023
48 points (98.0% liked)

No Stupid Questions

35822 readers
1173 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 1 year ago
MODERATORS
 

Had this question in my mind for a while now, after going through the recent Reddit API drama.

I am a big FOSS advocate, and have moved away from YouTube (but not the contents, lol) because of its invasive tracking practice.

I have been using NewPipe on my phone for a long time now, and I think it's an excellent piece of work.

I believe I also read somewhere that unlike other third party YouTube Apps, NewPipe doesn't use YouTube's API, but instead retrieves data by scraping the website via an Extractor.

Recently I came across LibreTube - which I believe has a slightly different approach. It points to a "Piped API" which acts as an "intermediary" between YouTube and LibreTube ( and I think I also heard that Piped API uses NewPipe Extractor underneath) - I am not hugely tech-savvy, so correct me if I sound weird.

All these said and done - in case YouTube decides to turn rogue one fine morning (like Reddit) - will any of these Apps be impacted?

(And while we are here, can anybody please ELI5 for me the differences between Invidious and Piped?)

Thanks in advance !

top 12 comments
sorted by: hot top controversial new old
[–] Zikeji@programming.dev 40 points 1 year ago* (last edited 1 year ago) (3 children)

In the development industry, the concept of an API (application programming interface) is to give developers a way to interface with the backend". When we're referring to an API, like the Reddit API, a majority of the time we're referring to a public API - which are typically versioned, documented, and have specific rules or conditions unique to them.

When a website or service doesn't have a public API, or that public API doesn't suit the needs or is otherwise not applicable, we will often turn to scraping. Scraping can be done a number of ways, and I won't go into those details. But the short of it is that we're usually mapping data into a usable format, and acquiring it by interfacing with the website as though we're a normal user.

One of the drawbacks of scraping is that normal changes, even small, can break the logic we have scraping that website. This is also the case with projects like NewPipe, Piped, and LibreTube.

LibreTube, NewPipe, and Piped all use NewPipe's Extractor underneath the hood. Invidious appears to have it's own logic. The "Piped API" uses NewPipe Extractor, which is a Java library, and essentially converts it into a web API that other projects that aren't Java can utilize.

Sharing that logic is actually beneficial, if YouTube changes something that breaks all the open source frontends, developers from all 3 projects (and as it is OSS, unaffiliated ones as well) can identify what change is breaking the extractor and fix it, pushing out an update fixing their frontend rapidly. I'm not sure how it works in practice as I don't follow the project, so I'm just assuming that Invidious gets fixed slightly slower than the other three.

But back to your original question, YouTube can't "turn rogue" in the same way Reddit did, in a sense YouTube is already rogue. The developers of third party apps on Reddit utilize a public API with permission, and follow a certain set of guidelines and other requirements. Developers making alternate frontends for YouTube do not utilize any APIs with permission, and just the act of using one of those frontends is likely a terms of service violation on YouTube (not that it matters).

The reason we don't see the open source YouTube frontends breaking all the time is likely due to effort. YouTube could completely change one of it's APIs it uses, but then they would have to update all of it's software that relies on it. Their website, the Android app, the iOS app, probably the YouTube music apps, and not to mention every smart TV app. And this change would likely be identified and fixed by the OSS developers within days, if not hours. So YouTube can't really actively combat it on the development end, and would need to take the legal route. Publishing code for scraping isn't illegal (but they could, and have, use intimidation), so YouTube's legal recourse would be to get stuff using the code shutdown. Right now the user base for the frontends is probably small enough that they're tolerating it.

TL;DR: YouTube is already rogue, scrapiing bypasses that. Changes to YouTube already break open source frontends but are resolved rapidly by developers.

As for answering the followup question: "can Reddit developers do the same thing". Yes. Will they? Maybe, maybe not. Reddit had a great API which encouraged third party growth, now that Reddit has made that API prohibitively expensive, it's not really an option. Developers inthe past could utilize that API and monetize their projects (so long as it fit within guidelines, if any). Turning to scraping / "unsupported" methods of interfacing with the website means they realistically can't monetize their work as doing so puts them in legal hot water. They also would have trouble publishing their app (if it's an app) on platforms like Play Store and the App Store. And face intimidation and legal threats.

[–] rufus@discuss.tchncs.de 6 points 1 year ago

This is kind of besides the question, but a reddit alternative also is on a completely different level than developing an alternative for youtube. it is way easier to replace. You mainly need the userbase.

With youtube, it's more complicated. Hosting videos takes vast amounts of storage. And it is pretty commercialized. People want to make money with their content. Which opens another can of worms. You need advertisements, tracking, payments ... Legal stuff becomes much more important when handling money etc.

[–] DeadNinja@lemmy.world 5 points 1 year ago (1 children)

You have absolutely no idea what a gem of a comment you wrote ! This clears up a lot of things for me. Thanks !

I also read that the original Invidious Dev (Omar Roth) has shut down his instance in 2020, and is also taking a break from active development. Other Invidious instances might still be around, but for now it's not the most interesting thing to check out, at least for me.

[–] Zikeji@programming.dev 3 points 1 year ago

I also read that the original Invidious Dev (Omar Roth) has shut down his instance in 2020, and is also taking a break from active development. Other Invidious instances might still be around, but for now it’s not the most interesting thing to check out, at least for me.

The project itself is under active development, with plenty of active instances. I personally don't use it but I don't blame the original dev for shutting down their own instance, as hosting a project is a completely different beast from developing it.

[–] tryinghappy@lemmy.one 2 points 1 year ago (1 children)

Great comment! I'm keeping fingers crossed that a reddit app using scraping will show up for when I need to use it.

[–] Zikeji@programming.dev 3 points 1 year ago

There are a few privacy focused frontends for reddit like teddit and libreddit. They exist to fill a similar niche as NewPipe & Invidious - to reduce the amount of data being collected. However, they don't fill the Sync / Apollo niche.

I don't think we'll see apps like Sync or Apollo using the API unofficially anytime soon, with the hostility Reddit has shown. Then again, all it takes is one motivated developer lol.

[–] clueless_stoner@lemmy.world 8 points 1 year ago (1 children)

Hello there! Please edit your post title to include a question, as it's our first rule :)

[–] DeadNinja@lemmy.world 5 points 1 year ago

Just did. And thanks for pointing that out !

[–] puppy@lemmy.world 5 points 1 year ago

If NewPipe uses the website to scrape data, YouTube wouldn't know the difference between it and a regular user. So highly unlikely that they be able to "pull a Reddit".

[–] Brotherly@lemm.ee 1 points 1 year ago

I don't know how these specific apps work, but youtube could change their API at any time, and those changes could effect any app using it. A change could be made that would block access, similar to the reddit api change.

If a tool is scraping the youtube website, any change to the website could effect the scrapers, but the scrapers could be updated to work with the changes. There is the possibility of down time, but not really for permanent loss of access. This is not really worth chasing for youtube because it would be a never ending game of cat and mouse.

I also found i like Youtube Revanced over NewPipe. It let's you sign in to youtube but removes all the ads, let's you skip in-video intros and ads as well.