WEBXDC Audio Conferences

There is a follow-up that uses realtime API I made a video call app (WITHOUT 15-second ping this time).

This can be achieved with the current webxdc.sendUpdate({ info: 'Started the call' }). Perhaps adding a new notification type “call” (constant ringing) would be fun for this.


Maybe at that rate, if we’re willing to do special treatment for the app, it’s much simpler to allow WebRTC access (similarly to what we do with the maps app, allowing it to connect to the map service). WebRTC is much more suitable for calls than trying to write everything manually using camera and MediaRecorder API:

But then I guess Chatmail would have to host TURN servers, as well as an Iroh relay.
Though maybe hosting Jitsi is just better as simpler. (see a little related Consider supporting webRTC?)

But yes, with the “allow WebRTC” approach if the app decides to go rogue (is it really a big threat? We are the ones shipping it), it would be able to connect to arbitrary destinations (which is not good).


But yes (yes, another “but yes”), I like the idea, at least as a fun experiment.
Besides the prototype that I made (see link above), if one wants to make a more usable app like this, I’d recommend searching for an existing video call app that utilizes PeerJS. Then you’d want to polyfill WebRTC API somewhat.
Or perhaps looking for an older app that does not depend on WebRTC would be smarter. Such an app would probably have implemented some WebRTC features, such as adaptive video quality.

1 Like