Myth Busting
Once in a while we come across rumors, urban ledgends and myths about all kinds of things.
For example you might have read, heard or otherwise encountered wild claims about Akonadi's dependencies, maybe even as ridiculous as "depends on KDE".
Don't get me wrong, I don't have the slightest problem with stuff depending on KDE, but one of Akonadi's goals is to be a viable option for all PIM applications and a dependency on KDE would make that quite hard.
So I spent a couple of days updating my Java skills by writing a proof-of-concept Akonadi client in pure Java (re-using the Unix socket adapter written for the Java D-Bus bindings).
Granted, it is not an extremely impressive client. Its functionality is to "walk" through the Akonadi collection tree, print collection properties to its console output and list each collection's items.
The output for each collection is formatted like this:
Name
identifier (remote identifier)
list of possible content MIME types
item identifier (item remote identifier) item MIME type
On my test system the Akonadi folder structure looks like this

In the output of the demo app it looks like this:
Creating Akonadi data connection at /home/kevin/.akonadi-test/.local/share/akonadi/akonadiserver.socket
Birthdays & Anniversaries
5 (akonadi_birthdays_resource)
application/x-vnd.akonadi.calendar.event
72 (b19) application/x-vnd.akonadi.calendar.event
73 (b29) application/x-vnd.akonadi.calendar.event
74 (b52) application/x-vnd.akonadi.calendar.event
75 (b55) application/x-vnd.akonadi.calendar.event
76 (b64) application/x-vnd.akonadi.calendar.event
77 (b65) application/x-vnd.akonadi.calendar.event
Search
1 ()
akonadi_googledata_resource_0
6 (google-contacts)
text/directory
78 (http://www.google.com/m8/feeds/contacts/abcd%40gmail.com/full/0) text/directory
79 (http://www.google.com/m8/feeds/contacts/abcd%40gmail.com/full/32b8b2c80dd7cb2d) text/directory
std.ics
3 (file:///home/kevin/std.ics)
text/calendar
application/x-vnd.akonadi.calendar.event
application/x-vnd.akonadi.calendar.todo
application/x-vnd.akonadi.calendar.journal
application/x-vnd.akonadi.calendar.freebusy
2 (KOrganizer-874394642.152) application/x-vnd.akonadi.calendar.event
3 (KonsoleKalendar-1123156469.102) application/x-vnd.akonadi.calendar.event
4 (KOrganizer-313723522.982) application/x-vnd.akonadi.calendar.event
5 (KOrganizer-1709699137.995) application/x-vnd.akonadi.calendar.event
6 (KOrganizer-756482139.219) application/x-vnd.akonadi.calendar.event
7 (libkcal-598331247.452) application/x-vnd.akonadi.calendar.todo
Kolab
15 (akonadi_kolabproxy_resource)
inode/directory
demo.kolab.org/kevin.krammer@demo.kolab.org
16 (7)
inode/directory
My Data
17 ( 8 )
inode/directory
Calendar
20 (10)
inode/directory
application/x-vnd.akonadi.calendar.event
Contacts
19 (11)
inode/directory
text/directory
application/x-vnd.kde.contactgroup
88 (81) text/directory
89 (82) text/directory
90 (83) text/directory
91 (84) application/x-vnd.kde.contactgroup
92 (85) text/directory
93 (86) application/x-vnd.kde.contactgroup
94 (87) text/directory
Journal
18 (12)
inode/directory
application/x-vnd.akonadi.calendar.journal
Notes
21 (13)
inode/directory
application/x-vnd.akonadi.calendar.journal
Tasks
22 (14)
inode/directory
application/x-vnd.akonadi.calendar.todo
std.vcf
4 (file:///home/kevin/std.vcf)
text/directory
8 (2bpus4eE8c) text/directory
9 (2efjr21aA) text/directory
10 (2uun8V066z) text/directory
11 (3abf3YIm3w) text/directory
12 (4w20Vzaqu) text/directory
13 (566ynkrpNY) text/directory
14 (5JBqjwr9D4) text/directory
demo.kolab.org/kevin.krammer@demo.kolab.org
7 (imap://kevin.krammer@demo.kolab.org@demo.kolab.org/)
inode/directory
Inbox
8 (imap://kevin.krammer@demo.kolab.org@demo.kolab.org/INBOX)
message/rfc822
inode/directory
80 (imap://kevin.krammer@demo.kolab.org@demo.kolab.org/INBOX-+-1) message/rfc822
Calendar
10 (imap://kevin.krammer@demo.kolab.org@demo.kolab.org/INBOX/Calendar)
message/rfc822
inode/directory
Contacts
11 (imap://kevin.krammer@demo.kolab.org@demo.kolab.org/INBOX/Contacts)
message/rfc822
inode/directory
81 (imap://kevin.krammer@demo.kolab.org@demo.kolab.org/INBOX/Contacts-+-1639) message/rfc822
82 (imap://kevin.krammer@demo.kolab.org@demo.kolab.org/INBOX/Contacts-+-1640) message/rfc822
83 (imap://kevin.krammer@demo.kolab.org@demo.kolab.org/INBOX/Contacts-+-1641) message/rfc822
84 (imap://kevin.krammer@demo.kolab.org@demo.kolab.org/INBOX/Contacts-+-1643) message/rfc822
85 (imap://kevin.krammer@demo.kolab.org@demo.kolab.org/INBOX/Contacts-+-1649) message/rfc822
86 (imap://kevin.krammer@demo.kolab.org@demo.kolab.org/INBOX/Contacts-+-1651) message/rfc822
87 (imap://kevin.krammer@demo.kolab.org@demo.kolab.org/INBOX/Contacts-+-1652) message/rfc822
Journal
12 (imap://kevin.krammer@demo.kolab.org@demo.kolab.org/INBOX/Journal)
message/rfc822
inode/directory
Notes
13 (imap://kevin.krammer@demo.kolab.org@demo.kolab.org/INBOX/Notes)
message/rfc822
inode/directory
Tasks
14 (imap://kevin.krammer@demo.kolab.org@demo.kolab.org/INBOX/Tasks)
message/rfc822
inode/directory
shared.common playground
9 (imap://kevin.krammer@demo.kolab.org@demo.kolab.org/shared.common playground)
message/rfc822
inode/directory