[Kde-pim] Raindrop and Akonadi: Scope for collaboration

Stephen Kelly steveire at gmail.com
Mon Oct 26 22:50:06 GMT 2009


Hi,

Your announcement last week about the Raindrop Project caught my attention for 
its scope and for its timing.

I am a developer on the Akonadi project - the KDE4 platform for next 
generation PIM applications.

http://pim.kde.org/akonadi/

(Link for the Akonadi people: http://labs.mozilla.com/raindrop )

Akonadi is a platform independent PIM framework designed to be accessed with 
any/multiple APIs and to cache and share data between PIM applications. As it 
happens, I was recently working on a proof of concept for getting PIM data 
into a web browser in the form of a web application.

http://steveire.wordpress.com/2009/10/24/akonadi-goes-web2-0/

I would have announced mine first too if it wasn't for hassle getting the 
screencast and blog post finished :). My intention was to show that it would 
be possible for a determined developer to create applications for single user 
use in html/css/javascript and accessible through a web browser. Such 
applications can share the same data as rich clients and can reap the rest of 
the benefits of Akonadi.

As Akonadi and Raindrop face the same challenges and attempt to solve similar 
problems, I thought it would be a good idea to investigate scope for 
collaboration, or at least to tell you that we exist :).

Akonadi was designed to scratch our own itch, but to also be general enough to 
use on other platforms. 

>From a high level, Akonadi consists of multiple parts: A server and one or 
more clients. The server caches PIM data of any type, abstracting away details 
of transport and storage mechanisms, and generally makes it easier for 
application writers to innovate and create new robust PIM applications on any 
platform, supporting multiple protocols out of the box.

So far the C++ client library on the KDE platform is evolving very well, and I 
have recently been toying with a python client implementation using twisted, 
mostly just to show that it is possible to re-use the existing resources 
written in C++ on other platforms.

Raindrop is obviously very advanced as a web client for accessing the data, as 
I would expect from a project which already has a thousand commits in its 
repo. 

There are several areas of potential collaboration here, with varying chance 
of happening, I think:

* Completing the python-akonadi API and porting Raindrop to use Akonadi. 
This would allow the maximum potential for sharing of data and collaborating, 
and the best user experience on platforms with mixed/multiple apis and 
applications. Of course I'm dreaming here, but if Thunderbird uses Akonadi 
too, there would be easy mixing/mashing between all KDE PIM applications, 
Raindrop and Thunderbird.

* Writing a bridge for transferring data between Akonadi and Raindrop. There 
is already work in progress on a CouchDB resource for Akonadi, allowing any 
Akonadi using application to access and manipulate data from a couch. 
This would potentially bring the same benefits as above, but with added 
potential difficulties such as conflicts and no reduction of code duplication 
(imap, twitter implementation etc).

* Sharing information on UX such as conflict resolution dialogs, managing 
multiple resources for the same type of data and how much of that should be 
abstracted away, and technical issues such as how to deal with broken IMAP 
servers, concurrency and security.
This one obviously doesn't involve any code sharing and has the least direct 
benefit for the user.

* I also notice that Mozilla is part of the nepomuk project. There is more 
scope there for benefits to the user experience, but I don't know how far 
advanced the Mozilla Nepomuk stuff is and whether you are planning to use it.
http://nepomuk.semanticdesktop.org/xwiki/bin/view/Main1/

If I was to take my Akonadi in a browser idea any further, I would certainly 
be looking to reuse some of the stuff in raindrop.

What do you think?


All the best,

Steve.

PS: Akonadi developers are available on kde-pim at kde.org and #akonadi on 
freenode.
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/



More information about the kde-pim mailing list