The chatterbox is a great thing. Some of you may agree with this - some may not. However, it is part of how E2 is now. People need to talk, and communicate and not everyone can (or wants to) get on to IRC to do this.

The biggest 'problem' with the chatterbox is the topics / rooms. Typically a conversation will eventually spill inside to the outside room. Given the current climate of the world, a war or government debate will take place. This either gets borged, pushed into the political asylum or takes over the conversation and people get pissed. This is not a good thing.

The ideal solution is to have the chatterbox allow a person to watch multiple rooms at the same time so they don't feel 'left out' of outside head back there, and eventual start talking about something that is best discussed in another room.

The biggest problem with this is the interface short of switching back and forth between the rooms you want to watch constantly, there is no good way to do this.

First off - the how it looks.

If you ware watching one room and only one room, then nothing in the way things look changes. This is good. If you are watching two or more rooms then the rooms that you are watching but not 'in' (you can still only be 'in' one room) would have the name of the room prefixed to the chat message :

<m_turner> Boobies!
(political asylum) <g.w.bush> War!
(noders nursery) <newbie> votes?

Room messages will be sorted by room and then by date. It may be reasonable to put a <hr> tag between room sections. Further improvements to the interface could be done akin to EKW theme changes - allowing the talk room to be one set of font attributes (size, font, color) and the watched rooms to be another set of font attributes.

Second off - how to control it

Control over the multiple rooms would be given in a room control nodelet:

watch  room               talk
 _X_   outside            (o)
 _X_   political asylum   (_)
 ___   noders nursery     (_)
 ___   ______________     (_)
The watch box is a checkbox.
The talk spot is a radio button.
The _______ is a text field.

One non-standard room is allowed for fill in. This is automatically set when a noder visits to a non-standard room node. In theory more than one non-standard room could be allowed - though it may get confusing.

Selecting a spot room with the radio button automatically checks the watch box for that room (upon submission - javascript not needed). talking in a room implies that you are watching it too. You cannot talk in a room you are not watching.

The effect of this should be good for E2 - it allows a person to not feel left out about a topic in one of the other major rooms while still discussing matters within a particular room. Editors and mentors can talk to people in the nursery without being lost from the view of everyone else.