In my previous post, I’ve been discussing our progresses on some
protocols support, and that Akonadi could now be fed with quite
some mails. That’s neat to us developers who can make application
harvesting data in there… But for the user it’s not really useful
if he can’t see the data. Well, recently I’ve also been working on
showing up collection statistics we can get from Akonadi, and also
I ported KMail message list view to Akonadi (also making it a
separate library). In the meantime, the fearless Andras has been
porting KMail mail reader view to Akonadi (also making it a
separate library). In fact, it is the current thread in the huge
task which is the porting of KMail to Akonadi. We’re ripping KMail
apart, each important set of features are factored out in a library
and ported to Akonadi. In the end we’ll have a KMail completely
based on Akonadi. But also, it will be much more modular, reusable
for other mail clients, but also news readers, etc. Which means
that the new architecture will be better suited at supporting a
wide range of devices and a good base for future works. Anyway,
both Andras and me had a small test application for each of our new
frameworks… So I took some time to merge the features of both
into a single application: the Akonadi Mail Reader. This new baby
is mainly a prototype to toy with ideas and try out the components
we’re making out of the monolithic KMail. Still, it weights just
under 400 lines of C++ code, and you can completely browse all the
mailboxes you configured in Akonadi thanks to it. Of course, here
is the obligatory screenshot:
It looks so much like a miniature version of KMail that it is
almost scary. But don’t fool yourself, there’s a lot to do to have
a full fledged KMail which will be only based on Akonadi. We’re not
there yet, still it is nice to see the whole thing taking shape, in
particular to reach the point where you can actually read your mail
over IMAP using this small prototype and feel almost at home with
it thanks to this familiar touch. :-) From my point of view, the
KDE culture of working a lot with components really pays off. KMail
was first created at a time where this KDE culture didn’t reach
it’s full potential yet, hence why we need to refactor it now. But,
following this culture it is really nice to see that we’ll end up
with small packages of mail client functionalities, and, that
thanks to them and to Akonadi, it will be easy to integrate them in
any application. We made a relatively complete mail reader in under
400 lines of code, so simply displaying mail content in your
application or a message list becomes a trivial task.