Monday, July 27, 2009

Hackweek is over

Hackweek IV is over. I still have to write up my results. I got quite some things done, but there are also still a lot of loose ends. But it was a great start for the KDE SDK project. I certainly will spend some more time on it. I'll also review the design decisions I made at the beginning of the week. While working on the SDK I realized that a lot of the value such an SDK can have is not only delivered by the development tools itself, but also by integration with the community resources and the community itself. This is a powerful combination, something like developer's social desktop.

Thursday, July 23, 2009

More OCS Integration

I have worked a bit on the further integration of online services in the KDE SDK. Some really basic integration with Gitorious, the Build Service, and kde-apps is now implemented. There are still some missing links, like missing write support for content on kde-apps in the OCS API, but the basic idea seems to work well. Especially getting together all the information about who is taking part in the development from committers over packagers to fans opens some interesting use cases. I didn't plan this, but it seems the social desktop has great applications in the context of the KDE SDK. Let's see where this goes...

Tuesday, July 21, 2009

Open Collaboration Services Integration

After a bit of struggling with calling KIO slaves from Qt Creator, I now have some basic integration with the Open Collaboration Services going. My friends from opendesktop are shown on the KDE Creator welcome page.

This in itself isn't really useful yet, but it's a first proof of concept for the integration of online services in the KDE SDK. Integrating access to the app listing on would be one of the next steps.

The trick to use KIO slaves in Qt Creator (or any other Qt program, which doesn't use a KApplication), is to instantiate a KComponentData object. This provides all what's needed to run many of the classes which rely on some global KDE specific data being available.

Monday, July 20, 2009

Linking to KDE in Qt Creator plugins

For some better integration with the KDE desktop, and to make use of some of the goodness of KDE, I would like to link to the KDE libraries in the KDE SDK plugin for Qt Creator. Apparently adding a simple
LIBS += lkdeui
to the qmake file does the trick. This is nice.

First Screenshot

After a little bit of hacking I have my first screenshot now:

This is the start of the KDE SDK plugin I'm writing for Qt Creator. It doesn't do anything useful yet, but at least the basic plugin skeleton is in place.

I'm hacking in a clone of the Qt Creator sources right on right now. Creating the plugin wasn't really difficult, although the Qt Creator plugin interface suffers from some serious under-documentation.

Design Decisions

There are millions of different ways how to create a KDE SDK. To constrain this number a bit and get some focus I took a couple of design decisions. That means I'll start with writing a KDE SDK plugin for Qt Creator which is meant to provide the main UI for the SDK.

Hackweek IV

Hackweek IV is starting today. I will work on creating a KDE SDK. I will post more details later and report about the progress of the project during the week.

Tuesday, July 14, 2009

Hackweek IV Ideas

I'm collecting some ideas for Hackweek IV.

Thursday, July 2, 2009

Social Desktop is winning Hackweek III award

Just to note it down, the social desktop hackweek project won the 3rd prize in the Best Overall Project category of openSUSE Hackweek III. That's a nice compliment for all the work and ideas which went into this project.

Social Desktop

This is a copy of the page from to preserve the information in case the system goes offline.


We want to integrate the data on community web sites like (or its child sites,,, with the desktop in order to extend applications by the most unique feature free software projects have: the community. The end result could be something like a “social desktop”, where people and the interaction with the community are a central element and provide extra value to the user.

Some ideas how this could be used were presented in the Akademy keynote KDE Community websites: The past, the present and a vision for the future by Frank Karlitschek. He also presented the first version of an API how to access community web sites, the Open Collaboration Web Services API. The specification can be found on

In order to make a first step towards the goal of the Social Desktop we want to implement the Open Collaboration Services API on and a desktop client library and application to access the data.


Server code is active on Client code is in SVN. It includes a first version of the client API, an Akonadi resource handling person data, a GUI application to query and show person and activity data, and a Plasma data engine for the destkop.

More results and documentation of the progress can be found in Cornelius' Hackweek Blog.


  • Cornelius Schumacher works on the client library, an example UI, and the Akonadi integration
  • Frank Karlitschek takes case of the server side
  • Sebastian Trueg helps with Nepomuk integration
  • Dirk Mueller works on a Plasmoid to show activity data on the desktop.

Related Materials

Open Collaboration Services Home Page