February 22, 2007 ·
About 2 minutes
Internet Citizen's Band (or ICB) is an ancient chat protocol, most likely the precursor of IRC. It is very limited — for example, you can only be logged into a single room — but I need to use it to communicate with a group of developers. It has a nice feature, though: bricks! Those who have used it know what I mean ;-)
Up until recently, I used the ircII console client to access this chat network. Sincerely, I never liked it too much, as it is quite spartan. With the complete switch to Mac OS X, I started to look for a nicer alternative. I found Colloquy, a very nice IRC and SILC client, but it lacked ICB support.
Colloquy is a nice graphical IRC client. I was previously hooked to xchat and I thought it'd be difficult for me to switch, but Colloquy quickly changed my mind. It has a very clean interface and does not get in your way: the notifications system is well thought out so you can be sure to get an unobtrusive notice whenever someone requires your attention. Furthermore, its development is splitted in two parts: Chat Core, a generic framework to interact with chat protocols, and Colloquy itself, the UI built on top of Chat Core. At last, Colloquy is free! Thanks, Timothy, for such a great gift.
So... past Christmas, I spent some time learning how to deal with Xcode, some fundaments of the Cocoa API and a few notions of the Objective-C language. Combined with this brief description of the ICB protocol, I worked on adding support for ICB to Chat Core and Colloquy. And the good news is... the code is already integrated into the main tree, as can be seen in the changeset 3582!
It is still buggy and lacks some features — basically because of the lack of protocol documentation —, but I use it daily already. (If you use a beta version of Leopard you may find more serious issues though.) I will be fixing problems in the following days, such as the one resolved yesterday in changeset 3585; yep, that is my first commit to the tree :-)
Until the tarball on the website is rebuilt, I can provide you binary builds with ICB support in them. Or, alternatively, you can simply download the source code and compile it yourself, which is very easy with Xcode. Have fun!