Hacker News new | past | comments | ask | show | jobs | submit login
Together: New version of Jami (alternative to Zoom and Jitsi) (jami.net)
139 points by asicsp 2 days ago | hide | past | favorite | 45 comments

This seems like a nice project. I was wondering about the backstory of the name Jami, which I associate with a great fifteenth-century Persian poet (جامی)—really one of the towering figures in the millennium-long tradition of classical Persian poetry.[0] But according to the project website,[1] they took the name from a Swahili word for "community,"[2] which is in turn derived from Arabic (جميع or perhaps جامع). Sorry to go off on a tangent!

[0]: https://en.wikipedia.org/wiki/Jami [1]: https://jami.net/help/ [2]: https://en.wiktionary.org/wiki/jamii

I looked into free, native videoconferencing solutions several months ago because I wanted to run conferences on slower hardware. Most webrtc solutions ran too slow for my requirements. Jami worked really well, I could even compile it for my Raspberry pi and it ran with solid quality there. I’m very happy that this exists as open source. Big kudos to the developers.

I've got a feeling that most videoconferencing apps push for highest video quality, when the most important thing is audio latency. I wouldn't care if I saw my coworkers in 640x480 as long as I can hear them loud and clear and they can hear me the same.

I agree with you, as did my former work colleagues...BUT, this March i started a new job, and the people at this new job were very much used to work at the office, so working from home (due to the pandemic) is still very weird/tough for them...so they all want the highest quality of video to see each other's faces...and in my opinion it helps zero for productivity...it is all because it makes them just feel better ...they even all admit as much. So, clearly there are people out in the world who want features "just because", and that includes "the highest quality of video". <sigh>

Helping people feel better can be good for productivity.

While the people at my new job are very nice, I've not yet observed this phenomenon that you speak of. :-)

I would think "decent quality" video would be preferable anyway. I don't need perfect detail of everyone's wrinkles and blemishes and they don't need mine, either.

I'm amazed that Zoom has so much uptake.

Even disregarding the malware-like behavior of its installer and the ongoing security issues, I've never had a satisfactory experience with Zoom. It's particularly bad for conferences with lots of people - the audio quality is choppy and often unintelligible, and often the audio will just cut out entirely after a couple of minutes. Moreover, the video and screen sharing features don't seem to work reliably either.

I've had drastically better experiences with basically any other system: Google, Microsoft, Cisco/Webex, Gotomeeting.... all seem to actually work. I haven't tried Apple's group facetime but they'd have to work pretty hard to make it worse than Zoom.

You are absolutely in the minority with your experiences then. Zooms success is unarguably due to its comparably smooth operation. Granted, some other services offer better video and audio quality, but it's often dependent on location, and zoom is more graceful at lower bandwidth than most other systems anyway.

Most important, it's ease of use (precisely due to their malware like installer behaviour among other things) and thoughtfulness (as creepy as it might be) makes it the most "reliable" service for most and hence you see it's success. You are not left fiddling with installers and multistep protocols just to get into a video call.

Have you tried their web client, for those of us who aren't comfortable putting up with Zoom's shenanigans? Pretty much unusable.

Anyone who knows tech reasonably knows Zoom does some "unscrupulous" things to provide a seamless VC experience. To me, it's a bit clear that unless you also control the underlying OS (even when you do apparently), they are doing whatever they need to get what can be considered basic UX needs of a VC app. Contrary to popular belief in places like HN, the average Joe isn't a dipshit, they really don't care about these lapses from Zoom and will very happily make these concessions evenn if they're fully educated on everything to know about security. I'm not a technotard and mostly know everything and I make the concession.

It's not even clear to me they're being genuinely unscrupulous anyway. This is like not trusting the government when they do mass surveillance but more benign. The majority of the population has decided they are not worried about it, right or wrong, they just want to get on with their life.

Keep complaining for sure, we need dissent, but don't argue that Zoom isn't good at what it does, the only argument might be that it's practices aren't ethical. You choose to use the web application it's your choice not theirs.

