[Standards] Client/version Display (was: XEP-0115 redux)

Rachel Blackman rcb at ceruleanstudios.com
Thu Jan 17 14:09:45 CST 2008


> On Jan 17, 2008 6:42 AM, Rachel Blackman <rcb at ceruleanstudios.com>  
> wrote:
>>> Seriously, we're talking about breaking a really good protocol for
>>> information that is only mildly useful...
>> Sure, but then recognize some people will iq:version flood because
>> they'll feel the need to query an entire contact list.
>
> It is true that the users 'require' this.
>
>> My only real point is that end-users /do/ want this functionality.
>> And it's functionality which they presently have (being able to see
>> the client info of one of their contacts).  Taking away existing
>> functionality rarely goes over well with end-users.  If we're all  
>> fine
>> with saying 'screw the end-users, they don't know what they really
>> want,' that's fine, but I'm pretty sure at least one client author  
>> had
>> chimed in earlier about how end-users were unhappy when they removed
>> that information before.
>
> That was me, and yes - removing the full iq:version query from Psi
> caused quite an outcry when we replaced the iq:version flood with caps
> based versioning, and only doing iq:version when directly queried.

I think what this boils down to is:

1) Client name/version display information no longer really belongs in  
caps.  We can all agree on this.  The fact that it was part of caps in  
the first place was less by design and more an unintended side benefit  
of the way caps used to cache on a client+version unique basis, and  
included the client display name (in the disco#info results) and the  
version (in the caps data).

2) We don't want to clutter presence further by cramming things in  
there, since everyone HAS to get presence, and then it'd be in every  
packet.  Fair enough; this would in theory waste more bandwidth than  
the old iq:version flood did anyway, since it forces the information  
on everyone whether or not they want it.  (After all, desktop users  
may care a great deal about viewing this information, but mobile phone  
users probably do not.)

3) Users demonstrably want this feature and will be upset if it is  
removed, as Kevin related.  This is a key point here; I think we often  
lose sight of how much our end-users can care about little features we- 
as-designers may think are meaningless.

4) Pretty much any solution that's been put forward involves per-JID  
caching of some form.  This means pretty much any solution will be  
something you need to probe each of your online contacts with.  Either  
with some sensible method (only probe when you mouseover and need a  
tooltip, or whatever), or just plain flooding the entire roster.

5) Given points 1-4, the old-school iq:version is actually starting to  
seem the logical solution, since it gives you the information on a per- 
JID basis anyway.  Possibly with a best-practices XEP if we care  
enough to discourage a straight-out flood.

I think we have an unfortunate tendency to focus on all sorts of  
aspects of the protocol that the end-users don't care as much about,  
while forgetting the sort of features they do.  Things like this -- or  
avatars, or showing whether you're on from a desktop client or a  
mobile phone client -- may seem like pointless frosting (and empty  
calories) on the protocol cake to us, and far less important than  
sorting out some nasty edge case for MUC, or coming up with the best  
way to tunnel RPC-XML through XMPP servers.

But (to stick with the cake analogy) the end users often care less  
about whether we used fresh vanilla in the cake or vanillin extract,  
and more about whether or not their piece of cake has one of those  
'pointless' frosting roses on it.

To us, the ability to show whether someone is online from a desktop  
client or a mobile phone may seem silly and almost feepish, but to AIM  
users, they can get really upset if the little 'mobile' indicator icon  
doesn't work.  And when I first tried to convince my parents to move  
to XMPP years ago, when people were still arguing that avatars were  
silly and unnecessary, my dad went back to MSN because on Jabber "I  
can't set myself to be the little space shuttle."  To him, that was a  
killer feature; he couldn't be the space shuttle on Jabber, and he  
couldn't see mom's little Zen garden avatar, and so he felt Jabber was  
a less-friendly protocol and went back to MSN.

That said, we've probably spent more than enough time on this aspect  
of the discussion.  So if everyone else is fine with just saying  
'users want this and iq:version is sufficient, let's just trust the  
client authors to query in a sane manner,' then let's go with that,  
move on with life and get back to more important things.

-- 
Rachel Blackman <rcb at ceruleanstudios.com>
Trillian Messenger - http://www.trillianastra.com/


More information about the Standards mailing list