GNU Jami (Signal/WhatsApp/Telegram replacement)

Hi. Finally got some time, so let’s go.

@Seven

if you ever got a devkit or Librem 5 of your own, would it be possible to run a Jami demo on it?

Sure. If I got a Librem 5, I will try the apps I use on a daily basis.

That alone may stir of up, not only interest, but bring others who are willing to contribute… maybe even crowdfund the development of Jami. Any thoughts?

Not convinced about that point. There is already a lot of platforms available, and more used than the Librem 5. Getting more contributions is due to a lot of things (accessible tools, docs, good communication/mentorship, etc)

@rinokeros

So what’s the status of offline messages?

Short answer: it’s in progress, but a really slow progress. Long answer:

I think that “Offline messages” doesn’t really mean anything, but to change the words, users wants messages as soon as possible (when they connect, even if the peer is not here). In fact, this feature means two things:

  1. The ability to sync the conversation
  2. The ability to send/get the conversation from other devices

For 1. Actually, a conversation is just text messages stored in a database, without any logic structure, so it’s just not really possible. Sending the whole database is not possible in our context, because you can’t trust others (even your peer) to not send a fake history. For example, you cannot trust any timestamp sent by your contact or even another of your device. This point will totally change with group chats. The conversation will be a structured tree that you can validate. I can’t really explain more for now, but I will update the docs when we will be sure about the design (https://git.jami.net/savoirfairelinux/ring-project/wikis/Group-chat-feature-(design-draft))

For 2. When 1. will be done, we can imagine to sync with other present devices in the conversation. So, in a group, if only one another device is present, you will be able to get the conversation from the other device. This will work if there is some devices present at anytime. The only problem is if you have a conversation with only one peer. For this. there is two approachs I know to get “”"“offline messages”"""".

  • Like Briar, having an always up device (what they call a Broker), this can be hosted by a server or just a computer.
  • Getting conversations from devices outside the conversation. A bit like ScuttleButt. But I don’t think we will ever do that.

uzanto We already replaced a lot of Ring occurences. But we can’t change all external packages. Anyway someone is currently taking care of changing our .deb and .rpm packages (From our repo, the official Ubuntu repo is not our call). (Personal opinion)Changing a name is a pain in the ass.

rekotc

is Jami going to have an official forum?

There already is a Gitlab, a Mailing list, IRC, non official chats on Matrix, even a Reddit. I don’t think a forum is missing and I don’t think we want to host something like that. I only care about the gitlab and IRC for my part.

ChriChri

I also use tox.im. And yeah, both soft are pretty similar. Actually, issues are similar sometimes. For example, offline messages, sync, etc. But indeed, Jami is also a SIP phone.

joao.azevedo I joined the room. Thanks for the link

6 Likes

Some screenshots of Jami from the Librem5 QEMU image:

For those who prefer a DEB package, there are no repos for arm64 at https://dl.jami.net/ring-nightly. But as there’s a jami package starting with Debian Buster, it shouldn’t be a real problem - it’s just a bit older (20190215.1.f152c98~ds1-1 ATM) :wink:

The Jami client is generally working on the Librem 5 (QEMU image), but will need some more love in regard to phone integration (libhandy) as you can see in the screenshots.

I think especially the SIP support included in Jami is a big plus. There are not many SIP clients for Linux around these days that are still under active development. My tests with 3 different SIP accounts were good - no problems at all with the basic functionality. The only platform I had problems registering with was a Cisco Callmanager as a third party SIP device - but well… :slight_smile:

10 Likes

That looks very encouraging :slight_smile:

1 Like

Hello, I was actually speaking in this forum (another topic) about Jami Android a few days ago :

As I said in the above quote, the main issue is the battery drain. Considering the Librem 5 overheating and power issue, this aspect must be a key point for all of us. I was really happy to get successful messages/voice IP call/ and video calls (although during video testing with both smartphones at the same home, I experienced heavy noise feedback effect, the conversation was totally just inaudible).

Anyway, to me Jami is a (huge) hope for Linux smartphone world. Thank you for your work !

1 Like

Cool to know! If you see some bugs, you can open issues on the gitlab (git.jami.net).

And indeed there is no packages for arm64, but shouldn’t be a problem as the main part (the daemon) is also compiled for android. (20190215 is just a very old version. I wouldn’t recommend this)

1 Like

@AmarOk1412 I am curious about how the UI would look on the Librem 5 since this, essentially, would be the same desktop application in flatpak. So would the UI look more like the iOS or Android mobile UIs when on the 5.7 inch display and look more like the desktop version when using convergence?? Would that even be possible?

@Seven the UI will be responsive thx to libhandy, so it will be the same for a librem 5 or a resized window on the desktop. Ideally, on a little screen, some controls (like settings access) should be at the bottom because of the fingers position on a phone.

I don’t know when I will have the time to continue the patch for now.

@AmarOk1412 I am glad libhandy makes the Jami UI responsive. But what would that look like? Would it be something close to this? Would it look something like this? Or would that require more changes to be made?

1 Like

For now it’s not here and I didn’t really work on it, so can’t know.

@AmarOk1412 I’m excited to see how this could progress. :slight_smile:

How would this compare with Matrix ?

From a technical perspective, Matrix has a notion of bridges between networks.
Of course some bridges are far more matures than others but the concept is interesting considering not everyone will join one network.

Also, does Jami offers E2E encryptions and contact discovery ?

It does not really compare with Matrix as the underlying concepts are very different.

Matrix is a federated protocol with multiple central server. Everyone can setup a server and connect it to the network of other servers. But clients still connect to servers. Jami is a decentralized (similar to p2p protocols, e.g. torrent) protocol. It does not use centralized servers (at least for the message transport). In detail, it is a bit more complex than that and I can recommend the blog posts on the jami website for a better explanation.

Due to the technical differences I believe the goals are quite different. Hence, Jami does not support the Matrix concept of bridges, its rather a closed network. But be aware that the bridge concept also has drawbacks as for example the E2E encryption between protocols is kind of impossible (at least at the moment and as far as I know).

Jami offers E2E encryption. I would also say due to the decentralized concept it is with respect to privacy and security better than other protocols. But that might be debatable.

What it does not have yet is a group chat feature but I believe the Jami team (so also @AmarOk1412) are working on it. Since it is a p2p protocol it also does not natively support offline messages. Although with the group feature there might be options for offline messages as well. I could even imagine a very basic bridging concept to other protocols using the group feature.

4 Likes

@henry-nicolas
To answer your questions on what Jami offers. Here is the link to Jami’s features, from E2E encryption to how it is decentralized, and more.
https://jami.net/discover/
This was included in the initial post. Cheers :slight_smile:

1 Like

@AmarOk1412
If you could tell members of the community what resources you may need to make this happen, to make a Librem 5 Jami application, please let us know. What is it that you would need to make this happen; fundraising, crowdfunding, more developers, volunteers?

Like all projects, help with packaging (actually, I don’t have time to finish the PR for flatpak for example https://github.com/flathub/net.jami.Jami/pull/8 even if there is some other packagers), bug report (always appreciated, even if I don’t answer), help with design (aka, I am not a designer. so for this topic, I have idea for the responsive interface and maybe it’s not perfect), help with code (actually I am the only one active on the Gnome client, and it’s just a very (very) little part of my time). Hopefully, I think the translation part is ok.

There is a lot to do for Jami and a lot of (I think) interesting points (technical stuff or not). But, you know, time is missing for everyone and there is a lot of other things that is actually very interesting to do :slight_smile:

3 Likes

Fine, but i’m talking about a place for the average user to get informations, i hardly believe IRC and non official chats on Matrix are the best solution. At least, could you link these pages to the main website? It’s the only place most users are ever going to visit…

thanks for the great work!

Cp 087716829017[quote=“Seven, post:1, topic:7466, full:true”]
GNU Jami (Signal/WhatsApp/Telegram replacement)
animation-home-android

Being a piece of GNU software Jami falls inline with the Purism philosophy of using free (freedom) software. The distributed universal and secure Free Software for multimedia communications by Savoir-faire Linux and the GNU community. The website states that Jami is…, “Designed for the general public as well as the industry, Jami aims to provide all of its users a universal communication tool, free, secure and built on a distributed architecture requiring no authority nor central server to operate.” And since this is already cross-platform, having Jami on all devices and form factors is already possible. And finally another thing that maybe important to users is that Jami does not require a phone number or email address to create an account. Just create a user name, using your name is optional. This would seem to fit right in with Purism & the Librem 5. Your thoughts anyone?

Jami on Mastadon (Librem Social accessible)

Discover
https://jami.net/discover/
Features
https://jami.net/features/
Video calls
video-call

Creating a Jami Account

[/quote]

strong text

1 Like

https://snapcraft.io/telegram-desktop
I believe that telegram is used by many people and it is easier to convince people to use it. Snapcraft has made it available and open source. Why not install it in Librem5?

1 Like

Telegram is okay but within Signal every new feature is implemented while keeping privacy in mind. E.g. the profile pictures are not stored server-side, instead they get sent like a normal message (end-to-end encrypted). Signal server software is open source while Telegram’s is not. Telegram does not encrypt message by default (wtf?).

7 Likes

@antpanlinux
All new applications start off with no one using them. Just because many people use Telegram is not a good enough reason why the rest of us should. Now Telegram is an option but Telegram has issues that are addressed in Jami.

  • Jami is fully GNU certified. It meets the rigorous standards of Free and Privacy minded software. Telegram has not met such standards. Telegram would still be an option but it should be understood that Telegram starts from a different position.

  • Jami does not require your telephone number. Just a Jami account. Telegram requires phone numbers. If you google it you will find that phone numbers of Telegram users were harvested and sold to other parties. That is a security issue. Telegram has said they fixed that but that’s not all.

  • Jami communication is decentralized; no servers. Thus greater security. The information is spread out among multiple servers. It would be highly difficult to gain access. The network is all open source. Telegram servers are closed source. And information was accessed in the past. Again Telegram has said they have addressed this.

  • Jami mobile apps and desktop clients all have end-to-end encryption by default. There is no way to turn it off. This ensures consistent and constant security. Telegram apps encryption is off by default. Not all desktop clients even have the ability to use encryption. In fact only the macOS client has the option of secret chats. The others do not. Look at the chart below.

  • Jami has already the very things that it needs to be a part of the Librem 5. If you look at earlier responses in this thread you will see that the developer of Jami is all about making it happen.

  • Jami can also use SIP as many others are not able too.

  • Jami is all about user’s freedom. Top to bottom. Worth consideration. :sunglasses:

11 Likes