single-window chat planned or implemented?

"Steven D. Arnold" <stevena-/[email protected]>
Newsgroups gmane.network.fire.general
Message-ID <BBB63707.99CF%[email protected]>
Hi,

I was wondering if any single-window chat concepts were being considered or
were already implemented for 1.0.  If not, I thought I'd do that myself and
submit it to the developers.  The concept is given below, UI advice is
welcome.  I'd like the UI to be as easy-to-understand as possible, but a
higher priority for me is to make chatting with multiple users as easy as
possible without taking one's hands off the keyboard.  I believe it is
possible to do both of these at the same time.

The UI would work like this: Hit a command-key and a window opens (or is
brought to the front) which will receive all messages from future chatters.
On the left-hand side will be the list of people with whom you are
conversing, with a command-key combination beside each one which will direct
the next message to that user.  These will number from command-0 to
command-9.  Any chatters beyond that will appear in the list but will not
receive a command-number combination.  These users are inserted into the
list in the order they send you a message or you send them a message, and
once set, the number never changes unless you change it manually, or if you
quit and restart Fire.

At the top of the window will be a pop-up menu of all logged-in users.  If
you select a user from this list, the next message will go to that user and
the menu will be reset to its original text (i.e., "Logged-in Users").

The chat window proper will look like an ordinary chat window (except for
the differences noted, like the logged-in pop-up and the menu of users on
the left) and can be resized etc.  It has a pane above for chat text and a
pane below for typing text.  All messages from all users appear in the same
window, probably just like they do now in Fire, in the order in which they
were received.

By default, if you don't select a particular user, your message will go to
the user who most recently sent you a message /as of the time you began to
type the message/.  This prevents situations where an instant before you hit
enter, another user sends a message and your message ends up going to them
instead.  The current user for whom this message is destined will always
clearly appear right above the text-typing area to help prevent any
confusion.

You can hit command-up-arrow to select the user who most recently sent you a
message; hit it again and it goes to the next-to-last user to send you a
message, and so forth.  Command-down-arrow will move the other direction on
the stack.  This stack clears when you quit Fire.

You can use command-right to go to the last user to whom you sent a message
and move to previous users to whom you have sent messages.
Command-left-arrow moves the other direction in that stack.

You can click a lock icon next to any user in the list to cause all future
messages to go only to that user unless you specifically select another user
with a command-key combination or by picking someone from the pop-up menu.
Further, when locked, you have to select another user each time in this way
or it goes to the currently-locked user.  You can unlock the user by
clicking the lock again or clicking the lock next to a different user (which
would lock that user instead).

You can manually set a user with a command-number combination by
highlighting the field where the command-key combination appears or would
appear, and typing in the desired combination.  If the new combo is held by
another user and the selected user also has a combo, they switch.  If the
combo is held by another user and the selected user has no combo, the other
user gets the first unused combo, or no combo at all if all others are in
use.  If the combo is not held by another user, the selected user gets it.
Users are always displayed in the list in command-number order (0-9) rather
than alphabetically (though this could change).

If any chat windows from users in the list are open, all messages to and
from that user will appear in the user's window as well as the combination
window.  So if I send Joe a message in my combined window, the message will
appear in Joe's individual window as well, assuming I have a specific window
for Joe opened at the time.

I understand some of the command-number keys are assigned elsewhere in Fire
at the moment.  One possibility is to disable those command-key combinations
when this general window is frontmost.  Another idea is for me to use
different command-keys myself, perhaps command-shift-number or something.
Another idea is to change the current command-number associations; they seem
rarely-used to me, but perhaps others can correct me if that is not their
impression.  Any other ideas would be welcomed as well.

As I said, this is only an initial UI concept; any feedback or constructive
criticism is welcome.  Also, as I said, if this or something like it has
already been done, I'd like to know and I'd definitely wait to see what it
looks like before doing anything.

Thanks,
steve



-------------------------------------------------------
This SF.net email sponsored by: Enterprise Linux Forum Conference & Expo
The Event For Linux Datacenter Solutions & Strategies in The Enterprise 
Linux in the Boardroom; in the Front Office; & in the Server Room 
http://www.enterpriselinuxforum.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.