The Next Generation Tcl Chatroom

This page discusses issues relating to the transfer from a web based chat to a jabber based chat. It is historical and for current information visit Tcl Chatroom.

Any bugs about the tkchat client should be raised on sourceforge in the tcllib project under the app:tkchat category. Any problems with the chat can usually be discussed on the chat itself or on the #tcl channel on irc.libera.chat which is linked to the jabber chat room.

How?

We are using a Jabber server as the chatserver. We have also added jabber client support to TkChat, this means that you can keep on using tkchat, including all of its features.


Requirements for the new chat

We set ourselves a number of basic requirements for the new chat:

  • Must work for people with really nasty firewalls/proxies (only CONNECT on port 443, or worse, only HTTP)
  • Must have a log of what has been said, kept for a few days
  • Must work with tkchat and its commonly used features
  • Must allow the irc.freenode.net#Tcl chatters to join us
  • Preferably have a web interface from day one
  • It should allow us to extend tkchat to do interesting things, like the World-wide whiteboard, without visual noise for other chatters.
  • Scale better: during the 2004 Tcl Conference, the chat almost died from having 30 chatters at the same time.

Why Jabber?

We chose jabber for a number of reasons. The obvious other choice would have been IRC, but jabber seemed to match our requirements better.

Reasons (in no particular order):

  • Network admins are not as hostile to jabber as they are to IRC; a lot more firewalls let jabber pass through.
  • The jabber protocols are IETF standards (yes, IRC too)
  • jabberd/mu-conference has built in chat logging capabilities
  • jabber allows us to keep nick coloring
  • the jabber protocol allows messages of arbitrary length (IRC is line oriented)

What about the IRC people?

You come next - we have ijchain, which is similar to irc/azbridge, we will be running this from day 1. The next step is to make jabber users appear as true IRC users and vice-versa. We have some ideas, it will be done. Nobody will come second in the Tcl community! Jabber and IRC are a much closer match to one and another than chat.cgi and IRC were, so we can solve this rather elegantly.

DG If ijchain is found to "not cut it", I can help with a new xmpp->IRC gateway using my irc_engine client extension for my XiRCON-II client.