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

User discovery for push based protocols #647

Closed
snarfed opened this issue Sep 25, 2023 · 2 comments
Closed

User discovery for push based protocols #647

snarfed opened this issue Sep 25, 2023 · 2 comments

Comments

@snarfed
Copy link
Owner

snarfed commented Sep 25, 2023

In some protocols, user discovery is pull based: their user discovery UX flows make external requests that we can hook into.

  • web: when you browse someone's web site for the first time, you resolve their domain's DNS and make an HTTP request to their homepage.
  • fediverse: when you enter an @-@ address into a fediverse server's search, it does a WebFinger query, then loads the AP actor id that the WebFinger response points to.

However, other protocols are push based, ie their user discovery UX flows are entirely internal, so we have no way to inject new users bridged from other protocols on the fly:

  • ATProto: user search in clients is served by the AppView via XRPCs like app.bsky.actor.searchActors[Typeahead], which is limited to the AppView's own internal index of users it's already seen and stored.
  • Nostr: user search in clients is served by queries to relay(s), which similarly serve only their internal Nostr event stores.

So, how do we surface bridged users into ATProto or Nostr user search?

I see just two options so far:

  • Crawl and propagate all known users from other protocols into ATProto AppViews and Nostr relays, proactively. This is obviously unlikely. First, it's difficult at best to enumerate all known fediverse accounts or IndieWeb sites. Second, and just as importantly, it would violate existing fediverse norms and culture.
  • Add a simple Bridgy Fed UI to "trigger" bridging a specific account. This could be a text box where you enter a fediverse address or IndieWeb site. Bridgy Fed would then fetch its metadata and propagate it into ATProto and Nostr.
@snarfed
Copy link
Owner Author

snarfed commented Sep 25, 2023

ATProto discussion: bluesky-social/atproto#1650

@snarfed
Copy link
Owner Author

snarfed commented Oct 4, 2023

Added a /bridge-user UI page for this.

@snarfed snarfed closed this as completed Oct 4, 2023
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

No branches or pull requests

1 participant