Akunambol 0.2 is out!
Quick Update #2 [03/09]: The new tarball is up! md5sum 54475b80271a137fb56c1e39c2e470ad, or use this direct link.
Quick update [03/09]: it seems like the released libfunambol snapshot has some problems building on some platforms (with an error like this: http://pastebin.com/Rd0jpQEW). If you’re hit by this bug, stay tuned – I’m investigating and I will release a new source tarball as soon as possible. Also check http://blog.ruphy.org/posts/115.
I’m extremely happy to announce the release of Akunambol 0.2! =)
Here is an extract from the announcement on the main site:
This is the first release of the 0.2 series, which will be the last one of the 0.x series. We’re in fact planning exciting new things for the 1.0, but we first wanted to release a version for everyone to use, so that it’s possible to sync all the most used PIM data (contacts, events, tasks).
This release should be quite stable, since all reported bugs have already been fixed, and it also introduces the much awaited support for multiple calendars or address books, so you get to choose what you want to sync. Investigations on how to support syncing multiple calendars together are also being done.
From this moment onwards Akunambol will also have a new home, reachable at the address http://akunambol.ruphy.org. The repository still lives on gitorious for now, but will migrate to KDE’s git as soon as it is ready.
In addition to this, akunambol has also gained a new bug tracker. To report a bug or a wish you can now use KDE’s bug tracker (bugs.kde.org) and file a bug against akunambol.
Since this is also a blog post, I could say some more words about the “exciting new things” that we’re planning. In few words, we would like to extend Akunambol’s possibilities beyond PIM, by putting all the syncing logic into plugins. These will be dynamically loaded, like plasmoids, and could sync anything, from contacts to pictures to random files.
This way, it will be possible to provide a complete syncing framework for KDE (ala Android), in which it will be possible to build services based on the web (like RSS fetching) to backups, or even Dropbox-like clones, together with things like ownCloud.
By putting all the logic into plugins, we also loose any kind strong dependency from any library. At the same time there will be both some classes that (for example) will help you if you choose to use a standard protocol (like SyncML), and a generic interface which will allow you to do all the things you’d might like to do.
This will be either controlled by a kded daemon and a notification icon, silently living in the background, or by a GUI application.
The possibilities are indefinite, but we have just started to work on the plugin infrastructure. Let me know if you want to help, or have any idea about a nice syncing plugin. You can do so by either leaving a comment or opening a wishlist bug.
Anyways, we’ve spent way too much words on the future of Akunambol. I mean, you still haven’t tried out Akunambol 0.2!
So, what are you waiting for? Get it while it’s hot, and have fun! =)

Comment by kinto — September 1, 2010 @ 7:59 pm
This is awesome!!!
Comment by replier — September 1, 2010 @ 8:31 pm
While I really applaud the development of a decent PIM syncing framework for KDE, I do not understand why at least two different projects (syncevolution and akunambol) work towards the same goals?
Both try to sync funambol, or other syncml servers, with akonadi. This seems to be a waste of effort – have you talked to each other to see if you could share a part of the code?
I see you are extending your goals now, broadening the features of the program by means of interesting plugins, but the core seems to be duplicated effort.
Comment by ruphy — September 2, 2010 @ 12:25 pm
@replier:
This is a bit of a though question, so let me give you a little introductory story first. :)
Akunambol is the result of a long development process made in order to be able to sync Kontact through SyncML. It is based on the lightweight Funambol libraries, which are very complete and developed by (surprise surprise! ;-) ) Funambol.
It’s much older than this year’s GSoC, but has unfortunately processed more slowly in the beginning, partly because it was not sponsored, and partly because in the last year I’ve been extremely busy with my last year of high school.
Things have changed since July, and now I’m able to work much more on it. When I first announced Akunambol (April) I got a message from Sasha Pellicke (the mentor of the GSoC), with whom I’ve gotten in contact trying to see where were the pieces of code that could be shared.
On the other end, there was SyncEvolution, which is another application, much older than Akunambol, that initially started as a tool used to sync Evolution (GNOME’s PIM suite). It then evolved and now strives to provide support to more application by using different backends, and a core application controllable through DBus.
The work required to have a KDE SyncEvolution solution would have been to add KDE support to SyncEvolution, and then build a GUI to control it.
Now, to keep a long story short, at the time when we held the KDE SyncML meeting, there wasn’t much KDE code (if at all) in SyncEvolution, since the GSoC had barely started, and the GUI was comlpetely missing. I proposed to let the GSoC concentrate on adding KDE support to SyncEvolution, and I would have continued to work on user experience, providing a nice integration with the workspace and so on.
This would have provided the following benefits:
1) Possibility of choosing which library (funambol/syncevo) to use, with the ability of reducing dependencies if the user didn’t need a full-fledged solution.
2) We would have shared the code, and therefore had a larger team working on the same solution. This way we would have had the ability of concentrating on the several aspects of the application and made it Rock™.
3) The ability of being future-proof by not committing to use one backend, but (ala Phonon) be able to switch to something better at any time.
Unfortunately my proposal had been declined, and they seemed not to be open to many compromises. They thought that SyncEvolution was the only and ultimate solution, and therefore that it was silly to try to do anything else.
I therefore decided to continue with the proposed plan, with Marco and Micheal that (in the meantime) stepped up to help me.
You can read my summary of the IRC meeting (with the consequent flame) here:
http://lists.kde.org/?l=kde-pim&m=127566413930140
Anyways, to make this point even more clear, Akunambol is not incompatible at all with SyncEvolution; actually, I even plan to support it once the plugin mechanism is in place! =)
Sorry for the extremely long comment, but I hopes this clarifies a bit things. =)
Comment by wind-rider — September 2, 2010 @ 5:50 pm
Thank you for your comment, it makes the decision process more clear to outsiders.
It’s a pity the cooperation did not work out as hoped, but I wish you good luck with your future plans. The plugin architecture and your ideas to write plugins for sound great!
Comment by d-fens — September 3, 2010 @ 12:01 am
great work!
as i now own a android phone i did setup a horde install to act as a central syncml server and use the funambol android sync client 9.0.0(snapshot) to get my phone synced and now akunambol to get kontact synced, hope this works one day ;)
Comment by ruphy — September 3, 2010 @ 12:30 pm
@wind-rider:
thanks, I’ll probably write another small blog entry clarifying the relation that there is between Akunambol and SyncEvolution, so that everyone is aware of what’s going on. =)
@d-fens:
Awesome! Let us know how it went! :)
Comment by mark — September 6, 2010 @ 9:02 am
hi, sorry for the noob question, but could you please write some kind of tutorial on how to use akunambol? I would like to sync kontact wwith my nokia phone but i have absolutely no idea on how to do it.
thank you :)
Comment by ruphy — September 6, 2010 @ 9:45 am
@mark:
Sure thing! I’m a bit busy trying to fix the lastest things to release Akunambol 0.2.1 now though… so here is what I propose:
We meet on IM (IRC, Skype, Jabber, …), I give you all the instructions and explain all the things, and in exchange, you put it in a consumable form and write a wiki page, so that everyone benefits. =)
what do you think?
Comment by mark — September 7, 2010 @ 11:31 am
sure, thank you, i will show myself on IRC asap