[JDEV] Jabber Client Design Tutorial
julian at jabber.org
Mon Sep 24 20:57:15 CDT 2001
First off, I don't believe in the idea of having similar-looking Jabber
clients. It would be nice to have a defacto client for each OS which
looks and acts similarly, but beyond that, I want creativity to shine. I
want to see different approaches at IM, not 20 VB clients for windows
which look and act *exactly the same* - what's the point in that?
Jens Alfke wrote:
> * Your list of status states in Jabber is wrong. The default is called
> "Available", not "None". There is no "N/A", instead you mean "XA"
> ("extended away", and I have yet to see any coherent description of how
> this differs from regular "away".) Also, "invisible" is not currently
> supported by the Jabber server; if you manually set your presence to
> "unavailable" you stop receiving presence or messages. There's also an
> implicit "unknown" state for people whose presence you don't have a
> subscription to (presumably because they haven't approved your request
Actually, latest jabberd does support invisible.
> * You don't mention one issue that bugs me about current Jabber clients.
> The Jabber "resource name" is associated with a particular login. The
> best usage of this is to identify the location of the client, i.e.
> "work" or "laptop" or "home". For a non-PC client the type might be
> useful, like "cellphone" or "T900 pager". However, whenever I look at my
> buddy list it seems like most of the clients (gabber, winjab, etc.) just
> use the name of the client as the resource name. This is fairly useless
> -- usually I don't care what brand of desktop client they use. It /is/
> often useful to know whether they're at home, at work, in a cafe,
> whatever. IMHO the client, when first run, should ask the user to enter
> a resource name, and it should store that as a persistent preference.
> This type-in field should not default to the brand name of the client;
> it should be blank to encourage the user to type something meaningful.
According to all statistics I can get ahold of and from various small user tests - people do *not* easily understand the concept of a resource unless they specifically intend to be logged in multiple times - and *most* users never use that feature of Jabber. Therefore, 'Gabber' is the default resource to reduce confusion - if the user doesn't understand it, they don't have to become frustrated trying to figure out what is going on. They can live happily without know what a resource is. That's the entire point of the MacOS HI guideline which states that options are nice, but you *must* *have* *good* *defaults*.
If in the future the majority of users need to understand the concept of
a resource, I'll gladly remove the default, but the point of UI is to
reduce the amount of information a user must learn and retain.
I need sleep
email: julian at jabber.org
jabber:julian at jabber.org
More information about the JDev