Comment 2 for bug 467050

Revision history for this message
Toni Ruottu (toni-ruottu) wrote :

Maybe we should eventually support both local aliases as well as nickname updates. I'll try to sketch it here.

We start storing nickname into OpenLookup with key 'qfriendslol-nickname'. This makes it possible for anyone to retrieve all user nicknames from the data store. We agree that this is insecure, so don't use your social security number as a nickname unless you really want to be identifiable.

Then we start storing local alias for each friend under a path like ~/.qfriendslol/friends/1-e4e8743ffd801b2a126de53607c9ccd383fb71b8/alias or similar. We however never store an alias for ourself, as that makes no sense.

This proposal makes the user interface a bit more complex. There are three places where we currently use nicknames. Friend finder, tab bar, friend view. Let's treat each one of them separately.

Friend finder should show local alias for users who have a local alias set. This allows the users to connect the finder search results to their existing friends, but the finder should also show the finder search term whenever it is different from the local alias. As a result we get something like 'localalias (userid)' e.g. 'Toni Ruottu (cyberix)'. But plain 'cyberix' when there is not local alias defined.

The tab bar should show the local alias only, as we want to keep it short so the tab bar won't expand. Thus the tab bar should use form 'localalias' e.g. 'Toni Ruottu'.

The friend view is hardest. The user interface should be similar to the one that let's users edit their own nick name, but it should be clear to the user that this nick name is just local and cannot be used as a search term by other users (unless we want to go totally mad and implement that, but even so it would raise some additional privacy concerns). We should also probably provide some way of seeing the current nickname set by the user and reverting the local alias to that.

When a user is added we should probably set the local alias to the nickname that was used for that user at the time of addition. This ensures that users don't magically "disappear" or "appear" from local users perspective when someone changes their nickname.