This document proposes an XMPP protocol extension to indicate the visual presence of an XMPP entity.
Presence detection is a core part of the XMPP standard. The importance of locating co-workers and team members is critical in a distributed work environment; as anyone who has played phone tag or struggled with catching a co-worker in her office can confirm. XMPP has made activity tracking data available through presence messages, but this has not met the need for enhanced communication and collaboration among teams for a variety of reasons. In particular, its has not been very effective at enabling opportunistic or spontaneous interactions. XMPP presence is largely relied upon user, system or application input, rather than the natural tendency to strike up a conversation with someone you notice to not be otherwise engaged.This form of presence indicator does not provide any visual clues and cannot confirm if the user is actually at their deskl engaged in an exchange with someone else or otherwise engaged.
Studies of workplace communication show that most interaction occurs spontaneously for short periods of time. These unplanned interactions happen naturally when group members are co-located. Despite research from various disciplines showing the value of these informal interactions, evidence indicates that people in the workplace do not recognize their value. Workers tend to overuse formal meetings and underutilize impromptu communications relative to their value. Data indicates that without visual information about the availability of others, connection failure is high. More than 60% of business phone calls fail to reach their intended recipient. There is a need for visual presence detection for distributed collaboration networks.
The Visual Presence extension is designed to meet the following requirements:
Visual presence MUST be included as extended content within a standard XMPP presence stanza. This is consistent with the rule that presence stanzas must be related to the network availability or communication preferences of the entity that provides presence information.
<presence from='juliet@capulet.com/balcony'>
<visual-presence xmlns='http://www.igniterealtime.org/xmlns/visual-presence'>
base64-encoded-jpeg-image
</visual-presence>
</presence>
The following rules apply to images:
The image SHOULD use less than eight kilobytes (8k) of data; this restriction is to be enforced by the publishing client.
The image height and width SHOULD be between thirty-two (32) and ninety-six (64) pixels; the recommended size is forty-eight (48) pixels high and sixty-four (64) pixels wide.
The image SHOULD be rectangular.
The image content type SHOULD be image/jpeg
The image data MUST conform to the base64Binary datatype and thus be encoded in accordance with Section 6.8 of RFC 2045, which recommends that base64 data should have lines limited to at most 76 characters in length. However, any whitespace characters (e.g., '\r' and '\n') MUST be ignored.
This specification applies exclusively to Jabber/XMPP clients and places no additional requirements on Jabber/XMPP servers.
TODO
This document requires no interaction with the Internet Assigned Numbers Authority (IANA).
The XMPP Registrar shall include 'http://www.igniterealtime.org/xmlns/visual-presence' in its registry of protocol namespaces.
TODO
TODO
A webcam shot every now and then might give interesting views on your chatpartner ![]()
Also seems there's a typo unless my english fools me
"and ninety-six (64) pixels" <-- supposed to be 96 right?
This proposal shows fundamental concepting that is lacking in competing products.
Though my Java skills will be more limited, I would like to "join" your effort.
I have a client who wants to do someting very much like this, though we have to maintain a constant awareness of the limitations in a of a broad range of the masses who are not informed on details of how such protocols work and the skills in the risk management area. It is a constant hassle that requires deep skills in such things as Unihan. That is not always easy, providing protections on client-side may be resolvable by doing a fast-drop and block
EG: The cursor is off the screen viewable area right now, average person would become alarmed,.... duh
I'd love to see this use PEP instead of a presence extension -- that's definitely the good way to do this type of thing these days. That way you can choose who sees that particular presence, etc.
I'm not sure I'd want constant webcam snapshots being published, but that's a different discussion.