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 OpenUsability.org, 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 kde-apps.org.

    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 :-)

    14 comments:

    Jakob Petsovits said...

    ...so this is why Kuroo's UI is so much cleaner suddenly. I like it way better than the utter-simplicity approach that Adept is taking, but maybe it's just the organizational weaknesses of apt-get compared to portage.

    Anyway, it's so cool that Gentoo finally has a "usable" KDE frontend!

    Anonymous said...

    Hey, I really like the new mockup I would love one feature: Make it more visible if an application is installed or not. The current 'x' is not highlighted enough. The kuroo version looks a lot better in this regard.

    But I really like this :-)

    Florian Grässle said...

    @anonymous:
    the mockup is outdated and only served as a basis on which we further enhanced the interface (I guess I wasn't too clear about this). you should scroll down a little bit to see a screenshot of the latest beta.

    Michaël Larouche said...

    Wow, Kuroo GUI is so much better now :)

    Pablo said...

    Great! I've been using Kuroo for a while, but found it lacking in some areas. And from a usability POV, the horizontal scrolling in the categories view a couple of versions ago was dreadful, along with the three button toolbar.

    I'm glad to see great results like this, and I hope it extends to many other KDE apps.

    Paul Clapham said...

    What's the theme used? I like the WM decoration...

    Florian Grässle said...

    @Paul Clapham
    I think the window decoration is called "powder". you'll find it on http://kde-look.org

    Anonymous said...

    I like it! Great improvements...

    Anonymous said...

    err ...
    then, the 100 free beers question :
    when is it in portage tree ?

    Anonymous said...

    this is phenomenal, great job guys, keep the good work!

    Anonymous said...

    The changes look very promising, I think.

    There is just one thing (judging from the screenshots only, have not installed kuroo), how do you access the display of the ebuild and the ChangeLog of a package?

    Is it hidden behind options...? or on right-click on the packagename itself?

    I really think, these infos should be accesible quite easily.

    Florian Grässle said...

    @previous anonymous
    You can either right click each package and select "Options..." there or press the "Options..." button you already spotted in the screenshots. This fires up the inspector that holds all this precious extra information. During the design phase we agreed that such an inspector is the best way to save space and unclutter the main interface. Additionally the inspector can manage and present more information and settings than the respective widget in Kuroo 0.7 did. See the following screenshot to get an impression:
    http://tux.myftp.org/kuroo/attachment/wiki/KurooDev/kuroo8.3.png

    Thanks all for your comments and interest in kuroo :-)

    Anonymous said...

    is it possible to pause the emerging of a package with the GUI? (like an equivelent to Ctrl+Z in emerge command line)

    Florian Grässle said...

    No, there is currently no way to pause Kuroo. We might add this feature in a future version though...