FreeTubeApp / FreeTube

An Open Source YouTube app for privacy
https://freetubeapp.io/
GNU Affero General Public License v3.0
12.65k stars 779 forks source link

[Feature Request]: Refresh subscriptions when Home Logo "FreeTube" was clicked #4275

Open helioguardabaxo opened 9 months ago

helioguardabaxo commented 9 months ago

Guidelines

Problem Description

When I watching a video then click to return to "Subscriptions", the subscription video list is not updated. I always need to click on "update" icon. file:///home/helioguardabaxo/Imagens/Captura%20de%20tela%20de%202023-11-03%2010-23-51.png

Proposed Solution

Update subscription video list when logo is clicked

Alternatives Considered

Remove link on logo

Issue Labels

ease of use improvement

Additional Information

No response

efb4f5ff-1298-471a-8973-3d47447115dc commented 8 months ago

@jasonhenriquez Would it make sense to implement this now that we have the configurable landing page? Subscriptions (maybe trending and most popular also?) page would probably require some special handling for this.

Also i don't know if this is something that is desired behavior. Now users basically get a one time automatic fetch and when they deliberately press on the refresh button it refreshes.

Would it make sense to strip away part of the user controlled environment when they click on the logo?

kommunarr commented 8 months ago

I don't have an issue with having a button for fetch-and-go, but adding it to the logo seems like something most people wouldn't necessarily expect. If it is added, it should be a button with an obvious & clear purpose.

Ideas: 1a. Optional setting to hold click/press on certain side nav options to trigger a refresh on load (Subscriptions, Trending, Popular) 1b. Same as 1a but some other mechanism (e.g., the option unfurls on hover, but that doesn't work for touchscreen devices... so some other mechanism better than these two. Double click, maybe?)

  1. A new button on the top nav for specifically navigating to subscriptions and refreshing in one click 3a. An app-wide keyboard shortcut that refreshes subscriptions on next load of the route 3b. A keyboard shortcut that works on certain routes to refresh them (Subscriptions, Trending, Popular)
efb4f5ff-1298-471a-8973-3d47447115dc commented 8 months ago

Now that i think of it, when looking at it from a browser perspective maybe it is expected behavior that something refreshes when u click on the Home page logo

tinyoverflow commented 8 months ago

@efb4f5ff-1298-471a-8973-3d47447115dc

Subscriptions [...] page would probably require some special handling for this.

My 2 cents from a users point of view: When I navigate to an index page (be it the subscriptions or anything else), I'd expect to see the most recent updates. The same happens on YouTube: If you navigate to the start page, you see the most recent videos YouTube has decided to show to you.

I, to be honest, thought, that this is how FreeTube actually works at the moment. This was the behaviour I expected as a user.

Do you see any issues with the idea of simply refreshing the data once the page loads?

@jasonhenriquez Except for 2 and 3b (which I will call the F5 feature) I think that these solutions are not very user friendly and weird behaviour. This is not something people encounter often in other apps and thus may not recognize or remember these functions. 3a is a very weird quirk imho. If we implement any shortcut to reload, it should happen for the current page. Not for the next page the user visits.

You can reload the current page with a shortcut, though. It reloads the whole app, but ctrl+r or cmd+r reloads the current page.

kommunarr commented 8 months ago

Thanks for the feedback @tinyoverflow. I neglected to mention that we do already have 3b implemented: r, which is in our docs, although we're working on making those accessible in the app.

Our initial concern with designing this feature was about keeping the number of requests to YT or Invidious in check, especially for users with dozens or hundreds of subscriptions. We'll have to consider that possibility of refreshing every time, but it's unlikely to be the default behavior for this reason.

absidue commented 8 months ago

Do you see any issues with the idea of simply refreshing the data once the page loads?

Yes you would likely hit ratelimits on YouTube and Invidious' end if you refresh it too often. The subscriptions page is already the worst page in terms of number of requests and ratelimit danger, as it has to make a request for every single channel to get the videos, so a feature like that would likely make it even worse.

If something like that is added as an optional setting (definitely won't be the default), it should probably force RSS, like FreeTube already does when you have more than 125 channels in the current profile, to avoid you getting ratelimited.

It would probably also have to be limited to the local API, because you and your machine getting ratelimited is one thing, but getting volunteer run services ratelimited is a different story.

kommunarr commented 1 month ago

Ideas: 1a. Optional setting to hold click/press on certain side nav options to trigger a refresh on load (Subscriptions, Trending, Popular) 1b. Same as 1a but some other mechanism (e.g., the option unfurls on hover, but that doesn't work for touchscreen devices... so some other mechanism better than these two. Double click, maybe?)

  1. A new button on the top nav for specifically navigating to subscriptions and refreshing in one click 3a. An app-wide keyboard shortcut that refreshes subscriptions on next load of the route 3b. A keyboard shortcut that works on certain routes to refresh them (Subscriptions, Trending, Popular)

Looking back at this, I can only see 1a as a solution that we would reasonably implement. App-specific context menus seem like the only good middle ground for this feature with regards to the metrics of easy enough to use + reasonable enough to expect to occur + preventing excess data fetching. If that's still not favorable, and no better solutions are provided, then in such a case I don't think this feature could be implemented in a way that meets our standards.

efb4f5ff-1298-471a-8973-3d47447115dc commented 2 weeks ago

Now that i think of it, when looking at it from a browser perspective maybe it is expected behavior that something refreshes when u click on the Home page logo

Looking back at this, I dont see this as expected behavior.

Allot of times users see the functionalities of FreeTube in the same light as functionalities of the browser. Users expect us to implement browser like behaviors or integrate extensions. While we do share some commonalities I think users should let go of the thought that it should behave the same. FreeTube (a desktop application) and browsers should be able to coexist in this space. FreeTube is unique and should be treated like that. Otherwise what would be the point of creating the desktop application?

Even if we go the 1a route I still think this "feature" shouldnt be implemented as it could harm the UX.