[JDEV] Jabber Client Design Tutorial

Michael Brown michael at aurora.gen.nz
Thu Sep 27 04:06:27 CDT 2001

RE: http://www.aurora.gen.nz/jabber_design

> My primary goal in building Winjab was to essentially create a unified
> messaging "application" that could handle all kinds of messages and forums
> that you would normally communicate in. These forums included:
>     - email
>     - one on one chats with people
>     - group chats (conference rooms)
> These 3 things comprised almost 100% of my daily communication modes. I
> designed the winjab gui such that it could easily encapsulate all of these
> various modes.

Ahh - it all becomes clear.  That makes the WinJab a bit less perplexing to
me.  Doesn't suit me at all (but for those who like it that's great).  I'm
all for a separate email client - applications should be seperated where
possible - it's the OS's job to tie them together.  A combined email/IM
client means that 50% of it is bloat for anyone who already has an email or
IM client that they are happy with.

> My other goal was to eliminate the mess of windows that a system like
> ICQ, AOL, etc always seem to create. When chatting with 10 people, I
> don't want 10 "top-level" floating windows on my desktop. If I want
> to communicate, I should just be able to click on the Winjab icon in
> the taskbar to do whatever I need. From this standpoint, I'm not just
> an IM user, I'm a "msging user" :) Which is very different. I might want
> to participate in a conference, I might want to chat 1-1 with someone,
> or maybe I'm sending an offline msg to someone (ala email). I would
> actually say that the way I use winjab (where everything is docked by
> default) it takes up considerably less space than something like an ICQ
> interface would. Why? Because I almost never have less than 4 windows
> open at once. So in a traditional ICQ style client, I'd have my roster
> (1 window) plus 4 or more other windows floating on my desktop
> and consuming real-estate. With the winjab design, I have a single
> window which encapsulates all of these windows.

The point about conserving screen space only applies to the contact list -
the actual messages are either behind the window that has focus if you are
ignoring them, or have the focus if you are reading or replying, so screen
space isn't much of an issue.  You don't have to "monitor" them like you do
the contact list.

This "too many chat windows open" is actually also my problem with most
Jabber clients.  I have tried to illustrate this on my website (but
obviously failed).  I am advocating an interface similar to the *classic*
mode of ICQ (rather than the split-screen chat style that most Jabber
clients have), because messages are discreet.  If you are chatting with 4
people, you don't have 4 windows open - the messages are queued and just
flash in the system tray until you are ready to read them.  Once you are,
you pick the person you want to talk to, and the oldest queued message from
them comes up.  Once you have read it, it goes away.  No screen clutter.

> I agree, that this is perhaps your ideal client... but the way many parts
> your article are worded, it conveys an attitude that this should be the
> ideal GUI for all windows clients. In the past, Jabber has had a difficult
> time always conveying ideas to the community.. documents like this I think
> would give the "newbie jabber developer" the wrong impression about the
> community as a whole. I agree that it may be what _you_ consider a good
> for jabber clients, but it by no means represents what the Jabber
> thinks :)

I don't think the Jabber community actually thinks collectively - we are not
borg - but fair point.  I'll reword the intro a bit clearer when I get time
to do an update.


More information about the JDev mailing list