<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.2" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: The Evolution DBus metadata API</title>
	<link>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api</link>
	<description>From the mind of Philip</description>
	<pubDate>Sun, 14 Mar 2010 15:04:24 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.2</generator>

	<item>
		<title>by: Damien</title>
		<link>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36276</link>
		<pubDate>Sun, 01 Feb 2009 19:52:09 +0000</pubDate>
		<guid>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36276</guid>
					<description>Jud: You might check the sources of Akonadi sometime, but they do indeed depend on Qt - I just checked.

server: http://websvn.kde.org/trunk/kdesupport/akonadi/  (depends on Qt)
client: http://websvn.kde.org/trunk/KDE/kdepimlibs/akonadi/ (depends on Qt and KDE libs)

Let's also note that Akonadi's design is epic fail. Akonadi is basically the same exact thing as Evolution-Data-Server except that instead of offering decent client APIs (using DBus), it offers everything via IMAP - ical messages are in a Calendar folder, vcard messages are in a Addressbook folder, etc. This is the most retarded thing ever conceived. IMAP was not designed to serve data like this efficiently... and what's worse is that neither GNOME nor KDE have even a half-way decent IMAP client implementation.

If the purpose of Akonadi is for concurrent access to messages, calendar data and vcards as MIME objects, a better design would have simply been to agree on a Maildir-like directory of messages on the local filesystem instead.

Even that, imho, would not be ideal however.

A better approach would be to agree to a specific Maildir location for mail and design similar concurrent access directory layouts for vcard and ical files and to agree to those locations as well.

Think about it - if the groupware clients are going to have to all implement the most complex mail access protocol known to man (IMAP) and they're still going to have to implement a MIME parser, it's not much more effort to talk to the real IMAP accounts themselves, is it? So what's the point of talking to a daemon process using the same protocol they'd be using to talk to the server directly?

Akonadi is also inefficient by design because it forces 2 copies of the current message to be in memory (one in the akonadi server, one in the client), not to mention at least a third copy in memory for the renderer.

(KDE's libmime++ parses entire MIME messages into RAM and iirc, so does Evolution's).

