[Standards] MIX: The Nick Name Problem (TM) aka The Identity Crisis (TM)
ralphm at ik.nu
Thu Nov 29 12:36:08 UTC 2018
On 29/11/2018 13.09, Daniel Gultsch wrote:
> So let me paint you a picture of my use case. In WhatsApp the user
> creates an account; usually tied to a phone number - but that’s not
> the point; and sets a Name and an Avatar. That name isn’t unique. It
> would be pretty stupid if WhatsApp would prevent me from calling
> myself 'Daniel' and would force me to call myself 'Daniel12345'. That
> name and avatar is my identity on that chat system. When I’m in a
> group chat with someone I’m still holding on to that identity. People
> in that group chat expect to see that name and that avatar.
> So when it comes to MUC my 'Identity Name' doesn’t map to MUC nick
> names. MUC Nick names are unique. My identity name might not be. So
> usually when I create WhatsApp-like group chats I set the nick to
> something unique (most of the times the local part of my JID) and then
> simply never display it but gather the 'true identity' by other means.
> (Those other means can become pretty complicated and hacky)
> So MIX in that regard is pretty close to MUC in that nick names are
> unique for example. At least they are are somewhat optional. They are
> not as much second class citizens as I would hope they would be - but
> at least they are optional enough that I can ignore them.
> But if I ignore them I have to discover the true identity of a JID
> somehow. (That is display name (stored in a PEP node for example) and
I'm working on something similar. In our case, we:
* Have no explicit roster, but instead rely on phone address books.
* Use vCards for retrieving names.
* Have the local address book entry override vCard.
* Don't have private channels.
So, instead of relying on MIX for nicks, we use the local address book
entry (or vCard) based on the real JID of a participant.
We do the same for avatars.
> In previous talks about MIX we have discussed creating 'avatar' and
> other nodes on the mix channel. However even if we have those it would
> basically mean that if I change something on my avatar or display name
> I would then need to change them on every MIX channel I’m joined in.
Note that MIX has several ways of dealing with nicks. As mentioned in
7.1.4 Setting a Nick:
* The nick is registered with the user account in some way, for
example as part of user provisioning with nick configured as an
attribute in a directory service. For example, this could be chosen by
corporate services that wish to ensure consistent nick values for a set
of users and channels.
* The nick is registered with the MIX service, as described in
Registering a Nick .
* The user explicitly sets the nick, as described in this section.
* The MIX service generates the nick.
So instead of every room, you could potentially register the nick with
the service, not every channel. Also, I don't think there's a
requirement for them to be unique from a protocol point of view.
More information about the Standards