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.
thanks,

Matthew

--
Matthew Hodgson
Matrix.org


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