[JDEV] Buddy Icon (Avatar) Proposal

Jens Alfke jens at mooseyard.com
Fri Aug 31 12:04:58 CDT 2001

On Friday, August 31, 2001, at 02:15 AM, Sebastiaan 'CBAS' Deckers wrote:

> What color depths should be allowed?

I'm not aware of any rendering implementations that have problems with 
different color depths. Everything should just get dithered if 
necessary, right? (This seems like it's mostly an issue for non-PCs, 
i.e. PDAs, since I can't imagine many desktop computers still use less 
than 16-bit color. Still, dithering RGB color down to one-bit pixels is 
hardly rocket science.)

> Where's the bitmap support? You allow PNG but not BMP, doesn't seem 
> right.

All of these formats are bitmaps, just with different bit depths and 
compression schemes. All I know about BMP is that it's a venerable DOS 
file format, but what does it bring to the table that GIF/JPEG/PNG don't?

> Why not use scalable graphics? Or if that's too much of a hassle, why 
> not
> have multiple sizes of the same icon available?

With scalable graphics I think the issue would be cross-platform 
rendering support. I think Flash is currently the most compatible vector 
format (but is there an X-windows implementation?) Adobe has SVG viewer 
plug-ins for a number of platforms but I don't know how easy they are to 
integrate into applications other than web browsers. And of course 
there's PDF, which is trivial to render on Mac OS X but probably more 
difficult on other platforms :-)

These would be nice as an option but we can hardly make it a 
requirement. Many people will want to grab a picture from a webcam or 
digital camera and import it as their buddy icon, which implies a bitmap 

> You dropped MNG support, but is it ok to use animated GIF's? AVI/MPEG
> animations? (sounds? :-) )

Animations would be interesting. Definitely too obnoxious if they were 
always playing in your buddy list, but I could imagine the animation 
playing only while you moused over the icon, or in a chat window when a 
new message from that person appeared. GIF89 is very compatible and 
fairly compact. AVI/MPEG/QuickTime/etc. are all probably too large to be 

Sounds could be very useful if they were used as message alerts: 
whenever you get an IM from me (in a new thread) you hear my voice 
saying "Message from Jens!" (As a bonus this would teach people how to 
pronounce my name...) Uncompressed 8-bit 5KHz audio (telephone quality) 
runs 5kbytes/sec, which is OK for an announcement, and various codecs 
can make that even smaller.

To provide multiple types (including multiple pixel sizes of image 
types) we need a way for the receiver to find which types are available 
and to be able to request a specific type. The latter can be satisfied 
by storing each type in a separate sub-namespace (e.g. 
'jaber:iq:avatar:gif-48' for a 48x48 GIF) but without browse capability 
on the server you don't get the former. Perhaps that's acceptable 
degradation, though.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/enriched
Size: 3085 bytes
Desc: not available
URL: <http://mail.jabber.org/pipermail/jdev/attachments/20010831/cbc14459/attachment-0002.bin>

More information about the JDev mailing list