Re: Making a phone call with GNOME

On 15/03/2018 10:39, Bob Ham wrote:

The future that I'm looking towards is one where the Librem 5 is a shining beacon of harmonious Telepathy-based telecommunication
magic, providing unified interfaces to various different messaging
and audio/video telephony systems including Matrix, GSM, SIP and
XMPP, complete with encryption.

At ths risk of repeating the mail thread from last year, telepathy (in its current incarnation) is not fit for this because protocols like Matrix or modern XMPP are way way richer than the APIs that telepathy's abstractions provides. The gaps include E2E encryption, infinite room history, server-side search, server-side notification rules, read markers, read receipts, flair, communities/groups, stickers, widgets, SFU-based video conferencing, threading, emoji reactions, "peeking" into rooms without joining, starred/favourited/pinned messages, arbitrary non-IM/VoIP data types, etc. etc. etc.

So either this is going to end up dumbing down Matrix or XMPP until they feel like the IM/VoIP technologies of 10 years ago, or you're going to end up creating a whole new API (Telepathy-NG) which attempts to be a richer superset of those features. Having just spent 4 years building a 'richer superset API' in the form of Matrix, using a relatively large team of VoIP/IM experts, I would caution that it's a massive amount of work, and Purism may be better off building on what already exists rather than inventing yet another new wheel.

My recommendation would be that rather than inventing yet another API, you'd just use the existing Matrix client-server API semantics locally (perhaps using a more efficient IPC transport than HTTP). This has the advantage that you can use existing Matrix clients with minimal changes for the decent experience. You can also use the existing server-side bridges that exist in Matrix through to Slack, IRC, Gitter, Telegram etc. And one could *also* do a client-side protocol adaptor which transform the Matrix client-server API semantics directly into GSM, SIP, etc. for telepathy-style behaviour - although such an adaptor does not yet exist. (Such an adaptor could also act as a general purpose useful local matrix daemon, handling E2E crypto, search indexing of decrypted logs, push notifications, etc).

We were hoping to build the latter as part of bringing Matrix to the Librem5, but as it seems Purism has opted to do this in house rather than utilising the Matrix team, we don't have any way of supporting the work and are having to concentrate on business-as-usual Matrix dev instead. That said, we'd obviously be happy to try to advise on anyone else who does have the bandwidth/funding to work on this.



Matthew Hodgson

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