Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add menu for selecting different feeds #227

Closed
omarroth opened this issue Nov 9, 2018 · 8 comments
Closed

Add menu for selecting different feeds #227

omarroth opened this issue Nov 9, 2018 · 8 comments
Labels
enhancement Improvement of an existing feature

Comments

@omarroth
Copy link
Contributor

omarroth commented Nov 9, 2018

My suggestion is to set a browser cookie depending on the user's personal preference of what to do with the front page, (could look like frontpagemethod=1) and when this cookie is sent to Invidious along with the rest of the request for the home page, Invidious can return results according to the selected algorithm.

Suggested algorithms

Trending. This is curated by YouTube itself — while the content might not be particularly interesting, and while censorship issues definitely come into play, I think a curated front page would be the most appealing way to welcome new users to Invidious. I suggest that this be the default view, but I'm not particularly bothered, since the whole point is that it's customisable.

Videos from popular channels as suggested earlier in this thread. I personally really like this idea, but I can understand not wanting to lose the current method, which is why we finally have:

Popular videos from the whole site, as per the current algorithm.

A blank page.

The user's subscription feed, if they're signed in.

Switching algorithms

As per Discookie's suggestion earlier in this thread, you could add a banner reminiscent of HookTube's on the top of the front page. This could additionally detail the sorting algorithm to use, from "Trending", "Popular channels", and "Popular videos". Clicking a link would set that cookie and reload the page to display the new algorithm.

Of course, this could also be changed from the settings menu.

While this would introduce more work for our good friend omarroth, I don't expect it would be much more involved than simply rolling with his popular channels suggestion further up. The code for YouTube's "trending" is mostly already there, the existing algorithm is obviously completely already there, which just leaves the code for popular channels which would have to be implemented anyway.

While the details of which algorithm should be the default have yet to be considered, I think that giving users the choice of algorithm is totally in-line with Invidious's maxims and is opinion-agnostic, featureful, and the best option available

Originally posted by @cloudrac3r in #217 (comment)

@omarroth
Copy link
Contributor Author

omarroth commented Nov 9, 2018

@Discookie:

I think the best way to go about this would be having a 'tabs' bar under the search bar, with links to each page. (Only visible on the homepage, of course.) And in each method's tab, there should be a Set as default button, similar to a Subscribe button in looks.

Maybe something like this?

image

Popular would be the proposed algorithm (preview here). Top would be the existing algorithm. Trending would have options for selecting various languages/topics (see TeamNewPipe/NewPipe#1805), and Help, quoting would probably be something like:

An alternative front-end to Youtube

A welcome message, and some usability tips, such as:
You can change the URL on any Youtube page to invidio.us!

As suggested here.

@Discookie
Copy link

The naming for Popular and Top is kind of backwards, since Popular is the top 40 channels, and Top is the most popular videos.
Also Help should be named About instead, and Subscriptions should be there for logged-in users.

Other than that, it looks good! Although I don't know how usable it will be on mobile.
I like the idea of a separate Help page that's easily accessible - links to the API, docs, and other stuff could also be listed there!

For the URLs of the pages, we could use invidio.us/feed/top? Subscriptions and Trending already have a page under /feed/ on YT, and Popular and Top are unused.

@dimqua
Copy link
Contributor

dimqua commented Nov 9, 2018

Trending would have options for selecting various languages/topics

In addition, would be nice to be able to pull top videos from thematic channels.

Furthermore, you can merge all top videos from the "best" channels and add an additional tab, like Best. Basicly, by default Trending will be a compilation of the most recent videos of "default" channels (Music, Live, Gaming, News and Movies). And Best can be the same for top videos of the same channels. How that sounds?

P.S. For some reason, a channels like Sports and Virtual Reality do not have recent videos, they have only top/best ones.

@elypter
Copy link

elypter commented Nov 15, 2018

i suggest to add /r/videos. it is without political content and the mods also remove or lock content with heated arguments or people fighting. i have a mixed view on this but it has a different userbase as the average youtube viewer so it shows a different side of youtube wich i think is important to provide interesting content.

@elypter
Copy link

elypter commented Nov 15, 2018

you have probalby put some thought into how long videos should stay on the frontpage. too long and it becomes stale and too short and people get only shown low rated content. there is a value that gives good results but the most important variable is how often the user wants to see new content. reddit has addressed that problem with the top/popular/rising/new tabs but i think this can be done better by having a slider or scale where you can directly set the half life if the score decay. there is a similar dilemma with rating vs. views/participation(however i dont know how easily that data is available on apis). i think there could be 1 or 2 sliders in the bar where you can set the values for the algorithm directly and transparently.

@cloudrac3r
Copy link
Collaborator

i think there could be 1 or 2 sliders in the bar where you can set the values for the algorithm directly and transparently.

Cool, but if everything is asynchronous, you're going to have to send off a new request to update the feed with those slider values, which may or may not work well.

i suggest to add /r/videos

from your description, this sounds good.

@omarroth omarroth mentioned this issue Nov 20, 2018
@omarroth
Copy link
Contributor Author

The naming for Popular and Top is kind of backwards, since Popular is the top 40 channels, and Top is the most popular videos.

Maybe, but I think you could make the same case for the opposite, since Top could be considered to be the top 40 videos, or videos from the top 40 channels. I think the only argument either way would be the terms currently used internally.

Added /feed/top and /feed/popular with 19bf0cc.

Added /feed/trending with 2e99642. You can change region with &region= and change page with &type=, where type is one of live, movies, news, music,
or gaming. I expect that to be updated to be easier to use.

Furthermore, you can merge all top videos from the "best" channels and add an additional tab, like Best.

YouTube also provides these as Genre channels (Music, Sports, Gaming, Movies, News, Spotlight, which as you noticed show only the top/best videos. Although those channels, also appear to generate playlists for sub-genres, specific creators, etc.

@omarroth
Copy link
Contributor Author

Added /feed/subscriptions to menu with c5a17cd.

I'm going to close this since the proposed functionality has been implemented.

An /about page would still be excellent to have. If anyone would like to draft one and open a PR or a new issue I'd be happy to discuss it there.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement Improvement of an existing feature
Projects
None yet
Development

No branches or pull requests

5 participants