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.
marc
https://jmap.io
Zash
Nyeh!
flowhas left
Alexhas left
flowhas joined
marc
The proposed standard is in "Last Call" : https://datatracker.ietf.org/doc/draft-ietf-jmap-core/
jonas’
can we rm -rf it
Zash
We don't take kindly to JSON-HTTP APIs here
pep.
Seems like "modern" is synonym for http/json really.
MattJ
Oh no, my plans for modernxmpp have been revealed!
https://op-co.de/tmp/xform-buttons.html there, I rendered it for you
Link Mauve
Hey, now that everything supports HSTS and HSTS preload, I could probably stop listening on port 80.
Link Mauve
Zash, you should add HSTS preload to zash.se.
Ge0rGMitMs Link Mauve
Ge0rG
Zash: it's not scary enough.
labdsfhas left
Link Mauve
Ge0rG, why would it be scary?
Ge0rG
Link Mauve: XEP-0004 is scary..
rionhas left
Andrew Nenakhovhas joined
Link Mauve
It’s not.
jonas’
it is
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.
Kevhas left
jonas’
it is a weird mix of interactive forms, m2m protocol and overly generic search result reporting
Link Mauve
It’s a bit under-specified, but it’s far from scary, even after ten years of working with it.
jonas’
all while it is nearly unextensible in a way which doesn’t break existing implementations
Link Mauve
jonas’, “search” result?
jonas’
that reporting stuff
jonas’
which re-uses some parts of the data form wire format in awkward ways
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
jonas’
Ge0rG, Ad-hoc data forms as in XEP-0050?
Link Mauve
Zash, did you also have a version doing ad-hoc, btw?
Zash
Link Mauve: no
Link Mauve
jonas’, yeah.
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/
ralphm
Where besides buttons, you also have other UI elements that you can describe semantically, like image carousels.
ralphm
XEP-0004 isn't _really_ the most ideal for this kind of use case.
Ge0rG
Buttons doen't have any of those except for buttons, and those are half-i18ned
ralphm
We haven't gone as far as defining an XML format for it yet, though.
MattJ
ralphm, I'm currently working on similar (also mapping Facebook to XMPP), buttons will be a part of that
ralphm
Ge0rG: sure, just giving some context
ralphm
MattJ: interesting!
Ge0rG
ralphm: I like the comparison to the facebook thing, BTW. I'm sure they invested heeavily into MVPing it
Ge0rG
I'd love to see buttons and polls actually.
ralphm
Problem with XEP-0004 is that all interactions are around, well, submitting a form.
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.
ralphm
But yeah, polls is another such thing.
jonas’
ralphm, though it’s possible to map the selection of a button from a set of buttons to list-single
Zash
list-single-actually-a-button
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.
jonas’
ralphm, you can have multiple forms
jonas’
in a single message
jonas’
(playing devil’s advocate here, I’m not convinced that XEP-0004 as-is is the right thing either)
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.
jonas’
probably
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.
Link Mauve
All of this really sounds like 0050.
Link Mauve
With extended 0004.
jonas’
except that '50 can’t have message context
jonas’
(again, as-is)
ralphm
And maybe media sharing and maybe other things.
Ge0rG
ralphm: don't those things end up being the same if the action is defined by the original sender of the form?
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.
Ge0rG
ralphm: so if we had 0004 with additional buttons and label i18n, we would have a superset of Buttons, Polls etc?
Ge0rG
Maybe also with a specified way to convey this in regular messages?
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.
pep.
I agree that it does sound like 0050. Maybe there can be some work done to have it work with messages?
jonas’
(recently I’ve been thinking that we should replace messages with IQs :-X)
Ge0rG
jonas’: that idea was brought up before
pep.
jonas’: what is the motivation?
jonas’
pep., helps us get rid of all the reciepts and delivery uncertainty
ralphm
I.e. you'd probably like at least buttons, lists (with media), and maybe a caroussel of the former.
ralphm
anyway, there are two things here: the presentational format (semantic, not dictating formatting), and processing actions from them.
Kevhas left
pep.
jonas’: right I was also thinking about that when you mentioned IQs.
pep.
You only get one level of acks though with this. People will still want "read" markers
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
lhas left
lhas joined
Ge0rG
pep.: yes, you IQ-send messages to your server and it does reliable delivery™
jonas’
like with SMTP
jonas’
on each step there is a defined handover; it’s not fire & forget
jonas’
you have at-least-once semantics with SMTP, provided that required entities can be contacted within a timeout
jonas’
(and don’t lie about taking responsibility for a message)