fraction / oasis

Free, open-source, peer-to-peer social application that helps you follow friends and discover new ones on Secure Scuttlebutt (SSB).
http://oasis-demo.fraction.io
GNU Affero General Public License v3.0
286 stars 42 forks source link

Show followers & followings on profile page #131

Open cinnamon-bun opened 4 years ago

cinnamon-bun commented 4 years ago

What's the problem you want solved? Show following & follower relationships.

Is there a solution you'd like to recommend? Mockup:

New profile with relationships

Experimental idea: Mutual Follows is a separate column. Notice that @ mx_giraffe is only in the middle column because it works like a Venn Diagram. Is this intuitive?

christianbundy commented 4 years ago

I've encountered the problem of not knowing who my mutual friends are with someone a handful of times and would love to see that solved. Adding all of the metadata here would be useful. It would be especially useful to see this on your own profile, I'd love an easy way to follow people who should be mutuals or mass unfollow people. Once we have private follows I think I'll only publicly follow friends I know and trust. +1 on solving this problem.

I dig the mockup and would love to see something like this. Alternatively I think it could be cool on its own page with actions as buttons or something? :man_shrugging:

Implementation thought: It seems like the avatar + name + link might be a common pattern (#117, #70) that'd be a cool thing to abstract into its own function?

cinnamon-bun commented 4 years ago

Is "friends" a more understandable word than "mutual follows"?

I wasn't even thinking about the "mutual friends" thing when looking at someone else's profile! That's... mutual mutual follows. Thruple follows. "Friends in common"

I foresee this UX getting bigger as it shows all the permutations of public and private follows and blocks in both directions plus buttons to change states... maybe it belongs on a separate page, yeah.

Re private follows - does that work very well? How would pubs know which feeds to collect on your behalf, or which to send you when you sync?

Re the avatar+name+link function - we'd use that a lot. We could also add an icon that shows the following status like Patchwork's faint circle after someone's name.

georgeowell commented 4 years ago

Problem is I have over 500 followers. That list would be incredibly long.

This is how Patchwork currently handles it using a pop up list with search. Screenshot from 2020-02-01 14-43-07

Could there possibly be some other visualisation that could handle this? It might even have to be a separate page.

georgeowell commented 4 years ago

Maybe I'm getting ahead of myself here but it would cool if there was some sort of UX showing how many hops away they are from you and then when you click them it reveals more of your social graphs including following, followers etc.

It could be inspired by this from Patchbay: Screenshot from 2020-02-01 15-54-00

Also going to provisionally reference https://github.com/fraction/oasis/issues/134#issuecomment-581038357 in terms of language and https://github.com/fraction/oasis/issues/93#issue-555719691 in terms of public "block" lists.

christianbundy commented 4 years ago

Re private follows - does that work very well? How would pubs know which feeds to collect on your behalf, or which to send you when you sync?

The conventional sync works by your computer calling createHistoryStream({ feed: '@abc', gt: lastKnownMessage }) for all of the people you care about, so that should work fine. A pub could probably figure out who you're asking about, so maybe we shouldn't emphasize the 'private' part and just call them follows. My understanding is that the EBT sync works the same way, and in my head there's no reason to do a public follow/block unless it's something that you really want to announce to the world.

Re the avatar+name+link function - we'd use that a lot. We could also add an icon that shows the following status like Patchwork's faint circle after someone's name.

+100,000, it would be cool to have metadata (hop distance?!) in this view and being consistent here would be rad.


What's the smallest chunk of functionality we could bite off to implement this? I think it would be just having a link on the profile like 'View following' where you can see who a person is following, and then we can enhance that with improvements. Or is there a better piece of work we could start with?

cinnamon-bun commented 4 years ago

Hm, I thought that

That mechanism wouldn't work if follows were private. You could still ask the pub for your private follow'd feeds, but the pub might not have them?

cinnamon-bun commented 4 years ago

What's the smallest chunk of functionality we could bite off to implement this? I think it would be just having a link on the profile like 'View following' where you can see who a person is following, and then we can enhance that with improvements. Or is there a better piece of work we could start with?

That sounds good!

cbleslie commented 3 years ago

@christianbundy, Show Stopper I think.