Sorry for writing this mail relatively late, but I am very busy with
stuff again and just haven't had the time for mailing until today.
Same applies for my GSoC final blogpost, but this post is delayed
because I want to make a video with the working stuff, because
screenshots don't say much.
So, what did I achieve this summer?
== PackageKit ==
Most work has been done on PackageKit. When I started the project I
thought I would spend lots of time on the Software Center, but in fact
the stuff I did on PackageKit was far more important. At the beginning
PackageKit was not suitable for software-center-like applications, but
now it is.
The PackageKit backend API is now improved and PackageKit contains
many nice options for improved backend-code which backends can use.
Also, cache-handling is much easier now.
Also, I applied a some speed-optimizations which make PackageKit in
general much faster.
The biggest new feature is parallel-transactions, which allows
PackageKit to execute transactions in parallel if the backend supports
this too. This makes it possible to query data like package details
while other actions like a installation of new packages is running.
It also allows faster querying, because we can run multiple searches
at the same time.
I'm really excited about the changes done on PackageKit and hope
backends will follow soon and implement the new API.
Many thanks go to Richard Hughes for his constructive criticism and help.
== AppStream ==
I talked to many people about AppStream to find out what people expect
from it, what users want and what distributors want.
The results went into my work on all three projects. I created the new
software "AppStream-Core" which allows anyone to access the AppStream
database using a nice GObject-based API. It also contains some more
infrastructure to generate the AppStream database and maintain it.
This project will make it possible to build other software-centers
based on AppStream really quick. It also makes us independent from the
Ubuntu Software Center (USC), because we now don't need to have it
installed anymore. (this was required before to generate the AppStream
This also makes it possible to create e.g. a software-center for KDE
sharing lots of the AppStream codebase. I already implemented some
small parts of AppStream in Apper last week. (after my GSoC project
has finished, as this was not part of it)
I also requested a project space for AppStream at Freedesktop, so I
can make a release of this software soon, so other project can start
There's another software-center implementation, "Light Software
Center", which was designed for use with PackageKit from the
beginning, which will use my AppStream access library soon.
== Software Center ==
I ported the Software Center to our new API and removed some quirks. I
also optimized it for parallelization and improved it's startup time a
lot. The SC received many small improvements and bugfixes.
Although many things have changed for the better, using it is still
not much fun. The USC is optimized for Ubuntu which results in many
issues with interfering code. Also, the way SC handles PackageKit is
the same way it uses Aptd on Ubuntu, which is not great, as both tools
are different in some aspects. Tracking down bugs in SC isn't very
So, summary for the SC: Usable to other distros (when combined with
appstream-core, see above), but still no great user experience,
unfortunately. I'll do some more changes on it in future, but to be
honest: I also count on other software-center projects as possible
replacement, if the SC plans turn out to be impossible.
(but first see if we can't do more improvements on the SC code)
So, that's a short summary of what has been done. I'll keep you
updated on my blog . As always, if you have questions, please
contact me via mail or just reply here. I also have some more plans
for the AppStream stuff, so there will be some more news about this in
future too :-)
To unsubscribe, e-mail: opensuse-project+unsubscribe(a)opensuse.org
To contact the owner, email: opensuse-project+owner(a)opensuse.org