What seems like the proper way to notify friends that a new friend has joined. Pros and cons for each scenario from experience would be helpful, from a UX perspective I'm interesting and seeing which one can lead to higher user growth and connection without scaring users away.
Scenario 1:
User A signs up and allows app to view contacts for possible friends. Friend B, Friend C, and Friend D don't have an account so no friends are suggested. However, their phone numbers are uploaded to the cloud.
When Friend B signs up the following week, and also allows access to her contacts. Although she doesn't have Friend A in her contacts, she does have Friend C and Friend D. She adds Friend C, but not Friend D.
Friend A wasn't shown bc it's not in the current user's (User B's) contacts. Friend C has now been friended by the current User (User B). Friend D was ignored.
Should Friend A be notified that Friend B just signed up, since Friend B never had the option to add them? Should Friend D NOT receive a notification since Friend B actively did not add them?
Scenario 2:
User B signs up but doesn't give access to her contacts, therefore no friend suggestions are made. However, 2 months ago when User A and User C made accounts their contacts were synced to the server. In their contacts was User B's number. Should we query for all User's with User B's number (we have this bc of a verification step) and send a push notification to User A and User C that User B just joined? Or is this weird for User B, since they didn't provide access to their contacts?
Scenario 3:
Assuming that User B allowed access to contacts, don't sync any of them to the server. Instead, returns list of users whose number appears in User B's contacts, and show a add friend list. For all users who User B adds send them a friend request push notification, and for those she didn't add, send them an alert that User B (someone they might know, has just joined).