Contacts Sync Feature


For mobile clients, the ability to know which of my contacts are already using improves the first use experience and increases the usage and adoption of This is a standard feature in consumer-oriented chat apps like Whatsapp, Telegram, Snapchat, etc.:

In this issue, I already propose the use of the Floating Action Button to initiate new chats and @rafael.kellermann seems to agree with that approach. The FAB button appears as follows:

When the user initiates a new chat this way (as opposed to via the inbox search) the user should be able to search both the database of users with accounts on the server by username but also the database of users in his or her local Contacts database. There should be an indication (“Hey There! I’m using”) when one of those Contacts has an account on the server, which is determined by matching email address or by matching phone number. A further enhancement of this feature is if users could be notified when their Contacts have recently created server accounts so that, for instance, if I have invited someone I know when they have created an account and are ready to be chatted with.

Lastly, it would be ideal also if Contacts that are not using can be invited via a single click. For this I will create a different topic since the functionality is somewhat independent of Contacts sync.

How will this feature be implemented? I have some high level notions but would like to hear what the community thinks – no doubt you all have better approaches.

Single Click Invite from Contacts list

I think this would work well provided that servers offered some kind of federation ala email so someone on one server can communicate with a person on another, but this also adds overhead to what is likely a company’s corporate chat server, so it requires careful consideration and implementation.