XSF Discussion - 2019-08-06


  1. marc_

    Ge0rG: sure, but I don't think it is good to write the XEP without implementing at the same time

  2. Ge0rG

    marc_: yes, and it's had to motivate people to implement a XEP full of TODOs

  3. marc_

    Ge0rG: it's also hard to motivate somebody to write a XEP if no client will implement it *this* way ;)

  4. marc_

    Ge0rG: solution: talk to client devs and agree on some user stories, UI and UX

  5. Ge0rG

    marc_: I'm a client dev. I know how I'd implement the code, the UI and the UX

  6. Ge0rG

    marc_: I need somebody from the prosody team to stand up and to hack the server side support.

  7. marc_

    Ge0rG: there are other clients as well ;)

  8. Ge0rG

    marc_: this is a lie.

  9. Ge0rG

    I mean, yes, there are other clients. But so far I haven't found one where the developer is interested in good onboarding UX and has the time to tackle it.

  10. Ge0rG

    The only maybe-exception is Quicksy, which is sacrifices the most important selling point of xmpp

  11. jonas’

    Ge0rG, or you hack the server side support yourself

  12. jonas’

    or find someone non-prosody-team to do it

  13. jonas’

    prosody is quite hackable in my experience

  14. Ge0rG

    jonas’: I read that as "I volunteer" from you

  15. jonas’

    you can certainly do that, but I’d question whether that’s correct

  16. jonas’

    or rather, I would actually volunteer, but there’s no way I can make any deadline commitments

  17. marc_

    Ge0rG: onboarding is only important if the UX is good afterwards ;)

  18. Ge0rG

    jonas’: see, and this is why there hasn't been any progress for a year now

  19. Ge0rG

    jonas’: I'm not picky about the who, but somebody needs to stand up

  20. jonas’

    Ge0rG, please avoid passing judgement on my time scheduling

  21. jonas’

    (or anyones really)

  22. jonas’

    Ge0rG, I’m not saying "I can’t give you any deadlines" because it’s not important to me or because I want to annoy you or I want to stop progress. I’m saying that because it’s the only realistic thing I can say as things stand right now.

  23. Ge0rG

    jonas’: I'm not criticizing you at all.

  24. jonas’

    maybe I’m overly sensitive about that right now, that’s surely possible. sorry

  25. Ge0rG

    jonas’: :)

  26. marc_

    Ge0rG: try to discuss this topic on froscon, please

  27. Ge0rG

    marc_: this is a topic for mobile devs. I'm not sure whether dino qualifies ;)

  28. jonas’

    not only mobile devs IMO

  29. marc_

    > not only mobile devs IMO +4

  30. Ge0rG

    And the developer of the well-known and widely popular android client seems to disagree with me in most UX questions.

  31. Ge0rG

    marc_: desktop clients already fail at taking xmpp: URIs. How are you supposed to make them scan a QR code?

  32. marc_

    > And the developer of the well-known and widely popular android client seems to disagree with me in most UX questions. Maybe not in this case... just try it. We don't need another XEP only half of the clients implement

  33. marc_

    This makes UX even worse...

  34. marc_

    > marc_: desktop clients already fail at taking xmpp: URIs. How are you supposed to make them scan a QR code? Can be fixed?

  35. Ge0rG

    marc_: requires motivation.

  36. Zash

    There has to be room for experimentation and all clients don't need to be identical.

  37. Ge0rG

    Zash: are you going to implement the server side of 401 for me?

  38. Ge0rG

    but please not in a quirky hacky way but as a proper module.

  39. Zash

    I can't promise anything right now

  40. marc_

    > There has to be room for experimentation and all clients don't need to be identical. Yep

  41. Ge0rG

    marc_: scanning a QR code requires a camera.

  42. marc_

    Ge0rG: displaying QR codes not ;)

  43. marc_

    I demonstrated a modified Gajim Version a year ago? 🤔

  44. Ge0rG

    marc_: http://asciiqr.com/index.php?i=&t=https%3A%2F%2Fyax.im%2Fi%2F%23georg%40yax.im

  45. Ge0rG

    █▀▀▀▀▀█ ▀ ▄█▄▄▄ ▄ █▀▀▀▀▀█ █ ███ █ █▄ ▄▄██▀ █ ███ █ █ ▀▀▀ █ ▀█ ▀ █▀ █ ▀▀▀ █ ▀▀▀▀▀▀▀ ▀▄▀ █ ▀ ▀ ▀▀▀▀▀▀▀ ██▀▀▄ ▀ ▀▄ █▄ ▀▀█▀ ▄▀▀▀▄▀ ▀█▄▄▀█▀█▀ ▀ ▄▄▄▀█ ██▄▄ ▀█▄▄▄▀▀▄▀█▄▀▄██▄ ▀███ ▀▀█ ▄▀▄█ ▄▀▀█▀ █ █▄▄ █▄█ ▀▀▄ ▀▀ ▀▀▀▄▄▀█▄█▄▀█▀▀▀█▀█▀█ █▀▀▀▀▀█ ▄ ▄ ▀▄▄█ ▀ █ ▀██ █ ███ █ ▄ █▀ ▀ ▀▀█▀██▄██ █ ▀▀▀ █ █ █▀ █▄ ▀██ █ █▀ ▀▀▀▀▀▀▀ ▀▀ ▀ ▀ ▀▀▀▀▀▀

  46. Ge0rG

    (which doesn't work if your terminal is white-on-black)

  47. Zash

    Or a non-fixed-width font

  48. marc_

    What's your point? You need to generate a token for 401...

  49. Ge0rG

    Zash: s/or/and/

  50. Ge0rG

    oh, wait. triple negation.

  51. Ge0rG

    marc_: my point is that most desktop developers are having other problems than easy onboarding UX

  52. marc_

    But they may have valuable input...

  53. Ge0rG

    marc_: right. Developers _always_ have valuable input on UX topic. This is why most XMPP clients are well-polished and usable.

  54. Zash

    What was the QR code for?

  55. Ge0rG

    Zash: don't you have a faux android phone?

  56. marc_

    Ge0rG: just be a bit more constructive and think more as community ;)

  57. Zash

    Ge0rG: I just woke up and sat trough a meeting without getting coffee first, so excuse my cold context cache for this topic

  58. Zash

    What was communicated via QR? URL? Show the URL on the screen so it can be typed?

  59. Zash

    Tho it's no fun to type a long hexadecimal or base64 code 😕

  60. Ge0rG

    Zash: http upload a picture of the QR code.

  61. Ge0rG

    Conversations can do that.

  62. Zash

    HTTP upload to a fax service?

  63. Ge0rG

    marc_: pardon me my sarcasm, but in the last years I have tried to ignite a better appreciation for UX in the xmpp developers, and there was no significant contribution. 0379 is a prime example, and 0401 isn't even there yet.

  64. Ge0rG

    Zash: how much FEC do you need to survive faxing?

  65. Ge0rG ,oO( fox 'em! )

  66. Zash

    Did PARS require more than saving the complete original presence subscription request?

  67. marc_

    Ge0rG: I understand but my time is limited and I would like to progress as community with this XEP

  68. Ge0rG

    Zash: from the server? no

  69. Ge0rG

    marc_: then please invent a mechansim to force the community to participate. If you pull that off, I'd like to make use of it as well, for a number of other important topics

  70. Ge0rG

    marc_: or you have to take the community members that are actually interested on their own, i.e. me

  71. Ge0rG

    marc_: you could also write a mail to standards@ or jdev@, asking client developers for feedback on the UX side of things

  72. Ge0rG

    we will figure out the protocol, it's the easy part.

  73. Zash

    The best way is probably to make a thing and show it. Takes some time and energy tho.

  74. Ge0rG

    Zash: I can make the client side in yaxim, but 0401 needs server support

  75. Ge0rG

    I've been asking for help for a year now, or maybe two.

  76. Zash

    But there's always a million things to do and only so much time and energy per day

  77. pep.

    “Ge0rG: then please invent a mechansim to force the community to participate. If you pull that off, I'd like to make use of it as well, for a number of other important topics”, /me thinks about all the free labor he gets during sprints :-°

  78. Ge0rG

    pep.: how many mobile client sprints have there been so far?

  79. jonas’

    one of my next ToDo steps is to make a writeup of the unwritten rules of extensibility in XMPP, since I get the feeling that there are different opinions on that and having a written down thing which is ratified by council would be good

  80. jonas’

    I’m thinking along the lines of stuff like "is it allowed to put arbitrary (separately namespaced) elements in arbitrary places of existing protocols (provided you don’t do mixed content, which is always bad)?"

  81. Ge0rG

    except into features ;)

  82. jonas’

    those rules would then find their way into validating parsers which then need to deal with that type of stuff

  83. jonas’

    there would be rules on how to deal with unknown content based on whether you’re the recipient (@to) of the stanza or not

  84. Zash

    jonas’ Amend https://xmpp.org/extensions/xep-0134.html and/or https://xmpp.org/extensions/xep-0143.html (maybe others)?

  85. jonas’

    '134 maybe

  86. jonas’

    '143 is probably not read by folks who write parsers

  87. pep.

    "Ge0rG> pep.: how many mobile client sprints have there been so far?", so far I don't think there's been anything particularly centered on mobile, but you're welcome to propose something :)

  88. pep.

    "jonas’> [..] I get the feeling that there are different opinions on [rules of extensibility in XMPP]", I agree

  89. flow

    I don't

  90. flow

    Cause I believe it is simply: It's ok to extend, if you can live with the entities not understanding the extension, but there are exceptions like xep30's feature

  91. Kev

    Well, the extension has to be in a different namespace, you can't shove things into existing namespaces (without negotiation).

  92. flow

    I am even not sure if this is true, but you usually want a different namespace

  93. marc_

    Ge0rG: i'm not even subscribed to these lists ;)

  94. Ge0rG

    marc_: to be honest, I'd like to move 0401 into a state where it has a reasonable chance to become part of Compliance Suite 2020

  95. pep.

    Where was that Logitech/XMPP/home automation again? And what happened to that?

  96. marc_

    Ge0rG: let's work on it then :)

  97. pep.

    https://arstechnica.com/gadgets/2018/12/logitech-firmware-update-breaks-locally-controlled-harmony-hub-systems/ found it

  98. Ge0rG

    marc_: yes. This is why I pinged you.

  99. Ge0rG

    marc_: do you want to further improve the XEP? Or are you looking for feedback from client developers?

  100. Ge0rG

    In the latter case, please open a thread on the standards@ ML

  101. marc_

    Ge0rG: can you open it, please? I don't have time to work on it until end of August

  102. marc_

    Would be nice to get some feedback in the meantime

  103. Ge0rG

    marc_: I don't know what you want to get feedback on. I have a very clear vision of what to do and how to do it.

  104. marc_

    Ge0rG: post it on @standards and ask for feedback then

  105. pep.

    The "ask for feedback on standards@" thing doesn't really work either tbh :/

  106. pep.

    Sometimes it spawns a discussion here if you're lucky

  107. marc_

    If you got my idea of somehow spilt adding contacts with server side pars and server invitation you can propose this as well

  108. pep.

    https://mail.jabber.org/pipermail/standards/2019-August/036341.html for this example this. Or this https://mail.jabber.org/pipermail/standards/2019-August/036338.html (this we talked about it here afterwards..)

  109. Ge0rG

    marc_: I'm not sure where and why you want to split things

  110. marc_

    Ge0rG: that's why I hate discussing these things via chat ;)

  111. marc_

    It's much easier to do this in RL

  112. Ge0rG

    marc_: I'm not so sure

  113. Ge0rG still hopes that origin-id will just go away.

  114. pep.

    "just" go away, and that @id magically gets fixed?

  115. Ge0rG

    pep.: exactly

  116. Ge0rG

    how many IDs does a message really need?

  117. pep.

    From what I understand you need origin-id because you don't have the same guarantees with @id. And as much as I don't like legacy, that will always be a thing, and I even if we said "@id now means XXXX", you wouldn't know if what you receive actually is what you expect. At least with origin-id you "know", otherwise it just wouldn't be there

  118. marc_

    Ge0rG: have you been on a sprint so far?

  119. pep.

    (There will be incorrect implementations, but that's another issue)

  120. Ge0rG

    marc_: yes, I think once so far

  121. marc_

    Ge0rG: are you planning to participate to one again?

  122. Ge0rG

    pep.: in that case, you could add an element `<my-id-is-much-unique/>`

  123. pep.

    Ge0rG, I think the issue was that some entities rewrite these @id

  124. pep.

    But otherwise yes

  125. Ge0rG

    marc_: there are none planned

  126. Ge0rG

    pep.: in that case we should at least force origin-id=@id at the sender ;)

  127. pep.

    I don't disagree with that

  128. pep.

    That's what my implementation does

  129. Ge0rG

    but it's a hacky legacy mess.

  130. pep.

    Now I just need to figure out if we need it everywhere or just in some specific places..

  131. pep.

    I can start sending it all the time I guess :/

  132. Ge0rG

    pep.: I suppose they only need to be in non-ephemeral messages

  133. pep.

    Ge0rG, I agree it's a legacy mess. We need XMPP42 and proper @id

  134. Ge0rG

    Why is https://wiki.xmpp.org/web/Sprints/2019_September_Stockholm in the newsletter but not on the wiki frontpage?

  135. pep.

    hmm. dunno why it's in the newsletter even. Not that we're telling off people, but we're already 10-11 and that's a good number

  136. pep.

    At least for the venue we have

  137. pep.

    We could probably do some more, but not a lot more

  138. Ge0rG

    pep.: that might be a good info for the top of the wiki page.

  139. pep.

    Sure

  140. flow

    "Cisco’s Extensible Messaging and Presence Protocol (XMPP)"

  141. flow

    https://blogs.cisco.com/security/cisco-scores-big-with-a-new-ietf-approved-internet-standard

  142. Ge0rG

    Looks like we can all go home now.

  143. lovetox

    so say i have my last mam stanza-id, and i query mam with that every day. but server upgrades and loses the archive

  144. lovetox

    so now that stanza-id is not anymore in the archive, and when i query i get a item-not-found error

  145. lovetox

    should i assume now the archive is lost? and treat it like first time use, query 7 days or whatever i would do on first startup?

  146. pep.

    flow, wut. The IETF doesn't have rules against that? Especially when they're closely related? Though I guess Cisco could have infiltrated the IETF and just reversed the decision :P

  147. Holger

    lovetox: FWIW ejabberd just returns the next n messages still archived in this case, but yes as per the current MAM spec you'd get item-not-found. I guess the alternatives are either what you said or full sync in that case. Answer isn't obvious to me.

  148. lovetox

    Holger, the server cant know the next n messages

  149. lovetox

    ah ejabberd can because it uses timestamps as id

  150. lovetox

    Gajim right now just fails forever

  151. lovetox

    there is no fallback if a stanza-id is not found :D

  152. Holger

    Yeah. 0059 suggests that behavior in case the server does know, but 0313 disagrees.

  153. Holger

    lovetox: If you usually do a full sync no matter what except on first start, I would think it makes some sense to also do a full sync after item-not-found.

  154. pep.

    not sure fullsync is the answer to the ultimate question of life, the universe, and everything