[Standards] LAST CALL: XEP-0319 (Last User Interaction in Presence)
christian.schudt at gmx.de
Thu Dec 4 10:21:33 UTC 2014
> Receiving <query xmlns='jabber:iq:last' seconds='903’/> can mean either the user went idle $TIME_STANZA_SENT - 903 seconds or user went offline at that point. You can’t know it solely based on this stanza. You’d require further presence information to resolve the semantic overload.
In my opinion this isn't hard to distingish. If the presence has a show element (of value away/xa) it means idle since X seconds. If it is just a plain "availble" presence it means "I was last time online X seconds ago".
> Furthermore the XEP-0012 data alone has little value for a UI/UX. It in response to an IQ, it requires presence information to know what it means (idle or went offline). Received via presence it request delayed delivery information to know the actual idle time.
If in response to an IQ you know exactly what it means (as specified in XEP-0012) without needing presence information:
If you send your IQ to the bare JID it means "went offline" (server responds to IQ).
If you send your IQ to the full JID it means "idle" (client responds to IQ).
If in a presence, I think XEP-0256 is clear enough on it.
I agree that XEP-0012 has overloaded semantics, but on the other hand they are all related to each other and aren't hard to understand or to implement, where as a new XEP (319) would add yet another way to deal with the use cases described in 0256 (and 0012). I just don't like the idea of having two XEPs for the same use case.
XEP-0256 could be obsoleted/deprecated, if XEP-0319 becomes a standard, but I don't know XSF's opinion about that, because it's out there for a long time.
More information about the Standards