[JDEV] Jabber Client Design Tutorial

Peter Millard me at pgmillard.com
Wed Sep 26 09:51:12 CDT 2001

> Peter, thanks for the reply, but I was hoping for something a bit more
> helpful.  There seems to be a large amount of people who are prepared to
> stand up and say "This looks like the ICQ interface which is Bad" but
> are more productive ways to comment.  If you are going to take the time to
> disagree with something, at least state some reasons:
> Why do you prefer an IM interface that is more akin to an email client?
> (this is one that has always baffled me I have to admit)  What advantages
> does it have?

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.

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.

I actually "stole" GUI elements from several applications when constructing
the winjab GUI:
    - Outlook express
    - XChat
    - mIRC
All of these applications (IMO) do a good job at conserving real-estate but
providing a rich interface for doing different types of communicating.

> I may have worded the introduction badly, but I had thought I had made it
> clear that this document was my opinion on what I thought an ideal UI
> look like, and it was not intended to be all things to all people.  It is
> specifically aimed at the Windows desktop for one.  Obviously there is a
> need for different style clients.  I an not advocating that this is the
> ideal layout for a client on a mobile phone for example.

I agree, that this is perhaps your ideal client... but the way many parts of
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 GUI
for jabber clients, but it by no means represents what the Jabber community
thinks :)

Peter M.

More information about the JDev mailing list