XSF Discussion - 2018-12-19

  1. marc

    Off-topic but will interest some of you: JMAP is a modern standard for email clients to connect to mail stores. It therefore primarily replaces IMAP + SMTP submission. It does not replace MTA-to-MTA SMTP transmission.

  2. marc


  3. Zash


  4. marc

    The proposed standard is in "Last Call" : https://datatracker.ietf.org/doc/draft-ietf-jmap-core/

  5. jonas’

    can we rm -rf it

  6. Zash

    We don't take kindly to JSON-HTTP APIs here

  7. pep.

    Seems like "modern" is synonym for http/json really.

  8. MattJ

    Oh no, my plans for modernxmpp have been revealed!

  9. Maranda

    Is it? That was like that even in 2012

  10. Maranda

    That's not very modern

  11. edhelas


  12. jonas’ picks random members of board

  13. jonas’

    MattJ, Guus, https://trello.com/c/jruUmUzl/321-process-violation-xep-0412 is this the right place for that card? where is your "inbox"?

  14. Guus

    jonas’: that's it.

  15. jonas’

    re buttons: I’m thinking +1, but with a threat that I’m blocking LC if this diverges too much into a XEP-0004 clone. any opinions?

  16. jonas’

    is this a nasty thing to do?

  17. jonas’

    or even a sensible thing?

  18. MattJ

    jonas’, it's a sensible thing to do, no?

  19. MattJ

    If you're happy with it as-is, approve it

  20. MattJ

    If you're not happy with it later, don't approve it

  21. jonas’

    I’d not say *happy*

  22. MattJ

    Delighted then :)

  23. Ge0rG

    jonas’: maybe it would be good to have the discussion of the protocol first, and the threats later?

  24. Ge0rG

    IMHO, it would be great if somebody knowledgeable about XEP-0004 would provide a strawman proto-XEP for Data Form Buttons

  25. jonas’


  26. Ge0rG

    jonas’: there! you are doing it again!

  27. Link Mauve

    I started that (and IIRC Zash did too), but in my case because I wanted more options than just buttons, and couldn’t reach something I’d enjoy.

  28. jonas’

    oops I did it agaiiiin *singing*

  29. Ge0rG

    jonas’: so the ’ is for spears?

  30. jonas’


  31. jonas’

    Ge0rG, I see your point on the competing proposals, but we definitely need XEP-0004 extensions before

  32. Zash

    Shall I submit the dataforms buttons thing I wrote?

  33. Ge0rG

    Zash: yes please.

  34. Zash

    Seems I don't have it on this machine

  35. Ge0rG

    Zash: actually, you should have submitted it side-by-side with the Simple Buttons, just to scare us into accepting the latter.

  36. Zash


  37. Zash


  38. Zash

    Anyways: http://cerdale.zash.se/upload/lhqGHZ7NyEuQw5Px/xform-buttons.md

  39. Zash

    Don't have the markdown conversion code here either

  40. MattJ


  41. Ge0rG

    Connecting to cerdale.zash.se (cerdale.zash.se)|2a00:66c0:7:1::cd1e|:80... failed: Connection refused. Connecting to cerdale.zash.se (cerdale.zash.se)||:80... failed: Connection refused.

  42. Ge0rG

    So sad.

  43. Zash


  44. Ge0rG

    https://op-co.de/tmp/xform-buttons.html there, I rendered it for you

  45. Link Mauve

    Hey, now that everything supports HSTS and HSTS preload, I could probably stop listening on port 80.

  46. Link Mauve

    Zash, you should add HSTS preload to zash.se.

  47. Ge0rG MitMs Link Mauve

  48. Ge0rG

    Zash: it's not scary enough.

  49. Link Mauve

    Ge0rG, why would it be scary?

  50. Ge0rG

    Link Mauve: XEP-0004 is scary..

  51. Link Mauve

    It’s not.

  52. jonas’

    it is

  53. Ge0rG

    I mean, it's something that can be immediately discovered as scary, as opposed to MUC, which you need a decade to appreciate all the pitfalls of.

  54. jonas’

    it is a weird mix of interactive forms, m2m protocol and overly generic search result reporting

  55. Link Mauve

    It’s a bit under-specified, but it’s far from scary, even after ten years of working with it.

  56. jonas’

    all while it is nearly unextensible in a way which doesn’t break existing implementations

  57. Link Mauve

    jonas’, “search” result?

  58. jonas’

    that reporting stuff

  59. jonas’

    which re-uses some parts of the data form wire format in awkward ways

  60. Ge0rG

    I tend to -0 Buttons because of: - no i18n for the response, leading to surprising results for the user (you press "Ja" and it emits "yes") - the obvious overlap with ad-hoc data command forms

  61. jonas’

    Ge0rG, Ad-hoc data forms as in XEP-0050?

  62. Link Mauve

    Zash, did you also have a version doing ad-hoc, btw?

  63. Zash

    Link Mauve: no

  64. Link Mauve

    jonas’, yeah.

  65. ralphm

    We were looking at something that fills roughly the same role as Facebook Message Templates: https://developers.facebook.com/docs/messenger-platform/send-messages/templates/

  66. ralphm

    Where besides buttons, you also have other UI elements that you can describe semantically, like image carousels.

  67. ralphm

    XEP-0004 isn't _really_ the most ideal for this kind of use case.

  68. Ge0rG

    Buttons doen't have any of those except for buttons, and those are half-i18ned

  69. ralphm

    We haven't gone as far as defining an XML format for it yet, though.

  70. MattJ

    ralphm, I'm currently working on similar (also mapping Facebook to XMPP), buttons will be a part of that

  71. ralphm

    Ge0rG: sure, just giving some context

  72. ralphm

    MattJ: interesting!

  73. Ge0rG

    ralphm: I like the comparison to the facebook thing, BTW. I'm sure they invested heeavily into MVPing it

  74. Ge0rG

    I'd love to see buttons and polls actually.

  75. ralphm

    Problem with XEP-0004 is that all interactions are around, well, submitting a form.

  76. ralphm

    That's not the same as what Facebook-like templates do. There, you define an action for a specific button, taking some context into consideration.

  77. ralphm

    But yeah, polls is another such thing.

  78. jonas’

    ralphm, though it’s possible to map the selection of a button from a set of buttons to list-single

  79. Zash


  80. ralphm

    jonas’: the problem is generally that you want a set of (hidden) fields to send along with such an action. So it might be that one button is like submitting a form, but the 'template' itself isn't one.

  81. jonas’

    ralphm, you can have multiple forms

  82. jonas’

    in a single message

  83. jonas’

    (playing devil’s advocate here, I’m not convinced that XEP-0004 as-is is the right thing either)

  84. ralphm

    jonas’: yes, sure, forms could be part of the presentation, but then you need some container format that is basically your (semantic) presentation of the whole thing.

  85. jonas’


  86. ralphm

    I'm not convinced that the generic nature of XEP-0004 brings something to the table for this use case, but maybe it does.

  87. Link Mauve

    All of this really sounds like 0050.

  88. Link Mauve

    With extended 0004.

  89. jonas’

    except that '50 can’t have message context

  90. jonas’

    (again, as-is)

  91. ralphm

    And maybe media sharing and maybe other things.

  92. Ge0rG

    ralphm: don't those things end up being the same if the action is defined by the original sender of the form?

  93. ralphm

    Ge0rG: well, maybe. The idea of XEP-0004 is that you can generically display any such form, without the client necessarily knowing about the business logic or meaning of fields.

  94. Ge0rG

    ralphm: so if we had 0004 with additional buttons and label i18n, we would have a superset of Buttons, Polls etc?

  95. Ge0rG

    Maybe also with a specified way to convey this in regular messages?

  96. ralphm

    I think that it is quite possible to do something similar to Facebook templates for XMPP, but not sure that using XEP-0004 of the basis of that format is the right approach. Clicking a button might trigger submitting a XEP-0004 form, similar to XEP-0050, sure.

  97. pep.

    I agree that it does sound like 0050. Maybe there can be some work done to have it work with messages?

  98. jonas’

    (recently I’ve been thinking that we should replace messages with IQs :-X)

  99. Ge0rG

    jonas’: that idea was brought up before

  100. pep.

    jonas’: what is the motivation?

  101. jonas’

    pep., helps us get rid of all the reciepts and delivery uncertainty

  102. ralphm

    I.e. you'd probably like at least buttons, lists (with media), and maybe a caroussel of the former.

  103. ralphm

    anyway, there are two things here: the presentational format (semantic, not dictating formatting), and processing actions from them.

  104. pep.

    jonas’: right I was also thinking about that when you mentioned IQs.

  105. pep.

    You only get one level of acks though with this. People will still want "read" markers

  106. ralphm

    for more context, this is Facebook's view on buttons (that can be used in templates): https://developers.facebook.com/docs/messenger-platform/send-messages/buttons

  107. Ge0rG

    pep.: yes, you IQ-send messages to your server and it does reliable delivery™

  108. jonas’

    like with SMTP

  109. jonas’

    on each step there is a defined handover; it’s not fire & forget

  110. jonas’

    you have at-least-once semantics with SMTP, provided that required entities can be contacted within a timeout

  111. jonas’

    (and don’t lie about taking responsibility for a message)

  112. pep.

    I'm all for reliable delivery™!

  113. pep.

    XMPP3 when?

  114. Zash

    XMPP 2000

  115. Ge0rG

    XMPP 3000 Plus