bluesky-social / atproto

Social networking technology created by Bluesky
Other
7.3k stars 516 forks source link

Display other post Reasons returned by feed generators #1980

Open CooperEdmunds opened 11 months ago

CooperEdmunds commented 11 months ago

Is your feature request related to a problem? Please describe.

When a feed generator returns a feed skeleton, it can attach a Reason to explain why a post is being served. Currently the only Reason is Repost. Ideally, Reason would either be more customizable (any string) or would include other specific types (more below) so the user can have a better understanding of how the content they see connects to their network and their personal interests. The social proof would be show above the post, just like repost currently is or how merge feed displays the name of the feed that served the post.

Describe the solution you'd like

Allow the feed generator to send back any string less than a certain length and display it. This is the simplest option to implement and allows feed developers to do whatever is best for their use case.

Describe alternatives you've considered

Extend the reason type on the backend to include two more types: SocialProofReason and TopicOfInterestReason. SocialProofReason is for content that you are being shown because someone you follow has interacted with it or follows the author. The two properties would be did and action ('liked post', 'replied to post', 'follows author'). TopicOfInterestReason is for showing the user content that pertains to a topic they have indicated they are interested in. The only property is a string naming the topic (e.g. "video game development") and it would display as "Because you like in [topic]" or similar.

Additional context

I believe this would go a very long way for users who come from Twitter and would be a relatively low cost way to make the custom feeds experience much better. I'm happy to do whatever would be useful to move this forward.

Screenshots of social proof labels on twitter: IMG_7752 IMG_7751

pfrazee commented 11 months ago

Transferring this to the protocol repository. Yeah, this is something that we discussed and decided to look into later. Open to discussing, but it will need a design session where we establish the direction we wanna go.