[HN Gopher] Jami: Share, Message, Call freely and privately
       ___________________________________________________________________
        
       Jami: Share, Message, Call freely and privately
        
       Author : varbhat
       Score  : 79 points
       Date   : 2022-12-21 16:24 UTC (6 hours ago)
        
 (HTM) web link (jami.net)
 (TXT) w3m dump (jami.net)
        
       | skrowl wrote:
       | How does Jami work if I have multiple devices? For example, I
       | want to connect on my work PC, my home PC, and my phone, share
       | the same account, and see all the messages I sent/received on my
       | work PC when I log into my home PC.
       | 
       | This is traditionally the worst UX problem with Signal / Session
       | / Matrix etc. Manually handing keys back and forth is a disaster.
       | Compare that to something like Telegram or WhatsApp where you can
       | just log on and everything is there.
        
         | bandali wrote:
         | Jami has "Swarm" conversations, which are git-backed behind the
         | scenes, and can be synchronized across multiple devices and/or
         | participants seamlessly. Actually, thanks to the way Jami uses
         | git, a subset of participants in a group conversation could
         | enter a local network and continue chatting amongst themselves,
         | and once they connect with the rest of the participants again
         | their histories will automatically be synchronized and merged.
         | 
         | You can read more about Swarm here:
         | https://jami.net/synchronizing-conversation-history-with-swa...
         | 
         | To add a new device, from account settings select 'Link another
         | device'. This will create an encrypted archive of your account
         | details and temporarily (for 10 minutes) put it on the OpenDHT
         | network, and give you a PIN which you would use on your new
         | device to have Jami retrieve and import your account. You could
         | also do this manually and without going through OpenDHT, by
         | having Jami create a local backup of your account on your
         | current device, and then transfer the backup archive onto your
         | new device yourself, and import it into Jami. After adding the
         | new device, your Swarm conversations and their histories will
         | begin synchronizing shortly.
        
           | eternityforest wrote:
           | Wow, that's amazing progress. All that's missing is friends
           | who are interested in it!
           | 
           | They're doing cool enough stuff that it seems like they could
           | attract real attention eventually though.
        
       | vindarel wrote:
       | It worked reliably for me when other video conference software
       | didn't work properly (Jitsi, Skype, Gtalk...). Also, it was easy
       | for my dad to install and use, after I told him about the unique
       | identifier to keep around to use on another device. With a
       | previous version though, I encountered a situation when my text
       | messages wouldn't be received by my friend :/ (using the desktop
       | version) Annoying. Hope this is fixed in the latest releases.
        
         | bandali wrote:
         | Thanks for trying/using Jami! And sorry to hear about the
         | previous issues. If you do encounter them again, please do file
         | a bug report so the team could investigate and hopefully fix
         | them:
         | 
         | https://docs.jami.net/user/bug-report-guide.html
        
       | kebman wrote:
       | I wonder how a service like this would look like over IPFS. Or if
       | one could somehow merge the distributive power of IPFS with
       | sharing of end-to-end encrypted information. Or perhaps there's
       | already one? Or perhaps Jami is already superior?
        
       | [deleted]
        
       | shardfree wrote:
       | > Jami is completely peer-to-peer and doesn't require a server
       | for relaying data between users.
       | 
       | With p2p projects I'm always interested to see how they are
       | solving 'Signaling', ie. the initial peer to peer matching.
       | 
       | I was unable to find anything on the Jami page or FAQ.
       | 
       | Is the above language chosen carefully for "relaying data" while
       | likely using a central jami server for signaling?
        
         | Elv13 wrote:
         | It's using DHT like BitTorrent magnet links to find people
         | using public keys.
        
       | [deleted]
        
       | jesprenj wrote:
       | Are video calls also P2P?
       | 
       | Can video conference calls be placed?
       | 
       | If not, does there exist existing FOSS that does conference calls
       | on a P2P network?
       | 
       | Edit: It appears TURN is used.
        
         | [deleted]
        
         | bandali wrote:
         | Yes, Jami calls are p2p whenever possible, and TURN is used
         | when not (e.g. due to overly restrictive firewalls).
         | 
         | Yes, Jami supports conferencing. One can add additional
         | participants to a 1-on-1 call on the fly, effectively making it
         | a conference. Alternatively, one can enable rendezvous mode
         | from account settings, in which case incoming calls to that
         | account will be added to a conference (similar to a Jisti
         | room).
        
           | jesprenj wrote:
           | Amazing. Are there any optimizations for video conferencing
           | in case one participant doesn't have upload bandwidth to
           | stream his video to 10 different IP addresses at once?
           | 
           | I was fidgeting with the tought of something like a overlay
           | multicast network on top of unicast IP, since RFC 1770 was
           | deprecated/never implemented.
        
             | bandali wrote:
             | Right. In Jami by default only the host of a
             | conference/rendezvous-point will stream to/from all peers
             | and mix their streams, and other peers normally only stream
             | to/from the conference host. Also Jami can automatically
             | adjust the call's bitrate on the fly depending on the link
             | quality:
             | 
             | https://docs.jami.net/user/faq.html#how-much-bandwidth-
             | do-i-...
             | 
             | Hope this helps. :)
        
               | jesprenj wrote:
               | Nice! Thank you for the link!
        
       | dxd wrote:
       | What are the benefits of this over Session, Matrix, or other E2EE
       | P2P messengers?
        
         | Dnguyen wrote:
         | and Jitsi (https://jitsi.org/)
        
         | dima55 wrote:
         | I can "apt install jami" is a huge benefit
        
         | kevincox wrote:
         | Jami is more or less completely peer-to-peer. Other than
         | initial bootstrapping all conversations are synced between
         | participant devices without any central servers. I don't know
         | much about Session, but Matrix requires a homeserver that is
         | basically always running to operate which provides a single
         | point of failure for any particular user (as opposed to Jami
         | where each of a user's devices can sync independently) and is
         | easier to use (you don't need to find and pick a homeserver,
         | all you need is your device).
         | 
         | Jami has also been around a long time. It had other names in
         | the past like SFLphone and Ring.
        
           | bandali wrote:
           | This. Jami is truly distributed, and there's no need to set
           | up and manage any server(s) in the sense that one would do
           | for Jitsi, Matrix, BigBlueButton, etc.
           | 
           | Also, thanks to Jami's distributed nature, it can also
           | function in local networks without internet connectivity:
           | 
           | https://docs.jami.net/user/lan-only.html
        
           | Yoric wrote:
           | Well, there is Matrix p2p, but it's not ready for prime-time
           | yet.
        
             | Arathorn wrote:
             | arewep2pyet.com. making progress tho!
        
       | zakki wrote:
       | Here is my first experience with it. I installed the app on iOS
       | and Android. After account registration I added from Android my
       | account in iOS. iOS get the invitation immediately then it shows
       | a status that said waiting for Android to connect or something.
       | It stayed like that for 10 minutes until I tried the voice call.
       | I don't think my voice in Android heard in may iOS phone, but
       | after that we can chat each other.
        
       | filereaper wrote:
       | I just downloaded the client and created my "JamiID".
       | 
       | How does this JamiID work?
       | 
       | Is this JamiID that I created forever mine?
       | 
       | If my friends create their JamiID, will the search just list
       | them?
       | 
       | Do I need to import any JamiID's? How does discovery work for
       | these JamiID's?
       | 
       | I'm seriously looking into Jami for "conference" calls with a
       | small set of family members, it should be just point and click.
        
         | Y_Y wrote:
         | Are you looking for Jitsi? That does let you do browser-based
         | video without signup.
        
         | bandali wrote:
         | > How does this JamiID work?
         | 
         | If you register a username for your Jami account, your JamiID
         | will be that username, otherwise it will just be the account's
         | infohash (public key fingerprint). A Jami username is a mapping
         | between a unique human-friendly name and an account infohash.
         | 
         | > Is this JamiID that I created forever mine?
         | 
         | With the default Jami name server, https://ns.jami.net,
         | username registrations are permanent, and cannot be changed or
         | deleted. Also, if you delete or lose your account without
         | having backed it up earlier, you will lose that username and it
         | cannot be recovered. This is one of the reasons why it's really
         | important to back up your account.
         | 
         | > If my friends create their JamiID, will the search just list
         | them?
         | 
         | Yes, you can search others by their JamiID, whether it's their
         | username or the longer account infohash.
         | 
         | > Do I need to import any JamiID's? How does discovery work for
         | these JamiID's?
         | 
         | You would search for their JamiID and add them as contacts,
         | similarly to how you would with other messaging applications.
         | When you search a username, Jami will query the name server to
         | get the account infohash and send a contact request. For
         | example, with the default name server, to look up 'bandali'
         | Jami would make a request to https://ns.jami.net/name/bandali
         | to get the associated account infohash.
         | 
         | You can read more about this on the Jami user FAQ and the 'name
         | server protocol' section of the developer manual:
         | 
         | https://docs.jami.net/user/faq.html#how-does-the-username-re...
         | 
         | https://docs.jami.net/developer/name-server-protocol.html
         | 
         | > I'm seriously looking into Jami for "conference" calls with a
         | small set of family members, it should be just point and click.
         | 
         | Pretty much. :) Jami should be able to fit that use-case
         | nicely.
        
       | m3adow wrote:
       | If someone else thinks the logo looks familiar, it's because
       | [Jami was previously named Ring](https://jami.net/ring-becomes-
       | jami/) which I actually used years ago. Can't remember anything
       | about it though.
        
       | jtvjan wrote:
       | I've recently tried Jami to chat with a friend using the new(?)
       | Qt client, and it wasn't a very good experience. Scrolling feels
       | terrible. When I scroll up, it keeps going for a moment even
       | though I let go of the scroll wheel. When I scroll down, the view
       | jumps around as images load in.
       | 
       | After we filled up the chat a bit, opening it again takes about
       | six seconds. And sometimes, it starts using 60% CPU doing
       | apparently nothing.
       | 
       | There is a "reply to message" function, but it's useless on
       | images because it only shows the first part of the path to the
       | image (you just see "/home/me/.local/share/jami/8fd7...") and
       | clicking it doesn't bring you to the message in question.
       | 
       | I also tried the Android client, which was usable enough, but it
       | could only receive messages if I had the desktop client too. But
       | that might be because of my NAT.
        
         | bandali wrote:
         | Thanks a lot for the feedback, and sorry about the issues.
         | Would you please report them on the Jami bug trackers per
         | https://docs.jami.net/user/bug-report-guide.html if not
         | already? This would help the team keep track, look further into
         | them, and hopefully fix them.
        
       ___________________________________________________________________
       (page generated 2022-12-21 23:01 UTC)