It's Friday now and hackweek comes to an end for me. It was exceptionally fun and we got some decent work done. The team was fabulous, a combination of SUSE and external community guys. Frank was here for the whole week and worked on the API and the opendesktop.org implementation of it. Sebastian joined us for two days and we had a lot of interesting and useful discussion how to put Nepomuk into the picture, Dirk started to write a Plasmoid for showing the activity log on the desktop, and Zack was here this morning giving us moral support and inspiration. We didn't completely realize the "Social Desktop" yet, but we laid some groundwork. The most visible result currently is this screenshot:
It shows some people from opendesktop.org on my desktop. The interesting bit is the technology behind it, because it uses the Open Collaboration Services API to retrieve the person's data and feeds it into Akonadi which then is queried by the UI.
Obviously there still is a lot to do. The client library for accessing the Open Collaboration Services API has to be extended to cover more of the API, the Akonadi support has to be completed and then of course we need more and better user interfaces. One thing I would like to provide is something like a person widget, which can be used to easily integrate people into applications. It would give access to the community by providing links to related people or could be used for direct communication.
Another thing which I would love to see is an application to view and interact with groups of people, which is a bit more oriented at the people and not so concentrated on the data as current addressbooks are. This could provide a more natural and useful way to interact with all the data about people which is distributed over the desktop and make it easier to keep in touch with people and keep track of what's going on in the different groups you are involved with.
Finally it would be fantastic to solve the problem of multiple data sets of the same person. The more person data we are able to pull in the more frequent you get multiple entries of the same person in your addressbook. We need a way to merge these, so that there is only one entry per person containing the aggregated information. A possible way would be to use Nepomuk for this and there already is some code which could be used to achieve this goal.
I'm looking forward to do more hacking on this project. There are lots of interesting ways this could develop. Let's see where we can go with it...