Le jeudi 15 mars 2018 à 10:39 +0000, 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/ _______________________________________________ desktop-devel-list mailing list desktop-devel-list gnome org https://mail.gnome.org/mailman/listinfo/desktop-devel-list
Attachment:
signature.asc
Description: This is a digitally signed message part