<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Toma&#039;s blog &#187; KMime</title>
	<atom:link href="http://www.omat.nl/tag/kmime/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.omat.nl</link>
	<description>My Blogs.</description>
	<lastBuildDate>Sat, 21 Jan 2012 01:00:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Akonadi meeting, here I come &amp;&amp; Mailody is dead.</title>
		<link>http://www.omat.nl/2010/05/13/akonadi-meeting-here-i-come-mailody-is-dead/</link>
		<comments>http://www.omat.nl/2010/05/13/akonadi-meeting-here-i-come-mailody-is-dead/#comments</comments>
		<pubDate>Thu, 13 May 2010 08:29:27 +0000</pubDate>
		<dc:creator>toma</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Akonadi]]></category>
		<category><![CDATA[KMail]]></category>
		<category><![CDATA[KMime]]></category>
		<category><![CDATA[Mailody]]></category>

		<guid isPermaLink="false">http://www.omat.nl/?p=639</guid>
		<description><![CDATA[Today (well, yesterday now), I&#8217;m traveling to Berlin again. I&#8217;ve now been there a dozen times or so and I&#8217;m getting the hang of traveling to it. I had a little argument with a passenger about who should sit where. Not that I care much were I sit, ah well, I actually did care, my [...]]]></description>
			<content:encoded><![CDATA[<p>Today (well, yesterday now), I&#8217;m traveling to Berlin again. I&#8217;ve now been there a dozen times or so and I&#8217;m getting the hang of traveling to it. I had a little argument with a passenger about who should sit where. Not that I care much were I sit, ah well, I actually did care, my reserved seat was next to the window and hat a power socket, so you definitely want to claim it. Sorry dude.</p>
<p>In Berlin there is the Akonadi meeting again. We do it twice a year and that seems to be a good interval. Just before each freeze (well, in this case, slightly after). Ah freeze, that reminds me of a) the temperature inside this cabin and b) the silence which arrived after the small argument&#8230; Back to topic. I&#8217;ve not hacked much the last couple of months, work work gets in the way sometimes. The spare time I had, I spent mostly on sysadmin tasks, of which Eike Hein is now doing most.</p>
<p>The Akonadi team has a few problems, or challenges if you like. Not really technical, but rather on the marketing side of stuff. I think the last couple of months have shown that we are not really communicating a lot with &#8216;the outside&#8217;, and in the days before this meeting, I&#8217;ve heard a lot of questions about the current state of KMail and other Akonadi apps. As with each meeting, I again hope to have time to report from the meeting and give you updates about the state of Akonadi within KDE.</p>
<p>I also will explain what I did manage to do last months and I hope to get started on a project related to it. More about that later.</p>
<p>One of the things I do want to talk about is Mailody. It is dead. With tears in my eyes I&#8217;ve deleted it a month ago. Why? Because I decided to do so. This was triggered by a flow of people wanting to use Mailody. Still puzzled? Yes? Ok. Let me explain. I created Mailody years ago, because I wanted to change the mail reading experience of my users. I never ever wanted to go after KMail users. They do the things they do their way and that&#8217;s fine. I wanted to create a mail client which had an alternative interface, alternative way of doing things, like saving the sent mail not in a separate folder, but in the same folder to preserve threading, having the ability to do a quick reply to a message, without launching a full blown composer, etc. (I can go on, but it&#8217;s pretty pointless for a dead app). I&#8217;ve accomplished some of my goals, but failed in some area&#8217;s, like seducing other developers to help me.</p>
<p>I&#8217;ve also failed to create a substantial userbase to keep it alive. I think I was the only user. I never made the switch to Mailody4, because it was never ready for production use. I feel the users approaching me to start using Mailody4 were doing it for the wrong reasons. Not because they liked what I created, no, they wanted it because KMail in svn trunk isn&#8217;t &#8216;ready&#8217;. Although everyone is Free to use their own motivation, I don&#8217;t think Mailody4 should be used for production. It will reflect badly on Mailody, Akonadi and me. Although I told people not to use it, they still insisted, &#8216;it is in keg, so must work somehow&#8217;. Right. The only option I had left was to kill it from svn, and so I did.</p>
<p>Is it really dead, dead? No. There still is a chance I will pick it up. I&#8217;ve still some unfinished business there. But it won&#8217;t be anytime before KMail trunk has been released and everyone is happy using that again. That means the whole stack should be ready for usage again (imap, mailtransport, identies, kmime, akonadi). Then I will make sure the glue between them (Mailody) is working fine again. But not now.</p>
<p>As said, I&#8217;ll be a frequent blogger the next days, hoping to bring you some news from what&#8217;s happening in Berlin at the Akonadi Meeting.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.omat.nl/2010/05/13/akonadi-meeting-here-i-come-mailody-is-dead/" target="_blank"><img src="http://www.omat.nl/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.omat.nl/2010/05/13/akonadi-meeting-here-i-come-mailody-is-dead/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Akonadi Meeting, Day 3</title>
		<link>http://www.omat.nl/2009/10/19/akonadi-meeting-day-3/</link>
		<comments>http://www.omat.nl/2009/10/19/akonadi-meeting-day-3/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 12:20:53 +0000</pubDate>
		<dc:creator>toma</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Akonadi]]></category>
		<category><![CDATA[KMail]]></category>
		<category><![CDATA[KMime]]></category>
		<category><![CDATA[Mailody]]></category>

		<guid isPermaLink="false">http://www.omat.nl/?p=580</guid>
		<description><![CDATA[Day 2 ended with some hacking and adapting stuff to the API changes we did. I worked on Mailody and implemented support for contact groups. That are groups of contacts, also called distribution lists. In the address book within the composer you can now see them and when you click on it, the individual members [...]]]></description>
			<content:encoded><![CDATA[<p>Day 2 ended with some hacking and adapting stuff to the API changes we did. I worked on Mailody and implemented support for contact groups. That are groups of contacts, also called distribution lists. In the address book within the composer you can now see them and when you click on it, the individual members of that group get added to the recipients list. I never had group support within Mailody and adding it while using Akonadi was not more than like 40 lines of code.</p>
<p>After that I worked to get the manual expunge code, which I explained on Friday. The DBus interfaces were added by Kevin and I adapted Mailody to use them. So that was one of the last goals I had for the meeting. In the meanwhile Thomas McGuire yelled that his rewrite of the pop3-resource was pretty much complete and passed his unit tests.</p>
<p>Day 3 was somehow a bit more relaxed than the other days. We briefly looked over the last  bit of API we had to review. It was coming from the KMime library. KMime is a library that has been around for ages and was written with the intend to replace mimelib which is used by KMail. But that never happened. </p>
<p>KMime is the library that is responsible for creating the actual message after you press the send button in an email composer, but also deals with extracting the different parts from a message to display them, extracting the plain part, the HTML part, maybe some attachments, but also dealing with all kinds of encoding and decoding problems which are used to send the actual mail in.</p>
<p>When I started Mailody, I first tried to do that all on my own, but I soon realized that was not something I wanted to do, and Volker pointed me to the &#8211; at that moment unused &#8211; KMime library. After we removed the dust, we discovered some bad API and for KDE4, we removed most of the ugly API (like methods returning QList<Headers*>* (yes returning pointers to a list with pointers). Mailody then turned into a happy user with KMime. With the akonadification of KMail, it is needed that KMail also used KMime internally. Akonadi delivers the messages in that form to KMail, so it needs to. Andras Mantia has been actively working on this conversion for KMail. I&#8217;ve big respect for that work. I know it is a big task and probably not the most fun to do.</p>
<p>That also mean there is a new user of that stuff, and that means some API changes are wanted. We are still not completely happy with existing API, so that makes the extensions to that API somewhat less critical to get absolutely perfect. This is one of the candidates for a rewrite for KDE5. Still reading? Sorry to be a bit verbose on this stuff, just want to make sure you get a feeling why an akonadified KMail is not available yet. From one big monolithic application, it is being teared down to separate components, which will make the codebase a lot easier.</p>
<p>You have to have bad api&#8217;s to realize the value of good API&#8217;s.</p>
<p>After this mandatory part of the meeting, we quickly went over to the other mandatory part and did the Group Photo. I&#8217;ve not seen it yet, but I&#8217;m sure it will appear on the Dot or Planet soonish. There were a couple of discussions between various people. It&#8217;s fun to see that the base of Akonadi works nicely for a lot of people and we are slowly arriving at the phase were we can extend it further. Hot Topics in that area are:</p>
<ul>
<li>Search. You can basically split up two types of searches. The first one is in the messages within Akonadi. We will use Nepomuk for that. Especially now Virtuoso back-end for Nepomuk seems to be performing nicely, we can go ahead and implement them further. The ground work is already present; Akonadi supports creating virtual search folders, containing links to messages in other folders. Also each message passed into Akonadi is being indexed by Nepomuk. Just need to finish up that work as far as I know, like creating a user interface for creating such a search folder. The second type of searches are server side searches. Take IMAP. It allows you to search for messages directly on the server. We need to support that too.
<li>Filtering. Basically you have the same difference. There is a local filtering of messages, which is implemented by a summer of code student. It means that a special type of resource gets the messages before it gets added to the final destination folder. That special resource can filter it to another folder for example. This should all be finished, but it&#8217;s not completely ready yet. There is also filtering on the server side. For example IMAP filtering is (and should) be done on the server side, for example with Sieve. Volker and I briefly brainstormed about the possibility to create an application which can deal with that. Should not be too much work if we can base it on the work already done by the SOC student.
</ul>
<p>I briefly brought up Google Wave. I think Akonadi can easily provide a resource for it, although there wasn&#8217;t much interest from the participants of the meeting to work on it, so we probably will not work on it ourselves. Of course if the resource is created, you&#8217;d still need an application to edit the waves. So if anyone wants Google Wave integration into KDE, please use Akonadi as base. We can help you with the stuff, we just don&#8217;t have time to do it ourselves.</p>
<p>That pretty much concludes my coverage from the meeting. I know there will be a dot story outlining more stuff that has been done during the meeting, outside the little box I have lived in. It was fun to be there again.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.omat.nl/2009/10/19/akonadi-meeting-day-3/" target="_blank"><img src="http://www.omat.nl/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.omat.nl/2009/10/19/akonadi-meeting-day-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

