Resources
Screen Real Estate
The thing that bugs me about most of the Jabber
clients out there, is that they are just so BIG. And often
most of the space they take up on my desktop is wasted. People
spend hundreds of dollars buying larger monitors, and video cards
that can make the most of them, so the last thing they want is you
taking up room that is not supplying them with useful information.
Many of the clients I have seen look similar to
email clients, but there is a big difference between how these two
applications are used. Usually when people check email, they
open their email client, read and reply to messages, and then close
the client again. Even if the email client is open in the
background, normally there will be an alert such as a system-tray
icon and a system sound to indicate that new mail has arrived, so
the user can switch to the email client read the new message.

By contrast, instant messaging applications are designed
to always be running in the background. It is normal for a
user to be working, or surfing the web while carrying out a Jabber
conversation. Because instant messaging relies on presence
information, there is a requirement for the users list of contacts
to be visible while he or she is working with another application.
Having a list of online and offline contacts is
going to take up some screen space, no matter how it is implemented,
but there are some ways we can minimise the impact on the user of
always having a window open. This will be covered in more
detail in the contacts list section.
Memory & CPU
Although it is not of primary concern as RAM gets
cheaper each month, it is worth considering that unlike many programs,
a Jabber client is going to stay resident in your users RAM whenever
he or she is online, so an attempt should be made to keep memory
and CPU resources as low as possible. This may mean carefully
considering what language you choose to develop in, as many have
large runtime libraries that must be loaded. ICQ shows up
as using almost 18MB on my system, which is very large for a chat
program. To a lesser extent you should also think about resources
such as hard disk space, and how much time the client adds to the
users startup sequence if it is set to autostart. |