<?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>Jon Nordby &#187; Work</title>
	<atom:link href="http://www.jonnor.com/category/work/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jonnor.com</link>
	<description>My grassy patch in a world of walled gardens</description>
	<lastBuildDate>Thu, 12 Jan 2012 12:05:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Maliit and third party input method plugins (video)</title>
		<link>http://www.jonnor.com/2012/01/maliit-and-third-party-input-method-plugins-video/</link>
		<comments>http://www.jonnor.com/2012/01/maliit-and-third-party-input-method-plugins-video/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 12:05:43 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[Maliit]]></category>
		<category><![CDATA[mobile text input]]></category>
		<category><![CDATA[Openismus]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.jonnor.com/?p=529</guid>
		<description><![CDATA[Maliit has an architecture where input methods are implemented as plug-ins. This enables a multitude of different input methods to exist and be used in the same way by applications. Maliit comes with a set of reference plug-ins, but there are also third party plug-ins. This video gives a quick introduction to some of them: [...]]]></description>
			<content:encoded><![CDATA[<p>Maliit has an architecture where input methods are implemented as plug-ins. This enables a multitude of different input methods to exist and be used in the same way by applications. Maliit comes with a set of reference plug-ins, but there are also third party plug-ins. This video gives a quick introduction to some of them:</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/OwupsN5Aqyw" frameborder="0" allowfullscreen></iframe></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jonnor.com/2011/06/example-plugins-for-maliit-available/" rel="bookmark" class="crp_title">Example plugins for Maliit available</a></li><li><a href="http://www.jonnor.com/2011/04/introducing-maliit-on-screen-keyboard-in-gnome-3/" rel="bookmark" class="crp_title">Introducing; Maliit on-screen keyboard in Gnome 3</a></li><li><a href="http://www.jonnor.com/2011/11/gtk-application-support-integrated-into-maliit-mainline/" rel="bookmark" class="crp_title">GTK+ application support integrated into Maliit mainline</a></li><li><a href="http://www.jonnor.com/2011/12/gitorious-merge-request-monitor/" rel="bookmark" class="crp_title">Gitorious Merge Request Monitor</a></li><li><a href="http://www.jonnor.com/2011/12/the-maliit-buildbot/" rel="bookmark" class="crp_title">The Maliit buildbot</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.jonnor.com/2012/01/maliit-and-third-party-input-method-plugins-video/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Maliit buildbot</title>
		<link>http://www.jonnor.com/2011/12/the-maliit-buildbot/</link>
		<comments>http://www.jonnor.com/2011/12/the-maliit-buildbot/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 21:54:11 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[Buildbot]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[Maliit]]></category>
		<category><![CDATA[Openismus]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.jonnor.com/?p=518</guid>
		<description><![CDATA[After having set up the typical things open source projects needs like a website/wiki, mailing-list and bug-tracker, Maliit now also has something not so common: a build-bot. As Maliit consists of several components that can be built in several different ways (and for several different platforms), we wanted to automate the build and tests of [...]]]></description>
			<content:encoded><![CDATA[<p>After having set up the typical things open source projects needs like a website/wiki, mailing-list and bug-tracker, <a href="http://www.maliit.org">Maliit</a> now also has something not so common: <a href="http://maliit.jonnor.com/buildbot">a build-bot</a>.</p>
<p>As Maliit consists of several components that can be built in several different ways (and for several different platforms), we wanted to automate the build and tests of the different variations to ensure that we do not break any of them. This is especially important for variations which are not easy to test for the individual developers, like for instance <a href="http://blog.jpetersen.org/2011/12/07/maliit-and-qt5/">Maliit on Qt 5</a>.</p>
<p>The software chosen to help with this task was <a href="http://trac.buildbot.net/">Buildbot</a>. Getting an initial instance it up and running was very quick and pain-free, especially thanks to packages being easily available and the <a href="http://buildbot.net/buildbot/docs/current/full.html">excellent documentation</a>. The current setup now builds, tests and installs the two major components we have: Maliit Framework and Maliit (Reference) Plugins, in the most important build/config variations we have. A total of 12 individual build jobs, plus 2 meta-builds. The configuration for the instance can be found in the <a href="https://gitorious.org/maliit/maliit-buildbot-configuration">maliit-buildbot-configuration</a> repository.</p>
<p>For security reasons the build-bot is not directly exposed to the Internet. Instead a script runs every 5 minutes to generate a static HTML website and publish on the public web-server: <a href="http://maliit.jonnor.com/buildbot">Maliit build-bot</a></p>
<div id="attachment_521" class="wp-caption alignnone" style="width: 310px"><a href="http://www.jonnor.com/wp/files/all-green.png"><img class="size-medium wp-image-521" title="All green!" src="http://www.jonnor.com/wp/files/all-green-300x187.png" alt="" width="300" height="187" /></a><p class="wp-caption-text">Buildbot says: All green!</p></div>
<p>This gives us a minimal continuous integration system for Maliit, which for now will hopefully helps us avoid breakage. In the future, the usage of the build-bot might extend to include:</p>
<ul>
<li>Automating <a href="https://wiki.maliit.org/Development/Making_Releases">the release process</a></li>
<li>Testing of merge-requests/patches before merging to master</li>
<li>Automated integration/system testing, complementing the unit-tests</li>
<li>Triggering external builders for packaging. OpenSUSE OBS, Maemo 5 Garage, etc.</li>
<li>Automating certain aspects of bug-lifetime. Resolving when fix is committed, closing on release if pre-verified, etc</li>
</ul>
<p>&nbsp;</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jonnor.com/2011/06/example-plugins-for-maliit-available/" rel="bookmark" class="crp_title">Example plugins for Maliit available</a></li><li><a href="http://www.jonnor.com/2011/12/gitorious-merge-request-monitor/" rel="bookmark" class="crp_title">Gitorious Merge Request Monitor</a></li><li><a href="http://www.jonnor.com/2011/11/gtk-application-support-integrated-into-maliit-mainline/" rel="bookmark" class="crp_title">GTK+ application support integrated into Maliit mainline</a></li><li><a href="http://www.jonnor.com/2012/01/maliit-and-third-party-input-method-plugins-video/" rel="bookmark" class="crp_title">Maliit and third party input method plugins (video)</a></li><li><a href="http://www.jonnor.com/2011/04/introducing-maliit-on-screen-keyboard-in-gnome-3/" rel="bookmark" class="crp_title">Introducing; Maliit on-screen keyboard in Gnome 3</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.jonnor.com/2011/12/the-maliit-buildbot/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>GTK+ application support integrated into Maliit mainline</title>
		<link>http://www.jonnor.com/2011/11/gtk-application-support-integrated-into-maliit-mainline/</link>
		<comments>http://www.jonnor.com/2011/11/gtk-application-support-integrated-into-maliit-mainline/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 14:28:33 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[Maliit]]></category>
		<category><![CDATA[Meego Input Methods]]></category>
		<category><![CDATA[Openismus]]></category>

		<guid isPermaLink="false">http://www.jonnor.com/?p=502</guid>
		<description><![CDATA[GTK+ application support for Maliit input methods has existed for a long time, but up until now it has lived in separate repositories. This has been inconvenient for users and for developers, and was the major cause for it to not be on the same level as the Qt support. This has changed as the [...]]]></description>
			<content:encoded><![CDATA[<p>GTK+ application support for <a href="http://www.maliit.org">Maliit</a> input methods has existed for a long time, but up until now it has lived in separate repositories. This has been inconvenient for users and for developers, and was the major cause for it to not be on the same level as the Qt support. This has changed as the GTK+ support has now been merged into the maliit-framework repository, and along side the Qt support. Maliit 0.80.8, which was <a href="http://lists.meego.com/pipermail/meego-inputmethods/2011-November/000251.html">released yesterday</a>, contains these changes.</p>
<div id="attachment_509" class="wp-caption alignright" style="width: 160px"><a href="http://www.jonnor.com/wp/files/maliit-wetab-fedora15_gtk-mainline.jpg"><img class="size-thumbnail wp-image-509  " title="maliit-wetab-fedora15_gtk-mainline" src="http://www.jonnor.com/wp/files/maliit-wetab-fedora15_gtk-mainline-150x150.jpg" alt="" width="150" height="150" /></a><p class="wp-caption-text">Maliit running on WeTab with Fedora 15, showing QML reference plugin and GTK+ application </p></div>
<p>Two implementations existed for Maliit GTK+ support. <a href="https://gitorious.org/meego-gtk-im">One</a> was written by <a href="http://javispedro.com/">Javis Pedro</a> as part of a Google Summer of Code project for MeeGo in 2010. His blog has <a href="http://javispedro.com/cgi-bin/mt/mt-search.fcgi?search=meegotouch&amp;IncludeBlogs=1&amp;limit=20">several posts</a> on the topic.<a href="https://www.gitorious.org/meegotouch-inputmethodbridges"> The other</a> implementation was maintained by Raymond Liu (Intel). This is the implementation shipped in Meego Netbook, and the one improved by <a href="http://people.gnome.org/~csaavedra/">Claudio Saavedra</a> (Igalia) as part of the GTK+ on MeeGo project. It was also the only one that was updated to work with the DBus connection changes that was done quite some time ago, and supporting both GTK 2 and 3. For these reasons this was the implementation integrated into mainline Maliit.</p>
<p>Once the code <a href="https://gitorious.org/maliit/maliit-framework/merge_requests/77">was integrated</a>, improvements soon followed. The application now correctly<a href="https://gitorious.org/maliit/maliit-framework/commit/04b7b8ac3160b8a042e63b2ea2c72464ef74a37b"> reconnects to server</a>, and make install will automatically update the GTK+ input module cache <a href="https://gitorious.org/maliit/maliit-framework/commit/783602d3243d3df47633a8658b27d55175e717aa">on Ubuntu</a>, thanks to <a href="http://sil2100.vexillium.org">Łukasz Zemczak</a> (Canonical), and <a href="https://gitorious.org/maliit/maliit-framework/commit/24393bc8e0bd61ccc36629e94084c0066e6c181d">on Fedora</a>. This means GTK+ application support will work out of the box, no twiddling needed.</p>
<p>While this is a huge step in the right direction, the GTK+ support is not as good as for Qt yet. Javis Pedros implementation has features that does not exist in mainline, so code/principles can hopefully be reused from there to implement these. This includes custom toolbars and attribute extensions, and content type hints for text entries. Other features looks hard to implement due to limitations/differences in the input context plugin architecture found in GTK+, and will probably need work in GTK+ itself to solve.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jonnor.com/2011/06/example-plugins-for-maliit-available/" rel="bookmark" class="crp_title">Example plugins for Maliit available</a></li><li><a href="http://www.jonnor.com/2011/12/gitorious-merge-request-monitor/" rel="bookmark" class="crp_title">Gitorious Merge Request Monitor</a></li><li><a href="http://www.jonnor.com/2011/12/the-maliit-buildbot/" rel="bookmark" class="crp_title">The Maliit buildbot</a></li><li><a href="http://www.jonnor.com/2011/04/introducing-maliit-on-screen-keyboard-in-gnome-3/" rel="bookmark" class="crp_title">Introducing; Maliit on-screen keyboard in Gnome 3</a></li><li><a href="http://www.jonnor.com/2012/01/maliit-and-third-party-input-method-plugins-video/" rel="bookmark" class="crp_title">Maliit and third party input method plugins (video)</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.jonnor.com/2011/11/gtk-application-support-integrated-into-maliit-mainline/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Example plugins for Maliit available</title>
		<link>http://www.jonnor.com/2011/06/example-plugins-for-maliit-available/</link>
		<comments>http://www.jonnor.com/2011/06/example-plugins-for-maliit-available/#comments</comments>
		<pubDate>Thu, 09 Jun 2011 18:32:02 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[Maliit]]></category>
		<category><![CDATA[Meego]]></category>
		<category><![CDATA[Meego Input Methods]]></category>
		<category><![CDATA[Openismus]]></category>

		<guid isPermaLink="false">http://www.jonnor.com/?p=413</guid>
		<description><![CDATA[In Maliit input methods are implemented as plugins. This flexibility is important because it allows the same framework to provide very different text input methods, without us having to implement them all. Different virtual keyboards, hardware keyboard input, handwriting, speech-to-text, input methods for accessibility, et.c. are all possible with the Maliit framework. This makes the [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://wiki.meego.com/Maliit">Maliit</a> input methods are implemented as plugins. This flexibility is important because it allows the same framework to provide very different text input methods, without us having to implement them all. Different virtual keyboards, hardware keyboard input, handwriting, speech-to-text, input methods for accessibility, et.c. are all possible with the Maliit framework. This makes the input method plugin API the most important extension point.</p>
<p>To make it simple to start developing an input method for Maliit, we have written a set of example plugins that can be used as a skeleton* for a new input method. There is one &#8220;Hello World&#8221; example showing the C++ interface, and one showing the <a href="http://taschenorakel.de/michael/2011/05/12/writing-qml-based-input-methods-maliit/">newly added QML interface</a>. The latest documentation for the framework in HTML format is also included, along with a simple test application. How to get started is documented on our wiki page: <a href="http://wiki.meego.com/Maliit/Documentation#Plugin_development_Quickstart">Go!</a></p>
<div id="attachment_420" class="wp-caption alignnone" style="width: 310px"><a href="http://www.jonnor.com/wp/files/maliit-plugin-example-opensuse1.png"><img class="size-medium wp-image-420" title="Maliit C++ example plugin" src="http://www.jonnor.com/wp/files/maliit-plugin-example-opensuse1-300x175.png" alt="" width="300" height="175" /></a><p class="wp-caption-text">A very conventional example: An input method that allows you to input &quot;Hello World&quot;</p></div>
<p>A nice thing is that these examples are in our framework repository: built as part of the standard build, with simple tests run as part of our test-suite. This ensures that the examples stay up-to-date and working, something I find that step-by-step, code-and-talk tutorials in some documentation repository/directory typically do not.</p>
<p>If you want to look at real-life examples of plugins, check out the <a href="https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/trees/master/m-keyboard">Meego Keyboard code</a> (C++), the <a href="https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/trees/master/meego-keyboard-quick">Meego Keyboard Quick code</a> (QML), or <a href="http://talk.maemo.org/member.php?u=31949">foolegg</a> from maemo.org&#8217;s <a href="https://github.com/foolegg/cute-input-method/tree/maliit">cute-input-method code</a> (QML with Pinjyin support!). Also make sure to check out <a href="http://taschenorakel.de/michael/">Michael Hasselmann</a>s talk at the Meego Spring 2011 Conference: <a href="http://sf2011.meego.com/program/sessions/developing-custom-input-methods-meego">Developing custom input methods for Meego</a>.</p>
<p>If you hit any issues, contact us through one of <a href="http://wiki.meego.com/Maliit#Communication_channels">our communication channels</a>.</p>
<p>* Note that currently the license of the examples is LGPLv2 like the rest of the framework.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jonnor.com/2011/11/gtk-application-support-integrated-into-maliit-mainline/" rel="bookmark" class="crp_title">GTK+ application support integrated into Maliit mainline</a></li><li><a href="http://www.jonnor.com/2012/01/maliit-and-third-party-input-method-plugins-video/" rel="bookmark" class="crp_title">Maliit and third party input method plugins (video)</a></li><li><a href="http://www.jonnor.com/2011/04/introducing-maliit-on-screen-keyboard-in-gnome-3/" rel="bookmark" class="crp_title">Introducing; Maliit on-screen keyboard in Gnome 3</a></li><li><a href="http://www.jonnor.com/2011/12/gitorious-merge-request-monitor/" rel="bookmark" class="crp_title">Gitorious Merge Request Monitor</a></li><li><a href="http://www.jonnor.com/2011/12/the-maliit-buildbot/" rel="bookmark" class="crp_title">The Maliit buildbot</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.jonnor.com/2011/06/example-plugins-for-maliit-available/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Introducing; Maliit on-screen keyboard in Gnome 3</title>
		<link>http://www.jonnor.com/2011/04/introducing-maliit-on-screen-keyboard-in-gnome-3/</link>
		<comments>http://www.jonnor.com/2011/04/introducing-maliit-on-screen-keyboard-in-gnome-3/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 19:48:43 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Gnome 3]]></category>
		<category><![CDATA[Gnome Shell]]></category>
		<category><![CDATA[Maliit]]></category>
		<category><![CDATA[Meego]]></category>
		<category><![CDATA[Meego Input Methods]]></category>
		<category><![CDATA[on-screen keyboard]]></category>
		<category><![CDATA[Openismus]]></category>

		<guid isPermaLink="false">http://www.jonnor.com/?p=394</guid>
		<description><![CDATA[Maliit (also known as Meego Input Methods) has the following overall goal: &#8220;to be the input method project for MeeGo and other GNU/Linux-based embedded/mobile platforms&#8221;. This initial video shows Maliit running in Gnome 3, and demonstrates some of the very basic features provided by Maliit and the standard keyboard shipped with it. The demo is [...]]]></description>
			<content:encoded><![CDATA[<p>Maliit (also known as Meego Input Methods) has the following <a href="http://wiki.meego.com/Maliit#Goals">overall goal</a>: &#8220;to be <em>the</em> input method project for MeeGo and other GNU/Linux-based embedded/mobile platforms&#8221;.</p>
<p>This initial video shows Maliit running in Gnome 3, and demonstrates some of the very basic features provided by Maliit and the standard keyboard shipped with it. The demo is done on a WeTab tablet running a standard Fedora 15 Beta, with the latest Maliit software installed. Jan Arne Petersen is working a bit on  Fedora packages, so hopefully it will soon be easy to install for those who are interested.</p>
<p><object style="height: 390px; width: 640px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100" height="100" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/l_7f3Lxd4_I?version=3" /><param name="allowfullscreen" value="true" /><embed style="height: 390px; width: 640px;" type="application/x-shockwave-flash" width="100" height="100" src="http://www.youtube.com/v/l_7f3Lxd4_I?version=3" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Some more info about the features shown in above video:</p>
<p><strong>0. Theming.</strong> Using the theming support in the standard Maliit keyboard, it  is easy to go from a mockup to ready implemented theming. This theme was  based on the <a href="https://live.gnome.org/GnomeShell/Design/Whiteboards/ScreenKeyboard">mockup from live.gnome.org</a> (by Jakub Steiner I believe?)  and done by Michael Hasselmann in a couple of hours. He also has a  blogpost on <a href="http://taschenorakel.de/michael/2011/04/10/customizing-meego-keyboard/">how the theming system works</a>.</p>
<p><strong>1. Typing text</strong>.This is of course the number one feature of an on-screen keyboard. There are some essential best-practice and some tricks used in Maliit to be able to get really good reponse time and typing speeds. I hope we will have some blogposts about that soon.</p>
<p>Typing speed can be further enchanced by enabling multitouch support (not working out-of-the-box in Fedora due to missing support further down the stack), or by installing a prediction/correction engine. User feedback can be enchanced with audatory and tactile feedback (requires hardware and driver support obviously).</p>
<p><strong>2. Different languages/layouts</strong>, and switching between them. Maliit comes with layouts for over 20 languages, tested and tweaked by usability experts. Latin, Cyrillic, Arabic and Chinese based scripts are covered. The layouts are defined by XML files, so one can easily change them if wanted.</p>
<p><a href="http://www.jonnor.com/wp/files/chinese_zhuyin.png"><img class="alignleft size-thumbnail wp-image-402" title="Chinese Zhuyin" src="http://www.jonnor.com/wp/files/chinese_zhuyin-150x150.png" alt="Chinese Zhuyin" width="150" height="150" /></a><a href="http://www.jonnor.com/wp/files/russian_crop.png"><img class="alignleft size-thumbnail wp-image-401" title="Russian" src="http://www.jonnor.com/wp/files/russian_crop-150x150.png" alt="Russian" width="150" height="150" /></a></p>
<p><a href="http://www.jonnor.com/wp/files/arabic_crop.png"><img class="alignleft size-thumbnail wp-image-400" title="Arabic" src="http://www.jonnor.com/wp/files/arabic_crop-150x150.png" alt="Arabic" width="150" height="150" /></a></p>
<p>For more of the features offered by Maliit framework and standard keyboard, see the <a href="http://wiki.meego.com/Maliit#Features">wiki page</a>. If you are interested in improving Maliit, or its integration in Gnome 3 or other GNU/Linux environment, join the <a href="http://wiki.meego.com/Maliit#Communication_channels">irc channel or mailing list</a>.</p>
<p>Next up; the importance and difficulties of input method integration on touch enabled devices.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jonnor.com/2011/06/example-plugins-for-maliit-available/" rel="bookmark" class="crp_title">Example plugins for Maliit available</a></li><li><a href="http://www.jonnor.com/2011/11/gtk-application-support-integrated-into-maliit-mainline/" rel="bookmark" class="crp_title">GTK+ application support integrated into Maliit mainline</a></li><li><a href="http://www.jonnor.com/2012/01/maliit-and-third-party-input-method-plugins-video/" rel="bookmark" class="crp_title">Maliit and third party input method plugins (video)</a></li><li><a href="http://www.jonnor.com/2011/12/the-maliit-buildbot/" rel="bookmark" class="crp_title">The Maliit buildbot</a></li><li><a href="http://www.jonnor.com/2011/12/gitorious-merge-request-monitor/" rel="bookmark" class="crp_title">Gitorious Merge Request Monitor</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.jonnor.com/2011/04/introducing-maliit-on-screen-keyboard-in-gnome-3/feed/</wfw:commentRss>
		<slash:comments>46</slash:comments>
		</item>
		<item>
		<title>Meego Conference 2010</title>
		<link>http://www.jonnor.com/2010/11/meego-conference-2010/</link>
		<comments>http://www.jonnor.com/2010/11/meego-conference-2010/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 09:25:47 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Meego]]></category>

		<guid isPermaLink="false">http://www.jonnor.com/?p=318</guid>
		<description><![CDATA[Like most of my colleagues at Openismus I was present at the first Meego conference in Dublin. As usual, I&#8217;m probably the last to blog about it. See for instance Friedrich&#8217;s post, Andre&#8217;s post or Chris&#8217; very detailed post. The conference was held at the Aviva stadium, a huge sports stadium just outside Dublin center. [...]]]></description>
			<content:encoded><![CDATA[<p>Like most of my colleagues at <a href="http://www.openismus.com/">Openismus</a> I was present at the first <a href="http://conference2010.meego.com/">Meego conference</a> in Dublin. As usual, I&#8217;m probably the last to blog about it. See for instance <a href="http://frinring.wordpress.com/2010/11/25/okteta-and-kasten-on-meego/">Friedrich&#8217;s post</a>, <a href="http://blogs.gnome.org/aklapper/2010/11/21/meego-conference-2010/">Andre&#8217;s post</a> or <a href="http://blixtra.org/blog/2010/11/22/meego-conference-2010-dublin/">Chris&#8217; very detailed post</a>.</p>
<p>The conference was held at the <a href="http://www.avivastadium.ie/">Aviva stadium</a>, a huge sports stadium just outside Dublin center. Untraditional venue choice, but it was quite nice and the organization was very good.</p>
<p>The <a href="http://conference2010.meego.com/program/schedule">conference schedule</a> was packed; 2 days with 5 parallel tracks and the third day done unconference style with some 7 parallel sessions (btw, all the talks are <a href="http://conference2010.meego.com/program/session-videos">available online</a>). Many of the technical talks I went to were a bit on the light side in my opinion, which is forgivable considering how new the whole Meego thing is (or maybe I just chose badly). However, the keynotes and some less-technical talks (and some discussions in the &#8220;hallway track&#8221;) gave me much better understanding of what Meego actually is and aims to be.  Which is arguably just as important.</p>
<p>The schedule was fairly packed in the evenings as well, with opening reception and  &#8220;Openismus conference dinner&#8221; at the closest pub the first day, party at the <a href="http://www.guinness-storehouse.com/">Guinness Storehouse</a> the second and a Ireland-Norway friendly in football (which Norway won!) the third. In addition, the official conference hotel had a &#8220;hacking area&#8221; available 24-7, which was pretty popular.</p>
<p>To give Meego a little boost,  all the participants were given a <a href="http://shop.lenovo.com/us/notebooks/ideapad/s-series/s10-3t">Lenovo Ideapad S10-t3</a> tablet netbook/laptop. In exchange we had to install Meego Netbook Edition  1.1 on and promise to develop cool applications for. Lucky me also got a  Nokia N900 so I can do development for that form-factor as well. <img src='http://www.jonnor.com/wp/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<h3>What is Meego? (my interpretation and some musing)</h3>
<p>At least Intel seems to have a very clear vision of  Meego as an open operating system and software platform that will make it easy for people to deliver new and innovative products in the embedded/mobile/space.</p>
<p>Meego explicitly targets a <a href="http://meego.com/devices">broad range of device classes</a>, from set-top boxes to in-vehicle-infotainment to handsets to netbooks, a very bold move. Personally, I think the key to succeeding in that aspect is to attract the vendors with expertise in each device class and have them drive development. The project has done a decent job at that so far with Intel, Linpus, et.c. for netbook, Nokia for handset, the GENIVI consortium for IVI and so on.</p>
<p>Another thing the Meego project explicitly supports is for vendors shipping devices to do customization. This is basically a prerequisite to be able to attract them at all (as they naturally want to differentiate their products), but brings additional challenges in delivering a consistent platform and brand. The compliance specification work <a href="http://conference2010.meego.com/session/app-compatibility-and-meego-compliance-program">presented at the conference</a> leads me to believe that the project is on the right path here though.</p>
<p>As an application platform Meego is based around <a href="http://qt.nokia.com/">Qt</a> (with Qt Quick). This is a decent platform, but what is most lacking in order to attract application developers is probably shiny, attractive devices, and people using them. Hopefully they will be here soon&#8230;</p>
<p>All in all, I like what I see. Time will show how well the project succeeds, there are certainly exciting times ahead!</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jonnor.com/2011/01/want-to-integrate-with-the-meego-netbook-ux-panel/" rel="bookmark" class="crp_title">Want to integrate with the Meego Netbook UX panel?</a></li><li><a href="http://www.jonnor.com/2010/10/qt-developer-days-2010-and-more/" rel="bookmark" class="crp_title">Qt Developer Days 2010 and more</a></li><li><a href="http://www.jonnor.com/2010/11/mypaint-on-meego/" rel="bookmark" class="crp_title">MyPaint on Meego?</a></li><li><a href="http://www.jonnor.com/2011/06/example-plugins-for-maliit-available/" rel="bookmark" class="crp_title">Example plugins for Maliit available</a></li><li><a href="http://www.jonnor.com/2011/11/gtk-application-support-integrated-into-maliit-mainline/" rel="bookmark" class="crp_title">GTK+ application support integrated into Maliit mainline</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.jonnor.com/2010/11/meego-conference-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playing with Qt Quick; Imago</title>
		<link>http://www.jonnor.com/2010/11/playing-with-qt-quick-imago/</link>
		<comments>http://www.jonnor.com/2010/11/playing-with-qt-quick-imago/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 09:00:30 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[qt quick]]></category>

		<guid isPermaLink="false">http://www.jonnor.com/?p=324</guid>
		<description><![CDATA[In learning Qt, I of course needed to get some experience with the newest and shiniest bits of Qt: Qt Quick. One of the things I&#8217;ve done with that is to make a simple application, an image viewer called Imago. The code can be found at Gitorious. It is a bit different from typical Qt [...]]]></description>
			<content:encoded><![CDATA[<p>In learning Qt, I of course needed to get some experience with the newest and shiniest bits of Qt: Qt Quick.</p>
<p>One of the things I&#8217;ve done with that is to make a simple application, an image viewer called Imago. The code can be found <a href="http://gitorious.org/openismus-playground/imago">at Gitorious</a>. It is a bit different from typical Qt Quick applications as it is not a mobile application but rather targets the desktop. Thus I&#8217;m using standard desktop UI concepts like drop-down menues, and ordinary file-chosers.</p>
<div id="attachment_334" class="wp-caption alignleft" style="width: 182px"><a href="http://www.jonnor.com/wp/files/2010-11-29-093423_1280x800_scrot_cropped.png"><img class="size-thumbnail wp-image-334 " title="2010-11-29-093423_1280x800_scrot_cropped" src="http://www.jonnor.com/wp/files/2010-11-29-093423_1280x800_scrot_cropped-150x150.png" alt="Imago - single image view" width="172" height="150" /></a><p class="wp-caption-text">Imago - single image view</p></div>
<div id="attachment_332" class="wp-caption alignleft" style="width: 183px"><a href="http://www.jonnor.com/wp/files/2010-11-29-092753_1280x800_scrot_cropped.png"><img class="size-thumbnail wp-image-332 " title="2010-11-29-092753_1280x800_scrot_cropped" src="http://www.jonnor.com/wp/files/2010-11-29-092753_1280x800_scrot_cropped-150x150.png" alt="Imago - &quot;traditional&quot; view" width="173" height="150" /></a><p class="wp-caption-text">Imago - &quot;traditional&quot; view</p></div>
<div id="attachment_333" class="wp-caption alignleft" style="width: 184px"><a href="http://www.jonnor.com/wp/files/2010-11-29-092806_1280x800_scrot_cropped.png"><img class="size-thumbnail wp-image-333 " title="2010-11-29-092806_1280x800_scrot_cropped" src="http://www.jonnor.com/wp/files/2010-11-29-092806_1280x800_scrot_cropped-150x150.png" alt="Imago - grid view" width="174" height="150" /></a><p class="wp-caption-text">Imago - grid view</p></div>
<p style="text-align: right;">
<p style="text-align: left;">The lists can be &#8220;flicked&#8221; through using the pointer, or using the  scroll wheel. Moving between the views that show multiple images and the  single-image view has a small animation.</p>
<h3>Implementation</h3>
<p>In a Qt Quick application two languages and runtimes are involved; C++ and the declarative language that forms the basis of Qt Quick, QML. Qt supports bi-directional communication between the two using a number of metods.<br />
In my case I chose to make a QObject class that  maintains all of the central state in the application. This includes things like what folder is currenty open, the images in that folder, which image is currently focused/selected. All these attributes are implemented as QObject properties, and are notifyiable (meaning they have an attached signal that you guarantee to emit each time the value changes). Exporting this object to QML then allows these properties to be used in property bindings, or for one to connect to the notification signals.<br />
So in Imago QML is basically used as a &#8220;stupid&#8221; UI layer for the image view. Other things, like window title and drop-down menues are handed by the C++ side, but by using the signals and properties of the same object.</p>
<p>Writing a desktop application means that one cannot assume a fixed window size like people tend to do for mobile device applications. With setting the resize property of the QDeclarativeView (the widget that displays the QML stuff) to QDeclarativeView::SizeRootObjectToView and using anchor layouts throughout this is possible, but it took me a good while to get working properly. Mostly because the concepts are new, and most (all?) the examples in the documentation seem to neglect this aspect.</p>
<p>The grid and traditional view are actually implemented in different QML files (though the delegate for the images in the list is shared). I did this to test how having several UIs would be like, and for a simple application like this it works out just fine.</p>
<h3>Where to now?</h3>
<p>Imago right now is very simple,  and could benefit from some added features and some designer love. I also just found a bug in the traditional view that needs to be fixed. I have documented these things in the <a href="http://gitorious.org/openismus-playground/imago/blobs/master/README.txt">README</a> file in case someone is interested. As I have moved my focus over to other projects, I probably wont be taking this application much further, at least not at this time.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jonnor.com/2010/11/image-preview-support-for-openraster-in-qt-working/" rel="bookmark" class="crp_title">Image preview support for OpenRaster in Qt working</a></li><li><a href="http://www.jonnor.com/2010/09/massifg-0-2/" rel="bookmark" class="crp_title">MassifG 0.2</a></li><li><a href="http://www.jonnor.com/2011/06/example-plugins-for-maliit-available/" rel="bookmark" class="crp_title">Example plugins for Maliit available</a></li><li><a href="http://www.jonnor.com/2011/11/gtk-application-support-integrated-into-maliit-mainline/" rel="bookmark" class="crp_title">GTK+ application support integrated into Maliit mainline</a></li><li><a href="http://www.jonnor.com/2011/05/geglfilter-gstreamer-element-for-manipulating-video-using-gegl/" rel="bookmark" class="crp_title">geglfilter: GStreamer element for manipulating video using Gegl</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.jonnor.com/2010/11/playing-with-qt-quick-imago/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>glom-postgresql-setup</title>
		<link>http://www.jonnor.com/2010/11/glom-postgresql-setup/</link>
		<comments>http://www.jonnor.com/2010/11/glom-postgresql-setup/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 12:42:36 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[gtkmm]]></category>
		<category><![CDATA[Openismus]]></category>

		<guid isPermaLink="false">http://www.jonnor.com/?p=315</guid>
		<description><![CDATA[Glom is an application that lets you design database systems, including user interface. It can be run as an ordinary application, and will set up and run a the database server for you automatically. But if you want to set up a shared instance, where several users connect with Glom to the same database, you [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.glom.org/wiki/index.php?title=Glom">Glom</a> is an application that lets you design database systems, including user interface. It can be run as an ordinary application, and will set up and run a the database server for you automatically. But if you want to set up a shared instance, where several users connect with Glom to the same database, you typically want your database server on a dedicated server. And this can be a bit tricky to set up. So, <a href="http://gitorious.org/openismus-playground/glom-postgresql-setup">glom-postgresql-setup</a> was born; A dead-simple utility application to set up a PostgreSQL server for use with Glom. Like Glom, it is written in C++ using Gtkmm.</p>
<p>glom-postgresql-setup lets you to create a database user, and set up the PostgreSQL configuration to accept connections from external IPs. The UI is just a dialog with two fields and two buttons, dead-simple indeed. For now the application requires to be launched with superuser privileges, but before we encourage use of this tool we will of course implement proper privilege escalation using PolicyKit.<br />
It would also be nice to be able to install and start the PostgreSQL  server as well, but currently that is not so easy to do in a  cross-distro way. Hopefully packagekit and systemd will help solve that,  eventually.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jonnor.com/2009/11/senior-project-screenshot-and-x11ssh-tip/" rel="bookmark" class="crp_title">Senior project screenshot and X11+SSH tip</a></li><li><a href="http://www.jonnor.com/2011/12/the-maliit-buildbot/" rel="bookmark" class="crp_title">The Maliit buildbot</a></li><li><a href="http://www.jonnor.com/2010/08/introducing-massifg-0-1/" rel="bookmark" class="crp_title">Introducing MassifG 0.1</a></li><li><a href="http://www.jonnor.com/2011/11/gtk-application-support-integrated-into-maliit-mainline/" rel="bookmark" class="crp_title">GTK+ application support integrated into Maliit mainline</a></li><li><a href="http://www.jonnor.com/2010/11/playing-with-qt-quick-imago/" rel="bookmark" class="crp_title">Playing with Qt Quick; Imago</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.jonnor.com/2010/11/glom-postgresql-setup/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Image preview support for OpenRaster in Qt working</title>
		<link>http://www.jonnor.com/2010/11/image-preview-support-for-openraster-in-qt-working/</link>
		<comments>http://www.jonnor.com/2010/11/image-preview-support-for-openraster-in-qt-working/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 15:43:36 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[Openismus]]></category>
		<category><![CDATA[OpenRaster]]></category>
		<category><![CDATA[Qt]]></category>

		<guid isPermaLink="false">http://www.jonnor.com/?p=306</guid>
		<description><![CDATA[While learning Qt here at Openismus I&#8217;ve written a basic, working plug-in for Qt that adds support for the OpenRaster file format*. Here is my Qt-based test application demoing this functionality by showing some awesome multi-layered abstract test art made by yours truly using Krita: The level of features supported is such that you will [...]]]></description>
			<content:encoded><![CDATA[<p>While learning Qt here at Openismus I&#8217;ve written a basic, working plug-in for Qt that adds support for the <a href="http://create.freedesktop.org/wiki/OpenRaster">OpenRaster</a> file format*. Here is my Qt-based test application demoing this functionality by showing some awesome multi-layered abstract test art made by yours truly using Krita:</p>
<div id="attachment_307" class="wp-caption alignnone" style="width: 310px"><a href="http://www.jonnor.com/wp/files/2010-11-04-153354_1680x1050_scrot_cropped.png"><img class="size-medium wp-image-307" title="2010-11-04-153354_1680x1050_scrot_cropped" src="http://www.jonnor.com/wp/files/2010-11-04-153354_1680x1050_scrot_cropped-300x210.png" alt="I asked for real art, but I did not get any" width="300" height="210" /></a><p class="wp-caption-text">I asked for real art but as you can see, I did not get any.</p></div>
<p>The level of features supported is such that you will be able to preview OpenRaster documents created with applications like MyPaint, Drawpile, Nathive and GIMP, with the limitation that it will have a white background for transparent areas. The code can be found in <a href="http://gitorious.org/openraster/qopenraster">qopenraster repository</a> on gitorious (no tarballs), and the README file documents how to install as well as things that remain to be done.</p>
<p>The plug-in is basically a thin wrapper around <a href="http://gitorious.org/openraster/libora">libora</a>, the OpenRaster <a href="http://create.freedesktop.org/wiki/OpenRaster/Reference_Library">reference library</a>. libora takes care of parsing the OpenRaster document, reading out the layer data and rendering it into a single buffer. The rendering ability was added by me as part of this work, in addition to some other minor stuff. The Qt plug-in does RGBA to ARGB conversion and provides the QImageIOPlugin interface expected by Qt.</p>
<p>Doing this has also exposed several limitations and not-so-nice things in libora that should/needs to be improved. I&#8217;ve updated libora&#8217;s <a href="http://gitorious.org/openraster/libora/blobs/master/README">README</a> file to reflect this.</p>
<p><em>*Assuming the Qt application actually uses QImage in a straight-forward way. The KDE image viewer Gwenview does not seem to use QImage  directly, so you will not automatically get support there by installing  the plug-in <img src='http://www.jonnor.com/wp/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> (. I fear that other KDE applications might be the  same, though I was not able to test Digikam. If anyone has a suggestion  for a Qt based image viewer that works sanely in this area, don&#8217;t  hesitate to leave a comment.</em></p>
<p>PS: I have an almost-working gdk-pixbuf module as well, will push that to gitorious soon.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jonnor.com/2010/10/first-stable-releases-of-misc-openraster-stuff/" rel="bookmark" class="crp_title">First stable releases of misc. OpenRaster stuff</a></li><li><a href="http://www.jonnor.com/2010/10/back-from-qt-dev-days-first-qt-projects/" rel="bookmark" class="crp_title">Back from Qt Dev Days, first Qt projects</a></li><li><a href="http://www.jonnor.com/2010/02/mypaint-openraster-et-c-update/" rel="bookmark" class="crp_title">Mypaint, OpenRaster, et.c. update</a></li><li><a href="http://www.jonnor.com/2010/11/playing-with-qt-quick-imago/" rel="bookmark" class="crp_title">Playing with Qt Quick; Imago</a></li><li><a href="http://www.jonnor.com/2011/06/example-plugins-for-maliit-available/" rel="bookmark" class="crp_title">Example plugins for Maliit available</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.jonnor.com/2010/11/image-preview-support-for-openraster-in-qt-working/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Back from Qt Dev Days, first Qt projects</title>
		<link>http://www.jonnor.com/2010/10/back-from-qt-dev-days-first-qt-projects/</link>
		<comments>http://www.jonnor.com/2010/10/back-from-qt-dev-days-first-qt-projects/#comments</comments>
		<pubDate>Thu, 21 Oct 2010 09:10:27 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[Openismus]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[qt dev days]]></category>
		<category><![CDATA[qt quick]]></category>

		<guid isPermaLink="false">http://www.jonnor.com/?p=298</guid>
		<description><![CDATA[I&#8217;ve actually been back close to a week now, but never mind that&#8230; In the per-conference day with training sessions I attended the Qt Essentials track, which was more or less as expected. Glad I read a full Qt book beforehand, it would have been challenging to keep up with the shear amount of information [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve actually been back close to a week now, but never mind that&#8230;</p>
<p>In the per-conference day with training sessions I attended the Qt Essentials track, which was more or less as expected. Glad I read a full Qt book beforehand, it would have been challenging to keep up with the shear amount of information without it.<br />
The keynotes I attended on the second day were not particularly exciting: no major announcements nor insights were given. The technical talks on the other hand were filled with goodies. The talks by Jens Bache-Wiig and Roberto Raggi on <a href="http://doc.qt.nokia.com/4.7/qtquick.html">Qt Quick</a> were especially good.*</p>
<p>The talks definitely made me want to try Qt Quick for doing user interfaces for small-form factor devices, especially because it allows for very rapid prototyping and iterations when developing. The current lack of widgets and traditional layouts probably limits its usefulness for typical desktop application with more complex user interfaces though. There is nothing that helps you achieve a native look and feel either, but the <a href="http://qt.gitorious.org/qt-components">Qt Components</a> project is aiming to bridge those gaps.<br />
I also suspect that the declarative and dynamic nature of QML poses several new challenges for developers, especially for those that are mostly used to traditional Qt programming with C++. I&#8217;m especially concerned that there was no way to visualize or do static checking on the property-bindings that are so central in QML. Very curious as to how that plays out in practice.</p>
<p>*I&#8217;m told the talks will be online after the Qt Developer Days event in San Fransisco is over.</p>
<h3>Qt projects you said?</h3>
<p>Going forward I&#8217;ll be doing some projects with Qt, in the same way I <a href="http://www.jonnor.com/tag/massifg/">have done</a> with GTK. My first project has already started: implementing viewer-class OpenRaster support for Qt. This means that applications using Qt and QImage will soon be able to display fully-rendered OpenRaster images!<br />
Development of the Qt integration happens in the <a href="http://gitorious.org/openraster/qt-viewer-support">repository on gitorious</a>, and the libora modifications currently lives in <a href="http://gitorious.org/~jonnor/openraster/jonnors-libora">my personal clone</a>. It will be pushed to mainline as soon as I have more-or-less settled on the API, and done a basic implementation. Using libora for all the OpenRaster specific stuff is being a bit more painful than expected, but it is the right thing to do as it means that other consumers benefits as well. Like a potential GdkPixbuf plugin or applications not using Qt or GTK. I&#8217;ll write more once it reaches a useful state.</p>
<p>After that is done I will probably do something with more UI, like a proper application. Hopefully I will get to toss Qt Quick into the mix as well. I&#8217;ve got an idea that I think would be a nice fit, so we&#8217;ll see.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jonnor.com/2010/11/image-preview-support-for-openraster-in-qt-working/" rel="bookmark" class="crp_title">Image preview support for OpenRaster in Qt working</a></li><li><a href="http://www.jonnor.com/2010/06/lgm2010-writeup/" rel="bookmark" class="crp_title">LGM2010 writeup</a></li><li><a href="http://www.jonnor.com/2010/10/first-stable-releases-of-misc-openraster-stuff/" rel="bookmark" class="crp_title">First stable releases of misc. OpenRaster stuff</a></li><li><a href="http://www.jonnor.com/2010/10/qt-developer-days-2010-and-more/" rel="bookmark" class="crp_title">Qt Developer Days 2010 and more</a></li><li><a href="http://www.jonnor.com/2010/11/playing-with-qt-quick-imago/" rel="bookmark" class="crp_title">Playing with Qt Quick; Imago</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.jonnor.com/2010/10/back-from-qt-dev-days-first-qt-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

