Interface of Chat

sorry, this is a little off-topic, but i dunno where to post instead:

i have to write a little chat system. ive already done this some time before as a server/client tcp/ip model but it got a horrible user interface.
now i have the target to make a more intuitive interface and im searching for some suggestions.
in my old chat i had the good ole’ style:
a big textarea in the middle for output, on the right some pull-downs for choosing font, color etc, on the left a list of all clients, a text field for input and some window-menus.

the main change shall be on the client-list. i want some graphical addons (e.g. avatar, not only text, all clickable for more details in a frame, banning etc). but how to display the clients ? in a list could be somehow bad to use. perhaps a system of internal windows, one for clients, one for chat ?!?

how would you like to use such a chat ? any additional things ?

Top suggestion: don’t.

Find an IRC client lib written in java, make a “pluggable chat” interface, write a wrapper for the IRC client lib, and go with it. If/as/when people want other chat systems, go find other 3rd party chat systems in java, and just adapt them via the interface.

I say this because making a GOOD non-trivial chat system is a lot of hard work, and it’s been done so many times before that it’s liable to be a lot easier to just keep trying other people’s solutions (especially where they use some of the tends of standard comms-protocols, like AIM, IRC, Jabber, etc; this is a commoditized area: so don’t bother rolling your own (now that you’re going beyond the simple no-frills version))

ohhh, i think heres a misunderstanding: i dont want to create a commercial or official chat system. im not that good and i dont have the time.
its only a bigger homework, but i want to realize a little more than the core aspects of a text sender/receiver.

[quote]ohhh, i think heres a misunderstanding: i dont want to create a commercial or official chat system. im not that good and i dont have the time.
its only a bigger homework, but i want to realize a little more than the core aspects of a text sender/receiver.
[/quote]
Nope, that’s exactly what I was thinking of; my point is that this is something that

  • has been done many many times
  • is available for free in lots of guises
  • has been thought about and experimented with by many others

so that you should just be able to go and grab a free 3rd part lib; I would be surprised if there aren’t many tens of “JChat extends JPanel” (sic) implementations that you just .add(…) to your swing GUI. Or AWT versions.

I’m suggesting that you setup a simple facade and then play with different ones rather than doing the work yourself and/or being limited to what UI you think up :). Whatever ever UI’s are common and popular are more likely to be represented in such 3rd party libs. Although you miight find all the best ones have the GPL and you may not be able to use GPL :(.