[Standards-JIG] UPDATED: JEP-0084 (User Avatars)

Heiner Wolf wolf at bluehands.de
Tue Mar 29 17:53:49 UTC 2005


I like the URL attribute.

I would propose to change "MUST be between 32 and 64" in "6.1 Image
Requirements" to SHOULD. SHOULD is strong enough so that implementors
try to comply. 

Reason 1: 
You can not control what clients store at pubsubs. They SHOULD store
only small images. They SHOULD tell the user or resize before upload.
But there will be some which don't. Worse: The URL parameter lets users
use avatars with arbitrary size and the client can not guarantee proper
size. My experience with users is that you have a good chance to get
larger images, if they can send a URL. What does a client do if there is
a larger image? Does it discard it? A good implementation would
accomodate and scale the image. So we would get a situation that the
protocol says MUST. Some users do not comply even if their clients try.
But clients try to make it work and rescale. Result is a circumvented
MUST, which should be avoided. SHOULD is good enough.

Reason 2 :-)
LLuna uses 96x96 and it rescales, if users submit larger ones as URL.
Would be sad, if LLuna avatars would be ruled out.

Proposal: change MUST to SHOULD and add an impl note about proportional
down scaling. Same SHOULD for the 8 kilobytes. 

Question: is it possible to add a size (in bytes) attribute to the
<avatar/>. At least in case of pubsub, this would be reliable and could
be checked by the client before unknowingly requesting megabytes over
the XMPP connection.

Just a note: please keep in mind that this JEP is not just about
thumbnail images. An avatar is not necessarily a small squared image in
a buddy list. I use animated figures which walk around and have idle
moves. In case of images they simply slide, but there are avatar types
with animations beyond animated GIF. I would like to use this JEP for
virtual presence avatars. Of course, I can roll my own, but I'd rather
use this one. I just want to note, that if something is called "avatar"
(and not "thumbnail image") then it can be quite different from a small
squared image. 

Question: should we add an implementation note about GIF animations. Are
they supported. Is this a SHOULD, if GIF is supported?

I would like to specify the encoding of the avatar data. Now it is fixed
to base64. But it would be nice if we could change that later. I propose
an encoding-attribute for the avatar data, which defaults to "base64". I
would support at least one more (encoding="plain") now, so that I can
send XML avatar data in clear text rather than having to base64 it. This
is not theoretical. I have been using this in LLuna for 2 years.

<avatar xmlns='http://jabber.org/protocol/avatar' type='image/png'

Finally I would like to point out that having a <avatar/> tag with an
xmlns='http://jabber.org/protocol/avatar' might not be the best
solution. There will be other data blobs for other purposes. For
example, there will probably be a new VCard. I can only speculate, but I
guess the vcard will have a <vcard/> tag with a vcard namespace. It will
have the same attributes (id, jid, node, type, url). The new VCard JEP
can be generated by replacing "avatar" by "vcard". The same will happen
to the next info blob. Looks a bit redundant to me. Maybe we could
generalize now and let only the namespace differentiate without
inventing a new tag name and a new XML schema each time. 

Proposal: change <avatar/> to <data/>. Make a base JEP for these
disco-ed and pubsub-ed info blobs and an additional avatar JEP. The base
JEP would be a "PubSub Blob JEP". It has all the examples, how they are
created, the SHA1-digest and the HTTP-URL things. The "Avatar JEP " has
only the avatar specific parts, i.e. the namespace, Business Rules, and
Implementation Notes. A new VCard would use the "PubSub Blob JEP" and
add only namespace, Business Rules, and Implementation Notes. 

Dr. Klaus H. Wolf
bluehands GmbH & Co.mmunication KG
+49 (0721) 16108 75
Jabber enabled Virtual Presence on the Web: http://www.lluna.de/
Open Source Future History: http://www.galactic-developments.com/

>-----Original Message-----
>From: standards-jig-bounces at jabber.org
>[mailto:standards-jig-bounces at jabber.org]On Behalf Of JEP Editor
>Sent: Tuesday, March 29, 2005 1:18 AM
>To: standards-jig at jabber.org
>Subject: [Standards-JIG] UPDATED: JEP-0084 (User Avatars)
>Version 0.5 of JEP-0084 (User Avatars) has been released.
>Abstract: This JEP defines a protocol for exchanging user 
>avatars in Jabber/XMPP.
>Changelog: Friendly fork per Council discussion: allowed data 
>to be stored in a pubsub data repository or at an HTTP URL; 
>also split text into publisher and consumer use cases, 
>specified requirements, added more examples, etc. (psa/pgm)
>URL: http://www.jabber.org/jeps/jep-0084.html
>Standards-JIG mailing list
>Standards-JIG at jabber.org

More information about the Standards mailing list