Video chat integration

Meta: @gerryfrancis you can omit the message footer/greeting if you want in this forum.

Thanks for the link, unfortunately there demo site seems to be down for me so I can’t test it.
Maybe its architecture could give us inspiration when planning it. but generally there is not much new stuff:

  • they use a STUN server to help the peers to connect.
  • whats new to me is the decentelization project they are using: https://gun.eco/, maybe that’s worth to look into
2 Likes

Ref. [WebRTC-related] developments in NC Talk:

Hopefully this is the right place for a suggestion:

I notice in the Settings|Advanced under Experimental Features there’s a place for adding a URL for the Video Chat Instance. Manually adding in the suggested value for Jitsi, https://meet.jit.si/$ROOM, seems to work pretty well (if all participants have the Jitsi app installed). This adds what looks to me like the last thing lacking for DC to be a drop-in replacement for WhatsApp or Signal (for me at least).

But manually typing in that URL is annoying and error-prone; I doubt I could guide non-technical family members through this from afar.

I’d like to suggest adding UX to add the Jitsi URL as a one-tap process; maybe three radio-buttons:

  • Disabled
  • Jitsi
  • Other (and selecting this enables a text box for manual entry)

Even better, for me personally, would be if Jitsi were selected by default when the app is installed (that way, I can just ask my relatives and friends to install the app and put in their email details, and video calls will ‘just work’).

Thoughts?

2 Likes

hi @robertfromont,

first of all - welcome aboard!

indeed, the entering of the webrtc-server can be improved :slight_smile:

among your ideas, this is what came to some developers mind and what is discussed internally:

  • allowing to right-tap or long-tap a videochat-invitation and having an option as “Use this setting for my own videochat invitations”
  • allow to scan the setting from a qr-code
  • using a setting that comes from the autoconfig.xml or from provider-db - so providers can define their defaults.

using a working default as meet.jit.si of course has strong benefits, however, is also discussed controversy internally wrt decentrality.

Thanks! Yes I can see there might be issues picking a centralized provider by default (although things working ‘out of the box’ would make it easier to get some users on board, particularly more socially distant contacts).

Scannability from a QR code is something I wished for first but forgot to mention, and would probably work pretty well for my use-case, as a technical person can organize a video chat URL and just send the URL that way (and can then choose Jitsi, BBB, or whatever else).

I’m not sure how autoconfig.xml and provider-db would work in this context, but they sound like they might suit a well-defined group of users, and not so much a my own use case: trying to get my broader social network off FB/WhatsApp in particular and centralized messengers in general; not just for the sake of chatting with me, but so they can communicate with each other.

DC otherwise looks like a perfect fit, thanks for the great work!

1 Like

Even better, for me personally, would be if Jitsi were selected by default when the app is installed (that way, I can just ask my relatives and friends to install the app and put in their email details, and video calls will ‘just work’).

I came to this forum today to make the same suggestion. Being able to configure your own WebRTC server is excellent, but a default working implementation would be very useful for normal people who don’t know what that means. The current “Invite to a video chat” Ok/Cancel dialog that appears could use some better language with a “Learn more” link that explains to the user that this feature uses an Jitsi Meet server along with documentation/links about other supported WebRTC server types and maybe links about making your own. Maybe on first press, the video chat dialogue could even ask the user if they want to use Jitsi Meet as their default free Video Chat server. Currently the “This requires a compatible app or compatible browser on both ends” text is very vague. What apps are compatible? What browsers are compatible? A normal user would have no idea.

1 Like

Predetermining a server is very good, on the other hand avoiding centralization is also important.

So maybe a solution is that in the first installation, delta can randomly choose a server of at least 10 of the best known currently.

maybe using the list of http://jitsi.random-redirect.de/ random-redirect.de/

2 Likes

in fact, this is already possible, at least on android - i also forgot it a bit :wink:

eg. you can scan the following qr-code to use meet.jit.si for videocalls:

88949466-8f095380-d293-11ea-82b2-1f6f937536a0

the format of such qr-codes is simple, just generate a qr-code with a text as

DCWEBRTC:https://meet.jit.si

if you are using the command line, you can do that with:

qrencode -o test.png "DCWEBRTC:https://meet.jit.si"

however, there are several other tools for that purpose.

i think, we should add an explicit post for that to the HOWTO section in this forum, at least when the video-support stops being experimental.

I don’t think it should be randomly chosen. You have to be honest with the users. The first press of the “Video Chat” command should show a message saying: “Which video chat server would you like to use?” Then it could have a drop-down menu of open free server options including meet.jit.si along with an “Enter your own” option. Then a small “Learn more” link that goes to a page on the delta.chat website that has all sorts of documentation about which video chat servers work, how they work, how to make your own, how private/secure they are, etc.
This way, a person concerned about decentralization and privacy will have appropriate choices & information, while a person who just wants to start a video chat can select a default option that works right away. Best of both worlds, right?

I just tried:

  1. tapping the QR icon in the app,
  2. tapping SCAN QR CODE, and
  3. scanning your QR code.

It set the Video chat instance in my Advanced Setting to Jitsi.

Neat!

1 Like

My method of choice is going on duckduckgo (duck.com) and then type !qr before the stuff you want encoded in your qr code. Needs no installed program and has no annoying ads.
Maybe we could add a share button that shows the own webrtc config as qr code from the app.

what about Jami?

Honestly I like the current integration with jitsi but perhaps it could be improved by providing a dropdown list of different servers to choose from while maintaining the ability to insert a custom one and in the case where it is not chosen in the settings a default server give the possibility to choose from the list or insert a custom one every time you start an A/V call in this way if one wanted to use always the same server could insert it as default server in the options (the list would facilitate the choice of servers other than the official one) and eventually you would have the ability to change server every time in a simple and fast way to avoid an excess of centralization.

last time I tried Jami it didn’t convince me. and that was the best case scenario (both devices in the same LAN). maybe it gotten better in the last 2 years?

now it’s great I use it for video chat and file sharing with my friends

Gmail integrate the Google meet as calling in google chat very good way. Like a native call. Real time ringing.

Mattix element integrat jitsi without needing any input just tap the call icon and opening the call inside app. no need to put any input as like name or jitsi name etc.

And element is open source. can not that jitsi api posible to integrat in delta chat?

matrix has servers, delta chat does not. I assume matrix includes a jitsi instance on each matrix server.

I personally really like the current implementation of a/v calls with jitsi (on android), but I think it can be improved:

  1. often when I receive a notification in DC I don’t check it right away, and this in the case of a/v calls could be a problem so it could be useful to add the possibility to set a different notification sound in the case of an invitation to a/v call
  2. in the browser I normally use I have disabled webrtc so jitsi from the browser doesn’t work for me but using the app there is no problem, unfortunately the jitsi app doesn’t seem to support all jitsi instance links (for example using calls.disroot. org doesn’t open the app directly but the browser and then from the browser I have to open the app and everything becomes rather cumbersome) so it might be useful to use a webview page that directly loads the selected jitsi instance without necessarily using an external app (maybe adding an option to choose whether or not to use an external app). This way also for new users or less experienced users who may not be familiar with jitsi the experience would probably be more “natural” and simple without the need to install external apps.
2 Likes