pixelfed / ideas

Issues board used for Pixelfed suggestions
8 stars 1 forks source link

Enhancement Request: Find friends (phone, email) #80

Open JonVojtush opened 2 years ago

JonVojtush commented 2 years ago

Would love to be able to search for my friends by accessing my devices contacts (email/phone). On the same page, it would be cool to be able to invite those friends via email or sms with a custom message.

pherwaniharsh commented 2 years ago

I would personally not like for pixelfed to have a phone number storing service or search feature (through the use of a phone number), but searching through email seems cool!

MrAn0nym commented 2 years ago

Interesting article by the signal devs: https://signal.org/blog/private-contact-discovery/

Reasons for contact discovery:

The building block of almost all social software is the social graph. For people to be able to use software like Signal, they have to know how to contact their friends and colleagues using Signal.

Very few people want to install a communication app, open the compose screen for the first time, and be met by an empty list of who they can communicate with.

Signal's solution to this is basically using the same technology as DRM, only difference being that it's done server side, to prevent the server from reading actually accessing the phone numbers.

I think it should (oc) be an option for users to choose whether they want to sync their contacts or provide their number, but apart from that it'd probably (at least at some point) allow a much faster growth of Pixelfed

MrAn0nym commented 2 years ago

Signals implementation: https://github.com/signalapp/ContactDiscoveryService

trwnh commented 2 years ago

it would probably not be too technically difficult to implement a centralized lookup service similar to matrix's 3pid system. you could query against this service with webfinger, but instead of passing in an acct:username@domain query you would instead lookup a tel: or mailto: uri

there's no reason this has to be a pixelfed thing either, it could be generalized