I'm not a huge fan of Evolution, but the developers got at least 1 thing right: they didn't make the retarded decision to make Evolution-Data-Server into a mail server.</description>
		<content:encoded><![CDATA[<p>Jud: You might check the sources of Akonadi sometime, but they do indeed depend on Qt - I just checked.</p>
<p>server: <a href='http://websvn.kde.org/trunk/kdesupport/akonadi/' rel='nofollow'>http://websvn.kde.org/trunk/kdesupport/akonadi/</a>  (depends on Qt)<br />
client: <a href='http://websvn.kde.org/trunk/KDE/kdepimlibs/akonadi/' rel='nofollow'>http://websvn.kde.org/trunk/KDE/kdepimlibs/akonadi/</a> (depends on Qt and KDE libs)</p>
<p>Let&#8217;s also note that Akonadi&#8217;s design is epic fail. Akonadi is basically the same exact thing as Evolution-Data-Server except that instead of offering decent client APIs (using DBus), it offers everything via IMAP - ical messages are in a Calendar folder, vcard messages are in a Addressbook folder, etc. This is the most retarded thing ever conceived. IMAP was not designed to serve data like this efficiently&#8230; and what&#8217;s worse is that neither GNOME nor KDE have even a half-way decent IMAP client implementation.</p>
<p>If the purpose of Akonadi is for concurrent access to messages, calendar data and vcards as MIME objects, a better design would have simply been to agree on a Maildir-like directory of messages on the local filesystem instead.</p>
<p>Even that, imho, would not be ideal however.</p>
<p>A better approach would be to agree to a specific Maildir location for mail and design similar concurrent access directory layouts for vcard and ical files and to agree to those locations as well.</p>
<p>Think about it - if the groupware clients are going to have to all implement the most complex mail access protocol known to man (IMAP) and they&#8217;re still going to have to implement a MIME parser, it&#8217;s not much more effort to talk to the real IMAP accounts themselves, is it? So what&#8217;s the point of talking to a daemon process using the same protocol they&#8217;d be using to talk to the server directly?</p>
<p>Akonadi is also inefficient by design because it forces 2 copies of the current message to be in memory (one in the akonadi server, one in the client), not to mention at least a third copy in memory for the renderer.</p>
<p>(KDE&#8217;s libmime++ parses entire MIME messages into RAM and iirc, so does Evolution&#8217;s).</p>
<p>I&#8217;m not a huge fan of Evolution, but the developers got at least 1 thing right: they didn&#8217;t make the retarded decision to make Evolution-Data-Server into a mail server.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Kevin Krammer</title>
		<link>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36247</link>
		<pubDate>Wed, 28 Jan 2009 22:03:21 +0000</pubDate>
		<guid>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36247</guid>
					<description>@Gustavo:
Akonadi is designed to handle different data types. The transfer format will therefore depend on the data type, e.g. it currently is vcard for contacts, ical for calendar and I think (haven't worked with mail myself yet) for mail it is the same as whatever is usually used for mail (multipart MIME?)

IRC Channel #akonadi on freenode network</description>
		<content:encoded><![CDATA[<p>@Gustavo:<br />
Akonadi is designed to handle different data types. The transfer format will therefore depend on the data type, e.g. it currently is vcard for contacts, ical for calendar and I think (haven&#8217;t worked with mail myself yet) for mail it is the same as whatever is usually used for mail (multipart MIME?)</p>
<p>IRC Channel #akonadi on freenode network
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: jospoortvliet</title>
		<link>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36243</link>
		<pubDate>Wed, 28 Jan 2009 21:35:17 +0000</pubDate>
		<guid>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36243</guid>
					<description>@Judd:
You're so right. No moron would be stupid enough to think smart people like KDE developers would design a storage mechanism like that. A smart person like you of course knows it would use a proper IPC mechanism so any client could use it.

(Unless of course you _didn't_ know that. Then I’d be disappointed. But even being outside the development process, that seems like an incredibly obvious moronic accusation.)</description>
		<content:encoded><![CDATA[<p>@Judd:<br />
You&#8217;re so right. No moron would be stupid enough to think smart people like KDE developers would design a storage mechanism like that. A smart person like you of course knows it would use a proper IPC mechanism so any client could use it.</p>
<p>(Unless of course you _didn&#8217;t_ know that. Then I’d be disappointed. But even being outside the development process, that seems like an incredibly obvious moronic accusation.)
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Jud</title>
		<link>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36232</link>
		<pubDate>Wed, 28 Jan 2009 15:51:33 +0000</pubDate>
		<guid>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36232</guid>
					<description>&quot;Does Akonadi link to qt?&quot;

What moron would deliberately link a PIM-framework to an arbitrary GUI toolkit that the developers _knew _ ahead of time that half of the Free Software community doesn't even want to touch, because it gives them the &quot;heebie-jeebies&quot;?

And _then_ propose it be a desktop-agnostic FDO standard?

Really, you'd hope you guys would be past non-starter criticism like this by now.  Give the KDE guys some credit.  You may not agree with their implementation, you may be jaded with how the desktop-cooperation ecosystem can still seem a mostly hypocritical minefield, but I doubt their design methods are inherently stupid/malicious/without-any-intelligent-thought-whatsoever, as that statement seemed to imply.

(Unless of course they _did_ do all that.  Then I'd be disappointed.  But even being outside the development process, that seems like an incredibly obvious moronic accusation.)</description>
		<content:encoded><![CDATA[<p>&#8220;Does Akonadi link to qt?&#8221;</p>
<p>What moron would deliberately link a PIM-framework to an arbitrary GUI toolkit that the developers _knew _ ahead of time that half of the Free Software community doesn&#8217;t even want to touch, because it gives them the &#8220;heebie-jeebies&#8221;?</p>
<p>And _then_ propose it be a desktop-agnostic FDO standard?</p>
<p>Really, you&#8217;d hope you guys would be past non-starter criticism like this by now.  Give the KDE guys some credit.  You may not agree with their implementation, you may be jaded with how the desktop-cooperation ecosystem can still seem a mostly hypocritical minefield, but I doubt their design methods are inherently stupid/malicious/without-any-intelligent-thought-whatsoever, as that statement seemed to imply.</p>
<p>(Unless of course they _did_ do all that.  Then I&#8217;d be disappointed.  But even being outside the development process, that seems like an incredibly obvious moronic accusation.)
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Gustavo Noronha</title>
		<link>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36230</link>
		<pubDate>Wed, 28 Jan 2009 15:19:02 +0000</pubDate>
		<guid>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36230</guid>
					<description>@Aaron: I found akonadi to be really interesting, but I did not find information on Email-specific APIs, just generic 'attributes storage' APIs, any pointers?

@Zeeshan Ali: that's bullshit; Qt has been Free Software for a long time now (9+ years); it just went GPL-&amp;#62;LGPL</description>
		<content:encoded><![CDATA[<p>@Aaron: I found akonadi to be really interesting, but I did not find information on Email-specific APIs, just generic &#8216;attributes storage&#8217; APIs, any pointers?</p>
<p>@Zeeshan Ali: that&#8217;s bullshit; Qt has been Free Software for a long time now (9+ years); it just went GPL-&gt;LGPL
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Zeeshan Ali (Khattak</title>
		<link>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36163</link>
		<pubDate>Tue, 20 Jan 2009 08:11:20 +0000</pubDate>
		<guid>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36163</guid>
					<description>Aaron! Does Akondi link to qt? if it does, i can perfectly understand why GNOME apps would not want to depend on it or fdo won't want to host it because qt was not concidered (purely) Free SW for good reason until a few days ago.</description>
		<content:encoded><![CDATA[<p>Aaron! Does Akondi link to qt? if it does, i can perfectly understand why GNOME apps would not want to depend on it or fdo won&#8217;t want to host it because qt was not concidered (purely) Free SW for good reason until a few days ago.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Aaron Seigo</title>
		<link>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36160</link>
		<pubDate>Tue, 20 Jan 2009 01:30:31 +0000</pubDate>
		<guid>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36160</guid>
					<description>first, Akonadi has such APIs. that's the entire reason for its existence, even: to provide protocol based access to local caches of data.

second, i understand it would take a lot more work to get Evolution working with Akonadi. no disagreement there as it's an obviously true statement.

what would make *sense* would b start looking at how to solve these problems properly by working on things like EvoAkonadi, and then you get things like what you just spent your time on for free.

however, by continuing to invest in the here-and-now implementation the end point of that effort continues to be delayed ever further.

what really pricked my ears up was the bit about &quot;you could write an email client front end with it&quot;, and if we're all honest with ech other it's pretty evident what the end game there is likely to turn to be.

we'll have two incompatible solutions for no real purpose, diminishing the user experience (&quot;why doesn't FooCal work with BarMail? why does CoolTimeWidget only work with certain PIM apps? &quot;) and dividing up our sparse resources in the PIM world.

it's not an interesting or overly sexy area to work in, nor a layer where innovation is exacty the name of the game. it's the right place to work together rather than ignore each other.

at LCA the other year, a GNOME developer gave a lightening talk during the gnome mini-conf (which i attended =) about considering using Akonadi. the Akonadi people were trying very hard to reach out to others, even offering up one of their GSoC slots to someone willing to write a gobject based client lib for Akonadi. i was hopeful.

since, though, i don't see a lot of interest or attention being paid. i do see people reinventing wheels and fd.o saying &quot;no&quot; to hosting akonadi server dev due to this.

another end game is just to work at making applications that insist on their own world view irrelevent to the broader community. that would be hugely unfortunate and not a great way to service the userbase in the short term, but would at least get us to a useful long term solution.</description>
		<content:encoded><![CDATA[<p>first, Akonadi has such APIs. that&#8217;s the entire reason for its existence, even: to provide protocol based access to local caches of data.</p>
<p>second, i understand it would take a lot more work to get Evolution working with Akonadi. no disagreement there as it&#8217;s an obviously true statement.</p>
<p>what would make *sense* would b start looking at how to solve these problems properly by working on things like EvoAkonadi, and then you get things like what you just spent your time on for free.</p>
<p>however, by continuing to invest in the here-and-now implementation the end point of that effort continues to be delayed ever further.</p>
<p>what really pricked my ears up was the bit about &#8220;you could write an email client front end with it&#8221;, and if we&#8217;re all honest with ech other it&#8217;s pretty evident what the end game there is likely to turn to be.</p>
<p>we&#8217;ll have two incompatible solutions for no real purpose, diminishing the user experience (&#8221;why doesn&#8217;t FooCal work with BarMail? why does CoolTimeWidget only work with certain PIM apps? &#8220;) and dividing up our sparse resources in the PIM world.</p>
<p>it&#8217;s not an interesting or overly sexy area to work in, nor a layer where innovation is exacty the name of the game. it&#8217;s the right place to work together rather than ignore each other.</p>
<p>at LCA the other year, a GNOME developer gave a lightening talk during the gnome mini-conf (which i attended =) about considering using Akonadi. the Akonadi people were trying very hard to reach out to others, even offering up one of their GSoC slots to someone willing to write a gobject based client lib for Akonadi. i was hopeful.</p>
<p>since, though, i don&#8217;t see a lot of interest or attention being paid. i do see people reinventing wheels and fd.o saying &#8220;no&#8221; to hosting akonadi server dev due to this.</p>
<p>another end game is just to work at making applications that insist on their own world view irrelevent to the broader community. that would be hugely unfortunate and not a great way to service the userbase in the short term, but would at least get us to a useful long term solution.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: pvanhoof</title>
		<link>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36150</link>
		<pubDate>Mon, 19 Jan 2009 21:47:34 +0000</pubDate>
		<guid>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36150</guid>
					<description>@Aaron, this is not the same as akonadi. Akonadi could implement this, but it's not the same at all. Not in purpose, nor in features nor in implementation.

For Evolution to start using Akonadi a lot more would have to happen. I don't think that will happen soon enough. Nonetheless would Akonadi still need an API like this even if Evolution would...</description>
		<content:encoded><![CDATA[<p>@Aaron, this is not the same as akonadi. Akonadi could implement this, but it&#8217;s not the same at all. Not in purpose, nor in features nor in implementation.</p>
<p>For Evolution to start using Akonadi a lot more would have to happen. I don&#8217;t think that will happen soon enough. Nonetheless would Akonadi still need an API like this even if Evolution would&#8230;
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Aaron Seigo</title>
		<link>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36148</link>
		<pubDate>Mon, 19 Jan 2009 21:27:31 +0000</pubDate>
		<guid>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36148</guid>
					<description>oh look, another exercise in reinventing the wheel. there is already akonadi, but when was the last time an existing technology that works ever stood in the way of a F/OSS project reimplementing everything from scratch (often making the same mistakes all over again)?

i know in our project we've worked damn hard to get rid of this counterproductive pattern of behviour, and it's paid off rather nicely.

now if we could get a decent % of the rest of the F/OSS desktop world thinking similarly, we might all just have a chance at being mildly efficient and delivering user experiences that Don't Suck(tm).

yes, i'm frustrated. yes, this is dissapointing. yes, i don't want the next five years to be a repeat of the last five years.</description>
		<content:encoded><![CDATA[<p>oh look, another exercise in reinventing the wheel. there is already akonadi, but when was the last time an existing technology that works ever stood in the way of a F/OSS project reimplementing everything from scratch (often making the same mistakes all over again)?</p>
<p>i know in our project we&#8217;ve worked damn hard to get rid of this counterproductive pattern of behviour, and it&#8217;s paid off rather nicely.</p>
<p>now if we could get a decent % of the rest of the F/OSS desktop world thinking similarly, we might all just have a chance at being mildly efficient and delivering user experiences that Don&#8217;t Suck(tm).</p>
<p>yes, i&#8217;m frustrated. yes, this is dissapointing. yes, i don&#8217;t want the next five years to be a repeat of the last five years.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Urho Konttori</title>
		<link>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36107</link>
		<pubDate>Sat, 17 Jan 2009 08:11:08 +0000</pubDate>
		<guid>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36107</guid>
					<description>That would actually make a lot of sense. Tracker would be able to provide very fast full text search over all the content, as well, as the search over just few fields of the content. 

http://svn.gnome.org/viewvc/tracker/trunk/data/dbus/tracker-search.xml?view=markup

method Query is probably what you are looking for. Service would be Mail or EvolutionMail (would need to check), and you could either crarft a query with the query condition (if you only search certain fields), or just use the search_text if you want full text search over all mail fields and content. 

Anyway, things will improve dramatically from 0.7 onwards.</description>
		<content:encoded><![CDATA[<p>That would actually make a lot of sense. Tracker would be able to provide very fast full text search over all the content, as well, as the search over just few fields of the content. </p>
<p><a href='http://svn.gnome.org/viewvc/tracker/trunk/data/dbus/tracker-search.xml?view=markup' rel='nofollow'>http://svn.gnome.org/viewvc/tracker/trunk/data/dbus/tracker-search.xml?view=markup</a></p>
<p>method Query is probably what you are looking for. Service would be Mail or EvolutionMail (would need to check), and you could either crarft a query with the query condition (if you only search certain fields), or just use the search_text if you want full text search over all mail fields and content. </p>
<p>Anyway, things will improve dramatically from 0.7 onwards.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: pvanhoof</title>
		<link>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36081</link>
		<pubDate>Fri, 16 Jan 2009 11:18:22 +0000</pubDate>
		<guid>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36081</guid>
					<description>@Anders: Tracker does, yes.</description>
		<content:encoded><![CDATA[<p>@Anders: Tracker does, yes.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Anders</title>
		<link>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36060</link>
		<pubDate>Thu, 15 Jan 2009 19:05:26 +0000</pubDate>
		<guid>http://pvanhoof.be/blog/index.php/2009/01/15/the-evolution-dbus-metadata-api#comment-36060</guid>
					<description>Nice. I've wondered. Does tracker export a nice api that could maybe be use to make an Evolution plugin that replaces the search box in Evolution. Maybe even an api that could be used for search-as-you-type? (maybe such a plugin already exists?)

Thanks for rocking :o)
Anders</description>
		<content:encoded><![CDATA[<p>Nice. I&#8217;ve wondered. Does tracker export a nice api that could maybe be use to make an Evolution plugin that replaces the search box in Evolution. Maybe even an api that could be used for search-as-you-type? (maybe such a plugin already exists?)</p>
<p>Thanks for rocking :o)<br />
Anders
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
