Apper, KPackageKit reworked – part I
First of all I’d like to thank every one that have put a word of friendship and sympathy due to my big loss. Also thank the KDE community for dedicating the 4.6.3 release in the memory of my loved daughter. It has been a hard time, thanks God we have been able to keep going and even trying to help others which pass through similar suffering. Thank you all.
After what happened I moved back to my old job on Brazil, but even now my time is short as I developed a commercial app (apart from the job), so have to divide my time between family, job, sort of 2nd job and open source coding. This means that Apper development is slow, but progressing. Some of you probably also know that KPackageKit is not going to be part of the main CD of Kubuntu, the reason I trully dunno (I wasn’t even told about that – a friend showed some blog post). As I wasn’t aware of it I can’t do anything about it, I can’t even know what should I improve to change their minds, the sad part of the history is that KPackageKit could been improved instead of replaced. But don’t be too sad, we still have KPackageKit in Fedora, OpenSUSE – as default since 11.4 :D, Kubuntu (optionally), Debian almost has it and many others…
KPackageKit name is a bit geeky and some people didn’t like it, I personally didn’t have anything against it but K* names are often hard to pronounce, so thanks to sheytan KPackageKit got renamed to Apper.
But this blog is not about the renaming, it’s about what cool new stuff will you find in it.
First Apper is based on my rework of packagekit-qt which is called packagekit-qt2, and this rework makes Apper much faster than KPackageKit was, the inner details is that we don’t use the huge QSharedPointer for packages and don’t create a bunch of useless stuff unless the user asks, I didn’t measured the time but first time you run it you will surely notice. This also means Apper is more stable since packagekit-qt2 has a cleaner code and a nicer API.
Second Apper has several user interface changes and a much nicer integration with KDE.
The first thing you will notice is that I finally got rid of the useless left selector (Get and remove SW, Updates, Settings), they are all in the main view. This is great since we can have an UI which better fits small screens and packages summaries can be better displayed.
The next and soo nice UI change is the package summary, it nows follow the package name with a less opaque font, this also makes better use of the screen and allowed me to make versions be shown by default.
Now I’ve received many requests asking me to integrate the transaction icon into the Plasma Jobs notification. This was hard to accomplish because I didn’t want to bother the user with the final pop up “Task Finished”. So I finally had an idea to the problem: instead of showing the job there for every transaction it will only show the transaction there IF the application that issued it is not running anymore. In other words if you have Apper open and installing things, nothing will show up on the tray nor the plasma stuff, but if you close the window it will automatically start a plasma job so you can still track the progress there
Time has shown that people don’t like dialogs poping up all the time in your face, KPackageKit had many dialogs, especially one when installing that people didn’t like, so I decided to embed it into the main UI as well and show package details, but not only details, I’ve changed PackageKit spec so you will also see your repositories updating…
The settings UI is horrible (ideas welcome ), but it worth notice the new features, Apper is a green app, it does not check or install updates while on battery, and it also does not check for updates while on mobile network connection. I’m planning to change the way we select the check interval as some have requested to be on mondays or at 21h…
What is left before Apper can be released?
- I’m changing the PackageKit Session Interface (the one that is called to install local files, search for codecs, search for printer drivers, search for Plasma Applets thanks to Kevin Kofler and others) which used to popup a bunch of dialogs, the plan is to make it look like a wizard.
- Display the size of the packages in the updater UI, so one can have an idea of how much will that cost.