ejabberd - XMPP support for avatars in multi-user chat -


i'm creating (yet another) mobile chat app, using smack , ejabberd. i'm trying ascertain best way implement user avatars use in multi-user chat rooms, , of course roster members. looking @ possible solutions, can see:

  1. xep-0008 iq based avatars - avatars limited 64 64 pixels, small.
  2. xep-0153 vcard based avatars - easy implement both users in roster , muc rooms, (a) sources such this seem indicate one's own vcard needs downloaded on every login (is strictly true? can't see in specs), , (b) should less 96 96 pixels (still pretty small)
  3. xep-0084 user avatar based on personal eventing protocol - i'm not clear how can retrieve avatars users in multi-user chat room based on protocol. after joining chat room, need subscribe metadata node of users, , subsequently joining users? , unsubscribe when leave room? figure pretty ugly , clumsy implement.

can kindly point me in right direction, or indicate may have misunderstood? thanks.

i guess best way address issue may store/load images out of band via http server. images stored filename such "username_imagehash.xxx". users not in one's roster (eg strangers in multi-user chat), pull avatar via uri retrieved vcard photo field. each time stranger re/encountered, reload vcard, , can identify need redownload photo via change in uri in vcard.

once user added one's roster, subscribe avatar updates via xep-0084, publishing same uri (see example 4. in xep-0084).

i think addresses requirements, find out once i've implemented. can understand not done way in standard xmpp clients depends on http server separate xmpp service (and need handle http server security - user authorization/authentication).

feedback welcome!


Comments

Popular posts from this blog

powershell Start-Process exit code -1073741502 when used with Credential from a windows service environment -

twig - Using Twigbridge in a Laravel 5.1 Package -

c# - LINQ join Entities from HashSet's, Join vs Dictionary vs HashSet performance -