Open the package, get your Application!

Most computer users don’t understand very well the “package” concept, others don’t even know what they are, and some other get scared when hearing this word. When a user wants to install Amarok for example, he or she sees lots of amarok’s package names (ie amarok, amorok-common, amarok-dbg, amarok-utils) and of course dependencies 😀

Thinking on that some distributors decided to create easier to use tools, PackageKit it self aimed that but still “Package” on it’s name :P, Ubuntu Software Center is one of the most known well succeed Application Installer cases. But it still Ubuntu specific tied to apt.

PackageKit on the other hand provides basic package management in a cross distro way supporting the most popular distros. So to build a cross distribution application manager what would be needed is application data available in a standard form. The Packagekit author created app-install which manages a database containing application data, like Name, Summary, Icon. App-Install is similar to app-install-data package but instead of containing lots of .desktop files it contains a pre built sqlite database.

Now the key piece of integrating Application Data vs Package Data is that one Package can contain 0 or many applications, while an Application is contained in one package. As KPackageKit is already capable of managing packages, reading that database and them matching Applications -> Package was quite simple, the only problem was that with more data we also need to optimize the classes otherwise it get very sloooow…

Thanks to Tomasz Dudzik and Nuno Pinheiro who helped me out on doing another big rework on the user interface KPackageKit got a new look, this new version should be named AppGet since it’s less geek than KPackageKit, doesn’t have the K prefix, and the so feared Package word 😛 but someone on IRC was better than I on googling and found an application with that name. Thanks again to Tomasz the next release will probably be renamed to Apper (hope google does not read this post 😛 ).

Right now KPackageKit 0.6.2 will only have the “Applications” feature on Kubuntu (and maybe on Debian when it gets packaged), since app-install is not available on other distros, there is an effort to bring this to Fedora soon, but it seems they are having some resistance.

KPackageKit revamp included a different group on the first page which is Categories instead of Groups, these categories is provided by an XML that contains the search parameters, and is again about applications so Games does not bring packages related to games, only the Applications.

Main Ui

When clicking on a Category (eg Games), it might contain sub-categories like Cards Games, Simulation, so for that a thin list at the top can be scrolled to refine the search. The old inline description view was also removed, it was nice but in reality the is no great benefit to see several packages description at once. Animations! Unfortunately screenshots are not videos 😛 if there were you would see the bottom growing up, and the text fading in, and when you switch packages it fades out and fade in again with the new text. Pretty cool 😀

When you click on the screenshot thumbnail it will show a new window that loads the bigger screenshot.

Another cool feature is the Application Launcher, you know when you install a package and you think “What now?”, after and application is installed KPackageKit check it’s files and show you a (still ugly) dialog with the new installed app, clicking on it starts the application.

And of course if you miss this dialog you can always check for it’s menu path at the description bottom. Also if you do a text search you will still see packages, but applications comes first! You can get rid of them by clicking on Filter -> Hide Packages, just don’t forget to turn it on if you want packages.

The tray icon was also ported to the new systray, meaning cooler tooltips and bigger icons. The update view has no buttons now, the history moved to the main ui, and to refresh the list you can right click on it, Ah! and if you want to see versions you can right click on the list and check “Show Versions”.

Now let’s wait for more distributions to support app-install and hopefully increase our KDE users 😀

Best.

Open the package, get your Application!