Expert Review of Quassel 0.3.1
Quassel is an IRC client and service written in Qt. It can be used as a regular IRC client, or as a distributed client subscribed to a “core” IRC service running on a local or external server. This is similar to screening text-based chats on a dedicated server.
The purpose of the review was to determine if Quassel is a suitable Qt4 replacement for Konversation as the default IRC client in Kubuntu Jaunty. Previously, Kubuntu shipped Konversation (KDE3) as the default IRC client. Kubuntu Jaunty will be 100% KDE4. We need a replacement IRC client since Konversation and the Kopete IRC plugin are not expected to be ported by then.
Kubuntu uses IRC as a main communication method for user support. As such, we require an IRC client which is easy to set up and use. Using Quassel to connect to IRC to get user support was the primary use case for the review:
- Start Quassel
- Connect to irc.freenode.net
- Join #kubuntu
- (Optional) Change your nick
Overall, I got the impression that Quassel is an IRC client for advanced IRC users who are managing many channels at a time. Some of this advanced functionality leaks out in to the primary UI. As a result there are some things about Quassel which seem more difficult than necessary.
The Core concept makes Quassel difficult to understand. The monolithic client can work without the Core server installed, but it still retains the concept of Cores which is very confusing. It needs to work as an IRC client first, and an IRC Core service second.
There are a few major UI issues which make Quassel more confusing than necessary. There are some design issues which could make it difficult for novice IRC users to connect and get support. Some IRC shortcuts are available in contextual menus, but unless you know they exist they would be hard to find. A toolbar of common commands would be very useful. Also, the concept of buffers and channels is very confusing. I know that technically everything is a buffer, but conceptually channels are different than customized views of incoming traffic.
There are many minor UI design issues. I am less concerned about these issues since they do not directly affect the ability to connect to an IRC channel for support. It would be nice to see as many of these UI issues fixed as possible. (Fleas on a dog)
These are my requirements (in order of importance) if I were to recommend Quassel to be included in Kubuntu Jaunty by default:
- The Core concept must be removed completely from the monolithic client so it acts as a regular IRC client. If a user installs the Core server, then it can act as Quassel-normal.
- The initial connection screen needs redesigned to support connecting to an IRC network instead of a Core. Including the “internal core” mode button is not sufficient. If the Core server is installed, the same connection UI could be reworked to offer an option to connect to a Core or connect to an IRC network.
- A toolbar of common IRC actions (such as joining/leaving a channel and changing your nick) would be useful for novice IRC users
- As many minor UI and KDE HIG-related issues fixed as possible. These aren’t a hard requirement because the previous points would be enough to support the use case we are concerned about (users getting support on IRC)
Recommedation for inclusion in Kubuntu Jaunty is still at the discretion of the Kubuntu Council and Membership.
The complete review includes specific UI issues and additional recommendations.
Expert Review of Quassel 0.3.1 PDF 2.6MB

