Difference between revisions of "Usability/Roster"
Neustradamus (talk | contribs) m |
|||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
The roster is the entry point for the user to their contacts. It is thus a key part in the user experience of any | The roster is the entry point for the user to their contacts. It is thus a key part in the user experience of any XMPP clients. | ||
= Roster groups = | = Roster groups = | ||
Line 7: | Line 7: | ||
== Hierarchical model == | == Hierarchical model == | ||
One way is to organize contacts in a tree-like (possibly nested, see [https://xmpp.org/extensions/xep-0083.html 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. This is the traditional way to do things. | One way is to organize contacts in a tree-like (possibly nested, see [https://xmpp.org/extensions/xep-0083.html 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 == | == Tag model == |
Latest revision as of 01:44, 17 December 2020
The roster is the entry point for the user to their contacts. It is thus a key part in the user experience of any XMPP clients.
Roster groups
Roster entries are organized in groups. 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.