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

Friends feed #3161

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open

Friends feed #3161

wants to merge 23 commits into from

Conversation

MonkeyDo
Copy link
Member

When we first added the feed page and functionality, we were worried about the feed looking very empty (the idea at the tiem was to make the feed the landing page).
As a stopgap measure, we added the most recent listens from followed users as filler, with the aim to remove it "soon™".

As a negative consequence, it makes the feed page loads much slower than it needs to be.
Now, years later and very late, it is finally time to remove them.
One extra push for it is having implemented infinite queries from react-query (in #2844), which make the inserted listens have even less sense (the listens loaded at first and the ones loaded later are not from similar times).

The solution I always envisioned was to have a separate page where I can see all listens (most recent first) from all the users I follow.

And here it is:
image

Open to feedbakc regarding the naming of this new page, as we don't use the word "friends" elsewhere in the website AFAIK.
"My follows" just didn't have the same ring to it.

I moved the follower/following and similar users section out of the regular feed, IMO it makes more sense to have it in this new "My friends" tab:
image

+ remove listens from regular user feed, as was always intended
Allows for closer types if we know what type of listens we are expecting
Moved the followers/following and similar users to the FriendsFeed instead
Doesn't quite look right when it is very wide, the event action buttons are too far away  from the event content
Bright orange is probably not ideal for these buttons
…ng_order test

We don't send listen events anymore, adjusted the test accordingly
@MonkeyDo
Copy link
Member Author

@Aerozol Hello! I would very much like your feedback on this, specifically about wording.
We also now have some space in the right column on the feed page, any particular thing you think would go well in there?

@MonkeyDo MonkeyDo requested a review from anshg1214 January 31, 2025 17:40
@Aerozol
Copy link
Contributor

Aerozol commented Jan 31, 2025

Oh, interesting. I didn't realise this was the plan so I'm struggling to shift gears a bit - I was definitely imagining "feed" as a bit of a one-stop shop for information, including follows. That said, not just a list of random/latest listens, more like "X user has been binging this release/track", or "a bunch of your follows have been listening to this release/track" etc. In that instance it makes sense to have a new tab that is literally just a friends feed. It could also be a fun one to press play on!

I also imagined the feed could eventually be a good landing page (in line with social media/other sites that users will be used to), but we'd have to start adding some good stuff.

I also can't think of anything to put into the feed sidebar, and I'm hesitant to put something in just to fill space. I suppose, if you are open to creating new items, the feed would now be largely playlist-related, so some shortcuts or preview regarding playlists could fit. That and recommended tracks... maybe a list of latest 10 recommended tracks. This could be annoying without a way to dismiss them, though. Let me know if you want me to do some more brainstorming or mocking-up. I would probably prefer new feed items to be added first though, tbh.

@Aerozol
Copy link
Contributor

Aerozol commented Jan 31, 2025

Regarding the naming, I've gone back and forth a bit, but I probably would use "My follows".

It is a bit unwieldy, but I think the same can be said for where we use "follow" elsewhere, except for on the actual "follow" button. I think we either change it in a few places or embrace our special terminology :)

+ some renaming to "My Network" and removing mentions of "friends", we don't really use this vocabulary
@MonkeyDo
Copy link
Member Author

MonkeyDo commented Feb 3, 2025

The PR is currently deployed on https://test.listenbrainz.org/feed/follows

I did a bit more brainstorming, and added another little slice of feature:
we have had an endpoint available to show listens from similar users, but never showed that data on the website.

Here's what I have so far:

  • two pills to select between followed users and similar users (in the style we have on other pages)
  • proposed name "My Network", could be workshopped to be honest, but I wasn't fully comfortable with "My Follows", so I thought I'd try something. Other options I thought of include "My Circle", "Follows" (no "my"), "Streams"
  • change the header text slightly:
    image
    image

@MonkeyDo
Copy link
Member Author

MonkeyDo commented Feb 3, 2025

Note to self: the refresh button at the top does not currently work as expected, needs to set a new timestamp before refreshing I think
Corrected. Need to apply changes to UserFeed too.

@Aerozol
Copy link
Contributor

Aerozol commented Feb 4, 2025

GENIUS. Especially with the similar uses feed. A really useful page that feels like it always belonged. No notes.

I lie, I always have notes ahaha. But this is just musings, it's good to go as-is imo!

  • A bit more margin under the refresh button.
  • Having the refresh button always there might give space for a "play all" button as well? I know we discussed that in the past and never found a good home for it (the discussion was about users - probably me - not immediately realising that playing the top item would play everything down the list).
  • Maybe it would make the page look too busy, but there's room to make the 'following/follower' and 'similar users' panels taller.

Wasn't happy with the placement of the refresh/ play all buttons, decided to center both with a small gap
@MonkeyDo
Copy link
Member Author

MonkeyDo commented Feb 4, 2025

GENIUS. Especially with the similar uses feed. A really useful page that feels like it always belonged. No notes.

I lie, I always have notes ahaha. But this is just musings, it's good to go as-is imo!

  • A bit more margin under the refresh button.
  • Having the refresh button always there might give space for a "play all" button as well? I know we discussed that in the past and never found a good home for it (the discussion was about users - probably me - not immediately realising that playing the top item would play everything down the list).
  • Maybe it would make the page look too busy, but there's room to make the 'following/follower' and 'similar users' panels taller.

OK, that's all done, thanks for the feedback !

I also thought instantly it will be a useful page, when I set it up and deployed live.

|needs a way to filter by username, I think, but that's for another day.

@MonkeyDo
Copy link
Member Author

MonkeyDo commented Feb 4, 2025

@anshg1214 Ready to review :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants