Thursday, February 09, 2006

Kuroo - a GUI for gentoo's portage meets OpenUsability

Back then at akademy (remember, remember those hot days in September?) Tina and I gave a talk about personas. Together with the attendees we discussed target user groups for a graphical frontend for portage, gentoo's package management. A few months earlier Karim Ryde happened to registered at, seeking usability advice for his project Kuroo - a KDE frontend for portage. Now put these efforts together, add another usability engineer from OpenUsability, namely Bjoern Balazs, and what do you get? Right, a surprisingly usable GUI for portage.

Based on the findings from the personas talk and the previous kuroo versions Karim, Bjoern and I evaluated use cases and discussed the set of necessary features. Then Bjoern came up with a mockup in Qt Designer which we further refined in various irc sessions. Here's a very early and outdated mockup screenshot we used as a basis:

The main changes Karim in the end implemented are:

  • We reduced the number of tabs and replaced them with a QListBox (let's call it a "icon menu list"). This makes the whole GUI look cleaner and provides the possibility to use the queue icon from the icon menu list as a guide in the package view.

  • The category tree view was replaced with two lists side by side. This gives us a much better overview over the categories and available subcategories. Believe me, browsing the portage tree has never been easier!

  • Kuroo now features a powerful filter mechanism. You can filter all packages or preselect a category and subcategory. If you filter all packages, kuroo grayes out the categories that don't return any hits. The filter line filters as-you-type and notifies you visually if a package matches your query. It's a filter mechanism that should satisfy both beginners and power users.

  • The all new package inspector offers easy access to package specific version and use-flag settings. To avoid clutter and information overflow details about each package like changelog, ebuild, dependencies moved there and away from the main window.

  • The queue view shows progress bars to reflect the status of enqueued packages. You can get a quick overview over which packages are already emerged and how long approximately the remaining ones will take.

  • Plus the usual "many many more changes" ;-)

  • The old kuroo 0.71 with a lot of tabs at the top and bottom and two tree views (click picture for a larger view):

    The brand new kuroo 0.80beta1 featuring the icon menu list and the new category selector (click picture for a larger view):

    For more screenshots visit Kuroo at

    If you are using gentoo and prefer KDE applications, you may want to give the Kuroo 0.80beta1 ebuild a try. Especially the filtering mechanism beats the pants off the emerge shell commands. Stop by at #kuroo on freenode and tell us what you think about the new interface. Feedback and bug reports are highly appreciated :-)