


Other comments in this thread mention competitors using other server-side languages that can be served from a RaspberryPi. I may not have been clear, Java was only really relevant for hosting onsite. (This is where having the ability to fall back to PSTN to join a call comes in very handy: if I'm in a coffee shop with a crappy connection, there's a strong chance that my call will be of poor quality so I join with my cell phone instead.) Real-time media (audio/video) is very sensitive to delay, jitter, congestion and all the network stuff that normally goes un-noticed with web browsing, and there are still plenty of cases that just can't be covered by error correction. I work in the Cisco Spark team so I'm not unbiased when it comes to Skype but you might have a quality problem on your network connection (and the other participants' connections too) if you're seeing consistent audio issues. Lately I've noticed web browers being a bit on the aggressive side when setting up connections and that disturbs the flow of packets for some video/audio connections. There are many factors that affect call quality and you can optimize for resillience against some while getting bitten by others. This will be hard to do because it depends on your definition of quality. (I've not put Jitsi through its paces - would love to know how Jitsi handles the UX around dropped packets.) Or they implicitly blame outside factors ("we can't fix the network") rather than helping customers live with the realities of the internet ("we show you immediately and in real-time when the network isn't what you expect"). I don't think this is an "easy" problem to solve, but it's one that I think most video chat services seem to pretend doesn't exist. This could be as simple as "last transmission received N ms ago" indicator or something, but I'm sure there are more clever solutions. There are natural pauses in any conversation, and if you're always wondering whether the pause is natural or a result of a few dropped packets, it makes for a very un-natural conversation. I wish video-chat services/clients would be totally up-front about the real-time quality of the connection. You can't blame Zoom for every dropped packet, but what it doesn't do well is tell you when packets are dropped. But there's still moments of dropped packets and confusion. I think zoom is the best for 1:1 and group chats after trying a number of such services.
