Chat Features

Here's a more detailed explanation of the main features of the chat server and chat module respectively.

 functional
  • multilanguage support
    you can have a community with a crossfire of languages, but all members can get her interface in her native tongue.
  • unlimited number of channels
  • private channels
    each chatter gets his own private channel automatically and has the posibility to invite someone.
  • moderation You can turn each channel to a moderated one. In this case,
    • each line must be enabled by the moderator to be readable by the normal chatters and by a special guest, if there is one.
    • lines from the special guest or the moderator are directly readable.
  • password protected channels
    you can set a password for each channel.
  • maximum number of chatters
    you can limit the number of users for each channel to a desired value.
  • user groups
    the chat comes with four user groups:
    • chatters
    • operators of chat. this chatters can kick and ban users.
    • VIPs (in moderated channels)
    • moderators (in moderated channels)
  • chat in a separate window
    users can chat with each other within a separate window beneath the standard chat interface.
  • chat mail
  • new line alerts per sound or message
    each chatter can configure the chat so that he gets an sound or message if there is a new line posted to him.
  • different themes
    each chatter can change the design.
  • IRC-style commands
    • /locate nickname to find a chatter
    • /nickname to speak to a chatter
    • /me is replaced by your own nick
    • /msg nickname to whisper to a chatter
    • /join channel name to change the channel
    • /help to get help
  • TopList
  • URLs, email addresses, and links are automatically transformed to a link in the text frame
  • possibility to ignore chatters
  • streaming text
    No flickering and no permanently refreshing text.
  • switchable smooth autoscrolling
  • Bandwidth
    Traffic has been drastically reduced by the use of JavaScript document.write functions. The only data transfer is the raw chat without all the HTML-markup.

    HTTP protocol is connectionless, say you can do one request and then there is a answer. after that the connection is finished. If you want to make a chat work with a web server, the clients have to poll continuously.
    How many bytes are transferred per hour?
    Think, 100 people sitting on POC for some hours and nobody talks. Assume the request has 200 bytes and the answer has 300 bytes. Poll freqeuncy is 10 seconds.
    Net-Traffic: 3600s * 1/10s * 100 * 500 bytes = 18 MB/h

  • List of friends
 non-functional
  • separation of code and design
    Interface is based on templates which makes it very customizable.
  • object oriented
    The code is easy to adapt.
  • database independent
    PHPOpenChat makes use of the greate DB-Layer named ADOdb, but is developed using MySQL, be warned :)
  • output of valid XHTML 1.0 transitional
  • interface design was focused on usability