Quassel - The new chat experience
During the weekly ug meeting yesterday one of our members, Nils, visited us from Karlsruhe. He showed me a new chatclient he is using since he met one of the developers at his university. Its name is Quassel. It calls itself a distributed irc client. And that's exactly what it is. The application consists of a core, which is run on your server, and a client, which runs everywhere you want to access your irc chats. All initial configuration is done using the graphical client, which makes the setup procedure an ease.
What to do with it?
After the initial setup you can connect to irc servers and join channels as with any other irc tool like xchat. The has some unique features which allow you to smoothly display even big channels lists on a lot of different networks without any problems.
You actually don't feel like using a irc proxy at all. You can work with it like it is your local irc client in any way. But there is one exception from that, which in my eyes is the greatest feature of all. You can scroll back in every channel as much as you like. Therefore you can easily read the whole backlog of every channel you were connected even if your client has been offline at this time. You can easily see where you have been highlighted during your absence and react to it accordingly.
The channel backlog is loaded from the server only on a need to know basis. Therefore every chat message lying in the past will only be transferred if you scroll back up. This saves bandwidth and guarantees efficiency.
Alternative to irssi-proxy + xchat?
I have used a combination of irssi-proxy on my server and xchat as a client before. Using a plugin which sent me emails about messages which triggered my highlight definition kept me posted about interesting conversations most of the time. Using quassel I can easily keep up with this kind of messages as well as easily get an overview about the topics discussed at the point where I was highlighted. I will definitely stay with this newly discovered piece of software, which in my eyes has great potential.
Qt? Are you serious?
Quassel is entirely written in Qt, which made me doubt it at first. I am using gnome on all of my machines which have a running X server. Therefore I am no big fan of Qt, because I think it is bloated and does not integrate nicely with my other gnome apps. Since Qt4 a lot of things have changed. Meanwhile Qt integrates quite well with Clearlooks and the other gnome applications. Because Qt4 is splitted into different packages it is not that bloated as it was in version 3. Anyhow, it still stays a big and fully packed framework for all kinds of stuff. Therefore the libraries are still quite large and not very handy. I had Qt installed on most of my systems anyway, because I needed it for other Qt apps or some KDE utils like Amarok I am using. More of a problem appealed to me the fact, that I would need to install Qt on my server as well, because I first thought that would imply the necessity to install an xserver as well. Thanks to the new modular structure of Qt4 this is not the case. There are 3 packages needed for the core to run: qt-core, qt-sql and qt-dbus. Therefore no xserver needs to be installed.
There are even some positive results by using a Qt application. Quassel can be easily run on a big palette of platforms. There are statically linked versions of it available for Linux, windows and macos x. You can just put them onto your usb stick and use them everywhere and anytime to access your chats.
I am missing the nick coloring feature from my xchat
All of you having used xchat before might miss a feature which was added to xchat quite some time ago. Xchat is capable of auto coloring nick names in different colors to make conversations with a lot of people more readable. Unfortunately I had to discover that this kind of feature is not available in Quassel yet. However there has been an open feature request in the Quassel bugtracker for this some time. Because I had some free time today I decided to take a quick look at the Quassel source and implemented this feature. The patches can be found attached to bug no. #257. I hope that they will be included in one of the next releases. In the meantime you can easily fetch the git repository and apply the patches yourself:
git clone git://git.quassel-irc.org/quassel.git wget -O - 'http://bugs.quassel-irc.org/file_download.php?file_id=95&type=bug' | git am wget -O - 'http://bugs.quassel-irc.org/file_download.php?file_id=96&type=bug' | git am git rebase origin/master