What To Leave Out
One of the most common complaints I have heard
about the popular ICQ client is that it has become too bloated.
Not only does this add to the complexity that the users face learning
and navigating the application, but also increases the system resources
used on the users system.
What are great features and what is software bloat
is very subjective. Essentially it comes down to the fact
that the features that the user regularly uses are features, and
the rest (to them) is bloat. Obviously this will differ between
users, but a good guide before adding a feature is to try to decide
on a balance between programming time and effort, resources used,
and feature usefulness. It is also very important to consider
if the particular feature would be better to be implemented as a
separate application, or as part of a different application.
My personal list of 'features' that should not
be included in a Jabber Instant Messaging client include:
- Calendar
-
To-do list
-
Notepad
-
Birthday reminder
-
Email client
-
TV Guide
-
Internet Search
-
Web Browser
That is not to say that all these are not useful,
but in most cases they would be better to be written as separate
applications, or implemented as Jabber Bots. If you feel the
urge to add functions that you think a large number of your users
will not need or use, I would suggest creating a plugin spec for
your client, and implementing these features as plugins. This
means that users that want them can download and install them, and
those that choose not to don't have to waste the system resources.
It also has the advantage that other authors can write plugins to
enhance your client with features that you may not have thought
of, or do not have the time or desire to implement. |