<?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>vizZzion.org :: sebas&#039; blog &#187; Silk</title>
	<atom:link href="http://vizZzion.org/blog/category/silk/feed/" rel="self" type="application/rss+xml" />
	<link>http://vizZzion.org/blog</link>
	<description>Sebastian Kügler&#039;s web log</description>
	<lastBuildDate>Wed, 25 Jan 2012 16:25:08 +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>Das Web, scheibchenweise</title>
		<link>http://vizZzion.org/blog/2011/01/das-web-scheibchenweise/</link>
		<comments>http://vizZzion.org/blog/2011/01/das-web-scheibchenweise/#comments</comments>
		<pubDate>Fri, 28 Jan 2011 01:52:09 +0000</pubDate>
		<dc:creator>sebas</dc:creator>
				<category><![CDATA[German]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[openSUSE]]></category>
		<category><![CDATA[Plasma]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[Silk]]></category>

		<guid isPermaLink="false">http://vizZzion.org/blog/?p=1751</guid>
		<description><![CDATA[Das Web-Scheibchen Widget ist in Plasma (in kdeplasma-addons, noch bis zum Git-Umzug am Wochenende) seit 4.4 enthalten. Ein Web-Scheibchen ist ein Teil einer Website auf dem Desktop. Das kann hilfreich sein, wenn man einen Ausschnitt einer Website im Auge behalten will, allerdings dafür aber keinen kompletten Browser starten will. Richard Moore und ich haben das [...]]]></description>
			<content:encoded><![CDATA[<p>Das Web-Scheibchen Widget ist in Plasma (in kdeplasma-addons, noch bis zum Git-Umzug am Wochenende) seit 4.4 enthalten. Ein Web-Scheibchen ist ein Teil einer Website auf dem Desktop. Das kann hilfreich sein, wenn man einen Ausschnitt einer Website im Auge behalten will, allerdings dafür aber keinen kompletten Browser starten will.</p>
<p>Richard Moore und ich haben das Webslice Applet auf der Akademy 2009 in Akademy geplant, richmoore hat dann einen Prototypen geschrieben, den ich in ein einfaches Plasma Widget umgesetzt habe. Seit dem ersten Release zusammen mit 4.4 hat sich allerdings wenig dran getan. Es funktioniert im Prinzip recht einfach: Wir laden eine Website in einem Webkit Widget (auf der Plasma Canvas), blenden die Scrollbalken aus, scrollen an die richtige Stelle (zur Geometrie einzelner Element kann man Webkit befragen) und zoomen soweit ein oder aus, dass der Ausschnitt in&#8217;s Widget passt. Das funktionierte so recht gut, allerdings blieben zwei Probleme: Das Vergrössern bzw. Verkleinern des Widgets war viel zu langsam, und dadurch nicht flüssig genug, und die Auswahl des Ausschnitts war alles andere als intuitiv &#8212; man musste den richtigen CSS2 Selector eingeben, diesen also erst aus dem Quellcode der Website puhlen.</p>
<p>Gestern abend habe ich eine Reihe Änderungen eingepflegt, die hier deutliche Verbesserung bringen. Nach Review auf der plasma-devel Mailingliste habe ich diese Änderungen auch in den 4.6 Zweig committet, d.h. dass sie mit 4.6.1 in ca. einem Monat zur Verfügung stehen werden. (Oder ihr besorgt euch den Code aus KDE&#8217;s SVN bzw. Git, unter kdeplasma-addons/applets/webslice.) Schau&#8217;n wir mal, was ich so geändert habe&#8230;</p>
<h3>Performance</h3>
<p><a href="http://vizzzion.org/blog/wp-content/uploads/2011/01/webslice-3-slices.png"> </a></p>
<p><a href="http://vizzzion.org/blog/wp-content/uploads/2011/01/webslice-3-slices.png"> <img title="3 Web-Scheibchen mit verschiedenen Ausschnitten von mehreren Seiten" src="http://vizzzion.org/blog/wp-content/uploads/2011/01/webslice-3-slices-268x300.png" alt="3 Web-Scheibchen mit verschiedenen Ausschnitten von mehreren Seiten" /></a> Vor allem das Vergrössern und Verkleinern des Widgets machte eigentlich kaum Spass. Das Web-Scheibchen Widget benutzt eine Webkit View, und zeigt die Seite an einer bestimmten Position an, mit einem zur Plasmoidgrösse passendem Zoomfaktor. Soweit, so gut. Dem Performanceproblem lag zugrunde, dass das Widget während dem Andern seiner Grösse so viele Resize Events abfing, dass es mit dem Zoomen und Positionieren nicht nachkam, und diese sich aufstauten. Dem habe ich Abhilfe verschafft erstmal die Codepfade, die zum diesen &#8220;resize events&#8221; führen aufgeräumt habe, sodass dieser Vorgang nur stattfindet, wenn es wirklich nötig ist. Dann habe ich mittels eines QTimers verschiedene, schnell aufeinanderfolgende Events zusammengefasst. Beim Zoomen des Widgets war auch noch so Einiges drin, wenn man die Backingstore zeitweise einfriert, und das komplette Neurendern der Seite dann um einige Millisekunden verzögert. Zusammen damit habe ich auch die Seitenverhältnisse flexibler gemacht, diese waren vorher fest eingestellt. (Man kann in Plasma immmer noch unabhängig von den Seitenverhältnissen verkleinern/vergrössern, indem man die CTRL Taste gedrückt hält.) Das erste Problem ist also gründlich gefixt.</p>
<h3>Verbesserte Anwenderfreundlichkeit</h3>
<p><a href="http://vizzzion.org/blog/wp-content/uploads/2011/01/webslice-config-preview.png"><img title="Während der Konfiguration schaltet das Web-Scheibchen Widget in den Übersichtsmodus" src="http://vizzzion.org/blog/wp-content/uploads/2011/01/webslice-config-preview-300x154.png" alt="Während der Konfiguration schaltet das Web-Scheibchen Widget in den Übersichtsmodus" /></a> Nächster Punkt: Ergonomie. Wie schon erwähnt, schränkt das notwendige extrahieren von CSS2 Selektoren aus Webseiten-Quellcode die Zielgruppe des Widgets gelinde gesagt etwas ein. (Eigentlich sind die recht einfach, was aber nicht heisst, dass ich es auch meinem &#8220;Resident non-Geek&#8221; zumuten würde &#8212; ich hab&#8217;s probiert und empfing einen recht leeren Blick als Dank). Ich habe einige Zeit drüber nachgedacht, wie man sowas elegant umsetzen kann. Erstmal wollen wir Quellcode-lesen während des Setup vermeiden, es sollte einfach sein, den gewünschten Ausschnitt auszuwählen, und das Feedback für den Anwender sollte so direkt wie möglich sein. Erster Streich: Die Eingabezeile für das CSS Element hat sich verwandelt in eine editierbare Combobox, über deren Dropdown-Menü man jetzt Elemente auswählen kann. Zweiter Streich: Die URL Eingabezeile hat einen Reload-Knopf zum Nachbarn bekommen, mit dem man eine neue Seite in die Voransicht laden kann (damit werden auch die Elemente in der Combobox erneuert). Dritter Streich: Das Widget zeigt jetzt während der Konfiguration eine Übersicht der ganzen Seite an, und markiert das gerade ausgewählte Element. (Mann kan, wie in allen Comboboxen dann auch mit Maus bzw. Pfeiltasten durch die Liste navigieren, gleichzeitig sieht man im Widget welcher Ausschnitt sich hinter dem kryptischen Namen des Elements (#myid, zum Beispiel) verbirgt. Sobald man bestätigt, zeigt das Widget dann den Ausschnitt passend gezoomt an.</p>
<p>Alles in allem nicht ganz so triviale Änderungen. Da das Widget allerdings bisher kaum benutzbar war, die Änderungen sich recht einfach ohne Änderungen an den Übersetzungen vornehmen liessen, und das Risiko auf Regressions in anderen Teilen sehr gering war, habe ich die Änderungen auch in den 4.6 Zweig eingepflegt. Damit werden sie mit 4.6.1 nächten Monat, und mit openSUSE im März mitgeliefert, und wir somit vielleicht dem ein oder anderen Anwender eine Freude bereiten können.</p>
<p>Hier und da gibt&#8217;s natürlich noch Verbesserungsmöglichkeiten. So kann ein erklärender Tooltip hier und da sicherlich nicht schaden, flexiblere Grössenoptionen, wie Proportion, Originalgrösse der Seite (interessant für &#8220;flüssige Layouts&#8221;), zum Beispiel. Ich habe dafür erstmal sinnvolle Voreinstellungen gewählt, abhängig vom Feedback auf&#8217;s jetzige Featureset sehen wir dann mal weiter.</p>
<h3>4 Minuten Hobbychirurgie</h3>
<p>Abschliessend noch unsere Mitmach-Runde im Mitmach-Web 2.0! Wir haben einen netten Mechanismus, mit dem man kinderleicht eigene Web-Scheibchen-Widgets erstellen kann. Dazu kopiert ihr einfach eine bereits existierende <a href="http://websvn.kde.org/*checkout*/trunk/KDE/kdeplasma-addons/applets/webslice/plasma/plasma-applet-webslice.desktop">Web-Scheibchen .desktop Datei</a>. Dateinamen ändern (wir wollen ja nichts anderes überschreiben), Namen, Kommentar, ev. auch Übersetzungen updaten (oder einfach löschen, falls nicht nötig), Autor, etc, Einträge die man nicht versteht, einfach drin lassen, auf jeden Fall aber die Plasma Library und Mimetype Einträge. Fügt dann eine Zeile wie diese hinzu, um das Web-Scheibchen auf das Element mit id=&#8221;myid&#8221; im Tag von der Frontpage von mysite.org läd:</p>
<pre> X-Plasma-Args=http://mysite.org,#myid</pre>
<p>Diese Datei muss man dann nur noch nach ~/.kde(4)/share/kde4/services/, <em>kbuildsycoca4</em> ausführen, um die Plugins und Metadaten auf den neusten Stand zu bringen, und das Widget über den Widget Explorer zur Plasma Arbeitsfläche oder dem Netbook hinzufügen.</p>
<p>Eine mögliche Entwicklungsrichtung für die Zukunft wäre dann, diese selbsterstellten Web-Scheibchen über opendesktop.org mit anderen zu teilen, quasi &#8220;<em>Social Desktop für Web-Metzger</em>&#8220;&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://vizZzion.org/blog/2011/01/das-web-scheibchenweise/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Slicing up the Web</title>
		<link>http://vizZzion.org/blog/2011/01/slicing-up-the-web/</link>
		<comments>http://vizZzion.org/blog/2011/01/slicing-up-the-web/#comments</comments>
		<pubDate>Fri, 28 Jan 2011 00:27:50 +0000</pubDate>
		<dc:creator>sebas</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Plasma]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[Silk]]></category>

		<guid isPermaLink="false">http://vizZzion.org/blog/?p=1748</guid>
		<description><![CDATA[The Webslice applet has been in Plasma (kdeplasma-addons, to be precise) since 4.4 already. It allows the user to display a part of a webpage on the desktop. This can be useful for monitoring only a specific part of a webpage, or just to display something nice. The Webslice applet has been written by Richard [...]]]></description>
			<content:encoded><![CDATA[<p>The Webslice applet has been in Plasma (kdeplasma-addons, to be precise) since 4.4 already. It allows the user to display a part of a webpage on the desktop. This can be useful for monitoring only a specific part of a webpage, or just to display something nice.</p>
<p>The Webslice applet has been written by Richard Moore and me as a functional prototype, but didn&#8217;t see much love since it was added to Plasma for 4.4 in 2009. Its basic mechanism is that you specify a &#8220;slice&#8221; within a website, which is a rectangular region. This region then gets shown in the applet, and resizes dynamically with it, zooming the &#8220;slice&#8221; in and out. The widget basically worked, but had two significant problems: Resizing was very sluggish and bound to a kept aspect ratio, and you needed to know CSS2 selector syntax to actually use it.</p>
<p>Earlier tonight, I&#8217;ve committed a set of changes which address these problems, and backported them after review on the plasma-devel mailing list to the 4.6 branch, so these changes become part of Plasma 4.6.1, which will be the first service and translation update to 4.6.0, which we released yesterday.</p>
<h3>Performance</h3>
<p><a href="http://vizzzion.org/blog/wp-content/uploads/2011/01/webslice-3-slices.png"> </a>
<p><a href="http://vizzzion.org/blog/wp-content/uploads/2011/01/webslice-3-slices.png"> <img title="3 Webslices showing different parts of different webpages in diferent sizes" src="http://vizzzion.org/blog/wp-content/uploads/2011/01/webslice-3-slices-268x300.png" alt="3 Webslices showing different parts of different webpages in diferent sizes"></a> First, the resize issue. The Webslice applet uses a webkit view, which displays the page and is positioned (basically scrolled with scrollbars switched off) and zoomed to fit into the area the applet covers &#8212; fairly simple in fact. The performance problem was caused by too much resizing which got passed down the stack (if you scroll and zoom a website every couple of milliseconds, it becomes quite heavy on the CPU easily. I&#8217;ve addressed this by cleaning up the codepathes that lead to resizing, so that it only causes the resize (and thus the repositioning and zoom of the webpage) when absolutely necessary. Resize events from the applet are now compressed a bit, so that we don&#8217;t get more than 10 resizes a second. That&#8217;s &#8220;good enough&#8221; for the user to see what effect his mouse-dragging has, but doesn&#8217;t have the sluggish effect. Then, while resizing, I&#8217;m freezing webkit&#8217;s tiled backing store, for an additional performance boost. The result is very noticeable, the lag and CPU-hogging while resizing is gone, and the sizing of the applet is much less unwieldy with these changes. In that process, I&#8217;ve also switched to a non-fixed aspect ratio. Bug #1 thoroughly fixed. </p>
<h3>Improving Interaction</h3>
<p> <a href="http://vizzzion.org/blog/wp-content/uploads/2011/01/webslice-config-preview.png"><img title="While configuring the widget highlights the selected slice in the page overview" src="http://vizzzion.org/blog/wp-content/uploads/2011/01/webslice-config-preview-300x154.png" alt="While configuring the widget highlights the selected slice in the page overview"></a> Next-up, slice selection. As I already mentioned, that was neither easy, nor user-friendly. (If you&#8217;re running, 4.4+, give it a shot, it really sucks ;-).) First off, you need to know CSS2 selectors (they&#8217;re quite easy, in most cases you want #myid for an element in the page being marked with id=&#8221;myid&#8221;), but still limit the utility of the widget to a rather select group. (Does this make the widget 1337?)I&#8217;ve been pondering how to best offer this to the user. It should be easy to pick a slice from all the elements that are there. The first thing I did was to turn the lineedit where you&#8217;d input the CSS selector (#myid or whatever) into an editable combobox, already containing elements to choose from. That made picking a slice much more &#8220;determistic&#8221;. Still, the #myid names are not always telling you what part of the page their actually displaying, so some more feedback is desirable. My approach there is the following: When the user opens the configuration dialog, the page is zoomed out and fully shown in the webslice applet, it switches to a preview mode. The user can now enter a different URL, and temporary load this in the slice applet. The combo box containing the elements is now updated to contain the elements of the new page. Website picked, now let&#8217;s pick a slice. By selecting a slice from the combobox, the preview mode highlights the position of the currently selected slice in the widget. You apply and it zooms in there. A nice touch is that you can &#8220;scroll&#8221; through the slice by hovering over the combobox, or flip through them using the arrow keys while focusing the combobox.<br />All in all, not quite unintrusive changes, but considering the widget wasn&#8217;t of much use due to above described problems anyway (there was one bug filed against it &#8212; likely a bad sign, I&#8217;m not that good a hacker). Marco and Aaron were kind enough to review the patches and agreed that they won&#8217;t hurt much, but do provide a nice set of improvements we&#8217;d like our users to get fairly quickly, not just next summer with 4.7.</p>
<p> There are a couple of loose ends left for 4.7, though. As I wanted to keep the possibility of a backport open, I&#8217;ve not changed any strings in the widget, adding an explaining tooltip here or there might be useful, but also some more flexible sizing options (what proportions to use for the initial rendering &#8212; that matters for fluid layouts, how to clip if the size of the widget doesn&#8217;t match the aspect ratio of the slice, etc. I&#8217;ve chosen &#8220;sane defaults&#8221; for these things now, but it&#8217;ll probably be nice having that available as an option to the user. </p>
<h3>Create your own webslice Plasma widgets in 4 minutes</h3>
<p> There&#8217;s one neat thing left to tell about the webslice: You can easily create your own preconfigured slices. In order to do that, copy and rename the .desktop file, change name, comment, icon, if you wish, then add a line like </p>
<pre> X-Plasma-Args=http://mysite.org,#myid </pre>
<p> Copy the file to ~/.kde(4)/share/kde4/services/, run <i>kbuildsycoca4</i> and add your newly created webslice to your Plasma using the widget explorer.</p>
<p>A possible direction we can take this is to add a webslice category to opendesktop.org, and start sharing our webslices with each other&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://vizZzion.org/blog/2011/01/slicing-up-the-web/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Getting Email Done: The Stack and the Heap of Lion Mail</title>
		<link>http://vizZzion.org/blog/2010/09/getting-email-done-the-stack-and-the-heap-of-lion-mail/</link>
		<comments>http://vizZzion.org/blog/2010/09/getting-email-done-the-stack-and-the-heap-of-lion-mail/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 15:53:32 +0000</pubDate>
		<dc:creator>sebas</dc:creator>
				<category><![CDATA[Akonadi]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Open-SLX]]></category>
		<category><![CDATA[Plasma]]></category>
		<category><![CDATA[Silk]]></category>

		<guid isPermaLink="false">http://vizZzion.org/blog/?p=1584</guid>
		<description><![CDATA[In my previous article on this subject, I have introduced Akonadi as the personal information beehive on your computer, explained how it works, how it is designed and what the migration process to an Akonadi-based Kontact looks like. (openSUSE users should also take a look here.) In this article, I will dive into the workspace [...]]]></description>
			<content:encoded><![CDATA[<p><em>In my </em><a href="http://satellite.vizzzion.org/blog/2010/08/demystifying-akonadi/" title="Demystifying Akonadi"><em>previous article</em></a><em> on this subject, I have introduced Akonadi as the personal information beehive on your computer, explained how it works, how it is designed and what the migration process to an Akonadi-based Kontact looks like. (openSUSE users should also take a look </em><a href="http://satellite.vizzzion.org/blog/2010/06/kmails-akonadi-migration-in-opensuse/"><em>here</em></a><em>.) In this article, I will dive into the workspace parts we&#8217;re introducing on top of Akonadi, notably the new email notifier system in Plasma &#8211; Lion Mail.</em><br /><em>The Lion Mail email notifier is at its base your &quot;you&#8217;ve got mail&quot; icon in the panel. For users with more complex and high-traffic email habits, it offers a basic set of workflow tools to manage the daily stream of emails more efficiently and ergonomically. In this article, I&#8217;m describing some of the design concepts behind Lion Mail&#8217;s email notifier and its workflow features.</em></p>
<p><img src="http://vizzzion.org/blog/wp-content/uploads/2010/09/panel-tooltip.jpg" title="In the panel, you can quickly see if there are new emails" alt="In the panel, you can quickly see if there are new emails" />Complex email workflows are something I wanted Lion Mail to excel at. The idea is to make dealing with email as flexible as we can, so you can project your workflow onto it and have it make the daily flow of email more manageable, and less disturbing in the <em>real work</em> you want to get done. By default, the Lion Mail email notifier shows up in your panel when a new email arrived in your inbox, by clicking on it you can access the list of your latest unread emails in a small popup-window. The basic use-case is quickly checking if you&#8217;ve got new email. I will not dive too much into implementation details, as this article is all about work-flows and how it affects the user experience.</p>
<p>The idea is that, at all times you can see if there&#8217;s email to deal with. but not have it jump in your face. In order to be able to quickly dismiss something as &quot;I&#8217;ll deal with that one later&quot;, or &quot;ok, got it&quot;, there&#8217;s two queues in Lion Mail, the stack and the heap of Lion Mail.</p>
<h3>The Stack &#8212; Incoming Emails</h3>
<p><img src="http://vizzzion.org/blog/wp-content/uploads/2010/09/popup-open.jpg" title="The popup shows a list of the new emails" alt="The popup shows a list of the new emails" />The stack is your incoming emails queue, it lists new emails in one or more folders. By default, that&#8217;s your inbox, but you can configure it to monitor any folders you like (yes, combining them from multiple folders is built-in). The incoming emails queue is a transient thing, it&#8217;s your stream of incoming emails, and the first time a new email gets your attention (but doesn&#8217;t shout for it). The stack allows you to dismiss new emails, or mark them as read or important. The idea is that new emails might fall into the following categories:</p>
<ul>
<li><strong>&quot;Not right now&quot; </strong>- A new email will get your attention later. You take notice of its existence now, but don&#8217;t have time right now to tend to it. It stays marked as unread, you&#8217;ll get back to it later.</li>
<li><strong>&quot;This I really have to deal with, later&quot;</strong> &#8212; If you don&#8217;t respond to this email, the world implodes into dark matter, or your head gets torn off by zombie-chinchillas. You mark the email as important, for extra attention, you can leave it marked as unread.</li>
<li><strong>&quot;I am bored enough&quot;</strong> &#8212; An email you deal with right away, either because it&#8217;s important or more interesting than what you&#8217;re currently doing, or maybe because it&#8217;s quicker to reply right now. In those cases, you open the email in your mail client to read it and possibly reply.</li>
<li><strong>&quot;OK&quot;</strong> &#8212; You notice an email and know enough by peeking at it. It can drown in your inbox from here on, you mark it as read.</li>
<li dir="ltr">&quot;<strong>v14gra on loan</strong>&quot; &#8211; Something slipped the spam filters. You just want it gone. You hit the delete button and it won&#8217;t bother you again.</li>
</ul>
<p>These are a couple of possible reactions to new emails. By offering the tools to deal with such situations at hand, in the context of these incoming emails, we can pre-sort the stream of mail while we receive it.</p>
<h3>The Heap &#8212; Important Emails</h3>
<p><img src="http://vizzzion.org/blog/wp-content/uploads/2010/09/important-separate-tab.jpg" title="Important emails are accessible in a separate list" alt="Important emails are accessible in a separate list" />This is where the heap comes in. The heap is an optional second list of emails you can show in the Lion Mail email notifier. It simply shows the important emails in your monitored folders. This way, it offers you a list of things you need to deal with, in essence your to-do list of emails. By putting them into a separate list, we have two overlapping categories of emails you want to deal with. Lion Mail can either display those important emails in a combined list, or using separate tabs for new and important emails. The latter is likely to appeal to <a href="http://en.wikipedia.org/wiki/Getting_Things_Done">David Allen</a> fans, Lion Mail certainly is inspired by some of his ideas.</p>
<p><img src="http://vizzzion.org/blog/wp-content/uploads/2010/09/akonadi-plasma-emailnotifier-settings.jpg" title="In the setup you can specify which folders to monitor and wether or not to show important emails" alt="In the setup you can specify which folders to monitor and wether or not to show important emails" /></p>
<h3>Email Items</h3>
<p>The individual email items in the heap or stack offer a couple of options to open emails in your mail client, for marking emails as read and as important, and for deleting it. Needless to say that these buttons operate directly on the email, so the moment you mark an email in Lion Mail, it&#8217;ll change in KMail (or any other Akonadi-based email client) as well. When an email doesn&#8217;t satisfy the criteria for the heap of stack anymore, it fades out over a period of 5 seconds, so you get some &quot;undo grace-time&quot; if you clicked wrongly. The emails themselves show by default subject, sender, date and flags, you can expand to show some of the body as well. Email items employ a hover interface, when you move the mouse over an email, it reveals three controls as an overlay which offer flagging and trashing an email. Clicking on the icon opens the email in your mail client, you can also drag an email from these lists into your email client or Plasma workspace. I&#8217;ve chosen for a hover interface mainly for two reasons: less clicks and more discoverability. The emails don&#8217;t have a context menu right now, but there are a couple of useful options we could add there, for example forwarding or replying.</p>
<p><img src="http://vizzzion.org/blog/wp-content/uploads/2010/09/emailitem-context.jpg" title="Emails can be sorted using flags directly from the popup" alt="Emails can be sorted using flags directly from the popup" /></p>
<h3>Excerpts &#8212; NLP people, listen up!</h3>
<p>If someone comes up with a clever and useful implementation for email excerpts, I&#8217;m all open. Right now, I&#8217;m just showing the first couple of hundred characters in order to not blow the size of the widget beyond what&#8217;s reasonable in a small popup. As you can deduct, I&#8217;m not the most inspired mind in the world of language processing. In the UI, I&#8217;d rather avoid having to use scroll bars inside the expanded email body, as the list already might have scroll-bars. Nested scroll-bars will lead to annoying behaviour for mouse-wheel and flick-scrolling, so that should be avoided. The most elegant thing to do here is excerpting the interesting parts of the email, by skipping empty lines and possibly line-breaks, by removing reply-quoted parts, and so on. K9-Mail (a really good email client for Android) does this quite well, it&#8217;s often possible even from one line to judge an email&#8217;s content. We can easily fit 5 lines into the expanded email widget, and possibly even more, so I&#8217;d expect that with the right algorithm, we could do excellent there. If you&#8217;re into that kind of stuff, send me a piece of code that turns an email body (as QString, if you want) into a 200-300 character long excerpt, it should be LGPLed code and you&#8217;ll be properly credited. Sounds like a nice small, self-contained hacking project for a fall evening, no?</p>
<p>Otherwise, I wonder if &quot;the other Sebastian&quot;&#8217;s <a href="http://trueg.wordpress.com/2010/09/10/someone-requested-excerpts-for-query-results/">recent Nepomuk accomplishments in excerpting</a> documents play into our collective hands, or we&#8217;re in his of course. :-)</p>
<h3>Emails as first-class citizens in your workspace</h3>
<p>There&#8217;s if course a lot more in the pipeline. In principle, Lion Mail can hold any email collection, existing folders, but also virtual collections, such as search folders or combinations of multiple folders. Lion Mail represents itself as an icon in the panel&#8217;s notification area, you can enable it in the notification area&#8217;s settings. It&#8217;s also possible to put Lion Mail widgets on the dashboard, desktop or netbook&#8217;s new page, you can of course add multiple Lion Mail applets holding different collections one one or different activities, and this way depending on what you are doing, think of showing your work&#8217;s inbox in your &quot;work&quot; activity, showing private emails in your &quot;freetime&quot; activity or showing neither in your hacking activity. In Lion Mail itself, that would be very easy to do, It&#8217;s built in mind with showing arbitrary sets of emails, the new email and important email queues are just specialized version of a generic email list.<img src="http://vizzzion.org/blog/wp-content/uploads/2010/09/emaillist-desktop.jpg" title="Email lists can be put on the desktop, and switched depending on your activity" alt="Email lists can be put on the desktop, and switched depending on your activity" /></p>
<p>Drag and drop is also one of the things that got a little bit of attention while developing Lion Mail. You can drag emails from Lion Mail into KMail for example to move or copy them to another folder. Plasma is also receptive to dropping mails (and in the future mail folders) onto the desktop. Lion Mail includes a Plasma widget showing an individual email. It can take different sizes, so you can either have a bunch of small emails floating around, or individual emails with full text on your desktop or dashboard for reference while working, as it often comes handy to have a related email available for a quick check if you&#8217;re looking into something.<img src="http://vizzzion.org/blog/wp-content/uploads/2010/09/emails-desktop.jpg" title="Single emails can be put on the desktop as well, for quick reference" alt="Single emails can be put on the desktop as well, for quick reference" /></p>
<h3>Release plans and test-driving</h3>
<p>In its current state, Lion Mail email notifier is already quite usable. The work to make it release-ready consists of completing some features, refreshing of monitored folders directly from the applet, and trashing emails. There&#8217;s also some smaller interaction glitches I&#8217;ll fix before it can make its way into Plasma cq. Kontact 4.6.0. There&#8217;s suspending removing items under your mouse (or finger) so you don&#8217;t accidentally click on the wrong email, some display funkiness here and there (spot the lack of space underneath emails in the screenshots), and the excerpts extraction I invited input to above. You&#8217;re already most welcome to try it and give feedback. It&#8217;s currently located in <a href="http://websvn.kde.org/trunk/playground/base/plasma/applets/lionmail/">playground</a> and will eventually move through the kdereview process into one of the released modules &#8212; I haven&#8217;t figured out which one would be the most suitable exactly. If you want to build it right now, I have to admit that it&#8217;s not completely trivial from scratch, as it requires kdelibs and kdepimlibs from trunk. If you have a reasonably recent 4.6 (trunk) snapshot installed, you should be good to go. Lion Mail does not offer the option to configure email accounts, you can do that from KMail2 or akonadiconsole.</p>
<h3>Famous last words</h3>
<p>The heap and the stack of Lion Mail offer the opportunity to create a more efficient workflow with your emails. By dealing with emails effectively as they come in, but without a context-switch to the full email application, it offers more workflow-based email management. The underlying idea behind Lion Mail is that emails become first-class object in your user experience, to integrate them as artifacts of your interesting information, rather than banning them into a monolithic application like traditional email clients. &quot;Light-weight email work&quot; can be done directly from the workspace, referencing emails in other tasks becomes a lot easier, the traditional email reader still serves as the work horse for most email reading (as opposed to noticing and referencing). Lion Mail provides the usual feature set in a more elegant and context-rich way. It is also heavily optimized for people with larger amounts of emails, and integration these streams of new and interesting emails deeper into the workflow of the user.</p>
]]></content:encoded>
			<wfw:commentRss>http://vizZzion.org/blog/2010/09/getting-email-done-the-stack-and-the-heap-of-lion-mail/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Demystifying Akonadi.</title>
		<link>http://vizZzion.org/blog/2010/08/demystifying-akonadi/</link>
		<comments>http://vizZzion.org/blog/2010/08/demystifying-akonadi/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 13:34:39 +0000</pubDate>
		<dc:creator>sebas</dc:creator>
				<category><![CDATA[Akonadi]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Plasma]]></category>
		<category><![CDATA[Silk]]></category>
		<category><![CDATA[Hacking]]></category>

		<guid isPermaLink="false">http://vizZzion.org/blog/?p=1586</guid>
		<description><![CDATA[The exotic-sounding &#8216;Akonadi&#8217; refers to both a mythological figure and the KDE platform&#8217;s central information framework. This article will dispel some of the mystery about how Akonadi will improve performance and integration, and how it is being rolled out into KDE applications. I&#8217;ll also provide some insight how the technology works, and what will become [...]]]></description>
			<content:encoded><![CDATA[<p><em>The exotic-sounding &#8216;Akonadi&#8217; refers to both a mythological figure and the KDE platform&#8217;s central information framework. This article will dispel some of the mystery about how Akonadi will improve performance and integration, and how it is being rolled out into KDE applications. I&#8217;ll also provide some insight how the technology works, and what will become possible with this new PIM framework.</em>
</p>
<p>
Many people have been asking what the status of the new, <a title="Akonadi Project Page" href="http://www.akonadi-project.org">Akonadi</a>-based Kontact Groupware suite is. As I&#8217;ve been working closely with the PIM hackers, I thought I&#8217;d give my readers a heads-up on what&#8217;s going on and what to expect. In this article, I will often take KMail as an example for the port, but similar things apply to the other PIM applications that form the Kontact suite as well. </p>
<h3>The What &amp; How?</h3>
<p>I&#8217;m sure many of you haven&#8217;t heard the name Akonadi yet, so let me quickly explain what it is. Let&#8217;s get technical.
</p>
<p>Akonadi is a groupware cache that runs on the local machine, a shared data store for all your personal informatio. Akonadi offers a unified API to receive and synchronise data with groupware, email servers or other online services. Agents called &#8220;resources&#8221; are responsible for communicating with the remote service, say your email server. These resources run out-of-process and communicate via separate control and data channels with the mothership (your local Akonadi). Resources are easy to implement and can interface any data source with Akonadi, be it your local calendar file, your companies groupware, email servers or address directories, or anything else you can come up with. More on that specifically later.
 </p>
<p><img title="The Akonadi groupware cache" src="http://vizzzion.org/blog/wp-content/uploads/2010/08/akonadi-architecture.png" alt="The Akonadi groupware cache" />A common misunderstanding is that Akonadi is some sort of groupware server.  In fact, Akonadi does not store any data itself, but just provides a <strong>common means to access data to your local applications.</strong>
</p>
<p>
So <strong>Akonadi does not store user data, it caches it</strong>. The user data is still stored in the traditional formats, be it on an online server (for example IMAP) or local files (ICAL calendar files). Locally, Akonadi provides a cache to speed up access and to make collections (email folders, for example) and their items available offline. To allow Akonadi to work on both powerful desktops and lean mobile devices, Akonadi can use different databases for its cache. Currently, the most complete backing store for Akonadi is MySQL, but PostGreSQL and sqlite backends are also available. In the case of MySQL, the database is started and handled by Akonadi itself, using a local socket, and no network access. This is intentional, for speed and security, since Akonadi&#8217;s database is really only a detail of the implementation.
</p>
<p>
The storage concept of Akonadi is straightforward. The team looked at many types of PIM data and found that items stored in folders are common to all of them.  In Akonadi, <strong>Items</strong> represent mails, contacts or other individual pieces of data  Folders are generally referred to as <strong>Collections</strong>, which can contain other Collections. Items themselves carry a type (using the freedesktop.org standard mimetype definitions), metadata and the actual data payload. Items can be identified by URLs.  This URL is of course only valid locally, but it allows passing references to Akonadi items and collections around without copying the actual data. This makes Drag and Drop across applications (or in my favourite case, from the email notifier in Plasma into KMail) very easy. The receiving application can use any Akonadi client library to take the Akonadi URL and fetch its headers, or data. Akonadi Items may be retrieved partially, so if an app wants tod display a list of emails, it doesn&#8217;t have to copy around the whole inbox, attachments and all, but can just ask for a list of headers of those emails.
</p>
<p>
In order to access the Akonadi cache, and more importantly the underlying data, you can use one of the <strong>Akonadi access libraries</strong>. To my knowledge, there are Akonadi bindings for GTK+, Python and the Qt-style Akonadi classes already available. As you can see in the diagram, the design allows for different ways of accessing the Akonadi data, in the diagram the examples are called the &#8220;GNOME API&#8221; and &#8220;KDE API&#8221;.
 </p>
<p>As you&#8217;d expect, I&#8217;ve mostly worked with the KDE API, which you can find in kdepimlibs. This Qt-style library has been available for a couple of KDE Platform releases already, and is being further enhanced for more coding convenience, stability and performance all the time. There is a bunch of job classes, that allow for async access to Akonadi items. Relatively new are the MVC classes, notably EntityTreeModel and friends. The ETM and its friends and API sugar around it also provide async access to Akonadi data as well, and also allow for easier sorting, querying and filtering of all the data and metadata. Metadata handling is another very interesting aspect of Akonadi in itself, more on that later, as well.
 </p>
<h3>Current Status</h3>
<p><img title="Plasma's calendar displaying calendaring info from Akonadi" src="http://vizzzion.org/blog/wp-content/uploads/2010/08/plasm-calendar.jpg" alt="Plasma's calendar displaying calendaring info from Akonadi" />Many people are interested in the current status of Kontact&#8217;s Akonadi port. Initially, KDE had planned to release the new Kontact along with the rest of the KDE Applications 4.5. This did not quite work out, so we pushed the release back a bit, and are planning to release it along with one of the 4.5.x updates. <strong>The current plan is to release the Akonadi port of Kontact still this year.</strong> In contrast to our usual releases, this step is a bit different. Since PIM data is critically important, we are extending the beta phase until the Akonadi port of Kontact passes a much wider range of QA tests.  When we are able to release depends a lot on the feedback we get from users. We are therefore making available monthly beta releases of the new Kontact suite. Data loss in this late phase of the port is extremely unlikely, and we made sure that trying the new Kontact doesn&#8217;t mean you must now also do the switch. You can in fact just reinstall the old one and use that again, since separate configuration files are used.
 </p>
<p><img title="KAddressBook is already available in its Akonadi incarnation" src="http://vizzzion.org/blog/wp-content/uploads/2010/08/akonadi-kaddressbook.png" alt="KAddressBook is already available in its Akonadi incarnation" />The traditional Kontact, is of course still fully usable and we currently recommend this to end users. Kontact 4.4 is still actively maintained and supported, and is shipped by distributions along with KDE 4.5.0, so the current stable Kontact is 4.4.5. We did ship a new release of kdepimlibs, which are tested with Kontact 4.4.5 and are the basis for Kontact2 as well.
</p>
<p>For normal workloads, KMail2 which is the heart of Kontact&#8217;s Mail component is already pretty usable.  The focus of the stabilization and improvement efforts currently lies in the complex use cases common to hackers and email power users, such a different, high-volume email accounts, many large folders and a paranoid bunch of identities. Another area of focus is the migration of data, including the possibility to rollback to your &#8220;traditional&#8221; Kontact if you are not satisfied with the quality yet (please don&#8217;t forget to file <a href="http://bugs.kde.org">bugs</a>, so we can take proper care of those nasty insects).
 </p>
<h3>Migration</h3>
<p>Kontact2 only reads Kontact1&#8242;s configuration, but doesn&#8217;t change the original copy. Instead, a new configuration file derived from your old one will be used. So when first starting Kontact2, your &#8220;old&#8221; configuration, account setup, identities and filtering rules will be imported. KMail2 will also import locally cached emails, so you don&#8217;t have to download them all again. In the current state, user feedback from migration and usage is extremely valuable to the developers, so please give the next beta a whirl and report back to us, so we can improve on your experience. Of course, there are tools for importing and exporting data. During the migration, Kontact2 uses Kontact1&#8242;s existing downloaded email, so a lengthy re-download for offline reading is unnecessary.
</p>
<p>If you&#8217;re not yet happy with the new Kontact, you can switch back to the old one, by re-installing the 4.4 Kontact.
 </p>
<h3>What will KMail2 look like?</h3>
<p>
This might come as a little surprise to some, but in the initial version of KMail2, you won&#8217;t notice many differences to the traditional KMail1. This has a number of reasons: First of all, KMail&#8217;s UI is the result of years of polishing by the developers and a lot of feedback by the community. This won&#8217;t be thrown away for something that&#8217;s novel and cool, but might not satisfy most users. So KMail 2 will be a very straightforward port of KMail1, the UI will be mostly the same, while the underlying technology has changed completely. In the porting process to Akonadi, most of KMail1&#8242;s familiar UI has been kept.
</p>
<p><img title="The Akonadi-based Kontact beta" src="http://vizzzion.org/blog/wp-content/uploads/2010/08/akonadi-kontact.png" alt="The Akonadi-based Kontact beta" />You might have noticed the first parts of KMail1 being converted. That is to say that the Kontact developers have worked towards the Akonadi port of KMail. The first, and actually one of the most central parts of KMail has already been introduced a while ago: the new listview. This listview is a rework of KMail&#8217;s list of messages to use the underlying Model-View-Controller design patterns that match Akonadi well. In Kontact 4.4, Kontact&#8217;s address book has been switched to use Akonadi. This first step in the migration was a bit painful, since it involved introducing a new infrastructure below applications that you use daily, and which you rely upon. The new possibilities are already making their way to the end users&#8217; systems, for example in the calendar integration with the Plasma Desktop, which you can see in the screenshot. By clicking on the clock, you get the Plasma calendar which shows you your daily events. In the sceenshot, you can see the new version of KMail. As I&#8217;m using a full-HD display, I&#8217;ve enabled the widescreen layout of KMail. This makes it possible to see the whole email and a long enough list of others at once. A nice touch, which has been available for ages in KMail &#8212; just in case you wondered.
 </p>
<h3>&#8230; but why the port then?</h3>
<p>Simply put, traditional email clients don&#8217;t satisfy today&#8217;s expectations and work flows around personal data. Well, this of course needs some explanation: Already in times when KDE 3 was state-of-the-art, we noticed that more and more applications became interested in PIM data. Popular examples are Kopete, the instant messenger which held its own list of contacts, data which is mostly duplicated, including the inefficiency and maintenance nightmare you&#8217;re facing when you duplicate frequently changing information. So you want some kind of interface for contacts, and it should be something service-like, after all, you don&#8217;t want to run a seemingly unrelated application(your address book), just to get some more rich information about your chat contacts. Then, there&#8217;s of course my favourite example: Email monitoring. In essence, a full-fledged email client is a bit of an overkill, if you just want to know if there&#8217;s new email in your inbox. On of those overkill aspects is performance, or rather resource consumption. The solution to this is of course to share all this data. By using one central storage, and an easy to use access layer we can share the data across applications, and enable applications to make use of already available personal data. Enter Akonadi.
</p>
<p>Akonadi has been built with performance and memory consumption in mind. Will Stephenson has put this very nicely: &#8220;<em>In the 2.0 <= KDE <= 4.4 days, each program loaded the entire address book, calendars, and more specialised stuff like email, RSS feeds, and IM chat logs into its memory, so memory usage for PIM data increased linearly with the number of PIM apps running.  Same goes for non-PIM apps using PIM data (the Kickoff menu's contact search data, Konqueror's Copy To IM Contact feature). Because Kontact is just a shell for KMail, KAddressbook, KOrganizer etc, it caused the same memory multiplication even though it's all one process.
 </p>
<p>
With the Akonadi design, only the Akonadi process loads all the data into memory.  Each PIM app then displays a portion of that data as it needs it, so the amount of extra resources taken by each extra PIM app is smaller, and the initial amount of memory used by each app is less.  It should also provide extra stability, because each app no longer has to maintain its own data storage infrastructure, with all the caching, integrity and performance gotchas that keep computing science graduates employed.</em>&#8221;
 </p>
<p><h3>Plasma&#8217;s new email notifier</h3>
<p>
<img title="Plasma's Email Notifier (alpha version)" src="http://vizzzion.org/blog/wp-content/uploads/2010/08/akonadi-plasma-emailnotifier.png" alt="Plasma's Email Notifier (alpha version)" />During Akademy, I&#8217;ve picked up the work on Lion Mail again. It is not quite done yet, but already looking very good. I&#8217;m nearing feature completion for a first release now, so I&#8217;m almost sure it will become part of Plasma 4.6 in January, currently it&#8217;s in alpha state but quite fun already. Interested users can of course check out the source from SVN, it&#8217;s currently located in playground unti the code is ready for review by my eagle-eyed fellow hackers. Lion Mail is a set of Plasma widgets that can be used to display and manipulate emails in Plasma. In Tampere, Finland, during Akademy, I&#8217;ve discussed design and workflow of email notifications with a lot of people, after that I sat down for some serious hacking and have already implement most of what I would like to see, email-wise, in Plasma 4.6. The main goal is to be non-intrusive, and making it as easy as possible to manage your email in your daily workflow. The email notifier provides a queue of your emails, but does so without the need to switch to the full-blown KMail, so no full context / attention switch is needed if you just quickly want to see what&#8217;s going on in your inbox.
 </p>
<p>The new email notifier sits, as you might expect, in your panel&#8217;s notification area. It&#8217;s hidden by default, but becomes visible when there are new emails in your inbox. When you click on it, you get a list of your new messages. Those messages are expandable, so you can peek into the email to quickly judge if it&#8217;s something you want to act upon right away, or not. The individual messages are interactive. When hovered with the mouse, four buttons overlay the email. These buttons allow you to mark an email as read, or important (and of course remove those flags). Disappearing emails slowly fade out, so you have a couple of seconds to undo your action before the list is cleaned up.
 </p>
<p><img title="You can choose to display new email in arbitrary folders" src="http://vizzzion.org/blog/wp-content/uploads/2010/08/akonadi-plasma-emailnotifier-settings.png" alt="You can choose to display new email in arbitrary folders" />Unfortunately, most normal email notifiers are pretty useless for high-volume emailers, especially if you use server-side filtering (which you should because it&#8217;s much more convenient when using multiple clients, especially mobile ones). In my case, I have about 60 folders, on3 different email accounts (work-work, private, gmail). Emails are filtered before they reach the client. I am personally far less interested in new emails in all folders called &#8220;inbox&#8221;. The Plasma email notifier allows you to choose the folder you want it to monitor. You can also set up multiple folders. As a nice extra, you can choose to also display emails marked as important, either merged or in a separate list (actually, the latter is not implemented yet, but on my short-term TODO list :-)). Emails are draggable, so you can drag an email from the email notifier into a folder in KMail2 if you want to copy or move it there. As I mentioned before, we&#8217;re not actually dragging the email around, but an Akonadi reference as a URL. This is fully transparent between applications, and even across toolkit and access libraries. I&#8217;ve also written a full-fledged single email Plasmoid, which allows you to put individual emails on your desktop (or dashboard) for quick reference. Just drag the email from the list onto your desktop, and it&#8217;ll appear as Plasma widget there, expandable, with HTML if you&#8217;re into that. The missing bits are rather overseeable at this point: clearing the list, separate list for important emails, refreshing logic for individual folders and queuing the re-jigging of the list until the mouse moves out, so items don&#8217;t change under your mouse while clicking on them. Not just minor bugfixes, but at the current pace, also not a lot of work left to do.
 </p>
<h3>PUSH IMAP</h3>
<p>
As you can imagine, the email notifier&#8217;s design suits itself very well for PUSH IMAP. PUSH IMAP means that instead of checking in intervals for new email, the server notifies your client when a new email comes in. This means less useless mail checks and more importantly instant notification when a new email arrives. With &#8220;instant&#8221; I mean within a couple of seconds. In my tests, it took between 3 and 17 seconds from pushing the &#8220;Send&#8221; button on one machine until the email showed up in the email notifier. That&#8217;s pretty neat compared to checking your email every 30 minutes or so. So it&#8217;s all the more important that new email notifications become too annoying, hence the non-intrusive approach to the UI. PUSH IMAP is currently only enabled for the inbox folder of a given IMAP account, and of course your server needs to support it. <img title="The first email received in Lion Mail using PUSH IMAP" src="http://vizzzion.org/blog/wp-content/uploads/2010/07/lionmail-first-pushmail.png" alt="The first email received in Lion Mail using PUSH IMAP" />
 </p>
<h3>Kontact Mobile</h3>
<p>
The migration of the desktop version of Kontact is another big step in Akonadi&#8217;s existence. Akonadi has its uses outside of Kontact on the desktop as well. The new Kontact Mobile suite builds on top of Akonadi as well, but offers a completely different UI, optimized for smartphones and touch-screen devices. Kontact mobile is part of the upcoming Kontact suite as well. The infrastructure is this way shared across the device spectrum while the user interface is optimized for a certain device and use case. Akonadi does the hard work of talking to all kinds of groupware servers in the background, and caching of this data if you want to make it available on the go. The Dot has an <a title="Kontact goes mobile" href="http://dot.kde.org/2010/06/10/kde-pim-goes-mobile">excellent article about Kontact mobile</a>, including a cool screencast.
 </p>
<h3>Beyond Groupware &#8211; Akonadi and the Social-Semantic Desktop</h3>
<p>
The new email notifier is a good example what Akonadi makes possible in the near future, but there are more things brewing in the kitchen. As Akonadi is a generic cache, it comes handy in a much wider number of use cases. In the future, Akonadi can take care of managing and caching all kinds of interesting data, as you can stuff into it what you want. One interesting case is managing your online photo collection. Akonadi can provide standardised photo streams locally on your machine which are backed up by online services. In the same vain, microblogging can be handled through Akonadi, free caching, searchability and semantic linking to your contact are made very easy this way. There is actually already a microblog resource for Akonadi available, I&#8217;ve heard rumours of a FlickR one as well&#8230;
</p>
<p><img title="Emails now also in the desktop search" src="http://vizzzion.org/blog/wp-content/uploads/2010/08/krunner-email.png" alt="Emails now also in the desktop search" />Akonadi plugs into the Nepomuk semantic framework for its indexing and searching needs. Items in Akonadi are therefore magically available for applications using Nepomuk to query and display data. Tags and other metadata is shared across the desktop, arbitrary items can be linked semantically (think emails and attachments linked to contacts in your address book). Akonadi in Kontact does not only mean that Akonadi is coming to full bloom, but also the semantic desktop built on top of Nepomuk. One nice example is shown in the screenshot, where the KRunner mini-commandline (hit ALT+F2!) also finds emails now. Part of the semantic desktop are also the Activities, which provide context to applications. You can think of &#8216;context&#8217; as a project your working on, your current location, and many other &#8220;metadata&#8221; of your workflow. One features of Lion Mail which has been part of its idea from the beginning is showing different sets of emails per activity, the email notifier is built with activities in mind.
 </p>
<p>Plasma&#8217;s dataengines provide another fantastic opportunity for Akonadi to shine. The Plasma team is working on a generic cache for data supplied by dataengines, the idea is to transparently allow caching of arbitrary data from dataengines, so <strong>offline usage</strong> becomes completely transparent for many Plasma widgets. Akonadi forms one of the cornerstones of <a title="Project Silk - Freeing the Web from the Browser" href="http://techbase.kde.org/Projects/Silk">Project Silk</a> which aims at <strong>deeper integration of online services and content into the user experience</strong>.
 </p>
<h3>Concluding</h3>
<p>
With all the above in mind, there&#8217;s little less than a revolution going on in the groupware area. Akonadi matures further and makes possible a full-fledged groupware client in the form of Kontact, with excellent scalability and extensibility. Akonadi is built with a whole spectrum of target devices in mind, which shows in the Kontact Mobile suite running successfully on a N900. With more applications being available in their Akonadi versions, Akonadi will become a lot more useful, and enhance many other applications in the process. Akonadi also allows for a better user experience around email and calendaring in the primary workspace. Groupware is becoming a generic service on the local client. The upcoming new Kontact groupware suite is only the tip of the iceberg of what&#8217;s coming thanks to Akonadi. Quite inspiring, isn&#8217;t it?
 </p>
<p><em>Special thanks go to Will Stephenson for proof-reading the article</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://vizZzion.org/blog/2010/08/demystifying-akonadi/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Lion Mail is Alive!</title>
		<link>http://vizZzion.org/blog/2010/07/lion-mail-is-alive/</link>
		<comments>http://vizZzion.org/blog/2010/07/lion-mail-is-alive/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 23:20:47 +0000</pubDate>
		<dc:creator>sebas</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Plasma]]></category>
		<category><![CDATA[Silk]]></category>

		<guid isPermaLink="false">http://vizZzion.org/blog/?p=1571</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><img src="http://vizzzion.org/blog/wp-content/uploads/2010/07/lionmail-first-pushmail.png" title="Lion Mail plasma email widget showing an email received via PUSH IMAP" alt="Lion Mail plasma email widget showing an email received via PUSH IMAP" /></p>
]]></content:encoded>
			<wfw:commentRss>http://vizZzion.org/blog/2010/07/lion-mail-is-alive/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Surely, I&#8217;m going to Akademy, too!</title>
		<link>http://vizZzion.org/blog/2010/06/surely-im-going-to-akademy-too/</link>
		<comments>http://vizZzion.org/blog/2010/06/surely-im-going-to-akademy-too/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 17:54:08 +0000</pubDate>
		<dc:creator>sebas</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Plasma]]></category>
		<category><![CDATA[Silk]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://vizZzion.org/blog/2010/06/surely-im-going-to-akademy-too/</guid>
		<description><![CDATA[I&#8217;m on the first leg of my trip back to the Netherlands right now. I&#8217;ve spent a couple of days in Bretagne, France to celebrate the marriage of a close friend, who asked me to be his best man. The celebrations, which lasted for three days were terrific, but also pretty tiring as you don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m on the first leg of my trip back to the Netherlands right now. I&#8217;ve spent a couple of days in Bretagne, France to celebrate the marriage of a close friend, who asked me to be his best man. The celebrations, which lasted for three days were terrific, but also pretty tiring as you don&#8217;t get to spend much time just by yourself. The main celebration was held in the &quot;ridiculously beautiful&quot; <a href="http://www.bretesche.com">Chateau Domaine de la Bretesche</a>, and in Pornichet, the home of the bride. I&#8217;m returning to the Netherlands right now, for three days of desk time (needed to prepare my Akademy talk and to get some last minute work done on the impending openSUSE 11.3 release). On Friday, I&#8217;ll be boarding a flight to Helsinki and then on to Tampere to take part in my fifth <a href="http://akademy.kde.org">Akademy</a>.</p>
<p>This year&#8217;s Akademy is significant to me for a number of reasons:<img src="http://slice.vizzzion.org/blog/wp-content/uploads/2010/06/Igta2010.png" /></p>
<ul>
<li>I&#8217;m running for a second term on the <strong>Board of Directors of the </strong><a href="http://ev.kde.org"><strong>KDE e.V.</strong></a>, the foundation backing KDE. I&#8217;ve taken this opportunity to re-focus on my activities there. I will be working towards improving the organisation&#8217;s transparency a bit more. Transparency of the of our activities sometimes falls behind a little, since we&#8217;re very much focused on getting things done, and there&#8217;s always something important to push a little further, at the same time, status information gets outdated rather quickly. With the launch of our Supporting Membership Programme, it&#8217;s even more important to get the word out what the KDE e.V. is doing, so that&#8217;ll be what I&#8217;m working on on that front.</li>
<li>Last year, Richard Moore and I started <strong>Project Silk</strong>, which has been silently tagging along. Silently doesn&#8217;t mean that we didn&#8217;t make progress, just that we didn&#8217;t talk about it as much as we could. We felt that we wanted to show results before talking a lot about it, so we sat down and wrote code, worked out concepts, talked to people in order to verify and improve on our ideas. I think we&#8217;re at a point now where we got some really compelling stuff to show, and to prove that what we have in mind is not only very viable, but also very important to move on. This year&#8217;s Akademy will in part be used to spread those ideas within the KDE team, and to get more people to think Silky. If you think that&#8217;s all too vague, attend my talk during Akademy. For the few of you, my dear readers who won&#8217;t make it, I&#8217;ll prepare some online resources over the next days, so you can catch up as well, and join the Silk bandwagon.</li>
<li>Meeting my fellow hackers from the <strong>KDE Plasma</strong> team. After our last meeting in February in Nuremberg, we&#8217;re getting together at Akademy next week to plan, hack, gather ideas talk and have fun. What I really enjoy about getting us together is the sparkling you can see above the table we&#8217;re working on after only shortly being together. I guess it&#8217;s the motivation, the friendliness, the shared love for beautiful, intuitive Free software but also the mutual respect that creates this atmosphere where we&#8217;re getting into hyper-creative mode. It puts us in the position to think about solutions for the really hard problems out there, which none of us could solve individually, and it has more than once been the start of exciting new features and sub-projects.</li>
</ul>
<p>[break] So I just got home, into our hot top-floor appartment in Nijmegen, The Netherlands. Everything&#8217;s been taken care of by our terrific friends, the cat is better now after a bladder infection we had to leave it at home with last week. While I do like summery weather, temperatures beyond 30 degrees centigrade without a really cold room are a bit too much for me, and tend to have a bad effect on my productivity. Band-aid: Work at night as much as possible, keep the sleeping room as cool for as long as it lasts and stay in bed as long as I can to get the needed sleep. The laptop is already compiling an updated trunk, while I&#8217;m enjoying Brazil playing Chile (Robinho scores the 3:0 as we speak, so I guess my special friend Artur will be happy).</p></p>
]]></content:encoded>
			<wfw:commentRss>http://vizZzion.org/blog/2010/06/surely-im-going-to-akademy-too/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>New challenges.</title>
		<link>http://vizZzion.org/blog/2010/05/new-challenges/</link>
		<comments>http://vizZzion.org/blog/2010/05/new-challenges/#comments</comments>
		<pubDate>Wed, 26 May 2010 21:36:31 +0000</pubDate>
		<dc:creator>sebas</dc:creator>
				<category><![CDATA[KDAB]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Plasma]]></category>
		<category><![CDATA[Silk]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[Open-SLX]]></category>

		<guid isPermaLink="false">http://vizZzion.org/blog/2010/05/new-challenges/</guid>
		<description><![CDATA[I&#8217;ve resigned my job at KDAB last month in a swift move towards more KDE-time. This all came pretty suddenly, but it felt like The Right Thing to do for me personally and for KDE, which I care a lot about. Since May, I&#8217;ve been working for Open-SLX, a German company that makes and supports [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve resigned my job at <a href="http://www.kdab.com" title="The Qt Experts">KDAB</a> last month in a swift move towards more KDE-time. This all came pretty suddenly, but it felt like The Right Thing to do for me personally and for KDE, which I care a lot about. Since May, I&#8217;ve been working for <a href="http://www.open-slx.com">Open-SLX</a>, a German company that makes and supports the openSUSE boxed version. My focus in that work is the user experience of the product. The idea is to work upstream (in openSUSE and KDE / Plasma) as much as possible. While Open-SLX benefits directly from my work done in KDE, this is also a nice way to give back to the community, by making sure I get to spend enough time on things that are not directly related to the product. So now I&#8217;ve settled into my new job, and up until now, it&#8217;s been great. I&#8217;ve been able to catch up with a couple of areas in KDE, I didn&#8217;t get to spend as much time as I wanted in the past, and I have started working on some ideas I was dragging around in the back of my brain for a while). One of those things is <a href="http://techbase.kde.org/Projects/Silk">Project Silk</a>, which is a Project to boost and deeply integrate the web into KDE Plasma and applications. Its motto is no less ambitions than &quot;Freeing the Web From the Browser&quot;, so there&#8217;s lots of work to do. ;-) Others have already shown off their <a href=" http://alediaferia.wordpress.com/2009/05/27/plasmatube/">cool</a> <a href="http://acetonik.blogspot.com/2010/05/geoweb.html">creations</a>, so I&#8217;ve got some catching up to do. I&#8217;ll share more detailed information about Silk in the next weeks, so if you&#8217;re interested in that, hang on just a little bit longer.</p>
<p>With this new job, I&#8217;m also able to spend a bit more time on <a href="http://ev.kde.org">KDE e.V.</a> things. I&#8217;m a Board Member for some time already. Being able to sneak in a bit more of that structured desk time for things that need doing in the near future is surely a good thing. Regarding the e.V., I&#8217;ll travel with Ade to Berlin on Friday to meet Celeste, Cornelius and Frank there for an extended weekend of board work (and fun).</p></p>
]]></content:encoded>
			<wfw:commentRss>http://vizZzion.org/blog/2010/05/new-challenges/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Dropping $stuff onto Plasma</title>
		<link>http://vizZzion.org/blog/2009/10/dropping-stuff-onto-plasma/</link>
		<comments>http://vizZzion.org/blog/2009/10/dropping-stuff-onto-plasma/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 01:23:00 +0000</pubDate>
		<dc:creator>sebas</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Plasma]]></category>
		<category><![CDATA[Silk]]></category>

		<guid isPermaLink="false">http://vizZzion.org/blog/?p=1442</guid>
		<description><![CDATA[Earlier this year, while working on Lion Mail I wanted to be able to drag and drop references to items stored in Akonadi, I ran into some limitations we had in Plasma &#8212; in KDE 4.3, it is basically only possible to drop local files onto Plasma, with some exceptions. Think of dragging a photo [...]]]></description>
			<content:encoded><![CDATA[<p>Earlier this year, while working on Lion Mail I wanted to be able to drag and drop references to items stored in Akonadi, I ran into some limitations we had in Plasma &#8212; in KDE 4.3, it is basically only possible to drop local files onto Plasma, with some exceptions. Think of dragging a photo from your file or image browser onto Plasma, and it offers to create a picture frame plasmoid on the desktop (or netbook, or whatever Plasma shell you use). or The underlying problem is the mimedata dropped either contains a URL or mimedata. The second case is clear, get the mimetype, find applets that can deal with it, add such an applet to the desktop and pass it the mimedata as arguments. Applets can specify, as parts of their metadata (actually an entry in their .desktop file) which mimetypes they support. For remote URLs, it&#8217;s not quite simple. It&#8217;s generally not possible to safely derive the mimetype of the data a link points to from its URL. The mimetype needs to be retrieved from the remote object (in most case, this doesn&#8217;t involve downloading the whole file, luckily, but just asking for the mimetype). As it&#8217;s likely a network operation, it can potentially take forever. We need to make sure we don&#8217;t freeze Plasma while waiting for the mimetype, so it has to be asynchronous. What we&#8217;re doing now when a URL is dropped, we start a KIO Job to retrieve the remote file&#8217;s mimetype, as long as the job&#8217;s running, we show a menu with a spinner, and repopulate the menu with suitable applets once the mimetype is in. The job retrieving the mimetype is then put on hold, and marked ready for reuse. This trick speeds up loading of the content from the applet, and the connection doesn&#8217;t have to be renegotiated. This mechanism works well now, I actually got it to work during the hacking sessions at GCDS, and merged it a few weeks later into KDE trunk/ to be part of KDE 4.4. Aaron has done a <a href="http://aseigo.blogspot.com/2009/09/dropping-remote-content-and-wallpapers.html">screencast</a> showing this mechanism for wallpapers, it&#8217;s pretty neat.</p>
<div align=center><embed src="http://blip.tv/play/AYGfvkoC" type="application/x-shockwave-flash" width="480" height="330" allowscriptaccess="always" allowfullscreen="true"></embed></div>
<p align="center">(You can download an ogg version on blip.tv as well.)</p>
<p> The problem with this mechanism is that it&#8217;s not flexible enough for a couple of things I&#8217;d like to do, especially not for Akonadi, and also not for applets we want to create based on a specific web service, or anything else that you can safely derive from the URL. I&#8217;ve been thinking about a good solution for this for some time, but didn&#8217;t have high hopes to actually make it work in time for KDE 4.4, with the feature freeze looming in only a couple of weeks. On Sunday, I had told Steve (he asked for Akonadi/Plasma interaction, see below) that KJots notes (which are stored in Akonadi) should be drag&#8217;n'droppable between Kontact and Plasma (and possibly other applications), and that the way to go would be to pass around typed references to akonadi items by URL (basically akonadi: as protocol, the item&#8217;s unique id and its type wrapped into a URL). A lame suggestion in fact, since I knew it wouldn&#8217;t work. Then I figured if Plasma::Applet could just tell me which applets are suitable for a given URL (a mechanism similar to the mimetype-based finding of applets), we&#8217;d be peachy. Hacked up a patch for that and got it working just before I went to bed, had some good feedback the next day. So I went to clean up and optimise the patch a bit, had it review-boarded overnight and committed it this morning. Applets can now provide matching patterns for URLs. You put a wildcard (or a list of wildcards, useful if you want to cover some subdomains, but not others), in the .desktop file of the applet like this: </p>
<pre><span style=" font-family:'Courier New,courier';">[X-Plasma-DropUrlPatterns]=akonadi:*</span></pre>
<p>You can use the usual <a href="http://doc.trolltech.com/4.5/qregexp.html#wildcard-matching">wildcard syntax</a>, and put in multiple patterns (separate them with a &#8220;,&#8221;). This makes your applet automatically appear in the popup you get when you drop something onto Plasma. The patch weighed in at 35 new lines of code, quoting Aaron &#8220;impressive what&#8217;s possible with so little code&#8221;.</p>
<p>On an semi-related note, Lion Mail is getting better with every Qt release. Painting and clipping problems I had in scrolling with graphicswidgets seem to be gone completely when using Qt 4.6 snaps. Some automatic relayouting issues remain. Lion Mail&#8217;s Email QGraphicsWidget (the canvas-based equivalent to a &#8220;normal&#8221; QWidget) used dynamic relayouting pretty heavily, as it shows different parts of an email based on the screen space available for the applet. I&#8217;ll have to revisit some of this, it might be interesting to take the concepts and implement them using QML &amp; declarative UI tech for that, and also making use of the <a href="http://steveire.wordpress.com/2009/10/01/akonadi-its-all-sausage/">Pure Awesomeness of steveire&#8217;s Elite EntityTreeModel for Akonadi</a>. I&#8217;ll let him figure out how this works best for KJots first, though. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://vizZzion.org/blog/2009/10/dropping-stuff-onto-plasma/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>NLUUG Fall 2009: The Open Web</title>
		<link>http://vizZzion.org/blog/2009/10/nluug-fall-2009-the-open-web/</link>
		<comments>http://vizZzion.org/blog/2009/10/nluug-fall-2009-the-open-web/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 23:22:06 +0000</pubDate>
		<dc:creator>sebas</dc:creator>
				<category><![CDATA[KDAB]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Silk]]></category>

		<guid isPermaLink="false">http://vizZzion.org/blog/?p=1431</guid>
		<description><![CDATA[Just returned from the semi-anually dutch UNIX user group conference. This fall&#8217;s edition, which was today, was titled The Open Web. I had a presentation scheduled, titled Freeing the web from the browser. I talked about ways how we can overcome limitations of the web, such as fitness for very small and very large screens, [...]]]></description>
			<content:encoded><![CDATA[<p>Just returned from the semi-anually dutch UNIX user group conference. This fall&#8217;s edition, which was today, was titled <em>The Open Web</em>. I had a presentation scheduled, titled Freeing the web from the browser. I talked about ways how we can overcome limitations of the web, such as fitness for very small and very large screens, different input methods, caching, and generally making online data available to rich client applications in a meaningful way. I managed to completely avoid using the term &#8220;Cloud&#8221;, I&#8217;m proud of that. A combined roadshow for Akonadi (while my fellow <a href="http://kdab.com/about-us/people">KDABians</a> are chipping away at the Kontact/Akonadi porting) and Silk, so to say. The talk was well received by its estimated 70 attendees (ok, given the size of the conference this year), with only one person asleep (front row, and at least he was a VIP speaker). I also did a first public demo of <a href="http://techbase.kde.org/Projects/Silk/Selkie">Selkie</a>, the standalone web application Richard Moore and I have been working on after Akademy. I&#8217;m planning to do a screencast shortly, for those two or three people online that would like to see what it is as well.</p>
<p>A couple of notable things happened today in the Marketing of today might also be interesting to share. Jos Poortvliet (of Dot fame) and Frank Karlitschek (fellow board member and social desktop swabian) and Adriaan de Groot (of FSFE and pink whip fame; no whip this time around though, that must be an Akademy thing). We talked a bit about next steps in an effort to put more structure into the various brands KDE has. Right now KDE has many different meanings (a desktop, applications, a community, &#8230;). This leads to real practical problems, it is for example hard to explain to everybody that you can run KDE applications also in GNOME, Windows, Mac OS, on Maemo &#8230; &#8212; it&#8217;s called KDE applications because it&#8217;s part of the KDE desktop, right? Wrong. That needs fixing though. This probably involves creating a more distinct identity (&#8220;brand&#8221;) for the desktop / workspace environment and individual applications. This effort is a longer term process, and is well underway already.<br /><a href="http://www.schubergphilis.nl">Schuberg Philis</a>, the conference&#8217;s main sponsor impressed me with a very sensible idea. Instead of having a huge booth with big machines, interesting for geeky folks, the brought in a battery of espresso machines and (so I heard) the dutch champion barista to make coffee. And good coffee it was (I&#8217;m still bouncing). Quite a nice marketing performance, not so &#8220;in your face&#8221;, still a presence suitable for a conference&#8217;s main sponsor, in a way that really adds value to a conference &#8212; excellent coffee.<br />The third thing that struck me was the appearance of <a href="http://adjamblog.wordpress.com/2009/10/28/the-upcoming-rekonq/">rekonq&#8217;s new icon</a> (rekonq is a webkit-based web browser which integrates well with other KDE applications and the desktop). The rekonq team has taken Konqi (a young dragon) and turned it into an adult dragon. We&#8217;ve been playing with this idea in the KDE&#8217;s marketing team some time ago, taking our teenage Konqi and make it a full-fledged dragon, sharp teeth and fire included. Cool to see this in rekonq, I think it&#8217;s a neat metaphor especially for this app. I&#8217;ve just pulled the latest code from its git repo to give it a whirl.<br />Fourth, Qt marketeer troubalex a.k.a. Alexandra (sometimes referred to as &#8220;trouble alex&#8221; by certain very funny people), didn&#8217;t make it to Ede due to someone in the family being sick, get well soon from the Netherlands.<br />I also met Koen Vervloesem, who recently did an <a href="http://lwn.net/Articles/356881/">interview</a> (the link should be publically accessible by now) with me.</p>
<p>One of the talks I attended was held by Bastiaan Jacques. Bastiaan talked about the status of GNASH, and why it&#8217;s important to have a Free flash content viewer, even if Flash sucks and is actually not a piece of technology the &#8220;Open Web&#8221; should move forward with. During his talk, I downloaded the source and tried to build it. There were some issues building it with my Qt 4.6 installed in a non-standard path, which Bastiaan helped fixing after his talk. I&#8217;ve added to my &#8220;interesting things to investigate&#8221; list to further look at gnash and see in how far it&#8217;s suitable for displaying content we really cannot get in a better format than flash (and, by design, easy to integrate also in native client applications).</p>
<p>Another talk I attended was the one by Mozilla hacker Paul Rouget. Paul showed some things that are part of the HTML 5 standard, for example the new video and canvas tags, and then quickly went over to show a bunch of demos what you can do with JavaScript, CSS transformations, SVG and the video tags and canvas tags. Pretty fun stuff, although I have concerns if shipping large amounts of JavaScript code that can even do pixel-based transformation and analysis of image is really the way to go for the web of the future. It doesn&#8217;t at least solve problems such as accessibility of data for other applications, it is in fact encouraging putting more and more application logic into web pages, mixing content and presentation and making it hard to actually use the resulting content in a meaningful way (think caching, attaching semantic information or making web pages suitable for different input methods and displays). Pretty entertaining, and a good final presentation anyway (let&#8217;s be honest, after a long day of technical talks you&#8217;re entitled to some bling).</p>
<p>After the conference, I was invited to the speakers&#8217; dinner, held in a nice restaurant in Ede. Food and conversations were good, and it was nice to learn a bit about others view of various topics. All in all a very interesting, enjoyable and generally worthwhile conference.</p>
]]></content:encoded>
			<wfw:commentRss>http://vizZzion.org/blog/2009/10/nluug-fall-2009-the-open-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Qt DevDays Report Published on Heise; Silk</title>
		<link>http://vizZzion.org/blog/2009/10/qt-devdays-report-published-on-heise-silk/</link>
		<comments>http://vizZzion.org/blog/2009/10/qt-devdays-report-published-on-heise-silk/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 11:54:34 +0000</pubDate>
		<dc:creator>sebas</dc:creator>
				<category><![CDATA[KDAB]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Silk]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://vizZzion.org/blog/?p=1424</guid>
		<description><![CDATA[After visiting the Qt developer days last week (in my capacity as KDAB&#8216;ian, I got the opportunity to train my rusty German a bit. I had been asked to write a report for Heise (a German IT publisher of the C&#8217;t and iX magazines). My report has been published yesterday, you can read it here [...]]]></description>
			<content:encoded><![CDATA[<p>After visiting the Qt developer days last week (in my capacity as <a href="http://kdab.com" title="The Qt Experts">KDAB</a>&#8216;ian, I got the opportunity to train my rusty German a bit. I had been asked to write a report for <a href="http://heise.de">Heise</a> (a German IT publisher of the C&#8217;t and iX magazines). My report has been published yesterday, you can read it <a href="http://www.heise.de/developer/artikel/developer_artikel_831669.html">here</a> (again, our theme this week is: No English ;-)). So now I&#8217;m a journalists (on the Internet, everyone is).<br />
 I&#8217;ve published a similar article (this time in English, but it went public last week, so it doesn&#8217;t count) on <a href="http://dot.kde.org/2009/10/15/developer-days-2009-qt-grows">The Dot</a>.</p>
<p>Work on Silk is also progressing nicely. I&#8217;m getting more and more the hang of Webkit and what cool stuff you can do with it. Richard Moore has just been <a href="http://www.kdedevelopers.org/node/4086">blogging</a> about our adventures with webkit on QGraphicsView. I had collected some information about that during DevDays and the Maemo summit the weekend before where I met Kenneth (at both events), a Danish/Brazilian QtWebkit hacker and Ariya (the food guy) who patiently answered my questions. More about progress in Silk will be revealed in the coming weeks as we&#8217;re making good progress.</p>
]]></content:encoded>
			<wfw:commentRss>http://vizZzion.org/blog/2009/10/qt-devdays-report-published-on-heise-silk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

