Difference between revisions of "Roster"
AvidSeeker (talk | contribs) (Move from Usability/Roster) |
AvidSeeker (talk | contribs) (Add mailing list discussion notes: https://mail.jabber.org/hyperkitty/list/standards@xmpp.org/thread/O52EPUXS3UEBTONKEYSI4U66OR5MDDZW/) |
||
Line 1: | Line 1: | ||
The '''roster''' or '''contact list''' is the entry point for the user to their contacts. It is thus a key part in the user experience of any XMPP clients. [[ModernXMPP]] suggests using '''Contact list''' instead of "Roster". | The '''roster''' or '''contact list''' is the entry point for the user to their contacts. It is thus a key part in the user experience of any XMPP clients. [[ModernXMPP]] suggests using | ||
'''Contact list''' instead of "Roster". | |||
== Features == | |||
* Multiple JIDs may belong to the same user. [https://xmpp.org/extensions/xep-0209.html XEP-0209] makes it possible to combine these within one contact. | |||
* [https://xmpp.org/extensions/xep-0145.html XEP-0145] lets you add a personal note about a contact, similar to Discord and Slack. | |||
* vCard4 support: [https://xmpp.org/extensions/xep-0292.html XEP-0292] | |||
* Invitation system: in case a contact email or phone number is available without a JID, user might invite that contact via [https://xmpp.org/extensions/xep-0401.html XEP-0401]. | |||
== Roster groups == | == Roster groups == | ||
Roster entries are organized in groups. There are two fundamentally different ways to model roster groups in a user interface. | Roster entries are organized in groups ([https://xmpp.org/extensions/xep-0144.html XEP-0144]). There are two fundamentally different ways to model roster groups in a user interface. | ||
=== Hierarchical model === | === Hierarchical model === |
Latest revision as of 17:10, 26 June 2024
The roster or contact list is the entry point for the user to their contacts. It is thus a key part in the user experience of any XMPP clients. ModernXMPP suggests using Contact list instead of "Roster".
Features
- Multiple JIDs may belong to the same user. XEP-0209 makes it possible to combine these within one contact.
- XEP-0145 lets you add a personal note about a contact, similar to Discord and Slack.
- vCard4 support: XEP-0292
- Invitation system: in case a contact email or phone number is available without a JID, user might invite that contact via XEP-0401.
Roster groups
Roster entries are organized in groups (XEP-0144). There are two fundamentally different ways to model roster groups in a user interface.
Hierarchical model
One way is to organize contacts in a tree-like (possibly nested, see XEP-0083) structure, where contacts are nodes which are children to group nodes. If a contact is present in multiple groups, it is is also represented by multiple nodes in the tree. A contact that is not part of any groups is shown at the highest level of the hierarchy or in a "non-group" group with a generic name.
This is the traditional way to do things.
Tag model
Another way is to treat "groups" as "tags". Contacts are then shown in a flat list and the tags attached to them are shown next to the contact. The filter capabilities of a collapsible tree structure is replaced by allowing to filter for (possibly multiple) tags.