Holehan’s Blog


Radio button hell

July 5th, 2005

What’s wrong with the following dialog?

Both options are mutually exclusive. In the example above one shouldn’t use checkboxes but radio buttons. So it’s clear for the user that only one option can be activated at the same time, that she has to choose between the one or the other. The dialog should look like this:

Pretty simple, pretty straightforward. Fortunately this kind of mistake became very rare. I actually had to invent an example because I couldn’t find one in the wild. That’s a good sign :-)

The ones of you who are actively using the new designer from Trolltech’s Qt4 (and heavily switching its user interface mode ;-) ) may have an idea where I got the inspiration for that little example. It’s borrowed directly from designer’s “Edit” menu. There you’ll find a “User Interface Mode” entry. It looks like this:

Have a feeling what might be wrong with the above menu entries?

These menu entries look like checkboxes, but behave like radio buttons. In Qt4 (and in previous Qt versions) both the radio button like and the checkbox like menu entries look exactly the same. So there is no visual hint about what’s going to happen if a user clicks on such an entry. It could be either the one or the other type of menu entry. To be absolutely sure the user has to check back on that menu entry to find out what happened. Insane, isn’t it? This is how it should look like:

GTK, the various Java toolkits, even Windows, they all are doing it like that, are doing it right. Why not Qt? It’s not as if the engineers at Trolltech didn’t know about that. I sent the trolls a bug report one year ago to make them aware of this issue, actually got positive feedback and hoped they fixed that shortcoming with the new version of Qt4.

Unfortunately they didn’t :-(

Usability in practice?

April 30th, 2005

At my university students get the chance to offer courses in which they teach others things they have extra knowledge of or are especially interested in. The topics usually deal with “Programming with the penguin”, “Developing an OpenGL game”, “PHP + MySQL”, “XML for Beginners”, “Linux for Switchers” and the like. Since the software ergonomics lectures the students have to attend here cover pretty dry and old stuff Tina and I thought it may be a good idea to offer a course “Usability in Practice” to give others insight about how usability is done in practice. The proposal was accepted, and we started preparing the course.

While other courses normally get crowded in no time, exactly three (3) people showed interest and registered for “Usability in Practice”. We postponed the date, prolonged the registration time and tried a more offensive approach by sticking posters everywhere. In the end it’s four (4) people (whoohoo! one more! :-)) who will finally listen to what we have to say about the usability lifecycle, card sorting, paper prototyping and heuristic evaluation. The not so overwhelming interest may have to do with how usability is perceived among the students at my university. It’s still considered as boring and unnecessary.

Anyway, during the course the current usability efforts of open source software in general and KDE in particular will be covered as well. So who knows… maybe one of the participants gets interested and wants to get involved and contribute.