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

[front] feat: always exclude compared videos when loading recommendations feed (PWA) #1960

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

amatissart
Copy link
Member

@amatissart amatissart commented Apr 22, 2024

Description

Following #1920, this PR suggests to exclude already compared videos when loading the initial recommendations page from the PWA. Regular users should be able to find new content at a glance. This would also encourage users to compare videos they have already watched, to make them disappear from the feed.

Checklist

  • I added the related issue(s) id in the related issues section (if any)
    • if not, delete the related issues section
  • I described my changes and my decisions in the PR description
  • I read the development guidelines of the CONTRIBUTING.md
  • The tests pass and have been updated if relevant
  • The code quality check pass

@GresilleSiffle GresilleSiffle added this to the Mobile Friendliness milestone Apr 23, 2024
@GresilleSiffle GresilleSiffle added the Frontend Front-end code of Tournesol label Apr 23, 2024
Copy link
Collaborator

@GresilleSiffle GresilleSiffle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The logic is good to me 👌

Regarding the UX, I suggest to add an indication about this new behaviour in the page Preferences, to avoid any confusion (but before read my comment below :)

capture

As a contributor, this new behaviour is a little bit frustrating to me. When I go to the page Recommendations, it's not always to see what I can compare, but also to see what's going on in the Tournesol community, and what Tournesol is currently recommending. Sometimes I go to see if a video I compared is now recommended.

By forcing the setting exclude_compared to true, the platform makes an assumption on my intentions which can go against the preferences I configured. If I want to see all recommendations I'll have to display the filters and uncheck the checkbox each time I open the PWA. I've been checking more and more the recommendations from the PWA recently, but this new behaviour makes me want to use my laptop instead : /

Here is an alternative: consider exclude_compared exactly as the other settings. As long as the user hasn't configured the setting exclude_compared yet, consider exclude_compared as true (true will be the default value, like "month" is the default value of date). When the setting has been configured, use the configured value instead. In other words: are there reasons to consider the behaviour of the setting exclude_compared differently than the other settings?

What do you think?

@amatissart
Copy link
Member Author

As a contributor, this new behaviour is a little bit frustrating to me. When I go to the page Recommendations, it's not always to see what I can compare, but also to see what's going on in the Tournesol community, and what Tournesol is currently recommending. Sometimes I go to see if a video I compared is now recommended.

There are different use-cases for the page "Recommendations". The intention of this PR is to make the PWA behave more like a consumer app to find new content directly from the entry page. But we may need to make the distinction clearer between the recommendations "feed" and the public recommendations page with all videos ordered by Tournesol ratings.

By forcing the setting exclude_compared to true, the platform makes an assumption on my intentions which can go against the preferences I configured. If I want to see all recommendations I'll have to display the filters and uncheck the checkbox each time I open the PWA. I've been checking more and more the recommendations from the PWA recently, but this new behaviour makes me want to use my laptop instead : /

I agree this change can bring confusion about the behaviour the existing setting "exclude_compared". Note that technically you don't need to uncheck the filter though: it's possible to reset the filters by accessing to "Recommendations" from the main menu, but that's still confusing 😕 .

Here is an alternative: consider exclude_compared exactly as the other settings. As long as the user hasn't configured the setting exclude_compared yet, consider exclude_compared as true (true will be the default value, like "month" is the default value of date). When the setting has been configured, use the configured value instead. In other words: are there reasons to consider the behaviour of the setting exclude_compared different than the other settings?

That would be more simple indeed. But I fear it may create other problems to apply "exclude_compared" by default in all contexts. (what about the results when clicking on a channel name, etc.).

Initially I thought this PR could be a simple change, but it obviously deserves more discussion 😅

@GresilleSiffle
Copy link
Collaborator

Initially I thought this PR could be a simple change, but it obviously deserves more discussion 😅

ah ah I thought the same. Maybe it would be more relevant in the future to create a dedicated home page for the PWA instead of using the current recommendations page. For instance, instead of arriving on /feed/recommendations, which was our trick to make the UX closer to other apps, we could create /feed/something that would behave like the browser extension.

There are different use-cases for the page "Recommendations". The intention of this PR is to make the PWA behave more like a consumer app to find new content directly from the entry page. But we may need to make the distinction clearer between the recommendations "feed" and the public recommendations page with all videos ordered by Tournesol ratings.

Yes I understand. I'm not completely against forcing the exclude_compared to true for now. Still I wonder if our issue comes from the fact that we currently lack a dedicated feed page, adapted to the mobile users' habits.

That would be more simple indeed. But I fear it may create other problems to apply "exclude_compared" by default in all contexts. (what about the results when clicking on a channel name, etc.).

You're right, it's not that simple indeed.

Let's talk about it in a meeting. An additional help text in the page Preferences could temporarily does the trick if we plan to create a dedicated feed page for mobile in the future.

@amatissart amatissart marked this pull request as draft May 2, 2024 15:02
@lfaucon
Copy link
Member

lfaucon commented Jun 1, 2024

Let's have a discussion

Note the concept of "recommendation" is often implicitly implying "personalized" which is not the case for us, beyond the exclude compared filter

I think we would dispel the difficulty if we had separate pages for separate purposes.

  • Top videos
    • title: "Top videos according to the community"
    • description: "Thanks to the community of contributors, find below the top videos."
    • filters: date & language only
    • user settings: only languages
    • default: include compared + monthly + language
    • motivation: This should be what we show when we talk about how Tournesol identifies high quality important videos
  • Search
    • title: "Best videos"
    • description: "Search videos on Tournesol. You can use many filters such as ..., ... and ..., filter by channel or do a keyword search"
    • filters: all filters
    • user settings: same as now to configure what parameters the search takes by default.
    • default: include compared
    • motivation: This is somehow what our current page does best, and should fulfill the same role, whenever a user looks up a channel / searches key words / wants to see unsafe videos / ...
  • For you
    • title: "Recommended for you"
    • description: "Videos recommended for you. Use the settings to control what gets shown"
    • filters: no filter on the page, but easy way to navigate to Search, maybe even no pagination.
    • user settings: similar as for search but separate settings parameters to configure what the for you does by default.
    • default: exclude compared
    • motivation: This should be the page that opens by default for logged in recurrent users. Maybe in the future it uses the reco bundles.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Frontend Front-end code of Tournesol
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants