Layer 04 · Clients
Clients: what to look for before you install one
Feature sets differ far more between XMPP clients than between closed messengers. What matters, and why mobile is a harder problem than desktop.
On a closed messenger the app and the service are one product. On XMPP they are not, so two people on the same server can have very different experiences depending on what they installed. The gap comes down to a short list of extensions: whether history is stored on the server, whether your other devices see what you sent, whether files go anywhere useful, and how encryption is handled. This layer is about reading that list, and about why phones make all of it harder.
In this layer
-

Your client's archive on disk, and how to open it
What a desktop client keeps on your own disk, why a plain database file survives, and how to inspect it read only with an ordinary database tool.
-

Accessibility in a chat client: what a reader is owed
What a chat client owes a reader who did not build it: keyboard use, screen reader labels, contrast, text size, captions, and a first review a volunteer team
-

What a client does with an animated avatar
The network carries the picture once; what your contacts see afterwards is decided in the client, not in the protocol.
-

Choosing where your account lives
The app is the furniture. The server is the address, and the address is harder to move.
-

What to check before you install a client
Two clients on the same account can behave like two different products. The difference is a short list of extensions.
-

Why mobile XMPP is harder than desktop
The protocol assumes a connection that stays open. A phone assumes the opposite. Everything else follows from that.
Every essay in this layer is written against the reference page on the three stanza types, and two neighbouring layers extend it: Protocol and History.