-
hook
Is there any PR (or better yet, lobby work) being done on pushing XMPP forward as the standard protocol for interoperability in the EU?
-
Daniel
Yes
-
deport
I'd be interested to any links to information regarding this✎ -
deport
I'd be interested in any links to information regarding this ✏
-
Daniel
I don’t think there is a lot of public information about this
-
Daniel
the gatekeepers (primarily Meta) are pushing for "let's open up (a variant) of our c2s api" (see https://gultsch.social/@daniel/111528938093114289 or the wired interview that was posted here a couple of days ago. and while our voices wrt "open standard and s2s federation" have been heard it is my personal opinion that the EC seems to be fine with the Meta approach (for now)
-
Daniel
The EC interviewed me as a stakeholder. I didn't get to ask them questions. So my interpretation of their position is an extrapolation of how they phrased certain questions
-
hook
Daniel, cool, thanks for the link.
-
hook
But given that other providers are more centralised (and actively pushy), I wonder how the decentralised XMPP should approach this.
-
GregorTacTac
Is there a way to make calls via xmpp?
-
grin
Yes, you need to either set up a STUN/TURN server which is embedded in your xmpp server or point your xmpp server at something like coturn
-
Guus
GregorTacTac: certainly. Various clients support audio and video calling
-
Guus
I was quite amazed by Goffi's implementation of a video call in a terminal, that he showed last week. :D
-
grin
I should really just drop our entire infra in some public git and redact it so I can just point people to a single file to set up xmpp with all this stuff
-
GregorTacTac
Are calls implemented in Conversations?
-
grin
I dont have android but I think so, it’s one of the most feature rich clients afaik
-
MSavoritias fae.ve
yeah they are
-
Menel
It was (one of the) (the) first? With the modern approach, utilizing encryption with webrtc.
-
Zash
Do you remember video calls in Gajim? Pepperidge Zash remembers.
-
Menel
That's why I wrote about the "modern" approach 😛.
-
singpolyma
I mean, the modern approach is the same as the old approach, except that dtls-srtp is mandatory now
-
GregorTacTac
I can't find the button to call someone on Conversations.
-
MSavoritias fae.ve
its shown only if the person has a call capable device and they are online. not sure if you have to be subscribed to their presence too
-
jonas’
(otherwise you can't see that they're online, so if online-ness is a criterium, then yes, you have to.)
-
moparisthebest
Why would online-ness be a criterium here?
-
jonas’
moparisthebest, disco#info in order to obtain "can the contact even do this" information.
-
jonas’
and XEP-0115 / 0390 to obtain that information efficiently
-
moparisthebest
jonas’: ugh that's terrible
-
jonas’
(disco#info needs a full JID, you only get those when you're presence-subscribed)
-
jonas’
also I think there used to be an IQ-based call flow which obviously also required a full JID, but I think these days we have JMI (jingle message initiation) which also works with bare JIDs.
-
moparisthebest
Why shouldn't we be able to call anyone just like we can message anyone? If they don't answer or aren't online they'll see the missed call later
-
jonas’
moparisthebest, if their client doesn't support calls, they'll not even see the missed call.✎ -
jonas’
moparisthebest, if their clients don't support calls, they'll not even see the missed call. ✏
-
moparisthebest
If the client can't see that they have a JMI supporting client, then send a message that someone tried to call?
-
moparisthebest
This detecting that a call can be answered seems like a huge misfeature
-
MSavoritias fae.ve
https://gist.github.com/iNPUTmice/a28c438d9bbf3f4a3d4c663ffaa224d9#where-is-the-call-button > The contact needs to be online. This is indicated by a colorized (not gray) send button. Depending on the recipients setup you might be able to send a regular message first to wake up the recipient’s device. (In the future Conversations might gain the ability to do this automatically. There is experimental support to remember and display the A/V compatibility of the last seen device when the contact is currently offline.)
-
moparisthebest
I understand all the legacy reasons but those aren't applicable today
-
MSavoritias fae.ve
and no tor. and needs presence
-
moparisthebest
For example say you want to call someone using an iPhone, you have to: 1. Have them on your roster 2. Know they are using an iPhone 3. Send them a message to wake it up 4. Press call very quickly
-
moparisthebest
This is somehow acceptable?
-
moparisthebest
vs a phone number where I can just... Call it?
-
jonas’
moparisthebest, yeah, pretty much. Unless you use Snikket.
-
jonas’
(where the assumption is that you only use snikket clients -> call button is always there)
-
Zash
moparisthebest, flip it and think about sms or other phone features other than calling
-
Zash
like you can't just fax anyone, or sms landlines etc
-
jonas’
you *can* sms landlines.
-
Zash
no, becasue nobody has landlines anymore
-
jonas’
here you get a robovoice reading you the text message
-
jonas’
it is very confusing.
-
Daniel
Tbf until very recently there was a high chance that your iOS contact didn't have calling support
-
jonas’
s/landline/voip/
-
Daniel
So displaying a call button would have been misleading
-
jonas’
Zash, I'm about 80% sure that the robovoice thing even happened at a time where we still had ISDN
-
jonas’
which is "close enough" to landline.
-
Zash
anyway, point is that messaging is the original core feature of xmpp, so it's unsurprising that it always works, while calling doesn't
-
mdosch
> Zash, I'm about 80% sure that the robovoice thing even happened at a time where we still had ISDN Can confirm.
-
Zash
JMI with a fallback <body>I'm trying to call you</body> would make some sense tho.
-
moparisthebest
Zash: you can absolutely text or fax any phone number
-
jonas’
can you
-
moparisthebest
Why shouldn't I be able to call any JID
-
jonas’
but is it sensible to do so?
-
jonas’
I do recall talking to fax devices, it wasn't fun.
-
Zash
sure, but like a JMI to someone who doesn't have a call-capable cilent, it goes into the void
-
jonas’
but I knew a guy who could at least get past the first pilot tone stage once.
-
moparisthebest
Ok, so if they don't get an answer or response they'll text? What's the problem
-
jonas’
by whistling
-
moparisthebest
> If the client can't see that they have a JMI supporting client, then send a message that someone tried to call? Clients could do this ↺
-
jonas’
moparisthebest, maybe they will, maybe they won't think of it but try again and try again and then heartache and hurt results.
-
moparisthebest
Or display a message saying "hey they might not see you called, send a message?"
-
jonas’
that would be a good idea actually
-
jonas’
I like that.
-
Zash
Isn't that already there?
-
Zash
(in Conversations)
-
Daniel
Zash: when busy yes
-
Daniel
But yes this could potentially be expanded to 'we never got a 'ringing' response to our jmi'
-
Zash
It'd be interesting to know how things react to a JMI with fallback body
-
jonas’
inb4 robo voice reading the fallback body out loud
-
Daniel
I don't disagree with moparisthebest it's just that we had a/v calling in Monal for literally a week or so
-
Zash
I also remember some bit of UI guidelines that oppose conditional widgets, saying it should always be enabled.
-
Zash
Hard to understand when or why it does or doesn't show up otherwise.
-
Daniel
Task for council: Deprecate Disco
-
Zash
oh no
- jonas’ walks backwards slowly
- Zash rolls onto floor and proceeds to cry under bed
-
singpolyma
> It'd be interesting to know how things react to a JMI with fallback body fallbacks everywhere!
-
Zash
Wasn't the unwritten plan to use the bind2 device tracking to somehow persist disco#info ?
-
Daniel
> Wasn't the unwritten plan to use the bind2 device tracking to somehow persist disco#info ? Yes
-
grin
+1 on being able to just call with a "seems like this failed, send a text message?" kind of prompt. i've noticed that only monal allows me to do something like that, and found it pretty handy
-
MattJ
https://github.com/snikket-im/snikket-server/issues/86 is relevant here... the UX of sending JMI to a user with no call-capable devices isn't ideal
-
MattJ
But I generally agree that hiding the call button is not good UX either, users get so confused when it's sometimes there and sometimes not
-
MattJ
and sometimes when it's not there it would actually work (thanks to push notifications), and sometimes when it's there it won't work (because a device recently disconnected, or whatever)
-
mdosch
Yeah, just try to call. The worst thing that can happen is the call going to the void but having no call button to at least try is annoying. I had this when my wife used Monal (with call functionality) for a short while when she couldn't open my messages on snikket iOS and switched temporarily to Monal. I knew she had a call capable device but couldn't call her and my local simcard had no credit to call her via phone.
-
mdosch
As an analogy, my phone also doesn't hide the call button when the other person is in area without connectivity. Having a failed call is IMO less confusing than a disappearing call button.
-
grin
> As an analogy, my phone also doesn't hide the call button when the other person is in area without connectivity. Having a failed call is IMO less confusing than a disappearing call button. 100% agreed. the call button disappearing makes me worry that my STUN/TURN setup broke.
-
grin
i know it essentially boils down to the same thing if the callee truly is not available, but just the general experience of there not being a call button is very off
-
mdosch
> 100% agreed. the call button disappearing makes me worry that my STUN/TURN setup broke. STUN/TURN is not involved before you start calling.
-
Zash
Tho it can be smart to start with that before the call gets to the point where you might need it, for SPEEEEEEED
-
mdosch
But how do you predict that the user is going to call contact XYZ soon?
-
Zash
I mean start the STUN/TURN stuff at the same time as the JMI goes out, but nothing stops you from doing it before that.
-
mdosch
OK, makes sense.
-
moparisthebest
> Task for council: Deprecate Disco Roughly agreed, it's almost always the wrong thing to use nowadays, at least with clients ↺
-
Daniel
This was (apparently not 'clearly') a joke
-
MattJ
I hope "deprecate disco" is intentionally exaggerated. It's clearly between useful and essential for many things, but it is (currently) not ideal for client-to-client feature discovery, indeed.
-
MattJ
:)
-
Zash
Without disco, XMPP is just faster email with angle brackets! :(
-
MattJ
I assumed it was at first, but moparisthebest's response had me worried about Council :P
-
Wirlaburla
Task for council: Improve Disco with Disco ball.
-
Wirlaburla
Then we can boogie like no other.
-
MattJ
I don't think new protocols have been utilizing client-to-client disco for many, many years. Calls has been an exception, and given that Conversations was somewhat alone when it first implemented the "new calls" I don't think that was wrong
-
Zash
Jingle is pretty old by now tho
-
MattJ
But now we're just past the tipping point, e.g. with Monal's latest releases
-
Daniel
disco is clearly needed. a recent example would be figuring out what transport to use for p2p file transfer (with Conversations, but nobody else, supporting webrtc datachannels)
-
Zash
Jingle being '166 is quite a bit before Carbons '280 and MAM '313
-
Daniel
how you use that information in the UI is a different question
-
MattJ
So I think it's safer now than ever to just assume the other side supports calls. Sensible error handling, smart servers, and a potential future persistent disco mechanism will all improve the UX further.
-
moparisthebest
> I assumed it was at first, but moparisthebest's response had me worried about Council :P Hehe no that's why I said "roughly", I think we are all on the same page here ↺
-
moparisthebest
yes disco where it makes sense, but it no longer makes sense for client features (ever?)
-
moparisthebest
(or at least whenever you aren't talking directly to a full JID that is online, which is surely most of the time)
-
Wirlaburla
Disco is useful though.
-
topgun
Disco disco disco. I'm getting curious about what this means
-
topgun
Disco again!
-
Wirlaburla
Just get down and boogie with it.
-
topgun
I beg you to tell me what this means :D
-
moparisthebest
topgun: tl;dr you ask a remote JID the features it supports
-
Wirlaburla
Perhaps not directly within XMPP does its use shine, but with the extendable portion of the protocol, it's much appreciated.
-
topgun
> topgun: tl;dr you ask a remote JID the features it supports Nice ↺
-
mdosch
Alex: Memberbot told me voting has begun, but doesn't talk to me anymore after I sent a "yes".
-
Wirlaburla
Ghosting
-
mdosch
;-(
-
mdosch
Ok, it came back to me. :)
-
Wirlaburla
If you love them, let it go... and if they love you too, they'll come back.
-
Alex
Memberbot is online for our current XSF application period Q1-2024: https://wiki.xmpp.org/web/Membership_Applications_Q1_2024
-
Alex
> Alex: Memberbot told me voting has begun, but doesn't talk to me anymore after I sent a "yes". I have your votes. When memberbot starts up the first time for voting it takes a long time until it gets responsive. Too many stuff to process on startup ;-)✎ -
Alex
> Alex: Memberbot told me voting has begun, but doesn't talk to me anymore after I sent a "yes". I have your votes. When memberbot starts up the first time for voting it takes a long time until it gets responsive. Too much stuff to process on startup ;-) ✏
-
mdosch
What does it have to do on startup?
-
Alex
lots of pep updates, Disco etc...
-
Alex
and I run it on tiny hardware
- mdosch finished voting before Alex announced the voting period → two in a row. :)
-
Alex
🤣️
-
Alex
And offline messages like yours
-
mdosch
^^
-
mdosch
I like the "feature" that it proactively tells you about voting when you messaged it when it was offline. :)