XSF Discussion - 2022-10-07


  1. Trung

    Please excuse for my lack of knowledge if this topic has been discuss before. I have a couple of questions that relates to spreading the use of XMPP: 0. Does the user of XMPP has to know about XMPP in order to use it for instant messaging? 1. If Electronic Mail have a URI shorten down to `mailto:`, why does XMPP which is supposed to be the standard for Instant Messaging is shorten down to `xmpp:`? 2. Can we change it? If we can't change it since it has already been implemented in many software, can we add an alias ? 3. If it is possible to add such an alias, can we go for something with less syllables that can be easily and quickly pronouced in every human language? My suggestion is adding an alias for XMPP as `chatto:` or even just `chat:`. But I don't know enough about XMPP and standards and where else it is used so…

  2. pep.

    0. A user certainly doesn't have to know about the protocol. There's many examples of that in the wild already. Mostly closed silos. 1. I don't know. I guess because there was no other name for it at the time (or rather, they didn't want to reuse 'jabber' which had just been trademark'd?) 2. Can we change it? Maybe? We can certainly have software understand multiple schemes for the same protocol. 3. That'll depend on individual projects to implement it, but there can be a push from the community for it. https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml

  3. mjk

    Trung: ditching `xmpp:` definitely wouldn't fly, but adding things is always possible. that'd probably be IETF's business rather than XSF, though (disclaimer: I'm affiliated with neither). strictly speaking, the `mailto:` URI scheme sticks out like a sore thumb, because it describes an intent, which URI schemes, in general, arent. `chat:` is another matter tho

  4. pep.

    I personally don't think the scheme matters at all. People use https:// just fine

  5. pep.

    Or don't use it, rather

  6. MSavoritias (fae,ve)

    Yeah. I dont think many people are seeing mailto: links anyways

  7. MSavoritias (fae,ve)

    Just a button most of the time

  8. mjk

    they're just sufficiently trained :) http(s) is _everywhere_, to the point of people thinking "link == https"

  9. pep.

    Browsers are making lots of effort not to show these also

  10. pep.

    And one can type in a url without the scheme and it'll land. Worst case, google will find it for you..

  11. Zash

    meanwhile, http: and https:

  12. Trung

    Sure. http: and http: and even ws: and wss: has no problem because browsers are all following this standard. Meanwhile, mailto:user@domain.org and xmpp:user@domain.org looks very similar but use completely different software and protocol and user experience.

  13. Trung

    Crawler can't get to this link I think: https://chat.trung.fun/dang-ky?t=62MUmG9zF21_lIvSPSWr0sgH

  14. mdosch

    My wife and my parents don't know what xmpp is and are using it, so users don't need to know what protocol they are using. But I agree that a snappy name for the eco system is missing nowadays. Previously Jabber was used…

  15. Trung

    if in the invite link above, I change `xmpp:user@domain.org` to `im:user@domain.org` or someth along that line, will there be some sort of police force that comes knocking on my door?

  16. Menel

    You can do what you want there

  17. Menel

    But clients won't understand it

  18. mjk

    im: is a different uri scheme tho (the syntax is different, afaik)

  19. mjk

    and yea, most importantly, it's not associated with xmpp clients :)

  20. Trung

    yeh that's why i'm throwing the topic here Menel. 😁

  21. pep.

    If you want to do this by the rules, follow the iana link I sent above

  22. pep.

    Otherwise nothing prevents clients from experimenting

  23. Menel

    If you write a clients, or change them to react on that, then if will work for your contacts that use your specific client.

  24. Menel

    I wouldn't mind if conversations would try to react on that..

  25. mjk

    wait a minute... https://www.iana.org/assignments/uri-schemes/perm/jabber

  26. Menel

    Would be even nicer if some think like thunderbird or Firefox would react on xmpp:

  27. mjk

    Menel: as long as the scheme is registered in the system, browsers in general try to handle it (at least Firefox)

  28. mjk

    Menel: as long as the scheme is registered in the system, browsers in general try to pass it on (at least Firefox)

  29. Trung

    ok I understand. Thank you everybody. I'll leave <a href="xmpp:user@domain.org">` as it is and will change the content to `im:`.

  30. Menel

    Uh, so I've some file somewehe where I can enter that? Good to know

  31. Trung

    sorry the link is in Vietnamese, I don't know enough Lua to mess about with the module yet.

  32. jonas’

    Trung, fwiw, that may be confusing though, if people based on your (visual) example try to use im: and it doesn't work

  33. jonas’

    so rather stay with the standard I guess

  34. mjk

    Menel: on freedesktop systems, you just register and app as a handler of, say, x-scheme-handler/xmpp MIME type. on windows, you add `xmpp` somewhere into registry

  35. mjk

    Menel: on freedesktop systems, you just register an app as a handler of, say, x-scheme-handler/xmpp MIME type. on windows, you add `xmpp` somewhere into registry

  36. pep.

    The thing with schemes other than https? is that they don't matter anyway as long as web is the norm. It's almost impossible to leave a browser with another scheme. Chrome filters xmpp, and many others

  37. pep.

    (Or rather it allows quite a small set)

  38. Trung

    yeah I know it will cause confusion that's why we might want to discuss it and add it to the book before start implementation. But honestly, xmpp: means gibberish in human language doesn't matter which country you are coming from. People won't spread gibberish if they can't even pronouce the thing properly.

  39. Zash

    Changing the scheme now would just cause problems.

  40. MSavoritias (fae,ve)

    Also jabber is worse imo

  41. Zash

    I also don't see what the problem is.

  42. MSavoritias (fae,ve)

    I wouldnt mention either

  43. pep.

    I say the scheme doesn't matter. As I said above, "http" is used every day and nobody complains. It's invisible to most and people call that "web" anyway

  44. mjk

    pep.: for me, chromium asks if I wanna open the link with the external app (and says its name), no filtering 🤷️

  45. Zash

    `<a href="xmpp:alice@example.com">💬️ chat with Alice</a>`

  46. Zash

    Problem solved.

  47. jonas’

    ^ +1

  48. mjk

    > and says its name that is xdg-open!

  49. Zash

    or https://yax.im/i/#bob@example.com

  50. pep.

    https://developer.mozilla.org/en-US/docs/Web/API/Navigator/registerProtocolHandler#browser_compatibility

  51. Trung

    the problem is user@domain.org means emails to most people.

  52. pep.

    Looks like Chrome does.. but not on android? And other things also don't support it

  53. pep.

    Woah, matrix: even is supported.. :/

  54. Trung

    and most people now relate user@domain.org to user@gmail.com or user@outlook.com

  55. Trung

    s/relate/have/

  56. mjk

    pep.: Navigator.registerProtocolHandler is a different thing from what I was talking about, it allows registering http urls to handle schemes in-browser

  57. Menel

    Hide it as a browser button seems a good choice

  58. pep.

    Yeah it's handy for movim, libervia, etc.

  59. pep.

    But you're right

  60. Menel

    mjk: thanks. Will add it there

  61. Link Mauve

    mjk, please not xdg-open, that shell script doesn’t implement XDG specs, you should instead use a proper tool like `gio open`.

  62. mjk

    Menel: it should probably be there already. :) when you install, e.g., Gajim, Firefox will start asking if you wanna open the xmpp link in Gajim

  63. mjk

    Link Mauve: tell that to Google, I guess

  64. Link Mauve

    I don’t speak much with Google.

  65. mjk

    idfk why does it ask me to open xmpp with xdg-open

  66. mjk

    Link Mauve: me neither, so, local patching it is!.. oh wait, I don't have a computer that can build it, nvm

  67. MSavoritias (fae,ve)

    > pep.: > Woah, matrix: even is supported.. :/ Makes sense matrix paid them to move to madric and they wanted to support it

  68. mjk

    madric :D

  69. MSavoritias (fae,ve)

    XD oups

  70. mjk

    I thought it was intentional

  71. MSavoritias (fae,ve)

    No :D

  72. Trung

    I found `im:` here: https://en.wikipedia.org/wiki/List_of_URI_schemes

  73. Trung

    it also has `xmpp:` in the note section which myself am now confused lol

  74. mjk

    that note _is_ confusing

  75. wurstsalat

    > At the time this document was written, numerous instant messaging protocols were in use, and little interoperability between services based on these protocols has been achieved. (2004)

  76. mjk

    (<https://www.rfc-editor.org/rfc/rfc3860.html>)

  77. mjk

    (which doesn't mention xmpp at all)

  78. MattJ

    See RFC 3923

  79. MattJ

    See RFC 3922

  80. MattJ

    And history is currently repeating itself, as the IETF is trying to spin up a new IM interoperability initiative

  81. Zash

    all this has happened before, and all will happen again, and again, and again

  82. Trung

    ok… for now I'll leave my inivte page as it is then. =]]]]

  83. mjk

    hopefully, this time is a bit different, given the current regulational background

  84. mjk

    > presentity RFCian is a weird language

  85. MattJ

    mjk: hopefully, indeed. I'm not holding my breath 🙂

  86. MattJ

    There is no indication of the regulations mandating any specific tech or standard, so currently as long as the giants publish some form of accessible (but proprietary) API, they can comply

  87. MattJ

    And there is no indication that any of them are interested in whatever the IETF comes up with

  88. mjk

    yeah. the MIMI authors seem to merely express the hope themselves :D

  89. MattJ

    So it could easily go the way of CPIM, regulation or not

  90. Trung

    https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml ← is the official page and does not have `chat:` right?

  91. mjk

    Trung: correct

  92. Trung

    > There is no indication of the regulations mandating any specific tech or standard, so currently as long as the giants publish some form of accessible (but proprietary) API, they can comply Speed of implementation is more important that what the ‘official’ is publishing, correct?

  93. Zash

    Important for capturing the market, or important in a correctness sense?

  94. Trung

    hmmm………………

  95. Trung

    https://chat.trung.fun/dang-ky?t=62MUmG9zF21_lIvSPSWr0sgH ← This is the same link as before. The `<a href=""` is still `xmpp:`, but I am now going to display `chat:`. I am now an ‘outlaw’ and I welcome all developers of clients and servers to join force.

  96. Trung

    https://chat.trung.fun/dang-ky?t=62MUmG9zF21_lIvSPSWr0sgH ← This is the same link as before. The `<a href=""` is still `xmpp:`, but I am now going to display `chat:`. I am now an ‘outlaw’ and I welcome all service providers and developers of clients and servers to join force.

  97. Trung

    (Zash, quick and dirty win the race.)

  98. singpolyma

    Trung: a protocol scheme should specify the protocol, which `chat:` does not helpfully do

  99. Zash

    Email is not a single protocol, plus it predates everything, so we can let it get away with mailto:

  100. singpolyma

    Yeah. I think everyone regards mailto: as a mistake, but too established to change

  101. Trung

    what is `im:` then. there is also `facetime:` by the great big fuit

  102. Trung

    I am quite happy if we can go back to `jabber:` too if that's possible. As long as you can read the damn thing to another person, i could not care less what u name it.

  103. goffi

    Hi. I'm checking XEP-0391 (Jingle Encrypted Transport), and it's not clear to me how Transport Secret (TS) is made and exchanged. XEP-0391 can't be used alone right? Thus currently, we need to use XEP-0396 with it. However it's tight to legacy version of OMEMO, is there any plan to update to TWOMEMO? Thanks. cc vanitasvitae

  104. vanitasvitae

    Right. 391 only defines the JET security element and tells you that you need a way to protect the TS using some encryption method. 396 implements this protection using legacy OMEMO

  105. vanitasvitae

    It should be pretty straight forward to simply replace the legacy key transport element with a TWOMEMO element.

  106. vanitasvitae

    I'll add updating 396 to my todo list 😀

  107. vanitasvitae

    (perhaps JET could be replaced altogether with SCE encrypted jingle messages though?)

  108. vanitasvitae

    Not sure what implementors of Jingle would prefer

  109. goffi

    vanitasvitae: is any known implementation at the moment? In my case SCE is already implemented, so I'm happy if it's used.

  110. goffi

    is there any known implementation*

  111. vanitasvitae

    I'm not aware of any.

  112. vanitasvitae

    I think conversations opted for something completely different? cc Daniel

  113. goffi

    I'll go with current version for now, and make necessary changes when the updated version will be available, thanks vanitasvitae.

  114. Daniel

    I thought we used JET. I can't check the code right now but I vaguely remembering sitting in a cafe with larma and implementing it

  115. vanitasvitae

    For file transfer or for AV?

  116. vanitasvitae

    I though AV used some DTLS stuff?

  117. Daniel

    File transfer

  118. vanitasvitae

    Right, I can see some JET related stuff in the JFT implementation of Conversations

  119. larma

    I think SCE for Jingle would be great, but I don't think SCE is properly specd for IQs yet

  120. singpolyma

    SCE doesn't completely solve jingle unless you use IBB right?

  121. vanitasvitae

    larma, I agree

  122. vanitasvitae

    Since I haven't created an implementation for IQs along with the spec, I sort of "blind drafted" 😛

  123. vanitasvitae

    singpolyma, you could encrypt the whole jingle init stanza with SCE and include a plain security element in there

  124. goffi

    singpolyma: it's just used to exchange keys, transfert is done out of band as usual (only it's encrypted).

  125. singpolyma

    goffi: oh yeah, that makes sense

  126. singpolyma

    For bits of binary it could encrypt the whole thing too, though at the expense of shrinking the max file size that works

  127. goffi

    for very small files, yes IBB could work out of the band with SCE

  128. goffi

    out of the box*

  129. Zash

    or BOB!

  130. vanitasvitae

    for the sake of genericism (is that even a word?) you probably don't want to SCE all the IBBs but instead negotiate a transport key and use that to protect the IBB session

  131. singpolyma

    You can do big files with IBB, just have to wait awhile ;)

  132. vanitasvitae

    So you can swap out IBB for another transport more easily

  133. Zash

    Server rate limits has entered the chat.

  134. goffi

    vanitasvitae: right, but you then end up with 2 layers of e2ee with IBB (SCE + JET).

  135. vanitasvitae

    why?

  136. Zash

    (+TLS!!!1)

  137. vanitasvitae

    You only SCE(Jingle Init + plain TS) and then JET(IBB)

  138. goffi

    vanitasvitae: except if I missed something, you would have to make an exception inside SCE for IBB, sure it's possible but I can imagine how this can go wrong easily.

  139. goffi

    anyway, IBB should hopefully be barely needed nowadays.

  140. vanitasvitae

    Ah now I see what you mean

  141. singpolyma

    IBB is pretty important, since it's the only thing that always works

  142. vanitasvitae

    I guess you are right. For IBB it probably makes sense to only use SCE then and use JET for out of band transports

  143. singpolyma

    It like to implement ice-tcp eventually, maybe some other stuff

  144. singpolyma

    I'd like to implement ice-tcp eventually, maybe some other stuff

  145. goffi

    singpolyma: sure it's important to have it just in case, but the less it's used, the better.

  146. singpolyma

    goffi: I sort of agree, except that if it is used *too* little it doesn't get tested enough and starts to break in clients and then people who do need it their file transfers don't work

  147. Syndace

    (test message please ignore)

  148. Zash

    NEVER

  149. Syndace

    flow, you are one of the authors of OX, right?

  150. Syndace

    If so, I'd appreciate if you took a look at this email thread: https://mail.jabber.org/pipermail/standards/2022-August/038949.html

  151. Syndace

    (and everybody else who has experience with OX too)

  152. moparisthebest

    Trung: may I suggest "snikket:" for a new url scheme

  153. Trung

    hahaha why the hell not hahahahaha let's start a monolopoly

  154. Menel

    Hehe. Only a brand

  155. Trung

    how about `xep:`?

  156. Trung

    it's not on the ‘official’ web page either.

  157. Menel

    xep: is obviously to link to a xep..

  158. Trung

    i think people can pronouce `xep:` much better than `xmpp:`

  159. mjk

    aaaa: would probably most accessible to pronounciation

  160. Trung

    yeah… i don't know man. the whole reason i register trung.fun was because i don't know which name to take and .fun was cheap so

  161. Zash

    `slash-colon-at-dot:`

  162. Trung

    and then later I realized that ‘fun’ if read in Vietnamese would be ‘phân’ which means ‘shit’ in English

  163. Trung

    too freakin late to change now =]]]]]]]]]

  164. mjk

    yes, naming is hard

  165. moparisthebest

    How often do you say url schemes out loud

  166. moparisthebest

    why yes visit my webpage at h t t p s colon forward slash forward slash w w w dot ...

  167. singpolyma

    Aech tee tee pee semicolon backslash backslash double yew double yew double yew dot

  168. Trung

    not that you say it out loud, but we are providing a chat service and it is called ‘xmpp’ which is very difficult to say to another person. There are other chat services that are very easy to pass around which im sure u know already.

  169. moparisthebest

    Sorry do you say XMPP to other people?

  170. Trung

    not that you say it out loud all the time, but we are providing a chat service and it is called ‘xmpp’ which is very difficult to say to another person. There are other chat services that are very easy to pass around which im sure u know already.

  171. moparisthebest

    Do WhatsApp users say "funxmpp but now with json" to each other? Strange

  172. moparisthebest

    When people ask me for my website I don't start with "first you need a TCP stack then..."

  173. moparisthebest

    My point is you are at the wrong protocol layer here, you don't tell people "contact me on XMPP" you say "install Snikket and send me a message" or whatever, same as every other chat system

  174. singpolyma

    Trung: it's all about context. If I'm talking about the network in a general way I'll say Jabber of course. More often I'm talking about a particular app. But URIs are technical details, it's about a protocol, and the protocol is named XMPP

  175. singpolyma

    Usually users don't need to see the URI at all, they can just click a link, etc

  176. singpolyma

    Unless you're printing on a business card or something maybe?

  177. Trung

    that's exactly my point. it's confusing with mail system

  178. Trung

    that's why people will have to see the uri

  179. singpolyma

    Why? Why would you show them the URI? What is the context?

  180. Trung

    bussiness card

  181. Trung

    u just said it

  182. singpolyma

    Ah, ok. So specifically if they still do business cards where you are then yeah. Though even then I'd probably write "Jabber ID: me@example.com" not a raw URI. Put the URI in a qr code

  183. Trung

    ok so we go for `Jabber ID:`

  184. singpolyma

    For labelling a jabber id that seems like the right label :)

  185. Trung

    i thought we don't want to use `jabber:`

  186. singpolyma

    Trung: not as a URI scheme

  187. Trung

    but mailto is not smtp

  188. Trung

    and pop and imap

  189. moparisthebest

    I don't say jabber either, that's that old Cisco tool that doesn't work well

  190. Trung

    which level are we on lol

  191. singpolyma

    Trung: mailto is a mistake that's all

  192. singpolyma

    It's a bad URI scheme

  193. singpolyma

    But we can't fix it now

  194. Trung

    puffff what is `im:`

  195. moparisthebest

    Has anyone ever seen mailto: on a business card? Not me

  196. Trung

    i have seen plenty

  197. singpolyma

    I haven't seen a business card this decade 🤷‍♂️

  198. moparisthebest

    Just put you@your.domain on there and people will email you or send you an XMPP message, no problem

  199. Trung

    we can do `snikket:` if that's what u really up to mate. but mixing up mail and xmpp will cause confusion and it will be hard to spread. that's all i'm saying.

  200. Menel

    Trung: just recommend one client and tell them. About that. And advanced and later, you can tell them that you can actually use different apps because it's an open standard.. 🤯. One of the biggest problem is people trying all clients at once at the beginning and then saying the feature are buggy and bad.. Because they don't compare the best client with $alternative but always the worst.

  201. Trung

    Snikket currently is not getting notification mate 😁 it is already confusing enough

  202. Trung

    Siskin currently is not getting notification mate 😁 it is already confusing enough

  203. Trung

    ↑ sorry ↑

  204. Menel

    For just an address stay with xmpp:... Because you don't change https:, do you?

  205. Menel

    It's some meaningless technical link.. It's more important what it does once someone presses it

  206. Trung

    ok i'll just remove the uri all together and let people be confused

  207. Menel

    I honestly don't get you. But do what you want, it's your service.

  208. singpolyma

    Trung: if you want to label it for humans to read, use a human label, that's all. A URI is for computers not mostly for humans

  209. singpolyma

    No label is also valid as some have said here, depending on context

  210. Menel

    Like https://search.jabber.network/rooms/1 There is no xmpp: visible.. But every link will just do that...

  211. singpolyma

    Yeah. This is why cheogram android also doesn't show just saw xmpp URIs in chats

  212. singpolyma

    Yeah. This is why cheogram android also doesn't show just raw xmpp URIs in chats

  213. Trung

    sorry i cannot be any clearer. it is confusing for people who already have emails to see that because they are used to seeing mailto: or email: attach to user@domain.org. I just want to minimize that. But that's what u guys suggesting then sure i'll remove the uri.

  214. Menel

    Trung: did you Visit > https://search.jabber.network/rooms/1 For inspiration? Maybe that would be an approach for you?

  215. singpolyma

    Trung: email: would be a label for humans, not a URI. Feel free to usefully label with the name of the thing, like Jabber ID

  216. singpolyma

    Menel: this is for printing on paper

  217. Menel

    Ah

  218. Trung

    the second point is it is difficult to spread the actual xmpp which at the current moment, a it-just-work user will be very confused when they are told they should try another app with the same account. because they might be confused with email apps too and it will cause more trouble.

  219. Trung

    i'm just pointing out the fact that people who doesn't understand all this uri stuff will be very freakin confused.

  220. moparisthebest

    When you read a domain name do you often think "huh is that a website or a Java package name?" I don't think that's actually a problem in practice

  221. moparisthebest

    People don't and shouldn't understand URI things, those are for clicking, only the computer needs to understand them

  222. Menel

    One can also print a website that has a button to the chat.. https://conversations.im/j/xsf@muc.xmpp.org

  223. Trung

    there is only one type of app for website. it's call browser

  224. flow

    Syndace, could you priortize your points somehow. I have seen the email but my main problem is that I don't have the time to provide a detailed answer for each point. and I somehow don't want to answer arbitrary question

  225. Trung

    u get any browser u like the domain will return the website

  226. flow

    Syndace, could you priortize your points somehow? I have seen the email but my main problem is that I don't have the time to provide a detailed answer for each point. and I somehow don't want to answer arbitrary question

  227. Trung

    but if u try to send mail to an xmpp account. things don't go very well…

  228. Trung

    but if u try to send mail to an xmpp account, things don't go very well…

  229. singpolyma

    Trung: there are definitely multiple browsers with different names. Though less than there used to be I understand

  230. Menel

    There is nothing you can do about that > but if u try to send mail to an xmpp account, things don't go very well…

  231. moparisthebest

    BRB printing business cards with: > Firefox address: www.moparisthebest.com

  232. moparisthebest

    > but if u try to send mail to an xmpp account, things don't go very well… Why not? My email and XMPP address are the same

  233. singpolyma

    Make your jabber id and email address be the same, that's what I do

  234. Trung

    well nothing we can do really?

  235. flow

    Syndace, could you priortize your points somehow? I have seen the email but my main problem is that I don't have the time to provide a detailed answer for each point. and I somehow don't want to answer arbitrary questions

  236. Menel

    No

  237. singpolyma

    Mine also works for SIP and someday AP

  238. Trung

    what if u just have an xmpp and no email

  239. singpolyma

    I'm working on that

  240. singpolyma

    Soon you'll be able to set an MX and get emails over xmpp if you don't have email otherwise

  241. Menel

    Jids won't be changed to some scheme not beeing local@server

  242. Trung

    me too i would like to get rid of emails all together

  243. Trung

    but we are not there yet

  244. Menel

    You'll need a text about : "open that link in this chat app: xmpp:....."

  245. flow

    Syndace, but if I find time I may try to answer one point at a time. so please don't be surprised that you may not get a full answer immediately. I could also offer that we have a video chat sometimes, as I believe some questions require a more interactive answer

  246. flow

    would that be an option for you?

  247. Trung

    Menel, I have that. But opening the app would mean they need to have an app first. So most will register through website then go to the clients page then figure out how they hell they can install it, then it doesn't work then download an app for email, then use whatsapp

  248. Syndace

    flow: thanks, I'll respond tomorrow

  249. Syndace

    Most things aren't super important - I'll just aim for compat with Gajim for noe

  250. Trung

    sorry people i'll stop spamming here coz i think i made it clear enough. thanks everybody.

  251. Menel

    Did you look at the snikket invite page? It seems to do exactly that. Steer the user to the app and automate the sign up

  252. Trung

    Menel, I'm doing exactly that too. The confusion problem comes when stuff don't work.

  253. Trung

    if it just works, they never ever have to download a new app to their device and that is it.

  254. flow

    Syndace, kk