Invidious: Add menu for selecting different feeds

Created on 9 Nov 2018  Â·  8Comments  Â·  Source: iv-org/invidious

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 https://github.com/omarroth/invidious/issues/217#issuecomment-437309347_

enhancement

Most helpful comment

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.

All 8 comments

@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.

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.

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.

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.

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.

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.

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 19bf0ccbf0625f0f8ac24fe7c024417c0ed5ae81.

Added /feed/trending with 2e996421731c6024b6d3308ccfb0e0071bc4407b. 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.

Added /feed/subscriptions to menu with c5a17cd0432be87b224fcad2242a68ab922def42.

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.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Uffje picture Uffje  Â·  3Comments

elypter picture elypter  Â·  4Comments

atahanacar picture atahanacar  Â·  3Comments

stodge picture stodge  Â·  4Comments

PureTryOut picture PureTryOut  Â·  3Comments