Re: Making a phone call with GNOME
On Thu, 15 Mar 2018 at 10:39:39 +, Bob Ham wrote: > My colleague François Téchené recently wrote a blog post³ proposing a > unified UX using a "feature"-based approach rather than an > application-based approach. This proposal comes from the ideas of > Ethical Design⁴. The technological underpinnings of this UX are already > largely extant in Telepathy. Unfortunately, the technological underpinnings of that UX are also a large part of why Telepathy is no longer actively developed. Designing an abstraction across protocols that are not "the same shape" is really hard. Maintaining that abstraction in Telepathy soaked up a lot of developer time, and the need to keep that abstraction API-stable made it disproportionately hard to add new features (which is why, as previously noted, Telepathy had trouble keeping up with "modern XMPP": adding a new feature required touching at least three projects, and making it API-stable often required investigating multiple protocols to make sure the API would fit them all). (For instance, the call-centric design of telephony and the non-patent-encumbered subset of SIP supported by Telepathy are unlike the roster-centric design of XMPP, while the hard division between one-to-one messages and chatrooms in XMPP is unlike the variable-number-of-users "switchboards" in the now-defunct MSNP.) If the UX that your users expect is very much "the same shape" for a pair of protocols, then perhaps it makes sense to have an abstraction across those protocols; but is that really the case for all of them? smcv ___ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list
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 ___ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list
Re: Making a phone call with GNOME
Note the DTMF is really, really unreliable... not sure if that's a bug in Empathy or in Telepathy, but I'd assume the later. I reported this as https://bugzilla.gnome.org/show_bug.cgi?id=770709. ___ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list
Re: Making a phone call with GNOME
On 15/03/18 17:13, Nicolas Dufresne wrote: > Le jeudi 15 mars 2018 à 15:41 +, Bob Ham a écrit : >> is there a 3x4 button grid somewhere that I missed? > > To be clear, I mean that Empathy Call UI have a dial pad with all this > with the DTMF implemented. So the code is there. Mostly all what we did > on the Nokia phone was also implemented in Empathy for SIP. What's > likely missing, is to enable that UI to initiate a call. Ah I see! I was expecting there to be Empathy code there we could use in the call handler. I didn't realise there was a dial pad in there. > What I don't > mean to, is that this is not ready for a Phone UI, it needs a design > and a better workflow. Right, yes. In my original email, I avoided pre-empting the question "why aren't you just using Empathy?" You've provided the answer here. I'm glad we're on the same page :-) > Also, from random Google Image search: > http://fortintam.com/blog/wp-content/uploads/empathy-3.6-and-pulseaudio-2.0.jpg Cool, thanks. Bob signature.asc Description: OpenPGP digital signature ___ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list
Re: Making a phone call with GNOME
Le jeudi 15 mars 2018 à 15:41 +, Bob Ham a écrit : > On 15/03/18 14:48, Nicolas Dufresne wrote: > > Le jeudi 15 mars 2018 à 10:39 +, Bob Ham a écrit : > > >> There's no existing dialer in GNOME > > > Note that this is not entirely true, there is a dialer in Empathy > > already. It's most likely a miss-fit for a Phone UI (just like most > > Gnome application if left unmodified). > > To be clear here, when I say "dialer", I mean something with a typical > phone interface; a 3x4 grid of buttons with numbers, '*' and '#'. I > know Empathy can request channels from telepathy-ring⁰, I've got it to > do that with an SMS channel but couldn't seem to poke it into requesting > a call though I expect it's possible. Is that what you mean when you > say there's a dialer in Empathy or is there a 3x4 button grid somewhere > that I missed? To be clear, I mean that Empathy Call UI have a dial pad with all this with the DTMF implemented. So the code is there. Mostly all what we did on the Nokia phone was also implemented in Empathy for SIP. What's likely missing, is to enable that UI to initiate a call. What I don't mean to, is that this is not ready for a Phone UI, it needs a design and a better workflow. Also, from random Google Image search: http://fortintam.com/blog/wp-content/uploads/empathy-3.6-and-pulseaudio-2.0.jpg Nicolas signature.asc Description: This is a digitally signed message part ___ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list
Re: Making a phone call with GNOME
On 15/03/18 14:48, Nicolas Dufresne wrote: > Le jeudi 15 mars 2018 à 10:39 +, Bob Ham a écrit : >> There's no existing dialer in GNOME > Note that this is not entirely true, there is a dialer in Empathy > already. It's most likely a miss-fit for a Phone UI (just like most > Gnome application if left unmodified). To be clear here, when I say "dialer", I mean something with a typical phone interface; a 3x4 grid of buttons with numbers, '*' and '#'. I know Empathy can request channels from telepathy-ring⁰, I've got it to do that with an SMS channel but couldn't seem to poke it into requesting a call though I expect it's possible. Is that what you mean when you say there's a dialer in Empathy or is there a 3x4 button grid somewhere that I missed? ⁰ https://blogs.gnome.org/wjjt/2010/07/15/sending-smses-with-empathy-and-telepathy-ring/ > A simpler abstractions would make everyone's life easier. No doubt. Perhaps a Telepathy-NG is needed? >> The future that I'm looking towards is one where the Librem 5 is a >> shining beacon of harmonious Telepathy-based telecommunication magic > Maybe you want to finish the Telepathy 1.0 spec then ? Maybe :-) Cheers, Bob signature.asc Description: OpenPGP digital signature ___ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list
Re: Making a phone call with GNOME
Le jeudi 15 mars 2018 à 10:39 +, Bob Ham a écrit : > Hi all, > > I'm working on the ability to make a phone call with the Librem 5 phone. > I've started working on a Telepathy-based dialer and call handler. The > goal at Purism is to work upstream and we use GNOME as the desktop > environment in our distribution, PureOS, which will be what the Librem 5 > runs. There's no existing dialer in GNOME so the assumption underlying > this work is that it will end up as "GNOME Dialer". I'm sending this > email now to check in and get feedback on my approach. Note that this is not entirely true, there is a dialer in Empathy already. It's most likely a miss-fit for a Phone UI (just like most Gnome application if left unmodified). > > There was a long discussion⁰ last year on this mailing list regarding > replacing Telepathy with Matrix and the thread also included a lot of > general discussion of Telepathy and communication. In that discussion > there were plenty of calls for Telepathy to die so I feel I should > justify my approach. > > Firstly, there are only two existing free GSM middleware frameworks: > freesmartphone.org¹ (FSO) and oFono². FSO is actually a whole > smartphone middleware, including not just telephony but contacts, > alarms, audio, battery and so on. We are explicitly targetting the > GNOME platform which already provides a lot of (all of?) what FSO does. > We cannot use FSO or else we would conflict with our goal of building on > the GNOME platform. Hence, we must use oFono. oFono is also the best choice for telephony. It has been extensively tested and used in read-world use cases. It also handles well the Bluetooth Handset and implement all the features you car integration needs. Though, it might not have a great upstream at the moment (non have) > > Both Telepathy and oFono expose APIs over D-Bus so regardless of whether > we use oFono natively or through telepathy-ring, we'll be writing a > GNOME D-Bus application. By building a dialer based on Telepathy we get > the tantalising possibility of supporting SIP cheaply as there are SIP > connection managers for Telepathy. Telepathy Ring was justified by the "single UI" requirement to aggregate GSM / SIP / XMPP (which included Google and Facebook back then) / IRC but also proprietary stuff like Skype. As of today's reality, Matrix native API is missing, and only GSM/SIP/IRC remains (well haze, for libpurple, but a bit limited), from which only GSM and SIP have strong common needs. That's why Telepathy is being criticized, as it's very complex for what it brings. A simpler abstractions would make everyone's life easier. > > By using telepathy-ring we also open the possibility of having deep > integration of SMS and IM systems. That's not the immediate focus but > it's something to bear in mind. > > When I read through the Telepathy Developer's Manual, I thought "this is > awesome!" However, having got to grips with a lot of the complexity, I > can see why there has been so little traction and why a lot of people in > the aforementioned mailing list thread wanted it to die. That said, I > still think Telepathy is awesome and it still seems like the most > sensible choice for our immediate need of building telephony programs > for the Librem 5. It was designed for a phone, and made useful to the desktop. > > My colleague François Téchené recently wrote a blog post³ proposing a > unified UX using a "feature"-based approach rather than an > application-based approach. This proposal comes from the ideas of > Ethical Design⁴. The technological underpinnings of this UX are already > largely extant in Telepathy. > > 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. Maybe you want to finish the Telepathy 1.0 spec then ? It's a major cleanup that go abandoned when Nokia Open Source went down. All the code is still available. It removes the legacy/backward compatibility, removes the duplicated interface (specially for Telephony, as there was couple of rewrites of this interface, and we ended up supported multiple versions in Empathy). > > I understand that this is no small undertaking, to say the least. We > will not achieve this state when the Librem 5 first ships. However, > over time I would like us to work towards that harmonious magic. > > Thoughts are most welcome. > > Thanks, > > Bob > > > ⁰ > https://mail.gnome.org/archives/desktop-devel-list/2017-August/thread.html#00112 > https://mail.gnome.org/archives/desktop-devel-list/2017-September/thread.html#00047 > ¹ http://www.freesmartphone.org/ > ² https://01.org/ofono > ³ https://puri.sm/posts/librem5-progress-report-8/ > ⁴ https://2017.ind.ie/ethical-design/ > > ___
Making a phone call with GNOME
Hi all, I'm working on the ability to make a phone call with the Librem 5 phone. I've started working on a Telepathy-based dialer and call handler. The goal at Purism is to work upstream and we use GNOME as the desktop environment in our distribution, PureOS, which will be what the Librem 5 runs. There's no existing dialer in GNOME so the assumption underlying this work is that it will end up as "GNOME Dialer". I'm sending this email now to check in and get feedback on my approach. There was a long discussion⁰ last year on this mailing list regarding replacing Telepathy with Matrix and the thread also included a lot of general discussion of Telepathy and communication. In that discussion there were plenty of calls for Telepathy to die so I feel I should justify my approach. Firstly, there are only two existing free GSM middleware frameworks: freesmartphone.org¹ (FSO) and oFono². FSO is actually a whole smartphone middleware, including not just telephony but contacts, alarms, audio, battery and so on. We are explicitly targetting the GNOME platform which already provides a lot of (all of?) what FSO does. We cannot use FSO or else we would conflict with our goal of building on the GNOME platform. Hence, we must use oFono. Both Telepathy and oFono expose APIs over D-Bus so regardless of whether we use oFono natively or through telepathy-ring, we'll be writing a GNOME D-Bus application. By building a dialer based on Telepathy we get the tantalising possibility of supporting SIP cheaply as there are SIP connection managers for Telepathy. By using telepathy-ring we also open the possibility of having deep integration of SMS and IM systems. That's not the immediate focus but it's something to bear in mind. When I read through the Telepathy Developer's Manual, I thought "this is awesome!" However, having got to grips with a lot of the complexity, I can see why there has been so little traction and why a lot of people in the aforementioned mailing list thread wanted it to die. That said, I still think Telepathy is awesome and it still seems like the most sensible choice for our immediate need of building telephony programs for the Librem 5. My colleague François Téchené recently wrote a blog post³ proposing a unified UX using a "feature"-based approach rather than an application-based approach. This proposal comes from the ideas of Ethical Design⁴. The technological underpinnings of this UX are already largely extant in Telepathy. 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. I understand that this is no small undertaking, to say the least. We will not achieve this state when the Librem 5 first ships. However, over time I would like us to work towards that harmonious magic. Thoughts are most welcome. Thanks, Bob ⁰ https://mail.gnome.org/archives/desktop-devel-list/2017-August/thread.html#00112 https://mail.gnome.org/archives/desktop-devel-list/2017-September/thread.html#00047 ¹ http://www.freesmartphone.org/ ² https://01.org/ofono ³ https://puri.sm/posts/librem5-progress-report-8/ ⁴ https://2017.ind.ie/ethical-design/ signature.asc Description: OpenPGP digital signature ___ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list