element-android
element-android copied to clipboard
Option to name users based on your addressbook entries rather than their displaynames
It's an obvious thing we might have missed, but if you've given Element addressbook access, I wonder if we should show room members based on your local contact view of them rather than whatever displayname/avatar they've chosen...
I think it may be very confusing if Element Android does not use display name and avatar set up in the Matrix world. Also access to the address book can be revoked by the user at any moment (not sure lots of users revoke permission though), so in this case avatar and user name will roll back to the one set in the Matrix world, which will lead to confusion.
I agree with bmarty here. Not to mention the fact that mapping address book users onto Matrix users might be pretty difficult - not all Matrix users have a phone number or email, there may be multiple address book contacts matching one user or multiple users matching one address book contact etc.
I guess this is (at least somewhat) related to https://github.com/matrix-org/matrix-doc/issues/690.
Thanks for opening this issue, @ara4n. I was the one mentioning this on Twitter.
I don't think it will lead to too much confusion, but agree that mapping could be hard.
For users with email or cell phone number this is trivial, but otherwise hard.
Another option might be to create a custom field on existing contacts with the matrix address. Similarly to email the element client would then show the display name of that contact.
To me local names would be way better than the matrix name that contacts give themselves. Even if everyone used their full name, this is not how everyone of their contacts would call them and thus the overall context in matrix is confusing
@simontb wouldn't it be simpler to just allow setting nicknames/aliases for users? That would avoid all the difficulty of mapping users; any confusion related to names changing and; wouldn't require address book privileges for Element. It would be a lot simpler an more flexible imo. Pretty sure there's an open issue for that too.
@TR-SLimey your suggestion would definitely be simpler to implement. I'm not sure what'd be better for the average user, but for me the address book solution would be preferred. Here are my reasons:
- Single source of truth: The contact has the same name in all apps and I can rename a contact in one place
- Sharing a contact includes matrix address
- When I switch matrix client, the same address book can be used by the other client
Downside:
- Probably not available in web client
@simontb Since they're not that different, perhaps both could be added? They both will require certain fields to be added for Matrix profiles (nickname, full name etc), so the backend/server side of this only really needs to support that, and that can be standardized; meanwhile, the client could have a settings option of "Match users to address book contacts" which would do the following:
- Find contacts and Matrix users which match*
- Set the Nickname of matching users to that in the Address Book
- Possibly set the icon of the user to that in the Address Book
If the option is disabled, users should be able to set custom nicknames and avatars for contacts.
*Only profiles with all (non-name) values matching, or where some (but not all) values are null should match. So for example, the following should match:
[John, Smith, [email protected], 123456789]
&
[null, null, [email protected], null]
[Jane, Doe, null, 987654321]
&
[null, null, null, 987654321]
[Alice, Smith, [email protected], 112334556]
&
[Alice, null, [email protected], 112334556]
But the following should not:
[John, Smith, null, null]
&
[John, null, null, null]
^ Only names matching, which are too likely to be the same for multiple people
[null, null, null, null]
&
[null, null, null, null]
^ No information to match
[John, Smith, [email protected], 123456789]
&
[John, Smith, [email protected], 111222333]
^ One piece of information is different so these could be different people working at the same company, with the same name. Better safe than sorry.
Another option might be to create a custom field on existing contacts with the matrix address.
No need for a custom field. There is a standard field for "Instant Messenger" in vCard.
There are related issues in the old "riot-android" project: https://github.com/vector-im/riot-android/issues/899, https://github.com/vector-im/riot-android/issues/2951, https://github.com/vector-im/riot-android/issues/2034
Even if it may not be desired to show a name from the local address book instead of the matrix profile it would still be useful for contact discovery. We should encourage people to put their MXIDs into their digital business cards.
I'm urgently awaiting this feature, too! For example: There are 'special' changing their display name over and over. It's so hard and annoying to keep track of whom they are without giving them an own, static name.