[freamon] Currently working on: Following Users
submitted Andrew
byThere's more than one way to do this, of course. For group-based forums like piefed, I think the most promising way is to automatically create a local community for each person that someone wants to follow. Incoming activity is then put into the appropriate community, and so you have a consistent UI of UserA has posted to technology@wherever, and UserB has posted to [UserB's community]@piefed.social. This avoids the '2 websites in 1' look that can happen when a site wants to display both lemmy-like communities and mastodon-like microblogs.
I haven't done too much work on it, in case this idea gets shot down in flames. So far, what I've got is:
1) A user searches for another remote user, e.g. @freamon@pixelfed.dk
2) When they're found, the user is offered the opportunity to create a 'Follower Community' (for want of a better name. I've been using 'fan club', but that's maybe a bit naff)
3) The community is created, formatted from the profile id, so https://pixelfed.dk/users/freamon
becomes https://piefed.social/c/pixelfed_dk_users_freamon
4) A follow request is sent to the remote user (from the user doing the search, or a dedicated bot account, maybe)
5) Incoming activity will just be to activitystreams and followers, so there won't be any matches in 'to', 'cc' or 'audience'. In that case, 'attributedTo' is looked at, using the same conversion as above: so something from https://pixelfed.dk/users/freamon
will be sent to https://piefed.social/c/pixelfed_dk_users_freamon
if it already exists.
6) The posts will show in the community like any other. Other users can then subscribe to the community in the normal way, and get updates whenever the remote actor publishes something for their followers.
7) Posts from Mastodon would need another post-type to look their best (something that simulates how they look over there). Posts from Pixelfed already display well using Masonry:
On pixelfed:
On piefed:
8) Post replies and upvotes (maybe) should make their way back to remote user, the same way they do if they'd actually made a post in a local community.
Random thoughts:
There would need to be an Undo Follow sent if the community was deleted.
A local community called c/pixelfed_dk_users_freamon
looks a bit ungainly, but there's likely a way communities like this could be rendered as something like [SELF]
in the homepage feed.
I realise pixelfed are planning to implement Groups, but that hasn't really worked out for mastodon, so we'll see how it goes. I think the ability to follow individuals will still be useful.
The remote user could be made a moderator for the local community, and it set to 'mod posts only' so it would only contain stuff from them.
This approach doesn't require any database changes.
I've just bashed this together for now - looking to get your thoughts before I continue ...