Re: Thoughs about communication

On Thu, 26 Jan 2017 at 15:52:46 -0600, Michael Catanzaro wrote:
It would be really awesome to have a GNOME Chat app based on Matrix.
Instead of implementing support for multiple protocols in the app, like
we did with Empathy, it would focus on doing one thing well -- Matrix,
both text and video chat (OK, two things) -- and then the quality of
the support for other protocols would depend on the quality of Matrix
bridges and would not be something the app has to worry about.

As an ex-Telepathy developer, it's interesting to see the focus swinging
back towards bridges. One of the motivations for the design of Telepathy
was that XMPP claimed to have the same multi-protocol advantages as
Matrix, via bridges; but in practice (at least at the time Telepathy
started) those bridges often didn't work very well, and they certainly
didn't have "first class citizen" support for those other protocols
and their quirks. In practice they usually ended up supporting the
intersection of XMPP and the other protocol, with a weird UX
(like talking to example%hotmail com msnbridge example com).

Telepathy never actually reached its potential for first-class-citizen
support for protocols other than XMPP either, unfortunately. The majority
of paid development time went into the commercially-relevant protocol,
which at the time was Google Talk's dialect of XMPP, and the protocols
that weren't part of anyone's product just didn't keep up.

There was also the problem of impedance mismatch between protocols,
which bridges and libpurple seem doomed to suffer too. Parts of Telepathy
are as weird as they are specifically so it could support quirks of a
particular protocol, like IRC (unique identifiers are not persistent,
presence subscription doesn't exist), XMPP (chatroom names are meaningful
to humans, except when they aren't), MSNP (a private conversation is
just a chatroom that happens to only have two participants), SIP (there
is presence but it's (claimed to be) patent-encumbered), ...

to support 20 different protocols really took its toll on the Empathy
user experience. Requires manpower.

I'm not sure that trying to support the same number of protocols via
bridges would actually make the UX any easier; but I can see that
having a small number of explicitly-supported protocols, and leaving
the rest requiring manual setup or tolerating a weird UX (or both),
would probably help.

A client with a tighter focus is probably easier to get a contributor
base for, all other things being equal (see also: the number of people
working on Polari but not Telepathy).

If Polari continues to exist, I think it should definitely ditch
Telepathy to reduce its own complexity. Last time I looked it didn't
really participate in the ability to share connections between clients,
which was pretty much the entire point of Telepathy; if that's still
the case, I don't think it's deriving any benefit from being a
Telepathy client.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]