Our great sponsors
-
jam
🍓 Jam is your own open source Clubhouse for mini conferences, friends, communities (by jam-systems)
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
Wow, I just woke up to this. Glad to see Jam here on hn. We've come a long way since the initial release earlier this year (Show HN: https://news.ycombinator.com/item?id=26131123).
Most of our efforts since february went into making the rooms more reliable which sounds simple but there are actually countless of different reasons for why audio might not work or not work as well as it could (switching from wifi to mobile data, microphone permissions, bandwidth problems, OS forces app into background, …) some are solvable others at least need to be documented and tracked.
What else is new other than reliability?:
# Support for large rooms (think: thousands of people in the audience) using an SFU
Initially Jam only had support for p2p rooms which is great for small rooms (up to like ~20 people depending on upstream bandwidth of the speakers) but for online conferences, meetups and so on you often need rooms that support 100s or 1000s of participants so we added an SFU where the speakers still send audio to each other p2p to keep conversations low-latency but we use a server to stream audio to all users that are in the audience.
(That said: you can still run Jam p2p-only if you prefer that)
# Locally recorded multi-track audio (think: podcasts with multiple guests, where you get one high quality audio track per speaker)
You can try multi-track audio recordings on our public beta server (https://beta.jam.systems). Tap on our own user and then "Start Podcast Recording". When you tap on your own user again and then "Stop Podcast Recording" the browser will prompt you with downloads for all audio tracks (we will make this more smooth going forward).
# Custom UI
For everyone who wants to add audio rooms to their own app but needs full control over the look and feel we have added an API and JavaScript library (and NPM package) so you can "build your own" ui for Jam. This basically means that Jam is running "headless" as an audio room server and makes sure audio works while you can build exactly the ui that you want.
E.g. let's say you have an app like Google Docs and you want to allow people to talk about a document. In this case you might want something that doesn't look like a room on Clubhouse or Twitter Spaces but rather like a line of avatars and with the API and library you can build this yourself now:
https://www.npmjs.com/package/jam-core
https://gitlab.com/jam-systems/jam/-/tree/master/ui/examples
# Managed hosting
For everyone who wants to use Jam but doesn't want to install and maintain Jam themselves we are run and support Jam for you (think: what Wordpress.com is to Wordpress.org):
https://jamshelf.com
Wow, I just woke up to this. Glad to see Jam here on hn. We've come a long way since the initial release earlier this year (Show HN: https://news.ycombinator.com/item?id=26131123).
Most of our efforts since february went into making the rooms more reliable which sounds simple but there are actually countless of different reasons for why audio might not work or not work as well as it could (switching from wifi to mobile data, microphone permissions, bandwidth problems, OS forces app into background, …) some are solvable others at least need to be documented and tracked.
What else is new other than reliability?:
# Support for large rooms (think: thousands of people in the audience) using an SFU
Initially Jam only had support for p2p rooms which is great for small rooms (up to like ~20 people depending on upstream bandwidth of the speakers) but for online conferences, meetups and so on you often need rooms that support 100s or 1000s of participants so we added an SFU where the speakers still send audio to each other p2p to keep conversations low-latency but we use a server to stream audio to all users that are in the audience.
(That said: you can still run Jam p2p-only if you prefer that)
# Locally recorded multi-track audio (think: podcasts with multiple guests, where you get one high quality audio track per speaker)
You can try multi-track audio recordings on our public beta server (https://beta.jam.systems). Tap on our own user and then "Start Podcast Recording". When you tap on your own user again and then "Stop Podcast Recording" the browser will prompt you with downloads for all audio tracks (we will make this more smooth going forward).
# Custom UI
For everyone who wants to add audio rooms to their own app but needs full control over the look and feel we have added an API and JavaScript library (and NPM package) so you can "build your own" ui for Jam. This basically means that Jam is running "headless" as an audio room server and makes sure audio works while you can build exactly the ui that you want.
E.g. let's say you have an app like Google Docs and you want to allow people to talk about a document. In this case you might want something that doesn't look like a room on Clubhouse or Twitter Spaces but rather like a line of avatars and with the API and library you can build this yourself now:
https://www.npmjs.com/package/jam-core
https://gitlab.com/jam-systems/jam/-/tree/master/ui/examples
# Managed hosting
For everyone who wants to use Jam but doesn't want to install and maintain Jam themselves we are run and support Jam for you (think: what Wordpress.com is to Wordpress.org):
https://jamshelf.com
Mumble isn't exactly P2P. It has a server (murmurd) that handles all the streams. I think it could work as SFU. And, actually, there is a web frontend: https://github.com/Johni0702/mumble-web
Your use of Opus and the option to run a SFU makes this a suitable replacement of Mumble for meetings, like in the Pirate Parties around the world. We are heavy users of Mumble.