I started working on support for the facebook message system. Which turned out to be easy enough to do. And the messages branch in git should just give you a nice list of messages to read! There is a lot of room for improvement with respect to syncing the messages or maybe even replying to the messages. One of the awesome things that is in there right now is the automatic threading by kmail, which is just a simple matter of setting a the right reference and all is done automagically.
Right now there we first want to get out a 0.1 release before we will merge the message branch. So a little patience (or checkout the message branch).
Since Thomas and I decided we would like to release a 0.1 version as quickly as possible we started to work on getting the code in decent shape. Which basically means documenting, code refactoring etc. Not always the most exciting work but the code today is already is much better shape (and much easier to understand/extend) than it was last weekend. Which should make fixing bugs and adding/extending features a lot easier!
As a result of this we now also have our own api reference. Now the refactoring process is not yet finished but already we can see nice graphs there. Also the awesome KDE look really motivated me to document more since it will look so cool afterwards!
What is next?
So hopefully we will finish with the polishing and the remaining 0.1 items on the TODO soon so we can make a release. And after that we will continue to try to add more cool features of course!
First of all: Hello Planet KDE!
Last week I read the post by Thomas about Facebook support in KDEPIM. Which is of course awesome to have and is something that has been on my TODO list for some time now. And well since Thomas started it all it is a great way for me to get involved in KDE and to learn how to deal with akonadi.
All my work (be it in separate branches) is already available in the project repository. Thomas will probably try to merge them this weekend but you can of course already check them out for all the new cool stuff.
What did I work on
I started working on note support, so have your notes on facebook available in akonadi and thus in KJots. And this all works out very nice. One of the side effects is that in facebook you can have images in your notes which is not properly supported in KJots.
After retrieving notes I figured it would be awesome to be able to add, delete and modify notes. Adding a new note or deleting a note turned out to be easy to do, however as far as I know facebook does not allow you (yet?) to modify notes trough the Graph API. Which is to bad since that would make notes support complete.
We now have a list of participants attached to events. Also the status of the participant is set correctly (attending, declined etc). Which of course is cool to have. Right now events are still read-only but the API actually allows for setting your RSVP status etc so it would only be “logical” to have support for setting that.
Parallel photo fetch
Up until now all the friends were retrieved and then after that all the photo’s were downloaded one after the other. A simple patch now fires them all off and just waits for them to complete. Which is a lot faster, especially if you have a lot of facebook friends!
There is room for some refactoring which would get rid of some duplicated code and would make extending KFacebook even easier. So I guess that needs to be done first.
Other than that I planet to start working on getting your facebook messages into Akonadi. First only as read-only but hopefully we can soon extend that. Other than that there is more than enough work to do in order to get out a 0.1 release
And now on to some more coding!
This morning I was up rather early (well not that early but the others were still asleep ). So I decided to do a little coding and came up with a very simple Qt desktop client for facebook. Since it would of course be nice to have client sitting in your task bar showing new notifications, later this can be extended but for now that will do.
All this was created in a about an hour but would not have been possible without qfacebookconnect.
It is far from finished and no notifications are really visible yet but a nice start is made (not bad for 45 minutes coding). See the git repository of qbook if you want to take a peak, all paths are currently hard coded so you will need to do a little hacking, this is mainly because qfacebookconnect is not yet in portage so I can properly link to it.
Maybe next time when I am up early I will first fix an ebuild for that one