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:
- xep-0008 iq based avatars - avatars limited 64 64 pixels, small.
- 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)
- 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
Post a Comment