And to that person's point, by using your web client, you are significantly in the minority. Most people are comfortable putting up with Zoom's shenanigans. Whether or not they should be is a completely separate question.

I loathe Zoom, but its web client works as well as its desktop client.

May I guess you're not using a Mac? For me it's using 100-150% CPU (according to Chrome task manager) and sound stutters constantly. Supposedly it works fine on Windows.

I guess you all have partially answered my question: most Zoom users are not using the web client in Chrome or Firefox (it doesn't run at all in Safari) on macOS; as noted above, its poor audio quality and broken features render it essentially unusable.

Unfortunately I don't trust Zoom's native app, and I don't want to reboot into Windows, though I guess I could make a "Zoom VM" or something. ;-(

Moreover, Zoom-based conferences that I've attended have been plagued by audio issues that have rendered the remote presentations largely unintelligible, even using a Windows client.

In any case, I've usually solved the issue by using anything other than Zoom when I have the choice.

The web client has been pretty seamless, for me.

May I guess you're not using a Mac? For me it's using 100-150% CPU (according to Chrome task manager) and sound stutters constantly. Supposedly it works fine on Windows.

To add some add alternative anec-data: I've had poor experiences on Hangouts, Teams, WebEx, Hop.in, etc. Zoom and GoToMeeting are the only options that don't turn my computer into a jet engine. For our government working groups, we prefer ZoomGov because it's fairly painless and has excellent audio and video performance.

It seems that people have had a multitude of experiences, and there are no clear winners.

Very cool thinking here - especially like the thought and implementation of the “Rendezvous Points”.

I can see this being really useful for many different types of chats and groups.

I am needing to replace an old chat system soon, and may kick the tires with pushing this to some users for testing, but first:

Is the ip addy of the users sending and receiving - so it's easily discoverable or is it possible to make this use an intermediary server like a STUN/TURN kind of thing?

Sadly with some of our members, they will do anything to snatch another user's ip addy and use that for blackmail and hacking - so we need to make sure we can hide it.

Moderation - is there an admin level for users that we can give access to see other participants ip addys and option to kick / ban / block ip addy, certain usernames, ip subnets, CIDR notation, ASNs / etc. ?

Some problematice people have caused us to ban and block over a few million ip addys to slow down their returning to troll.. if we can't easily see and block ips we won't be able to use it for our public groups.

But I can see how this is really cool for small groups that know and trust each other, really like the thoughts of use going here in this post.

>Sadly with some of our members, they will do anything to snatch another user's ip addy and use that for blackmail and hacking...

This is pretty interesting all by itself. How does this work?

There are several different methods, and several different types of people I have encountered doing this kind of thing over the years.

1 type - the jealous 'friend' who wants to be more. Another is the [insert superhero term here] - that stands up to [someone mean, someone disagree, someone whatever] that has wronged someone else they like in the chats. The spurned ex-lover / friend. The firm "X is evil, and if you defend Y then you deserve blah blah' - collateral damage is just a thing that is needed to defend the world from Z..

Of course we also have some 'pro/am' oh whats the term, 'ewhoring' I think if google still shows results from the various blackhat forums - gives broke people instructions on how to befriend then blackmail in chats in general - we have traced dozens of these scammers to those types of forums.

A few other types we have encountered - but on to some of the hows we fought.

Some have used firewall software, others used flash-jacking programs to pull a list of ips that connected to our group chat rooms. We fought that in different ways.

Then we discover that our system for displaying avatars that allowed people to use an an image hosted third party - well that got abused - the tecky peeps could host their avatar on a server they could see access logs or software that showed views / access logs - so they could get ips that way.

We later discovered some hackers using a similar method by posting images in the chat room - then looking at access logs for those - they would then move to private chats or smaller chat rooms and do the same - thus limiting the ips to check.

For a while I did not believe these things were actually happening. We coded a ghost/invisible admin option - when peeking in on some private chats I saw they could tell immediately a third ip addy was in the chat at the time.. that was helpful in discovering some of the methods they were showing friends how to get info on our users though.

When I saw messages like 'screw person B - don't worry I'm going through their myphoto and docs right now.. I thought yeah right.. but then proof came that yes indeed they were doing that at that exact moment.

I believe much of this was before shodan - but not sure.

Anyhow they would do ip tracing - and use that info to scare people - sometimes they would find the person's ip leads to an exploitable router and break in and gather data. Sometimes they used that data to ruin lives - emails, CCs - all that.. that's when I discovered some lists of 'evilthings you can do when you have someone's addy or/and phone number - including the 4chnFb1PatyVan and crap.

If they couldn't break into their router (I estimated about 65% of our users had outdated routers/firmware over the years) - they would go into social hacking if the 'scare them by showing you know their city / location by ip' was not enough..

A common thing that started occurring was facebook friending - then getting / trading naughty pics - then gathering the list of all their fbook friends / associates and sharing said pics with all of them if not send X paypal for example..

Fighting all this led to even bigger battles sometimes - where we had to switch hosting a bunch of times cuz increasing DDOS is easy. Getting caught in the middle of some anony vs [group they hate] - is not a fun place to be I've found.

There's been some other things all those sorts of things had led to - but trying not to write a book here.

Anyhow, skipping several stories.. here lately my biggest pain in the butt has been this 15 year old in Canada. The worst troll in our history - he may be 17 by now.. apparently has lawyers as parents, and uses their money to have dozens of VPN services at the click of a button.

He comes in, makes several accounts.. chats for a while - gets mad - starts posting things that border CP depending on the juristiction and interpretation I guess - pisses off 100% of our users- and we ban him - then he's back - and we ban ip subnets - and he comes back with 6 logins.. we ban those..

It's led to us banning tens of thousands of ips - writings hundreds of letters to various ISPs - getting in touch with authorities and lawyers and all sorts of things.

Well he keeps coming back now and again and ruins things in the chats in many ways - harassing some people, exploiting others.

If we didn't have moderators that could view ips of our visitors we'd never know who was who and what blocks of ips to ban just to make some peace.

Wish we had access to the kind of VPN blocking lists that the big players have - that would help.

Oh there are many more things in relation to all this we've been through over the years. I love giving chat options to the world to share and connect, but it's been a struggle so many times.

Moderation tools are oftentimes overlooked for other features I've found.

Just yesterday I saw a news story something like during zoom class some school kids all watched some abuse or sex or something start - and the teacher was like 'logoff, logoff now!' - and I wondered - does zoom not have kick/ban/block/report / ip save / things like that built in? I have not used it in years, and never used it with more than 2 people at a time so never checked.

Thanks for the detailed reply.

>but trying not to write a book here.

Might be worth an article...

I tried this out today for the first time on my iPhone and Mac with a couple other people. The iOS app kept crashing, and I couldn’t figure out how to use the same account on my computer and at various times either the video or audio or both weren’t working for somebody in the call. Gave up in the end, sadly.

this is free but is it open source? I could only find an option to download via the package manager but no links to the source or how to build it myself.

Jami is a GNU project backed by the Free Software Foundation and distributed under a GPLv3 license

But yeah, it is very weird then that they don't seem to make it easy to get the source. Bad design of the website. Under "contribute" there seems to be links that will get to the source https://jami.net/contribute/

How well do these peer-to-peer videoconferencing solutions scale with the number of call participants?

How well does the quality of a videoconference scale with the number of call participants?

That's not a comparable question. Peer-to-peer bandwidth requirements for a single user increases linearly with the number of participants while a client-server model is essentially flat regardless of the number of participants.

In Jami, for video-conferences all clients are not directly connected to each others. This can't work, you can't ask everybody to stream and receives each video streams. Also, you can't ask each client to mix the streams together for the client.

You can see the video conferences in Jami more like a mesh between all participants of the call. Some nodes will mix the streams together (for now it's the device which receives the calls to merge together, they will need both good CPU & bandwith for sure) and the other nodes will only receives the mixed stream (and sends their stream)

So, for the host you can count 1Mbps/participant (to get a good h264 video stream) and the receiver the CPU & bandwith will be the same for a conference with 15 participants or 2.

We got a lot of conference with 15 people hosted by a x220 (and a lot with a P51, but it's a bit more powerful).

> Peer-to-peer bandwidth requirements for a single user increases linearly with the number of participants while a client-server model is essentially flat regardless of the number of participants.

True if the server integrates all incoming streams into one. However, in that case, CPU requirements on the server also grow on linear basis.

An interesting solution would be one where each client downscales the resolution of their stream to the actual space it would take on target computers. That way the per-user bandwidth would remain constant as smaller uploads would probably be enough to offset overhead of having multiple incoming streams (of course, each incoming stream already downscaled by sender and thus requiring only a portion bandwidth).

That can’t possibly be true. Even if the server integrates all in bound streams into one, doing so takes a non-negligible amount of additional time per user, surely.

The person you replied to was talking about bandwidth, not CPU load.

Imagine a user that only has enough bandwidth for a single stream. If there was a server integrating all other user streams into one, that user would be able to watch it without much problem.

Unless, the clients are built in such way that they down-scale the resolution to part of the screen it would occupy on target computers (based on number of participants) before sending video data. Is any software doing this currently?

> Even if the server integrates all in bound streams into one, doing so takes a non-negligible amount of additional time per user, surely.

Integration has to happen at one point. Whether a server does it or each user's computer.

> Unless, the clients are built in such way that they down-scale the resolution to part of the screen it would occupy on target computers (based on number of participants) before sending video data. Is any software doing this currently?

It's the obvious thing to do - I can't imagine why they wouldn't.

Well, both questions question the quality of videoconferences in regard to the number of participants, so I would say the questions are very comparable.

How can there be an iOS app? I read that Apple doesn’t allow GPL apps in their store.

Just because a piece of code is licensed under GPL doesn’t mean that the copyright owner(s) can’t license the code under another license, aka the license to Apple. The issue comes when an entity is using GPL-ed code that they don’t also own the copyright to.

According to the iTunes page it is licensed under GPL [1]. So in this case apple would be violating the GPL by distributing it under their terms of service (which in turn would then probably be a violation by Savoir-faire Linux for uploading it). The question then is, who except for the copyright holder could really enforce the GPL.

[1] https://apps.apple.com/ca/app/ring-a-gnu-package/id130695105...

By signing the Apple Developer agreement you grant certain rights to Apple with regard to submitted apps--this is in addition to any other licenses such as the GPL. Putting GPL in the app description does not override these rights and does not force Apple to follow the GPL to distribute your app. The issue is that if it is not your code, but someone else's GPL code, you have no right to grant Apple these rights above and beyond the GPL.

So my understanding is, if you are going to have a copyleft-licensed app, that accepts contributions from the community, you need to have a CLA that assigns all copyright to you (or specifically authorizes you to grant Apple these rights). "Vanilla" GPL code from someone else cannot be used in an iOS app.

Another possibility is you allow people to make their own derivative versions by licensing it under the GPL, but you personally do not accept any contributions from the community. In this case, you own all the copyright and can license it to Apple as needed.

Isn't it more like that their itunes terms of service violate the GPL by imposing additional restrictions through the terms of service? [1] Actually learned about it the first time. How many people buying iphones actually aware of this? Never seen much ranting in the FOSS community either. Guess the fight for free software is long lost, if app store monopolies are not torn down soon.


I make a GPL app, it's in iOS.

How does it compare to Jitsi and BigBlueButton in terms of scalability?

What a coincidence! I installed Jami today and had a video chat just hours ago. It went very smooth, but I complained about the chats not syncing.

The ring/Jami folks have really done an amazing work!

I suppose it's due to technical reasons why there's (seemingly) no web client? It's a big plus for Google Meet and Jitsi (the Zoom web client is practically unusable).

The blog post is from two days ago, is the Android version out? The version on Play store is two weeks, the one on Fdroid two months old.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact