I am a paying YT Premium customer and am honestly deeply frustrated by their child proofing controls. The worst is having a “Guest” mode on the TV app that you can’t turn off. It lets anybody completely bypass all restrictions. There is an open ticket on this dating back many years. Their best response to date has been ~ “it can’t be done - will share feedback with the team.”
The sudden interest/surge in custom YT frontends has inspired me to build a custom TV app with tighter controls.
Does anyone know how they work? Are they using YouTube private API directly, or running a full blown shadow browser and siphoning data into the custom front-end?
Yup, I've written about this a couple times[0], I cancelled my YouTube Premium subscription—I was otherwise a happy customer!—and switched to NewPipe on Android because I couldn't turn off YouTube Shorts.
You can disable the YT app on Android. The effect is the same as uninstalling the app. YT links open in the browser, the app tile doesn't show up in the Apps menu.
This is what I ended up doing to get over my YT Shorts addiction
You can banish YT shorts by clicking the X in the top right corner of the shorts row.
And yeah they’re pretty stupid. YT took a bunch of normal videos and cropped them to phone camera dimensions, lol. You can click the author’s name to find the original in their YT page. It’s just idiotic.
They have disabled that x in my region. I can’t even turn them off temporarily anymore. They are probably rolling out the change in stages to see how much angry feedback they get and how many people cancel.
You could start by taking a look at the base library that powers NewPipe and Piped called NewPipe Extractor [0][1]. It can extract the information you need from YouTube without using the API, I believe that includes access to the video streams themselves. Otherwise you could try and use Invidious through the developer API [2] although I must admit I have zero idea how good it is.
I use LibreTube[0] on my phone which is a client for Piped so you can probably make your TV App a client as well so you don't have to do the scraping yourself.
> The worst is having a “Guest” mode on the TV app that you can’t turn off. It lets anybody completely bypass all restrictions. There is an open ticket on this dating back many years. Their best response to date has been ~ “it can’t be done - will share feedback with the team.”
This sort of thing is exactly why I roll my eyes when somebody suggests that it's the sole responsibility of parents to control what their children see online, and that anybody who complains about the state of things is just an irresponsible parent. The nature of tech products conspires to make this virtually impossible for all but perhaps an elite minority of technically inclined parents.. and probably still impossible even for them. Even the simple option of "no computers / internet in this household" is undermined by schools which give kids computers with leaky content blocking and require families to accept this.
I'll take your strawman and raise you one. This sort of thing is exactly why I roll my eyes when somebody suggests that it's a lost cause so you need to give your one-year-old a smartphone.
Just don't give your kid a phone. If he views content he's not supposed to at school or a friend's house, that's not the worst thing in the world. I can't possibly control every single thing my daughter does because she is her own person. But I can mostly control what she does in our home, and no smartphone is a simple solution that prevents all of these other content-blocking problems. Even if she figures out a temporary way to get around it, that's not the end of the world to me. The larger issue to me is the constant oppressive force destroying a child's brain by having TikTok in her pocket at all times.
The sudden interest/surge in custom YT frontends has inspired me to build a custom TV app with tighter controls.
Does anyone know how they work? Are they using YouTube private API directly, or running a full blown shadow browser and siphoning data into the custom front-end?
Update: edited for clarity