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

Calculate "distance" of user from your network #11163

Open
trwnh opened this issue Jun 24, 2019 · 4 comments
Open

Calculate "distance" of user from your network #11163

trwnh opened this issue Jun 24, 2019 · 4 comments
Labels
suggestion Feature suggestion

Comments

@trwnh
Copy link
Member

trwnh commented Jun 24, 2019

Pitch

Recursively crawl following collection of your own following collection, if published, up to an arbitrary depth (n=3? n=6?). Construct a graph from the discovered relationships. Calculate the shortest distance to each user discovered; let d be this shortest distance (e.g. with Dijkstra's Algorithm). Display d on profiles, if available.

Motivation

It would offer users more information about how close they are to a certain person, e.g. "friend of a friend" semantics. It could also be used in the future with object capabilities to establish a proper web of trust where users within a certain distance are allowed to communicate with you, while distant users ("randos") are greylisted and must have their follows/mentions approved.

Notes

  • It should be noted that following is perhaps not 100% equivalent to trust, but it is currently the only metric available for establishing distance. It may be worth considering using a different collection for this purpose, e.g. a trusts collection containing IDs or public keys that are signed by an actor's own key.
  • It should also be noted that, since the following collection is not always available (e.g. in implementations that do not publish this collection, or for Mastodon users who have enabled "hide your network"), there will always be some users who may in actuality be within a certain distance from you, but this information cannot be derived. That is probably acceptable in the short term, but it does provide more support for having separate collection(s) in the long term with more explicit purpose, e.g. trusts, knows, or friends that are published intentionally.
@Cassolotl
Copy link

"Follow" and "trust" aren't really equivalent, since sometimes people follow people they want to keep an eye on in a "know your enemy" kind of way.

@trwnh
Copy link
Member Author

trwnh commented Jun 24, 2019

Yeah, it's important to keep that in mind (note 1). It's the main limitation of using the following collection, but it's also the only thing that exists right now, aside from followers. This is why it'd be better to have separate collections (the latter half of note 2).

@stale
Copy link

stale bot commented Oct 26, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the status/wontfix This will not be worked on label Oct 26, 2019
@trwnh
Copy link
Member Author

trwnh commented Oct 26, 2019

still worth exploring at a future point. i'd really like to know if someone is a totally random person or if we have a mutual link somewhere.

@stale stale bot removed the status/wontfix This will not be worked on label Oct 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
suggestion Feature suggestion
Projects
None yet
Development

No branches or pull requests

3 participants