Very interesting insights for UI design.
Have you ever thought about doing ark? It currently has only a couple of dialogs, but I think it would help very much.
What about k3b in a 100% KDE 3 free Kubuntu? Do you have any sane replacement?
Or are you talking about 100% freeness from a marketing POV?
@Trigger: People were discussing a KDE4 option for k3b but I forget what it is.
Nice review, nice client, unluckly it lacks DCC support a well implemented in konversation feature :|
great review. you hit all the nails on top with it. when reading it i could agree on all of your points.
i think it’s a very good after-x-mas present for a project like this to get such an professional review. i hope they know what it’s worth and take some points into consideration.
good work!
I filed a bug report a while ago asking for this. Its great that it was being considered anyway.
https://bugs.launchpad.net/ubuntu/+source/kubuntu-meta/+bug/311161
I proposed it in Ubuntu Brainstorm, but not luck. Lot of negative votes but no reason or explanation: http://brainstorm.ubuntu.com/idea/16696/
We certainly know what such a review is worth, and it will help us a lot to make Quassel rock even for non-expert users ;-)
Thanks a lot, seele. Very much appreciated.
Very nice! I was just telling a buddy of mine why quassel sucks more than Konversation and it shouldn’t be integrated into Jaunty in the current state.
Besides all of the points you listed, i would also like an IRC client to provide a list of of the most important/popular servers to connect to and such.
Requiring a noob to type in “irc.freenode.net” or whatever the irc address, should be simply unacceptable imho!
@mongul i never managed to receive any files over DCC in Konversation, so i really don’t see how’s that a well implemented feature. oh well.
I do not think that the time is right to push for a KDE4-only Kubuntu. In addition to Konversation, there neither Digikam nor K3B have full Qt4 ports yet. I think that whoever made the decision to have Kubuntu go Qt4 / KDE4 only got a bit ahead of himself. Obviously, upstream (KDE) is not ready for that yet.
Celeste,
I used to think that it was great that there was someone, namely you, that perform expert analysis on the interfaces of KDE programs.
But after reading this PDF analysis, I have to say that I’ve just become fearfull of your influence on the interface design of KDE.
After all, although I agree to alot of the points you make in your analysis, but then there are some - like you not agreeing that FG/BG colors be named trough the universally recognisable acronyms - that are just stupidifying. This is not w$ndows! People in GNU/Linux are supposed to learn to use the tools, that serve everyone so well, for so long, instead of having stupid software that just babysits newcomers while annoying everyone else.
Much worse than that, though, is your arrogance to the developpers of this great little piece of software, in requiring them to hide, by default, what is the main reason they built this software, and the main reason people should use this software, which is distributed irc client, it’s like screen, or maybe you just didn’t get the metaphor used here.
I get it your working for kubuntu, and you just proved my fears of kubuntu, like the parent ubuntu, is a GNU/linux stupidifyer, trying to bring to linux, the mistakes that are constantly made, through every new version of w$ndows and in some cases App£e. which are over-simplification and thus obscurification of the what makes the OS tick, instead of being pedagogical and teaching users what is happening and what they should do, working with the system tools, and not against them. which is to me the role that linux allways could have, if the interface is helpfull enough.
Honestly I hope you were just angry with something and directed it to this great piece of software, because if this is your Modus Operandi, I’m fearfull of KDE’s interface future being more stupidifying instead of educational as it should!
Sincerely
@kiberlynx:
To refrain from the use “fg” and “bg” is to conform to the accepted writing style. One should use formal style when writing configuration dialogs and documentation. This means (among other things) avoiding contractions, colloquialisms and abbreviations.
This research lays out a roadmap of what has to be done to make Quassel an entry-level application: a great deal of work. More work than Kubuntu developers should do, and possibly more work than the Quassel team want to do. Perhaps they can meet in the middle, and perhaps Quassel will benefit from the attempt.
The rest of your comment is inflammatory rhetoric mixed with incoherent rambling. Please desist.
P.S. Please real words.
I’m willing to concede on the contractions point because your argumentation makes sense, altough I disagree with it in this particular case, because it is indeed the norm when you open any graphics software when dealing with color.
As for the rest, I’m sorry you just dismiss it, because it’s my main point. That what you’re trying to do is conform a software wich was made for one target user group, different than the one you’re dealing with, to conform to your user group for which it wasn’t intended for, so it’s your mistake and not the software’s developper.
If I wasn’t clear enough, I think it’s obvious quassel’s target user group is people who are familiar with IRC and with screen and feel the need for a distributed client.
Because if they didn’t feel the need, or otherwise didn’t fit the profile then they would use any of the other available non-distributed clients around.
This is the reasoning behind me saying that you’re beying arrogant towards the developpers of quassel telling them what their target user group should be, namely, conviniently, your’s.
I don’t think I’m being offensive but only telling it how it is, you might disagree with me but please don’t dismiss it on those grounds.
Sincerely
To be even clearer, there is entry level software and there is advanced software, and there is everything else in the between.
quassel does not fit in the entry level category and kubuntu, not the developpers of quassel want to make it into one.
Please refrain from telling developpers in which category to place their software in, if they already placed it into one that makes sense for them. Thanks
Good response from developers:
http://quassel-irc.org/node/92
congratulations!
I don’t really think that completely hiding the “Connect to Core” functionality is a good idea at all, since that’s what makes Quassel special. However, it should be possible to create a start dialog that honors both modes in an appropiate way. For example there could be something like “( ) directly connect to IRC ( ) connect to core” radio buttons at the top of start dialog, defaulting to the first option. Depending on the radio buttons, you can choose an IRC network or the list of the cores.
That has the advantage that a inexperienced user who just want’s to connect isn’t bothered with the concept of having cores and if you are using a core, it’s just one click away.
@kiberlynx: The Quassel developers requested this review because they want to be included in the core Kubuntu distribution. That means evolving in to an application to fit a different set of users — which they are well aware of. I’m not forcing anything on them, this is what they wanted. Do a little research before you make assumptions.
@Daniel L.: The Quassel developers have already planned two versions: The monolithic client which doesn’t require a Core, and the regular client which works with the core. Hiding the Connect to Core functionality would be only for the mono client because using internal core is better than using localhost, so there should only be the one option. When the full Quassel installation (including the server/core) is available, then there should be an option to use the Core functionality or just a “regular” IRC client (internal core mode), similar to your suggestion.
Sorry for that Dread Knight, i can assure that konversation-1.1 has a good and stable
DCC support, i (ab)used this feature in many ways, i suggest to check your network/firewall setup ;)
Just to clarify and to back up seele on this: We Quassel developers did indeed welcome this review, and we are actively working on making it possible to include Quassel in kubuntu proper. Even though we developers personally don’t fit in kubuntu’s target group at all, obviously ;-), we do see the need for Quassel to adapt.
Note that the monolithic client has been around forever, and it was always thought as a way for inexperienced users to use Quassel as a traditional client, rather than having to run a separate core. In fact, some of the very early Quassel users were Windows users without a separate core. Streamlining this client is something we’ve had on our agenda much longer than kubuntu has been considering us, so it’s nothing seele or anybody else “forced” on us.
A possibility to use the mono client to connect to remote cores will come back in some form, maybe as a setting, maybe as CLI option. The functionality still exists, after all. This is work in progress and requires some more thought and research. We do not intend to cripple Quassel for our more advanced users.
Also, of course, we will continue to provide the separate core and client binaries. This is not duplicating work or whatever, since Quassel was designed to provide both separate and a combined binary from the very beginning.
So why I welcome kiberlynx trying to defend ours, the Quassel developers’, supposed intentions, he’s completely wrong there…
More on our position at . Meanwhile, thanks again to seele for putting in all this work!
~ Sput, on behalf of the Quassel Project