The biggest problem with XMPP is what various servers and clients implement is kind of all over the place. For instance, most clients support an older version of OMEMO, but some clients support newer versions, and the different versions are incompatible.
The other issue is some platforms (iOS in particular) have pretty shitty XMPP apps filled with bugs.
I still generally like XMPP more than Matrix since ATM Matrix clients are also filled with bugs/laggy, Synapse (the main server implementation) is very resource heavy, and message syncing is kind of shit if the client doesn’t implement sliding sync (like FluffyChat). I personally think the UI for both XMPP and Matrix clients generally kind of suck, which isn’t great for convincing non-techy people to use them.
I mean, matrix is similar. So many official features aren’t supported by various clients, and then there are non official features that the clients do support, that aren’t supported by the official clients.
But matrix or XMPP, that problem is easily enough avoided at the “government rollout” level by standardising on a particular client and server combination
Matrix is fragmented too, but it’s generally less fragmented in my experience (if you use a relatively well developed client). Part of this is because most people just use Synapse for their server. With XMPP, server implementations support random combinations of XEPs, and specific servers often are missing random XEPs because they’re not enabled by default and so on (thinking about ejabberd for instance here, the default config probably isn’t what most people want). I also routinely have random compatibility problems between clients pop up with XMPP. As a basic example, retracting messages is very haphazard.
Anyway, yeah, if they standardize on server and client setup for all govt instances, it’d be fine either way probably. The clients may be somewhat janky, but they can probably fix those issues more easily when they’re only focused on one client (although unless it’s like FluffyChat and cross-platform, they may need to standardize multiple clients) and server.
The biggest problem with XMPP is what various servers and clients implement is kind of all over the place. For instance, most clients support an older version of OMEMO, but some clients support newer versions, and the different versions are incompatible.
The other issue is some platforms (iOS in particular) have pretty shitty XMPP apps filled with bugs.
I still generally like XMPP more than Matrix since ATM Matrix clients are also filled with bugs/laggy, Synapse (the main server implementation) is very resource heavy, and message syncing is kind of shit if the client doesn’t implement sliding sync (like FluffyChat). I personally think the UI for both XMPP and Matrix clients generally kind of suck, which isn’t great for convincing non-techy people to use them.
I mean, matrix is similar. So many official features aren’t supported by various clients, and then there are non official features that the clients do support, that aren’t supported by the official clients.
But matrix or XMPP, that problem is easily enough avoided at the “government rollout” level by standardising on a particular client and server combination
Matrix is fragmented too, but it’s generally less fragmented in my experience (if you use a relatively well developed client). Part of this is because most people just use Synapse for their server. With XMPP, server implementations support random combinations of XEPs, and specific servers often are missing random XEPs because they’re not enabled by default and so on (thinking about ejabberd for instance here, the default config probably isn’t what most people want). I also routinely have random compatibility problems between clients pop up with XMPP. As a basic example, retracting messages is very haphazard.
Anyway, yeah, if they standardize on server and client setup for all govt instances, it’d be fine either way probably. The clients may be somewhat janky, but they can probably fix those issues more easily when they’re only focused on one client (although unless it’s like FluffyChat and cross-platform, they may need to standardize multiple clients) and server.
Ding ding ding. Make a Discord/Slack clone that does screensharing and drag/drop file sharing and I won’t care if it uses XMPP or Matrix
I think there have been some attempts to do so, but they’re just not good enough (and/or end up dead after a while).