GithubHelp home page GithubHelp logo

Comments (7)

GitMattCS avatar GitMattCS commented on June 14, 2024

I created a fork and implemented this change, and would be interested in your thoughts on it. My version does everything I need it to for personal use on Chrome, but I'd be happy to help clean and polish it up for integration. in terms of user experience, it isn't integrated into the UI (channels are just hard-coded into background.js for now) and it has a few irregular bugs since I mainly just manually tested it in Chrome by swapping out live channels in the hard-coded section.

https://github.com/GitMattCS/Twitch-Previews

from previews-client.

MarkM-dev avatar MarkM-dev commented on June 14, 2024

Hi,
i don't quite understand what you mean by "old livestream recordings pollute your Youtube subscriptions page and interfere with your Youtube experience", can you elaborate? are you seeing YouTube channels that are not live in your Twitch sidebar or too many that are live?

but this is something that i've already given some thought to.
the subscriptions page on youtube should provide all your live streams at the top (i tested this with 15+ live channels) except certain channels that are specified not to show there (like 24/7 news channels and other channel categories i presume, and that's ok, because we want to see the streamers, not the news).

A UI to add channels specifically would be a tedious task for the user since he would need to copy the user's ID (that is sometimes not just a name like "/DrDisrespect" but can also be a long generated channel id, which for the non-technical user is a demanding task that would result in not using the feature at all.

furthermore, adding specific channels would require multiple fetches either as a:

  1. fetch burst - that would suddenly cause your internet connection to hiccup since it's fetching a lot of pages, and not a lot of users have fiber internet or a proper isp that isn't throttling their internet.
  2. fetch delay - that would cause the feature to work slower since it's waiting for the array to populate while iterating the fetches on a delay. and if you send the array to populate on the sidebar on the fly, it would keep adding items to the sidebar for a certain amount of time and that would be bad UX since your sidebar would be popping up elements for that certain amount of time.
  3. take all the above into account on a larger scale where you have not 4 channels on YouTube, but 20+.

about the pollution:
i'm not sure what you mean exactly but i assume it's showing you a lot of live channels in the sidebar?
one of the next features that i want to do to address this (been actually needing to make this feature for a while) is to make a feature to hide channels that you don't want to see across all sections in the sidebar, maybe across all twitch too (i know YT channels have several live streams sometimes, that will be taken care of - maybe this is the pollution you're talking about).

this is a better solution to address the pollution problem because although you get all the live streams from the YouTube subscribed page, it's still much more efficient to get that and then hide them (or filter them out at the cached array population stage in the YT sidebar feature's case) than fetching individual stream pages.

i appreciate your input and it's cool to see that people are interested in this project :)

from previews-client.

GitMattCS avatar GitMattCS commented on June 14, 2024

Sorry- I mean if, for example, I want to add a few Youtube streamers to my twitch sidebar, I have to subscribe to them on Youtube (correct me if I'm wrong). If I have, say, 30 "normal" Youtube subscriptions and want to add 10 Youtube streamers that stream daily or more (e.g. 6 Dr. Disrespect-types, a music channel with 4 livestreams constantly rotating, and 3 people that have multiple short streams a day), then all of their past livestreams are added to my subscriptions page as well. Just seeing lots of present livestreams in my Youtube subscriptions page is a bit less than ideal since I'm not a big "Youtube livestream" guy; with all the 'past livestreams' added to that, the majority of my subscriptions page is now livestream-related, which is annoying to sort through when I just want my normal Youtube experience. I'm no fan of Twitch's streaming monopoly, but as an end-user, I also like having my live stuff in one place and my static videos in another so I can go exactly one place for each, and I think a lot of people are like that. I suppose I'm mainly thinking about it from the lens of "site A extension ideally wouldn't affect site B experience."

adding specific channels would require multiple fetches

Yeah, that's the main problem with my method and a very good point with lots of subscriptions. I simply fetched multiple channel video pages in a row, and while my internet didn't hiccup it could cause a major slow-down if you have lots of livestreamer subscriptions. There might be a Youtube API option, which would dramatically lower the amount of data transmitted for each fetch, but I didn't look into that possibility too deeply.

A UI to add channels specifically would be a tedious task for the user

I changed mine to rely on a copy-and-pasted list of video page urls (e.g. "https://www.youtube.com/channel/UCIu_ERpwvEfEHkUsQKiZ8rQ/videos", "https://www.youtube.com/c/DrDisRespect/videos"), and it could be made more user-friendly with either a search option in the extension (fetch Youtube search results for searching "TimTheTatMan" and put them in a list with an "add to sidebar" button adjacent) and/or a list manager to simply let users paste in the channel homepage URL then check that it's valid.

showing you a lot of live channels in the sidebar

the sidebar spam isn't what I mean, but I definitely did experience that when testing with a channel that has about 15 livestreams going at once (https://www.youtube.com/c/YellowBrickCinema/videos). Channel hider, max streams per channel, hover-channel-to-show-all-streams, integration into normal twitch sidebar list- lots of potential ways to deal with that.

Ultimately, I just wanted to offer up my problem as a user and my solution as an (amateur) developer eager to apply my knowledge. The changes I made fit my needs and improved my user experience, but I can agree that my solution could cause problems with slow internet or lots of streamers, and maybe the "subscription spam" isn't a big deal to others. Maybe there's a Youtube-side solution, too, like stopping certain streams from being displayed on the Subscriptions page or using a separate Youtube account with only livestreamers.

from previews-client.

GitMattCS avatar GitMattCS commented on June 14, 2024

Here's an example of the problem- I randomly subscribed to a handful of active livestreamers to illustrate. If you basically just want to see Youtube livestreamers like Dr. Disrespect back in the Twitch sidebar but don't really care about their past streams and other content, you suddenly have to sort through a ton of unwanted videos to find the ones you actually intended to subscribe to. Not to mention how adding channel subscriptions like that might affect Youtube's algorithms and what content they recommend to you.

https://imgur.com/a/kuSkYuU

from previews-client.

MarkM-dev avatar MarkM-dev commented on June 14, 2024

i see your point, you want to add youtube streams to your sidebar without needing to subscribe to them on youtube.
there is also another problem where if you spam fetch requests, YouTube will probably identify you as a robot and will probably make the feature unusable and you would need to solve a captcha to re-enable access to youtube on that account.
using youtubes api for this feature will not be satisfactory since it's very limited for this feature's use case.

from previews-client.

GitMattCS avatar GitMattCS commented on June 14, 2024

Glad you understand now, sorry I didn't make myself clear. My way would work for the simple use case of "I just want to see Dr. D and TimTheTatMan in my twitch sidebar again," but more complex cases wouldn't reliably work until Youtube improves their API or starts treating their streaming section like less of an afterthought. A dummy/separate Youtube account might do it- perhaps involving an option to set another account so you can use that one's subscriptions rather than whatever account you happen to be logged in with. Of course, that'd require users to do extra work, and I don't know much about the authorization stuff it would rely on. I'll probably try that if I ever decide my current solution isn't good enough for my personal use.

from previews-client.

MarkM-dev avatar MarkM-dev commented on June 14, 2024

i might look into account switching sometime in the future, closing this for now.

from previews-client.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.