|
There is also the split-screen chat style where you enter text in
the lower half of the screen and your text is echoed in the top
half along with the person you are talking to.

Both formats have their place. The Jabber
protocol supports the first message type by default, with an optional
flag to indicate if the message should be displayed split-screen
style.
Unfortunately all Jabber clients that I have seen
so far override the flag, and just display each message in the format
that the author prefers (usually split-screen style).
Generally, discreet messages are preferred if someone
is asking you a quick question or two, because the interruption
is minimal. Even for short chat sessions they are fine, especially
if keyboard hotkeys are implemented
so that the user doesn't have to take his or her hands off the keyboard
to answer each massage. For a longer chat session however,
a split-screen style is probably more desirable as it provides some
message history regarding who said what on the screen.
Often since quick questions can sometimes
develop into longer chat sessions, there should be some way to convert
one window type to another. In the illustration I have provided
a widget that will convert a discreet message window into a chat-style
window and back again. Clicking on this will force the window
to stay open in chat-style until the user clicks Cancel.
When writing messages, the <Enter> key should
perform as normal - creating a new line in the message. To
send the message, the user should click the "Send" button,
or press the <Alt>-<Enter> key. Having the <Enter>
key send a message, causes users to send many more shorter messages
than they otherwise would, which can get annoying if the other user
is in discrete message mode.
If the user decides to CC other people on a particular
message, it should be possible to Control-Click on names on the
contact list to add those contacts as recipients of the message.
Since Jabber is so fast at sending messages, there
is no need for an animation to show that it is in the process of
sending.
|