Native Client for Linux based mobile OS

Hi there,

my proposal is about a native client on SailfishOS and or Ubuntu Touch (Ubports). Also with the growing numbers of PinePhone there are Manjaro and other Linux distributions jumping in.

All of them can need a security focused messanger like DC.

What did you think about it?

4 Likes

I totally agree,
I plan working on it, when I get my gnu+linux phone.
Currently I’m thinking about using GDK(gnome) and libhandy.

4 Likes

Hi Simon,

sounds pretty good. It would be not an easy decision which mobile Linux should be supported. I think UBPorts and PostmarketOS seems to be the right choice. SailfishOS is the most advanced one but not OpenSource.

What did you think about?

I would go for the opensource distros first.
I would say we should begin with the bigger upcoming Distros (https://pureos.net/ (gnome), UBPorts (still unity, right?) and PostmarketOS (kde plasma mobile?)).

PureOS is not a good idea because is bound to the own device. Purism sell it only with the LibremPhone.

UBPorts is still Unity bases on an Ubuntu 16. Good idea to support these first because the community is currently very strong and making good progress.

Postmarket has two different desktops. A Gnome based (Phosh) and an KDE Plasma based. You can choose this during the installation.

Here is a good movie who explain these different OS on a PinePhone: https://www.youtube.com/watch?v=c32-QOrI4cw

There is an alternative FOSS UI for SailfishOS: https://nemomobile.net/pages/Nemo_For_pinephone/

But its development does not seem very active.

This is something I’ve had an eye on for a while - for mobile and non-electron desktop usage ;). I have two main efforts on the go:

First is a libpurple plugin. In principle, this can be used with pidgin, or with chatty, for desktop or librem 5 phones. However, deltachat links against openssl, which is a no-no with libpurple, so you can’t distribute the binaries. OpenSSL v3.0.0 will solve this - I’m unlikely to do anything more with it until then, or later, but the status of this last time I touched it was that you could send and receive messages.

Second, is a telepathy connection manager - this is a new project and isn’t functional yet. No licensing issues, however :sweat_smile: . Telepathy means it can work with Empathy, KDE Telepathy, maemo leste (probably?), plasma mobile… I’m not sure what proportion of linux phones use telepathy, but I think it’s at least a few.

Completing it means I can turn my pinephone into my daily driver, so I’m a bit motivated, but battling my own ignorance in a number of areas simultaneously with this one, since it’s written in rust and is pretty close to the (dbus) wire.

2 Likes

What I know is, that SailfishOS applications sometimes using the telepathy-morse plugin for Telegram chat.

I’m not sure if using of plugins is a good way. The best is still a native app. Everything else is nothing more than a patchwork carpet.

Yup, so it’d work in Sailfish too.

I was a bit concerned to discover empathy is close-to-unmaintained these days, but telepathy remains a healthy project, as far as I can see. Looking forward to see what other attempts emerge, though.

Minor status update on padfoot - if there are no objections I’ll post them here as major milestones are reached.

Today, the milestone is that we now appear online in Empathy:

Behind the scenes, deltachat-core-rust is actually connected to empathy, and information can flow between them. En realidad, the only information being passed right now is basic contact information.

Next things to work on:

  • Getting disconnection to work
  • Add a contact from Empathy
  • A text message received from Delta should display in Empathy
  • Send a text message from Empathy to Delta

At that point it’ll be of roughly equal functionality to the pidgin plugin, and I can start to push on. For instance, Telepathy has an interface for geolocating contacts which would integrate very nicely with Delta’s location tracking feature.

Contributions welcome, of course, just point me at a branch if you put something together.

4 Likes

OK, disconnection (and by extension reconnection), as well as sending and receiving text messages all works now. Contacts are the next thing - once that’s done, it’ll be actually useful. Right now, you can only talk to someone in Empathy if they initiate the conversation!

Couple of happy screenshots. From Empathy…

And from FP2:

I should probably try to get it onto the pinephone soon, make sure there aren’t any nasty surprises.

4 Likes

nice! so one more client of the delta-core rust-lib :slight_smile: great!

maybe we should add https://code.ur.gs/lupine/telepathy-padfoot to the rust README.md, clients section.

3 Likes

@r10s sure, i’ve no objections. It’s still very skunkworks, mind!

I still haven’t gotten around to trying it on the pinephone, but I have managed to add basic contacts handling. You can now add contacts and initiate conversations with them. Here it is in Empathy, where test@ is Empathy, and me@ is the android phone.

So much is still left to do :smiley:

2 Likes

Over the last few days I’ve been looking for configurations of linux-on-mobile that can work easily with Padfoot. Some documentation has made it to the README, but here’s the outcome:

This is Mobian running Empathy. Chatty is the usual option for mobian, but it’s pidgin-based, so not usable. Its SMS integration is available through empathy as well, though, which is kind of nice.

KDE Neon’s Plasma Mobile + Spacebar looks plausible, but doesn’t “just work”.

I was expecting pmOS to be the best best, but compiling telepathy-padfoot for that platform at-all is very difficult at the moment (musl-based). In any event, it has spacebar, but not empathy.

I haven’t tried Leste yet, but that’s probably the most “telepathy-native” of the various options.

Empathy on mobile is a bit awkward in UI terms - you have to think creatively to set up the account and initiate conversations - but it does work. Spacebar may give a better experience if I can get it working though.

1 Like

@link2xt posted two links into a developer chat, I figured I’d share them here:

That would be options if we decide to go with Qt (and C++).

Small update: looks like for their pre-installed Pine phone variant they will ship only Phosh, to reduce their polishing effort. Plasma Mobile is available for installation, of course.

Hoping to have more time to dedicate to this soon, so I can start contributing to one of the ongoing efforts

https://postmarketos.org/blog/2020/06/15/pinephone-postmarketos-community-edition/

1 Like

It is great to see this being worked on. I’ve got my pinephone and I’m just playing and testing all the different OSs out while I wait for all my necessary features and software to congeal :smiley:. Having Delta chat available would be huge.

I’m curious about how Delta chat will work receiving messages in the background when its in the crust low power standby mode.

1 Like

I’ve gone quiet for a while on the telepathy front. This is because I implemented support for images, only to discover that no extant telepathy client will accept them unless I pretend they’re attachments. Grumble grumble ^^.

With July’s Mobian, the pinephone is now very close to everyday usable, so I’m liable to revisit it with another approach sometime soon. Nothing’s ever easy is it?

3 Likes

I made a prototype of Kirigami-based client: https://git.sr.ht/~link2xt/kdeltachat

It is not ready for day-to-day use, but testing on Pinephone and patches that make it work for you are very welcome. I have not set up an issue tracker or mailing list, but you can PM me here, ping me on freenode deltachat channel or send patches directly to the email listed in commit messages.

3 Likes