The Contact List
Lets have a look at a well laid out contact list.
The dimensions of the main window should allow the user to have
it remain open beside other applications and always remain visible.
Since the data is a list by definition, it is naturally convenient
to have a tall skinny window, but there is nothing to stop you have
the window display two or more columns if the user drags the window
wider.

Information like user status, your own status, and
waiting events should be available by one quick glance at this window.
Groups
Jabber wisely organises all users into groups.
Each group should be collapsible so that you can focus on only the
people you are interested at the time and conserve screen space.
For example, if you are at work, you will probably have your "Friends
group" collapsed, as you are unlikely to chat with them while
you are working.
The right arrow for a collapsed group and the down
arrow for an expanded group is a good convention to follow.
If an event comes though from a contact in a collapsed group, the
45° arrow should be shown to indicate that one or more users are
temporally displayed even though the group is collapsed.
The sorting of contacts by status is very important
for a Jabber client. Most clients I have seen simply have
the contacts sorted alphabetically within each group, with an option
to show or hide offline users. This might be fine for simpler
systems such as MSN and AIM, but since it is possible to send messages
to offline users with Jabber, most of the time you will want to
have access to users who are not currently online. My strong
preference is to have two versions of each group, one for people
who are online, and one for people who are not, as per the illustration.
This allows the people who you want to contact most often (people
online) to be sorted near the top, so they are easy to access, and
you can still scroll down to get to people who are offline.
It is also good practice to include an option to move the name of
the contact to the top their group when a message is received in
order to make them easier to locate.
Online and offline contacts should be differentiated
by colour and/or icon.
Title Bar
Instant Messaging clients are typically long and
skinny, so usually the space on the title bar is fairly limited,
but can still be useful. The space in the title bar is probably
too short to effectively display the JID that is currently logged
on, but this is very useful information especially if multiple users
are sharing the same machine. The close window widget (X)
should not actually exit the app, but should minimise the contact
list window just leaving the system tray icon. The user will
consider its function to close the actual window, not exit the actual
program and will avoid novice users exiting the application accidentally.
Truly exiting the app can be done through the popup menus, or by
right clicking on the system tray icon.
I would recommend a simple way to change a window
from "always-on-top" or to send the contact list to the
back, to enable the user to easily get to part of the workspace
that may be obscured by the client. |