Rationale

This page gives additional insight into why some of the recommendations in the Modern XMPP documentation are made.

Group chats

Discussion about the UI/UX issues around group chats initially happened at the first UX sprint. Some observations were made:

Types of groups

Software is about people. Good UX design is about understanding how people use the software.

Group communication is a well-studied area of human interaction in general1. It has been noted by researchers that groups can fall into four different types2.

Of the four group types, two are formed of people that share a personal or social connection (the so-called 'Primary' and 'Social' groups). Examples include families, groups of friends, colleagues or clubs.

The other two group types ('Collective' and 'Category') are formed from people who share common traits, goals or interests. Such groups tend to be larger, less sticky, lack concrete social bonds and thus be more open.

The developers of the Fractal IM client noted3 the struggle they faced trying to design an ideal UI for chats in their Matrix client. They observed the two high-level categories which they termed "Barbecue" (small, social-focused, closed, trusted) and "Banquet" (large, topic-focused, open, untrusted).

The Fractal developers went as far to consider two completely separate applications to cater for the two types of discussions.

Many other modern messaging apps contain both types of group chat, but unlike most XMPP clients, they do distinguish them visually.

From a protocol perspective this distinction is unnatural - XMPP, like similar open chat protocols such as IRC and Matrix cares little for how the group is used, and provides various fine-grained configuration options. Other than minor configuration tweaks there is little to distinguish the two use-cases at a technical level.

However dividing these up at the UI level provides a number of advantages:

Terminology

It was agreed that "room" terminology is outdated4, and not used by any modern messaging systems. This deprecates "chat room", "occupant", "entering", "leaving" and all room-related terminology.

Most applications these days use the terms "Chat" (Messenger), "Group" (WhatsApp, Signal) or "Channel" (Slack, Discord, IRC).

Primary options are:


  1. https://en.wikipedia.org/wiki/Group_dynamics 

  2. https://en.wikipedia.org/wiki/Group_dynamics#Types_of_groups 

  3. https://blogs.gnome.org/tbernard/2018/05/16/banquets-and-barbecues/ 

  4. Google Trends notes a significant decline since at least 2004