[Standards] XEP-0045: roomnick case

Chris Mullins chris.mullins at coversant.net
Thu Jul 19 20:59:58 UTC 2007


The underlying problem, I believe, is one that's come up before - resources that have semantic meaning are very limiting. 

I think the IDEAL option is MEP:

- The MUC room defines a PubSub Node of the same ID. Everyone in the room is listed as a subscriber. Everyone visible in the room is defined as a publisher. 

- You nickname is stored in the PubSub Node. When you change it, it gets pushed to everyone. 

The actual push format would probably conform to User Location (XEP-0080) or to User NickName (XEP-0172).

I wouldn't be opposed to creating a new "RoomNamePrep" profile that (on the server) checked for duplicate names. The "visible" portion of the names would be left alone for user display, but the server would be normalizing them, and checking for (and forbidding) dupes. This profile would probably do: Case Folding, KC Normalization, and RLCat checking, and very minimal prohibited character checking. I know for us, creating a new stringprep profile is trivial, so long as it uses a subset of the StringPrep tables that already exist. 

To go one step further, I would like to see room names defined this way as well. This means the actual room name (user at server) would be a GUID, and the PubsubNode name would also be that same guid. On that node is the room name - complete with spaces, and visible in many language ("New User Room", "Nouvelle Pi¨¨ce D'Utilisateur", "Ф·¤¤¥æ©`¥¶©`²¿ÎÝ", etc). 

One of the things I see that frustrates users is creating new rooms - they don't know what to name it. I would really like to default to a GUId for the room name (guaranteed unique), and a friendly name of "Chris's Room" or "Chris's Room 958", but can't due to stringprep considerations. 

I do realize these are breaking changes, and MUC has been awfully stable for a long time now. The limitations we're starting to see with MUC could be largely solved by tying a PubSub node to it, and moving forward from there. 

--
Chris Mullins

-----Original Message-----
From: standards-bounces at xmpp.org [mailto:standards-bounces at xmpp.org] On Behalf Of Peter Saint-Andre
Sent: Thursday, July 19, 2007 1:36 PM
To: standards at xmpp.org
Subject: [Standards] XEP-0045: roomnick case

Currently in XEP-0045, roomnicks are case-sensitive. To be precise
roomnicks are handled according to the Resourceprep profile of stringprep:

http://www.xmpp.org/extensions/xep-0045.html#bizrules-jids

This means that the following roomnicks are all different:

StPeter
stpeter
STPETER

Some people have pointed out that this can be confusing to end users.

We could solve it by applying the Nodeprep profile of stringprep, but
that would forbid things like whitespace and the ' and : characters.
(Naturally, those characters could be escaped using XEP-0106 if desired.)

Thoughts?

/psa




More information about the Standards mailing list