Nepomuk meeting: day 2 & 3

This morning we started with a presentation of Sebastian Trüg regarding Pimo. Pimo is a system which can semi-automatically suggest tags and descriptions based on analysis of text. So if a mail comes in with a date in there, the system can find that date and remember that. Maybe it can also find the name of a town in that text, combined you can assume there is something going on a certain town on a certain date. That info is pretty useful. For example you can put that in KOrganizer automatically. The libraries for this are already written, so I was interested to implement that in Mailody and started to work on that.

After his presentation Sebastian Faubel presented the stuff he is working on. Because we lacked a beamer, we used a vncserver with multiple vncclients as a poor mans beamer. That way everyone had the presentation on his screen. He also uses Gnome, so for a few minutes there were more Gnome desktops visible in the room than KDE desktops ;-) Anyhow, he is working on a new type of file manager. Instead of showing the filesystem, he adds a layer with fixed paths and descriptions. That way the user can store the files consistently on his computer and throughout computers. For example that means that the file save dialog needs to be changed to ask questions about the specifics for that file: for example if you indicate that this is a university theses, it will ask for your professor, the deadline, etc. The system then decides where to store the document and what name to give it. The filemanager can then provide a straightforward way to find that document back: documents – university – theses. Or you can filter your documents on author or professor. I think that’s pretty neat, I’ve always thought that where exactly on the fs the document gets stored is rather unimportant. The trick is that you should get back to it as quick as possible. I hope I explained it ok, it’s difficult to explain without seeing the mockups and work he has already done.

After that presentation we started hacking, while Sebastian Trüg was walking around and answering questions, helping out everywhere…. Sort of what Volker does during Akonadi meetings… For example Digikam started working on synchronizing there own implementation of Rating images with Nepomuk Ratings. For some obscure reason they like to wait with relying completely on Nepomuk for it. But I can understand that. While the Nepomuk backend is not yet final, it can lead to data loss if distro’s switch their default backend for example. As I’m probably the only user using Mailody I do not care about that ;-).

I started implementing Pimo into Mailody, that means for now a dependency of stuff which is located in playground/base/nepomuk-kde, I’ll make that optional later on, not a big deal. At the end of the day I got some first results. Every mail is automatically scanned for Pimo entries. That means that if you have defined a company in Pimo, Mailody will search for that in every mail. If found it will suggest to you to add that tag to the e-mail. It will become useful as there will be more data available in Pimo. So, if it gets to be a hype: you heard it first in my blog, right?

Tobias König worked on the Akonadi Contact stuff. If you update a contact in the addressbook, it synchronizes that data to Nepomuk. At the start of the meeting that update process took 3 seconds. Tobias replaced the auto generated code for that part with code of his own and reduced the time it takes to synchronize back to 500ms, the maximum achievable for now. Probably Sebastian can reduce that even more by optimizing that code path. Although it happens in the background, it is still important to have it working quite fast. So a 6 times improvement already.

Daniel is working on Nepomuk from an Amarok perspective. Nepomuk remembers stuff about stuff based on its URI. In case of Music, that URI is the path to the file. An interesting problem exists for people using USB-sticks. As the USB-stick mount point can change on each insertion, it will mean the patch and so its URI can change. That means the Nepomuk info about that file is not retrieved correctly, Interesting problem to solve I guess.

Before we knew it, it was 11pm and we got trouble ordering pizza. Some decided to get to town,I heard they returned to the Hotel around 4am and some exotic bar and free Piña colada were involved. To my surprise everyone was in the conference room around 10am for day 3…

Day 3 was also used for hacking and retrieving as much information from Sebastian as possible. I continued to work on integrating the Pimo part better into Mailody, rearranging some code and improving the dialog. I’m quite happy with it now. At least I was able to work on Mailody for some dedicated time. I hope I can continue this again, the last months I hardly had time for coding, but I hope I can pick up at least a couple of hours a week again.

During the day more and more people left and in the end it was my turn to leave. I want to thank Sebastian for organizing, Mandriva for sponsoring Pizza and the KDE e.V. for sponsoring the Hotel. It is great that these kind of sprints are possible and it is boosting moral and productivity enormously. Thanks.

3 Comments

  1. I like to read about mailody, and these newest changes sound really awesome. I’ll make sure to try Mailody out, this time for real. Last time I wanted to, I was a bit unsettled by the rather outdated homepage (I didn’t know if it was actively developed still).
    I’m really looking forward to more language analysis in KDE btw.

  2. Where are the screenies Tom?! I’d like to see how this stuff actually looks like. Nepomuk and strigi are still the two disabled beasts on my desktop.

  3. I’d love to have been able to attend to Nepomuk sprint but I couldn’t. Anyway, I’m also implementing things similar to what Amarok guys are doing. In amarok they have songs and folders of songs (discs and artists). In Konqueror we have bookmarks and bookmark folders. For the URI of a Bookmark I’m using konqbookmark:/very-large-random-string.