1
0
mirror of https://github.com/moparisthebest/xeps synced 2024-11-25 02:32:18 -05:00

XEP-0319 v1.0rc1 -- proposed changes for Draft

This commit is contained in:
Matthew A. Miller 2015-03-02 15:43:19 -07:00
parent 447d1e7fe6
commit 03e060cf65

View File

@ -10,8 +10,8 @@
<abstract>This specification defines a way to communicate time of last user interaction with her system using XMPP presence notifications.</abstract> <abstract>This specification defines a way to communicate time of last user interaction with her system using XMPP presence notifications.</abstract>
&LEGALNOTICE; &LEGALNOTICE;
<number>0319</number> <number>0319</number>
<status>Proposed</status> <status>Draft</status>
<lastcall>2014-12-17</lastcall> <interim/>
<type>Standards Track</type> <type>Standards Track</type>
<sig>Standards</sig> <sig>Standards</sig>
<dependencies> <dependencies>
@ -25,6 +25,12 @@
<supersededby/> <supersededby/>
<shortname>idle</shortname> <shortname>idle</shortname>
&tobias; &tobias;
<revision>
<version>1.0rc1</version>
<date>2014-03-02</date>
<initials>XEP editor (mam)</initials>
<remark><p>Per a vote of the XMPP Council, advanced specification from Experimental to Draft.</p></remark>
</revision>
<revision> <revision>
<version>0.2</version> <version>0.2</version>
<date>2013-08-27</date> <date>2013-08-27</date>
@ -45,36 +51,45 @@
</revision> </revision>
</header> </header>
<section1 topic='Introduction' anchor='intro'> <section1 topic='Introduction' anchor='intro'>
<p>This protocol describes a way to communicate time of last user interaction with other XMPP entities over presence stanzas. User interaction refers to a human end user interacting with her device by means of keyboard, mouse, touch and so on. Based on this information XMPP clients can display the time a contact went idle or how for how long a contact has been idle. Thereby end users can get a hunch on the expected responsiveness of their contacts.</p> <p>This protocol describes a way to communicate a user's last interaction time with other XMPP entities over &PRESENCE; stanzas. For the purposes of this document, user interaction here refers to a human end user interacting with her device by means of a keyboard, mouse, touch screen, and so on. Based on this information XMPP clients can display the time a contact went idle or how a duration for who long a contact has been idle, thereby allowing end users to estimate the expected responsiveness of their contacts.</p>
<p>The described protocol uses absolute timestamps indicated as value of the 'since'-attribute in the <![CDATA[<idle>]]>-tag. The time, represented in the 'since'-attribute, is to be formatted according to &xep0082;.</p> <p>This protocol uses absolute timestamps formatted according to &xep0082;, indicated as value of the 'since' attribute in the &lt;idle/&gt; element.</p>
<p>Experience has shown a number of issues with &xep0256;:</p>
<ul>
<li>The use of relative durations is too vague.</li>
<li>Distinguishing between the idle and last online use cases is very difficult.</li>
<li>It is desirable to have idle time indiciated for &PRESENCE; &lt;show/&gt; values other than "away" and "xa".</li>
</ul>
<p>Updating <cite>XEP-0256</cite> directly would be problematic as it would break compatibility with existing implementations. Instead a new protocol is described for handling the idle time use case; the last online use case is handled by &xep0312;.</p>
</section1> </section1>
<section1 topic='Use Cases' anchor='usecases'> <section1 topic='Use Cases' anchor='usecases'>
Generally there are two main use cases for this extension explained in more detail in the following sections. <p>There are two main use cases for this extension, explained in more detail in the following sections.</p>
<section2 topic='Presence with Last Interaction' anchor='last-interact'> <section2 topic='Presence with Last Interaction' anchor='last-interact'>
<p>After a user has not interacted with her device for some amount of time the user wants to inform her contacts about this fact. For this the client sends a presence stanza with time of last interaction.</p> <p>After a user has not interacted with her device for some amount of time the user wants to inform her contacts about this fact. The client sends a &PRESENCE; stanza with time of last interaction.</p>
<example caption='Time of Last User Interaction in Auto-Away'><![CDATA[ <example caption='Time of Last User Interaction in Auto-Away'><![CDATA[
<presence from='juliet@capulet.com/balcony'> <presence from='juliet@capulet.com/balcony'>
<show>away</show> <show>away</show>
<idle xmlns='urn:xmpp:idle:1' since='1969-07-21T02:56:15Z'/> <idle xmlns='urn:xmpp:idle:1' since='1969-07-21T02:56:15Z'/>
</presence> </presence>
]]></example> ]]></example>
<p>The amount of time after a client sends this enhanced presence is not set in stone but 5 minutes is suggested as a sensible default value.</p> <p>The amount of time the user has been idle before a client sends this enhanced presence application-specific; it is suggested that a sensible default interval of 5 minutes be used.</p>
</section2> </section2>
<section2 topic='Presence Indicating User Coming Back From Idle' anchor='back-from-idle'> <section2 topic='Presence Indicating User Coming Back From Idle' anchor='back-from-idle'>
The moment a user comes back and uses her device again the client can inform user's contacts by sending a normal presence stanza like shown in the following example. When a user comes back and uses her device again the client can informs user's contacts by sending a normal presence stanza like shown in the following example, omiting the &lt;idle/&gt; element.
<example caption='Presence Indicating Return to Device'><![CDATA[ <example caption='Presence Indicating Return to Device'><![CDATA[
<presence from='juliet@capulet.com/balcony' /> <presence from='juliet@capulet.com/balcony' />
]]></example> ]]></example>
</section2> </section2>
</section1> </section1>
<section1 topic='Security Considerations' anchor='security'> <section1 topic='Security Considerations' anchor='security'>
<p>Including a last user interaction notation in presence notifications can enable those who receive such notifications to determine exactly when a user has stopped interacting with his or her XMPP client or even their system, but this information is in essence already available if the user publishes timely presence updates. Therefore, this specification introduces no new vulnerabilities.</p> <p>The security considerations of <cite>XEP-0082</cite> apply to this protocol.</p>
<p>It's worth to note that the security considerations of <cite>XEP-0082</cite> apply here.</p> <p>this specification introduces no new security or privacy concerns. While including a last user interaction notation in &PRESENCE; updates can enable recipients to determine exactly when a user has stopped interacting with his or her XMPP client or even their system, this information is in essence already available if the user's client publishes timely presence updates.</p>
</section1> </section1>
<section1 topic='IANA Considerations' anchor='iana'> <section1 topic='IANA Considerations' anchor='iana'>
<p>This document requires no interaction with &IANA;.</p> <p>This document requires no interaction with &IANA;.</p>
</section1> </section1>
<section1 topic='XMPP Registrar Considerations' anchor='registrar'> <section1 topic='XMPP Registrar Considerations' anchor='registrar'>
<p>This document requires no interaction with the &REGISTRAR;.</p> <section2 topic='Protocol Namespace'>
<p>The &REGISTRAR; shall add 'urn:xmpp:idle:1' to its registry at <link url='http://xmpp.org/registrar/namespaces.html'>http://xmpp.org/registrar/namespaces.html</link>.</p>
</section2>
</section1> </section1>
</xep> </xep>