[JDEV] Jabber Client Design Tutorial

Michael Brown michael at aurora.gen.nz
Wed Sep 26 02:51:35 CDT 2001

> > The main problem was that I needed a three-phase icon (for when you get
> > an event from someone in a collapsed group), and couldn't think of
> > anything beyond the + and -. Also, to replicate the +/- style usually
> > means showing the tree branches, which takes up horizontal room,
> > resulting in wasted pixels.
> You can indicate activity within a collapsed group by blinking the group
> title or something like that. And I think that using the platform's GUI
> is generally more important than wasting a few pixels. (Trees without
> sufficient indentation are actually really hard to follow, I think.)

Really really bad idea.  In an IM (or most things GUI related) anything
flashing should be reserved for something that requires the users attention.
In this case an event (usually a message).  If you have something always
flashing in the corner of your screen you are going to cause your user to be
continually glancing at it.

Since Jabber can only have "trees" one level deep, this is hardly an issue
(this is still true isn't it?)
Also - while I think about it - what's with not being able to have an empty

> > But is it useful to display the current resource on the client? Or is
> > it ok to just have it in the settings?
> It is very useful to display in the client! For example, it lets you
> tell at a glance whether one of your co-workers is in her office or is
> telecommuting from home.

Sorry, I was meaning *your* current resource, not the ones of your contacts.
Usually you will know if you are in the office or not.

Usually for contacts, their online status is the most important thing.  If
you want to know their location, you can do something to look it up (hover
your mousepointer for example).  [Note: Your opinions may differ, I am not
suggesting anyone change their clients etc etc]

> > I think each user should be displayed only once...and events should go
> > to the resource with the highest priority by default, but it should be
> > possible to send to resources with lower priority. But does this
> > include offline resources?
> This depends on two things that I'm frankly not sure of:
> * What happens if you send an IM to a specific resource which is
> offline? Does it bounce, does it go to the highest-priority online
> resource, or is it queued until that resource logs on? If the latter,
> then there might be a use in IM'ing an offline resource.

Queued for sure would get my vote.  If you send to a specific resource,
obviously the intention was not for it to go to the highest online resource.
Messages shouldn't bounce in Jabber.  The client should provide the
information at to it's online or offline status before you send.

> * What is the presence of a gatewayed resource like a pager or
> cellphone? Obviously Jabber doesn't know when you turn your phone on or
> off, so the presence can't update accordingly. Does the presence always
> get shown as available or unavailable? If the latter, there is
> definitely a need to be able to message such an offline resource.


> > Sucks why? "They all suck" is a little vague.
> Suffice it to say that my primary gripes are that they don't show rich
> enough status info,

I'm not really sure what you mean here.  They show all the status modes that
the protocols support at a glance.  Sure resources etc would be nice, but if
the protocol doesn't support them it is hardly a client issue.

> and that the chat view is really impoverished (it's
> basically just a plain-text telnet window, maybe with some boldface or
> colored text if you're lucky.)

Never really been much of a fan of split-screen chat's myself, but some
people seem to like them.  There are not many people who are going to be
bothered changing fonts and word colours in a chat situation.  I'm
fascinated that this is important to you though.

> And none of them really seem to make good
> use of avatars (apart from the really experimental ones like The
> Palace.) I think avatars / buddy pictures are very important -- out in
> the real world a huge fraction of people think best visually rather than
> verbally.

I agree - should be very interesting to play with them.  Again though, this
isn't a client issue since the protocols don't support Avatars.  Also I
think you are going to find that 70% of end users stick with the default
Avatars, and 20% of those that customise them are going to be so annoying to
you, you will want to override them at your client.

> Yeah, there are slight differences between AIM, ICQ, MSN, Yahoo, etc.,
> but really they're all pretty close to being carbon copies of each
> other. For the most part developers are just cribbing from existing
> clients rather than Thinking Differently.

I so don't agree with that.  ICQ has so much more functionality than the
others (in some case too much).  I'm all for innovative designs, but at the
same time it has to be balanced with what is known to work.  Experimental
clients are fine, but what Jabber really needs at the moment is some solid
clients to compete with the commercial services (IMO)


More information about the JDev mailing list