<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.7.6(BH)" -->
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Planet Maemo: category &quot;feed:2b1f4a616deca76306f76bfa1c5005c2&quot;</title>
        <description>Blog entries from Maemo community</description>
        <link>http://maemo.org/news/planet-maemo/</link>
        <lastBuildDate>Sun, 24 May 2026 05:03:44 +0000</lastBuildDate>
        <generator>FeedCreator 1.7.6(BH)</generator>
        <language>en</language>
        <managingEditor>planet@maemo.org</managingEditor>
        <item>
            <title>GNOME.Asia Summit 2013</title>
            <link>http://taschenorakel.de/michael/2013/06/06/gnome-asia-summit-2013/</link>
            <description><![CDATA[

<p>I win the prize for last-to-write-about-conference, hands down. I had enough time to come up with solid excuses of course: Right after <a href="http://2013.gnome.asia/">GNOME.Asia Summit</a> in Seoul I went on to Tokyo, for two more conferences. And after that, I've been busy with my vacations.</p>
<p>With a direct flight from London (LHR) to Seoul (ICN), I was lucky enough to fly on Korean Air. Only Quatar Airways comes close in terms of service, though I still like their aubergine-colored uniforms more. Incheon Airport won a "best airport" award several times in a row, and I think it's well-earned. It starts with the gorgeous view when flying in, but the best argument going for the airport is probably A'REX, an affordable, fast and reliable railway line that connects Icheon with the most important spots in the city. Taxi drivers will try to convince you otherwise but don't be fooled, there's no competition to that line.</p>
<p>I stayed near Hongik University station, which is serviced by A'REX. It's a great location, especially at night. <a href="http://blogs.gnome.org/tvb/">Tristan, our famous GTK+/Glade (and now also EDS) hacker</a>, decided to stay nearby so we could go out for drinks and cure my jetlag with great food and a hangover. The hangover didn't happen (too much food?) and neither did the jetlag. As I arrived a couple of days early, I had enough time to discover the city a bit and prepare for the conference (read: <a href="http://taschenorakel.de/files/michael/wayland-input-methods.pdf">slides and stuff</a>). My talk about Wayland input methods seemed to be well received. It lead to a couple of good discussions about text input in general.</p>
<p>The venue was difficult to find in this maze of office buildings. It was good to see old &amp; new friends at the summit though I had hoped for a lot more attendees. Perhaps (local?) advertising the event at universites would have helped. At least in my perception, the target audience for F/OSS development have always been students with enough spare time on their hands to try out stupid things (such as writing free software). I have come to prefer 3-day conferences over 2-day conferences. Two days just doesn't allow for enough hallway discussions as your time to attend talks is very limited. Spreading talks out over three days gives me a better opportunity to balance between talks and hallway track. I wish for instance that FOSDEM wasn't crammed into two days. The other extreme are probably Akademy and GUADEC that go over a week if you count BoFs and workshops as part of the confernence. But I am pretty sure that two days are too short ;-)</p>
<p>Thanks to the GNOME Foundation for 1) accepting my membership \o/ 2) approving my travel sponsorship. This would not have happened without my talk being accepted, which as I understand from talking to others who submitted session proposals was a quite lucky circumstance on its own.</p>
<p><img alt="Sponsored by GNOME Foundation" src="http://taschenorakel.de/files/michael/sponsored-badge-simple.png" /></p>
<span class="net_nemein_favourites">2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=1e2cf0f62541616cf0f11e29f7aa1e9ec55ba98ba98&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/1e2cf0f62541616cf0f11e29f7aa1e9ec55ba98ba98/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=1e2cf0f62541616cf0f11e29f7aa1e9ec55ba98ba98&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/1e2cf0f62541616cf0f11e29f7aa1e9ec55ba98ba98/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Thu, 06 Jun 2013 04:00:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-1e2cf0f62541616cf0f11e29f7aa1e9ec55ba98ba98</guid>
        </item>
        <item>
            <title>Maliit Keyboard now with word prediction and error correction (video)</title>
            <link>http://mikhas.posterous.com/maliit-keyboard-now-with-word-prediction-and</link>
            <description><![CDATA[

        <p>
	<p><iframe src="http://www.youtube.com/embed/UXNWHP7Qd9c?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe></p>
<p>This is a feature that I personally wanted for a long time. Interrupted by FOSDEM, <a href="https://wiki.maliit.org/Wayland_Input_Method_System_Proposal">some Wayland research</a> and many other things, I finally managed to get word prediction and error correction <a href="https://gitorious.org/maliit/maliit-plugins/merge_requests/52">beyond prototype quality</a>. <a href="http://www.youtube.com/watch?v=UXNWHP7Qd9c&amp;feature=plcp&amp;context=C481ded4VDvjVQa1PpcFPRpSsMHr19uNyAuzNRs7JtQ57iC-q3POk%3D">The video shows</a> just how amazingly good the Presage word prediction can be, even without extensive training (in fact, for the video we used the minimal language model training that comes with a regular Presage installation). The second part of the video shows how combining Presage with a spellchecker such as Hunspell further improves the provided word candidates.</p>
<p><a href="http://presage.sourceforge.net/">Presage</a> uses a very scalable approach called <a href="http://en.wikipedia.org/wiki/N-gram" title="text n-grams">text n-grams</a>. There is a lot of research in that area, but language models of contemporary language usage are either well guarded or cannot be freely distributed. Luckily, Presage comes with training tools such as text2ngram. Users can feed arbitrary language corpora to it, though one should be careful to perhaps not mix different languages too much.</p>
<p><a href="http://multithread.org/">Matteo Vescovi</a>, the author of Presage (formerly known as Soothsayer), started the work as part of his master thesis a couple of years ago. The heart of Presage are the different predictors. They can be queried in parallel and the result lists are merged, using probability analysis.</p>
<p>Presage certainly has a lot of potential. It comes with an easy to use C++ API but also provides bindings for C and Python. In fact, it even provides a D-Bus API, which would make it possible to run it as a system service. The user could then benefit from (and train!) the same language models from different applications.</p>
<p><a href="http://hunspell.sourceforge.net/">Hunspell</a> probably doesn&rsquo;t need much introduction. It is used in many Linux desktops. It&rsquo;s a fine library and comes with many dictionaries. However, one should be aware that Hunspell itself cannot provide word prediction, which is why it wasn&rsquo;t enough for mobile text input. As a fallback for Presage, it works very well though.</p>
<p>Of course there are a couple of things we could do from here. As Jon mentioned in the video, the virtual keyboard&rsquo;s word ribbon UI could host word suggestions from other applications, such as the Google search in the browser. For Unity&rsquo;s dasher input or Gnome Shell&rsquo;s search, the application names could be shown instead. Or we could hook it up to Bash completion.</p>
<p>PS: Anyone up to package Presage for Fremantle or Nemo? It could be pretty interesting to see the next release of Maliit running on the N900.</p>
	
</p>

<p><a href="http://mikhas.posterous.com/maliit-keyboard-now-with-word-prediction-and">Permalink</a> 

	| <a href="http://mikhas.posterous.com/maliit-keyboard-now-with-word-prediction-and#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>
      <span class="net_nemein_favourites">5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=1790c02c7a0911e1af2f3f272f829a0f9a0f&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/1790c02c7a0911e1af2f3f272f829a0f9a0f/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=1790c02c7a0911e1af2f3f272f829a0f9a0f&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/1790c02c7a0911e1af2f3f272f829a0f9a0f/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Fri, 30 Mar 2012 00:08:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-1790c02c7a0911e1af2f3f272f829a0f9a0f</guid>
        </item>
        <item>
            <title>Maliit as your remote control (video)</title>
            <link>http://mikhas.posterous.com/maliit-as-your-remote-control-video</link>
            <description><![CDATA[

        <p>
	<p style="float: left; margin-right: 10px;"><iframe src="http://www.youtube.com/embed/rmvAq3-rJwU?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe></p>
<p>There is seemingly a trend (<a href="http://www.markshuttleworth.com/archives/1011">in ideas</a>) to use your mobile device as a remote control for stationary devices such as your TV.</p>
<p>We thought that experimental support for remote text input should be easy to add to <a href="http://maliit.org">Maliit</a>, as it already comes with a server-client architecture. As soon as client and server can run on different host machines, we&rsquo;d have network transparency and it should basically just work.  Luckily, we use D-Bus as our IPC, and it turns out that D-Bus understands remote host addresses. If you check the <a href="https://gitorious.org/maliit/maliit-framework/blobs/master/README">README</a> in <a href="https://gitorious.org/maliit/maliit-framework/">maliit-framework</a> you will recognize that &ndash; with <a href="http://maliit.org/releases/maliit-framework/maliit-framework-0.90.0.tar.bz2">the latest release</a> (<a href="http://lists.maliit.org/pipermail/maliit-announce-maliit.org/2012-March/000008.html">0.90.0</a>) &ndash; it only takes an additional environment variable, MALIIT_SERVER_ADDRESS, to connect a client (that is, an application that uses the Maliit input context) to the input method server. The scary part is perhaps that one has to disable D-Bus authentication. Therefore it's a good idea to only use this inside a trusted network.</p>
<p>Jon created a <a href="http://www.youtube.com/watch?v=rmvAq3-rJwU&amp;context=C3e796e5ADOEgsToPDskIdmhpMurkIk1s1r2VLe9aZ">video which demonstrates the new feature in a better way, using a laptop that is connected to a projector as a TV replacement</a>. The great thing about this feature is that it requires no changes to the applications, nor to the Maliit input method plug-ins, it&rsquo;s the framework that handles this internally (or not so internally, now that <a href="https://qt.gitorious.org/qt/qtbase/trees/master/src/plugins/platforminputcontexts/maliit">Qt 5 turned our D-Bus API into a public one</a>).</p>
<p>However, to make Maliit truly useful as a remote control, at least two additional features are required:</p>
<ul>
<li>Have a proxy text editor widget on mobile device that allows text interactions such as copy and paste, cursor positioning and rich text formatting.</li>
<li>Emulate and transmit mouse or touch events, possibly through a dedicated touch area on the touch screen of the mobile device.</li>
</ul>
<p>The second feature requires an extension to the Maliit protocol, whereas the first is already filed as bug <a href="https://bugs.maliit.org/show_bug.cgi?id=84">MALIIT#84</a>. After that, I could use my N9 (or my N900, as Maliit also runs there) to remote control my Gnome or Ubuntu Unity desktop, which would work perfectly for my movie watching habits.  Kudos goes to <a href="http://krnowak.blogspot.com">Krzesimir</a> and <a href="http://jonnor.com">Jon</a> for their work on this feature.</p>
	
</p>

<p><a href="http://mikhas.posterous.com/maliit-as-your-remote-control-video">Permalink</a> 

	| <a href="http://mikhas.posterous.com/maliit-as-your-remote-control-video#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>
      <span class="net_nemein_favourites">3 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=84d19956665c11e190638572762b1cef1cef&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/84d19956665c11e190638572762b1cef1cef/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=84d19956665c11e190638572762b1cef1cef&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/84d19956665c11e190638572762b1cef1cef/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Sun, 04 Mar 2012 23:50:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-84d19956665c11e190638572762b1cef1cef</guid>
        </item>
        <item>
            <title>FOSDEM 2012</title>
            <link>http://taschenorakel.de/michael/2012/02/08/fosdem-2012/</link>
            <description><![CDATA[

<p><a href="http://taschenorakel.de/files/michael/belgian-waffles.jpg"><img align="left" src="http://taschenorakel.de/files/michael/belgian-waffles-thumb.jpg" border="1" alt="FOSDEM is only real with Belgian Waffles" vspace="10" hspace="10"/></a>
<a href="http://fosdem.org/2012">FOSDEM in 2012</a> was an exciting (and naturally, exhaustive) conference again. It's great to have so many relevant people who are all active in the free software world together in one place. It's also a great opportunity to discuss radical new ideas, ideally while experimenting with Belgium beer. Which is <a href="http://www.deliriumcafe.be/">what we usually did</a> when we weren't at the conference site.</p>
<p>It was nice to see <a href="https://twitter.com/#!/jmalmari">Jarno</a> and <a href="http://fi.linkedin.com/pub/esko-oramaa/2/574/330">Esko</a> at the conference, too. We even stayed in the same hotel. I hope they enjoyed <a href="http://www.kokob.be/">the Ethiopian lunch</a> as much as I did. And perhaps they're not too angry any more that we lead them to <a href="http://www.flickr.com/photos/demonbaby/3688332043/">drink Absinthe</a> ;-)</p>
<p>Jon and I gave two talks. <a href="http://fosdem.org/2012/schedule/event/maliit_the_open_mobile_text_input_project">Jon's talk</a> (<a href="https://wiki.maliit.org/File:Fosdem2012-maliit-open-mobile-text-input.pdf">slides</a>) was about <a href="http://maliit.org">Maliit as a project</a>, explaining what Maliit is (and what it is not), combined with a short history lesson about the project. I tried to outline the <a href="http://fosdem.org/2012/schedule/event/why_mobile_text_input_is_hard">difficulties of mobile text input in general</a> (<a href="https://wiki.maliit.org/File:Fosdem2012-why-mobile-text-input-is-hard.pdf">slides</a>), picking some use-cases that are known from the desktop world and showing why simply copying the use-cases and their known interaction models does not work very well. I honestly liked Jon's talk more though.</p>
<p>Neither of us two actually managed to visit other talks, even though we wanted to. We had to ask Jarno, Esko and others about what great talks we missed. Apparently there were quite a few :-(</p>
<p>Our <a href="http://taschenorakel.de/michael/2012/01/22/infra-maliit-project/">Maliit T-Shirts</a> were well received, though we usually only handed them out when someone listened to our Maliit ramblings long enough.</p>
<p>We were asked about accessibility several times, which is currently not
within the scope of Maliit but perhaps something to think about in the
future.</p>
<p>We also got to talk with the people working on (text) input in Redhat and Intel, mostly in the context of <a href="http://wayland.freedesktop.org/">Wayland</a>. There are some interesting opportunities to get things (more) right this time around.</p>
<p>Thanks to our employer, <a href="http://www.openismus.com/">Openismus</a>, for sending us there!</p>
<span class="net_nemein_favourites">9 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=49cc8bf8524911e187e1d93f246f28422842&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/49cc8bf8524911e187e1d93f246f28422842/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=49cc8bf8524911e187e1d93f246f28422842&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/49cc8bf8524911e187e1d93f246f28422842/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Wed, 08 Feb 2012 10:00:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-49cc8bf8524911e187e1d93f246f28422842</guid>
        </item>
        <item>
            <title>The infrastructure of the Maliit project</title>
            <link>http://taschenorakel.de/michael/2012/01/22/infra-maliit-project/</link>
            <description><![CDATA[

<p><a href="http://taschenorakel.de/files/michael/maliit-all-shirts.jpg"><img align="left" src="http://taschenorakel.de/files/michael/maliit-all-shirts-thumb.jpg" border="1" alt="Maliit T-Shirts!" vspace="10" hspace="10"/></a>
It took us a while to transform the Maliit project into a real opensource project. At first there was only <a href="https://qt.gitorious.org/maemo-6-ui-framework/duiimframework/commit/5f03573f4226505eb569b1f07e47a3f434370253">public code</a>, later some wiki pages @ <a href="http://wiki.meego.com/index.php?title=Meego_Input_Methods">meego.com</a> together with constantly changing components in the official MeeGo bugtracker, then a public <a href="http://lists.meego.com/pipermail/meego-inputmethods/2011-March/000000.html">mailing list</a>.</p>
<p>After that we tried to become independent of MeeGo, but neither freedesktop.org nor the GNOME project could give us a suitable home. So we had to go with our own infrastructure in the end, which probably was the best we could do, in any case. We now enjoy our <a href="http://maliit.org">own website</a> (mostly a wiki, for which we can also analyze the traffic), our <a href="http://webchat.freenode.net/?randomnick=1&amp;channels=maliit&amp;uio=d4">own IRC channel</a>, our own <a href="https://bugs.maliit.org">public bugtracker</a>, our own <a href="http://lists.maliit.org/listinfo.cgi/maliit-discuss-maliit.org">mailing lists</a> and a <a href="http://buildbot.maliit.org/">build bot</a>. We also make use of other services such as <a href="https://launchpad.net/maliit">launchpad.org</a> and the <a href="https://build.opensuse.org/project/show?project=M17N%3AMaliit">openSUSE Build Service</a>, both for packaging but also as part of our continouous integration setup. Both services provide nightly builds for Maliit, for example (though <a href="https://bugs.maliit.org/show_bug.cgi?id=52">we still lack packages for ARM</a>).</p>
<p>But there was always <em>one</em> thing missing: T-Shirts. Now that this is solved, too, we can finally call Maliit a real opensource project ;-) Hopefully we'll soon have another group photo of the people who've been involved in the project over the years. I'll make sure to bring a couple of T-Shirts to FOSDEM, so make sure grab Jon or me if you want one.</p>
<span class="net_nemein_favourites">5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=7dc2b840453011e1acbf6dab0c6aa43ca43c&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/7dc2b840453011e1acbf6dab0c6aa43ca43c/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=7dc2b840453011e1acbf6dab0c6aa43ca43c&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/7dc2b840453011e1acbf6dab0c6aa43ca43c/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Sun, 22 Jan 2012 19:00:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-7dc2b840453011e1acbf6dab0c6aa43ca43c</guid>
        </item>
        <item>
            <title>How we enable others to write 3rd party plugins with Maliit</title>
            <link>http://taschenorakel.de/michael/2012/01/12/how-enable-others-3rd-party-plugins-maliit/</link>
            <description><![CDATA[

<p>We finally published a video <a href="http://www.youtube.com/watch?v=OwupsN5Aqyw">about Maliit - an input method framework including a virtual keyboard - and 3rd party plugins</a>. Kudos <a href="http://www.jonnor.com/2012/01/maliit-and-third-party-input-method-plugins-video/">goes to Jon</a> for making time for that.</p>
<p>This video highlights one of <a href="https://wiki.maliit.org/Plugins">Maliit's key features</a>: pluggable input methods which come with their very own user interfaces. The Chinese input methods show how Maliit offers support for composed characters. The video is proof that 3rd party development for Maliit (open-source and proprietary) is not only possible but also happening.</p>
<p><a href="http://maliit.org">maliit.org states</a> that &quot;it should be easy to customize existing input methods or develop powerful new input methods, whether for profit, research or fun&quot;, we actually mean it.</p>
<p>The harder question is of course how to motivate others to actually get started on input method development with Maliit. For that, we have a multipronged strategy:</p>
<ol>
<li>
<p>Provide sufficiently polished reference plugins that can show off Maliit capabilities but also serve as inspiration for new plugins (hence the BSD license for reference plugins). Our reference plugins are currently using Qt/C++ (Maliit Keyboard) and QML (Nemo Keyboard). We also have PySide support, but no one contributed a reference plugin yet. This gives choice to interested input method developers, and we think that's important. The reference plugins serve another role when it comes to designing new API: They become our testbed, allowing us to verify our API proposals.</p>
</li>
<li>
<p>Ship Maliit with a bunch of example plugins and example applications. None of them try to be complete. They are all self-contained though and usually show one feature at a time. This can be tedious to maintain, but we believe that examples need to stay small and focused, otherwise developers won't look at them.</p>
</li>
<li>
<p>Documentation that is easy to consume. Our documentation is not as concise and clear as we'd like it to be, but it's slowly improving. We also experiment with videos that can serve as an introduction to more in-depth (text) documentation.</p>
</li>
<li>
<p>Packages for most common Linux distributions. This one seems obvious, but sadly, it's quite a lot of work for us to keep up with it (and we already use automated services such as Launchpad and OpenSuse Build Service). In the hope to attract dedicated packagers we wrote down some <a href="https://wiki.maliit.org/PackagingGuidelines">packaging guidelines</a></p>
</li>
<li>
<p>An architecture that had 3rd party plugins and multiple toolkit support in mind from the start. The plugin developer facing API needs to be easy to use and clearly documented. This will be the focus of the <a href="https://wiki.maliit.org/Ideas/New_Plugin_Interface">upcoming 0.9x series</a>.</p>
</li>
</ol>
<p>We will demo Maliit @ FOSDEM 2012, hope to see you there!</p>
<span class="net_nemein_favourites">4 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=b585e9a43d2a11e1844d5dfc9c2384378437&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/b585e9a43d2a11e1844d5dfc9c2384378437/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=b585e9a43d2a11e1844d5dfc9c2384378437&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/b585e9a43d2a11e1844d5dfc9c2384378437/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Thu, 12 Jan 2012 13:00:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-b585e9a43d2a11e1844d5dfc9c2384378437</guid>
        </item>
        <item>
            <title>Into the Wild</title>
            <link>http://taschenorakel.de/michael/2011/11/23/into-the-wild/</link>
            <description><![CDATA[

<p>We kicked off the new 0.81 release series together with a <a href="http://lists.maliit.org/pipermail/maliit-announce-maliit.org/2011-November/000003.html">nice announcement</a>: We have our <a href="https://bugs.maliit.org/show_bug.cgi?id=11">own bugtracker</a> now!</p>
<p>This means that Maliit has a near complete project infrastructure, all available under *.maliit.org, and all that thanks to <a href="http://blogs.gnome.org/kbrae/">Karsten</a>, the always professional and very experienced hostmaster here at <a href="http://openismus.com">Openismus</a>.</p>
<p>There is one more thing that we need (as demonstrated by me when I made my first broken release), and that's a simple build bot setup for continuous integration. Right now, we still rely on Nokia's infrastructure. I am confident that <a href="http://trac.buildbot.net/">buildbot</a> will fit all of our requirements, as long as it is trivial to maintain.</p>
<p>I am also happy that we improved our <a href="http://maliit.org/doc/framework/latest/">documentation significantly</a>, thanks to <a href="http://amigadave.com/">Dave</a>. He translated the important documentation bits into proper English and made it more accessible, demonstrating his doxygen skills. As a bonus, he also updated the <a href="https://gitorious.org/maliit/maliit-framework/blobs/master/README">project's README files</a>, something we had neglected for a long time.</p>
<h2>Future development</h2>
<p>Regarding the <a href="http://lists.maliit.org/pipermail/maliit-announce-maliit.org/2011-November/000002.html">Maliit development</a>, I think we have simplified things a lot. D-Bus activation for the Maliit server (which finally means one server instance per user session) and the new support for plain QML plugins makes it almost trivial to get started with Maliit. We also let go of the <a href="https://wiki.maliit.org/Reviews">critically acclaimed</a> MeeGo Keyboard in Maliit upstream, which made me a bit sad of course.</p>
<p>Still, it probably was the right decision: <a href="https://wiki.maliit.org/Plugins#Features">MeeGo Keyboard</a> is heavily fine-tuned for Nokia's N9 and it has some dependencies that are hard to satisfy outside of Harmattan. Over time, with ever changing requirements, the code has naturally evolved into a rather complex design. The result, however, is a very polished product, and ultimately, that's the only thing that matters (even though many opensource developers will disagree, strangely enough). Everyone in the team is proud of what we have achieved.</p>
<p>At the same time, I can understand how new contributors will be put off by all the complexity. So Maliit upstream will instead focus on the very basic but almost trivial to build Maliit Keyboard. For new contributors, that's a good thing. For us, it means the possibility to fix shortcomings in the plugin API. This is important, as one of our main goals has always been to enable others to write great input method plugins for Maliit, which will then run on any platform that Maliit supports. The <a href="https://wiki.maliit.org/Plugins#Swype">Swype VKB plugin</a> and the <a href="https://wiki.maliit.org/Plugins#Maliit_Plugin_JP">Japanese VKB plugin</a> for example both demonstrate that we are on a good way, but I think we can do better.</p>
<p>Maliit itself still needs a good reference plugin, of course, even if only as a showcase (though I want it to be more). All this doesn't mean that MeeGo Keyboard goes away; its development will continue in the <a href="http://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/">MeeGo Touch repositories</a>, just as before (effectively degraded as just another Maliit plugin). But what we can take over, hopefully, is our experience when it comes to creating one of the best virtual keyboards currently available.</p>
<span class="net_nemein_favourites">5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=c4a3b46e163511e19e7379b25507bb8abb8a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/c4a3b46e163511e19e7379b25507bb8abb8a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=c4a3b46e163511e19e7379b25507bb8abb8a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/c4a3b46e163511e19e7379b25507bb8abb8a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Wed, 23 Nov 2011 22:00:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-c4a3b46e163511e19e7379b25507bb8abb8a</guid>
        </item>
        <item>
            <title>Qt Quick best practices: Using Components</title>
            <link>http://taschenorakel.de/michael/2011/11/18/qtquick-bp-02-components/</link>
            <description><![CDATA[

<p><a href="http://www.developer.nokia.com/Community/Blogs/blog/n9-developer/2011/11/18/qt-quick-best-practices-using-components">The next article</a> in the series about Qt Quick best practices has been published (but don't miss out <a href="http://www.developer.nokia.com/Community/Blogs/blog/n9-developer/2011/11/11/qt-quick-best-practices-property-bindings">the other one about property bindings</a>). This time, <a href="http://www.developer.nokia.com/Community/Blogs/blog/n9-developer/2011/11/18/qt-quick-best-practices-using-components">I talked about Components, and how they can help to keep your QML code clean and maintainable</a>. The team behind the N9 Developer blog has been a great help to me, especially <a href="http://twitter.com/#!/lavonardo">Ville Lavonious</a> and <a href="http://mairas.net">Matti Airas</a>. I am also thankful for the additional input (and proof reading!) from <a href="http://www.jonnor.com">Jon Nordby</a> and <a href="http://fi.linkedin.com/pub/sauli-kauppi/9/37/486">Sauli Kauppi</a>. Thanks guys!</p>
<span class="net_nemein_favourites">6 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=36a54ab2121411e18906755dc901818b818b&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/36a54ab2121411e18906755dc901818b818b/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=36a54ab2121411e18906755dc901818b818b&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/36a54ab2121411e18906755dc901818b818b/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Fri, 18 Nov 2011 17:00:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-36a54ab2121411e18906755dc901818b818b</guid>
        </item>
        <item>
            <title>Miniature 0.5 &amp;#39;London 1851&amp;#39; released</title>
            <link>http://taschenorakel.de/michael/2011/11/13/miniature-london-1851/</link>
            <description><![CDATA[

<p>From the <a href="http://miniature-chess.org/wiki/Miniature_0.5_London_1851">release notes</a>:
&quot;Miniature now supports different languages thanks to a determined <a href="https://www.transifex.net/projects/p/miniature/teams/">community of translators</a>. Thank you for your effort! This is why we are dedicating this release to the <a href="http://en.wikipedia.org/wiki/London_1851_chess_tournament">first international chess tournament</a>, celebrated in London on 1851.</p>
<p>Miniature 0.5 is being released for <a href="http://miniature-chess.org/wiki/MeeGo_Harmattan">MeeGo Harmattan</a> (Nokia N9 &amp; N950) and <a href="http://miniature-chess.org/wiki/Maemo">Maemo</a> (Nokia N900). Thanks to everybody involved in the initial Maemo attempts and the experimental version that was made available after the Miniature 0.4 release.&quot;</p>
<p>We also improved usability, compared to the previous release, but there's still <a href="http://miniature-chess.org/wiki/Wishlist">a ton of work left</a>.</p>
<h1>A bit of history</h1>
<p>I started working on Miniature – a chess client for freechess.org – in November 2009, after reading <a href="http://talk.maemo.org/showthread.php?t=33764">the Call for Contributors</a>. Even though we had a pretty cool P2P feature (based on Telepathy and developed mostly by <a href="https://gitorious.org/~Malcolm">Dariusz Mikulski</a>), it never quite reached the original goal: playing chess online. Back then I was learning how to create UI's with Qt Graphics View, which was all the rage at the time. Well, we now know that writing real UI's with that technology is a major PITA, but for my pet project, it was just too much. I got lost in the struggle.</p>
<p>For the next 18 months, Miniature was basically dead. Another failed project that started so promising. Quim did not want to give up though. After the N9 announcement, he launched a <a href="http://forum.meego.com/showthread.php?p=24925#post24925">second Call for Contributors</a>.</p>
<p>Perhaps I responded to his mail because I was embarrased at the idea of <a href="http://forum.meego.com/showpost.php?p=25141&amp;postcount=7">people wasting time trying to salvage the working parts of Miniature</a>; there simply wasn't much to salvage! So I started again, this time with a very clear goal: online chess, and online chess only. Let others create the actual UI and whatnot. Focusing on one prominent feature and not having to worry about the UI worked well for me, even though I had to iterate over some architecture ideas until I felt comfortable. Quim in the meantime <a href="http://flors.wordpress.com/2011/08/25/how-quick-i-got-started-with-qt-quick/">started to prototype the UI with QML</a>. It was impressive to see his results, a level of polish I could have never achieved with my Qt Graphics View approach. At some point the backend was good enough to be sewn together with the frontend and suddenly we had achieved where I failed before: <a href="http://miniature-chess.org/wiki/Miniature_0.4_De_Lucena">A touch enabled chess client for the N9 that can play chess online</a>.</p>
<p>Having my own useful application available on the N9, published through OVI store, means a lot to me. I hope others will enjoy Miniature as much as we enjoyed re-creating it the second time around.</p>
<span class="net_nemein_favourites">5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=75fb6aa80f6611e195fdd1679c9eb6a4b6a4&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/75fb6aa80f6611e195fdd1679c9eb6a4b6a4/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=75fb6aa80f6611e195fdd1679c9eb6a4b6a4&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/75fb6aa80f6611e195fdd1679c9eb6a4b6a4/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Sun, 13 Nov 2011 19:00:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-75fb6aa80f6611e195fdd1679c9eb6a4b6a4</guid>
        </item>
        <item>
            <title>Using MeeGo Keyboard from git on your Nokia N9</title>
            <link>http://taschenorakel.de/michael/2011/11/13/using-meego-keyboard-git-nokia-n9/</link>
            <description><![CDATA[

<p>Usually AEGIS, <a href="http://wiki.maemo.org/N950/Aegis-notes">the N9's security framework</a>, protects system packages
from being replaced. As such, files belonging to a system package can't be overwritten. And that's definitely a good thing, because otherwise each download from OVI store would put the user at a considerable risk.</p>
<p><a href="http://maliit.org">Maliit</a> is such a system package, but its flexible architecture allows for a creative way to replace the MeeGo Keyboard with a more recent version. <s>This can be
useful if you want to testdrive new features and to</s> … nah whom am I kidding, it's purely for fun!</p>
<p>Be warned though, the following hack requires you to <a href="http://harmattan-dev.nokia.com/docs/library/html/guide/html/Developer_Library_Developing_for_Harmattan_Activating_developer_mode.html">enable developer mode on your N9</a>. Don't ever activate it unless you're absolutely sure what you're doing to your N9. It would be unforgivable to brick this beauty because of some misguided hack the planet attitude.</p>
<p>First we need to <a href="http://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/">find a MeeGo Keyboard tag</a> that will be compatible with the installed Maliit framework version on your device. Check that the output of</p>
<pre><code>$ apt-cache showpkg meego-keyboard
</code></pre>
<p>matches the dependencies mentioned in the tag's Debian control file and the packages installed in your scratchbox ARMEL target.</p>
<p>Apply the <a href="https://meego.gitorious.org/~mikhas/meegotouch/im-kb/commit/9b2a1a3d589039dfeb6281b857e2bc5a425a0bdf">community patch</a> on top of the chosen tag. It renames the package to meego-keyboard-community and only installs the plug-in's .so file, together with a renamed CSS file (libmeegotouch requires that CSS file names match with library names).</p>
<p>This mean that we won't uninstall the regular package, as we still depend on most the other files that meego-keyboard installs.</p>
<p>Now build the Debian package. Copy it over and login to the device, then gain root access via devel-su. It's recommended to make a backup of /usr/lib/meego-im-plugins before installing the package.</p>
<p>After installing libmeego-keyboard-community, remove libmeego-keyboard.so from /usr/lib/meego-im-plugins, to avoid in-fights between the two plug-ins. Use</p>
<pre><code>$ gconftool-2 -s /meegotouch/inputmethods/onscreen/enabled -t list --list-type string [libmeego-keyboard-community.so, en_gb.xml]
$ gconftool-2 -s /meegotouch/inputmethods/onscreen/active -t list --list-type string [libmeego-keyboard-community.so, en_gb.xml]
</code></pre>
<p>to activate the community plug-in. The language settings applets will most likely get confused, so be prepared that enabling new language layouts might only work directly via GConf from now on.</p>
<p>Gain user access and kill meego-im-uiserver. It should now load the new community plug-in. If you want to get the original MeeGo Keyboard back, uninstall the community package and copy the .so back from your backup. Alternately, you can try to reinstall it:</p>
<pre><code>$ apt-get install --reinstall meego-keyboard
</code></pre>
<p>Have fun!</p>
<span class="net_nemein_favourites">4 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=71b10b060f6611e195fdd1679c9eb6a4b6a4&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/71b10b060f6611e195fdd1679c9eb6a4b6a4/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=71b10b060f6611e195fdd1679c9eb6a4b6a4&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/71b10b060f6611e195fdd1679c9eb6a4b6a4/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Sun, 13 Nov 2011 17:00:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-71b10b060f6611e195fdd1679c9eb6a4b6a4</guid>
        </item>
        <item>
            <title>Best practices in using Qt Quick</title>
            <link>http://taschenorakel.de/michael/2011/11/11/best-practices-qt-quick/</link>
            <description><![CDATA[

<p>I am writing a series about best practices in using Qt Quick. It will be published on the <a href="http://www.developer.nokia.com/Community/Blogs/blog/n9-developer">official N9 Developer blog</a>. <a href="http://www.developer.nokia.com/Community/Blogs/blog/n9-developer/2011/11/10/qml-best-practices-getting-started">The introduction</a> and <a href="http://www.developer.nokia.com/Community/Blogs/blog/n9-developer/2011/11/11/qt-quick-best-practices-property-bindings">first article</a> have already appeared. Your feedback on that series is very much welcomed.</p>
<span class="net_nemein_favourites">7 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=6ac633c60cae11e19713f7a3423329192919&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/6ac633c60cae11e19713f7a3423329192919/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=6ac633c60cae11e19713f7a3423329192919&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/6ac633c60cae11e19713f7a3423329192919/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Fri, 11 Nov 2011 17:00:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-6ac633c60cae11e19713f7a3423329192919</guid>
        </item>
        <item>
            <title>Better GTK+ support in Maliit</title>
            <link>http://taschenorakel.de/michael/2011/11/09/gtk-support-maliit/</link>
            <description><![CDATA[

<p>So far, using Maliit's virtual keyboard in GTK+ applications required fetching and compiling a GTK+ input method brigde yourself. Not any more. With the latest release, GTK+ applications should just work out of the box, <a href="http://www.jonnor.com/2011/11/gtk-application-support-integrated-into-maliit-mainline/">thanks to Jon's integration efforts</a>. Right at the same time, Łukasz was looking into <a href="http://sil2100.vexillium.org/?id=dev#21">using Maliit together with GTK+ applications on his Ubuntu desktop</a>. He did a great job testing Jon's improvement and also contributed patches to properly update GTK+'s input method module cache. When compared to the Qt support, the gap in terms of <a href="http://wiki.maliit.org/Application_Support">supported features</a> is quite large. We would like to further improve the GTK+ support and contributions are certainly welcome.</p>
<span class="net_nemein_favourites">7 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=014b56300b0311e1b91f6f8136a6f4a6f4a6&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/014b56300b0311e1b91f6f8136a6f4a6f4a6/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=014b56300b0311e1b91f6f8136a6f4a6f4a6&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/014b56300b0311e1b91f6f8136a6f4a6f4a6/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Wed, 09 Nov 2011 16:00:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-014b56300b0311e1b91f6f8136a6f4a6f4a6</guid>
        </item>
        <item>
            <title>Better key override support for Maliit</title>
            <link>http://taschenorakel.de/michael/2011/11/01/better-key-override-support-maliit/</link>
            <description><![CDATA[

<p><a href="http://2.bp.blogspot.com/-U2u9lPsEZ2I/TqqluHjN15I/AAAAAAAAAGA/FMey7BVfyJQ/s1600/twofields.png"><img align="left" src="http://2.bp.blogspot.com/-U2u9lPsEZ2I/TqqluHjN15I/AAAAAAAAAGA/FMey7BVfyJQ/s400/twofields.png" hspace="10" vspace="10" border="0" alt="Dynamic key overrides in Maliit's Quick plugin"/></a></p>
<p>Krzesimir Nowak <a href="http://www.murrayc.com/blog/permalink/2011/07/20/krzesimir-nowak-joining-openismus/">joined Openismus in the beginning of August</a> this year. Not only is he a very talented developer (or, as I once said, the first one to actually fill the <a href="http://danielkitta.org/blog/">gap Daniel left</a>), but he's also fun to work with.</p>
<p>Just before I went on my vacations in September, I left him with some nice tasks to improve one of the cool features in <a href="http://maliit.org">Maliit</a>: Dynamic key overrides. The way I had set up the tasks I knew he would trip over bits of hideous code and seeing how he could deal with it was part of the exercise.</p>
<p>For now, <a href="http://krnowak.blogspot.com/2011/10/key-overrides-in-maliit.html">Krzesimir's work on Maliit is finished</a>. With <a href="https://www.ohloh.net/p/maliit/contributors?page=2">25 commits</a>, two of them being <a href="https://gitorious.org/maliit/maliit-framework/commit/ad8227825d2e5074d40fe2394c8c383d0a87bd0a">bug fixes</a> in said <a href="https://gitorious.org/maliit/maliit-framework/commit/14df23189ead35c1d3a7bfc262c4bc2f942717fb">ugly code</a>, Krzesimir did an outstanding job while thoroughly understanding and fixing one of Maliit's core features in a rather short time span. Of course he will tell you that it took him way too long ;-)</p>
<p>Thanks for your contribution, Krzesimir, and well done!</p>
<span class="net_nemein_favourites">5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=de5f9102043311e1bedad72ccfbbf9e0f9e0&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/de5f9102043311e1bedad72ccfbbf9e0f9e0/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=de5f9102043311e1bedad72ccfbbf9e0f9e0&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/de5f9102043311e1bedad72ccfbbf9e0f9e0/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Tue, 01 Nov 2011 02:00:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-de5f9102043311e1bedad72ccfbbf9e0f9e0</guid>
        </item>
        <item>
            <title>Real users, real feedback</title>
            <link>http://taschenorakel.de/michael/2011/10/25/real-users-real-feedback/</link>
            <description><![CDATA[

<p><a href="http://maliit.org"><img align="left" src="http://wiki.maliit.org/images/thumb/0/02/I-type-with-maliit.png/240px-I-type-with-maliit.png" hspace="10" vspace="10" border="0" alt="Maliit on the N9"/></a></p>
<p>We released <a href="http://lists.meego.com/pipermail/meego-inputmethods/2011-October/000246.html">Maliit 0.80.7</a> on Friday. Over these last days, I am doubly proud about our project. Not only did the N9's virtual keyboard get <a href="http://wiki.maliit.org/Reviews">astonishing reviews</a> across the board, but what's even better: We managed to keep this software <a href="https://gitorious.org/maliit">open-source</a>. In our communities, there will always be those who focus too much on technical aspects. I remember the technical struggles we had even within MeeGo! But now we get feedback from real users who couldn't care less about what Qt or MeeGo Touch is, and to be honest, that's a refreshing change.</p>
<p>Being here at <a href="http://qt.nokia.com/qtdevdays2011/">Qt's Developer Days 2011</a>, it feels great to get such feedback directly, from first-time users of the <a href="http://swipe.nokia.com/">Nokia N9</a>. Especially the fine haptic feedback and the keyboard's accuracy gets noticed.</p>
<p>I also had the possibility to see a <a href="http://kimitakeblog.net/item/793">Japanese input method</a> &mdash; running on the N9 and powered by Maliit. Seeing how well this plugin already integrates with the platform, I feel that our architecture yet again has been justified. I am looking forward to see more Maliit plugins, and more platforms using Maliit!</p>
<span class="net_nemein_favourites">7 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=12423a1afeee11e089bcaf64e83825bb25bb&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/12423a1afeee11e089bcaf64e83825bb25bb/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=12423a1afeee11e089bcaf64e83825bb25bb&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/12423a1afeee11e089bcaf64e83825bb25bb/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Tue, 25 Oct 2011 09:00:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-12423a1afeee11e089bcaf64e83825bb25bb</guid>
        </item>
        <item>
            <title>Using C++ enums in QML</title>
            <link>http://taschenorakel.de/michael/2011/07/14/using-c-enums-qml/</link>
            <description><![CDATA[

<p>When mapping Qt/C++ API's to QML, or, to put it more precisely, making  a Qt/C++ API available to QML, road bumps are to be expected. One such bump is the <a href="http://doc.qt.nokia.com/4.7-snapshot/qtbinding.html#using-enumerations-of-a-custom-type">mapping of C++ enums</a>.</p>
<p>If you happen to create enums inside a QObject, then it will be exported to QML via the Q_ENUMS helper:</p>
<pre><code>SomeEnumsWrapper
    : public QObject
{
    Q_OBJECT
    Q_ENUMS(SomeState)
public:
    enum SomeState {
        BeginState,        // Remember that in QML, enum values must start
        IntermediateState, // with a capital letter!
        EndState
    };
};
</code></pre>
<p>You will still need to declare this class as an abstract type for QML to be able to use enums from it (put in your main function for example):</p>
<pre><code>qmlRegisterUncreatableType&lt;SomeEnumsWrapper&gt;("com.mydomain.myproject", 1, 0,
                                             "SomeEnums", "This exports SomeState enums to QML");
</code></pre>
<p>Now in QML, the enums can be accessed as '''SomeEnums.BeginState'''. Note how the enum is accessed through the exported type name, not an instance.</p>
<p>But what if you've put your enums into a dedicated C++ namespace? Then the same mechanism can be used. Let's start with the namespace:</p>
<pre><code>namespace SomeEnums {
    enum SomeState {
        BeginState,
        IntermediateState,
        EndState
    };
}
</code></pre>
<p>We can re-use the idea of wrapping enums in a QObject type, with one tiny change:</p>
<pre><code>SomeEnumsWrapper
    : public QObject
{
    Q_OBJECT
    Q_ENUMS(SomeState)
public:
    enum SomeState {
        BeginState = SomeEnums::BeginState, // Keeps enum values in sync!
        IntermediateState = SomeEnums::IntermediateState,
        EndState = SomeEnums::EndState
    };
};
</code></pre>
<p>The process of forwarding all your enums through this mechanism can be tedious, but being able to use enums properly in QML properly will improve the readability and maintainability of your QML code.</p>
<p>For a fully working example check <a href="https://gitorious.org/~mikhas/maliit/fw/blobs/master/input-method-quick/maliitquick.h">Maliit's</a> <a href="https://gitorious.org/~mikhas/maliit/fw/blobs/master/input-method-quick/minputmethodquickplugin.cpp">Qt Quick support</a></p>
<span class="net_nemein_favourites">6 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=e001fa02adaa11e0bc3eb72b803d81b681b6&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/e001fa02adaa11e0bc3eb72b803d81b681b6/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=e001fa02adaa11e0bc3eb72b803d81b681b6&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/e001fa02adaa11e0bc3eb72b803d81b681b6/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Wed, 13 Jul 2011 23:00:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-e001fa02adaa11e0bc3eb72b803d81b681b6</guid>
        </item>
        <item>
            <title>So there are people who say that Nokia&amp;#39;s N9 isn&amp;#39;t MeeGo ...</title>
            <link>http://taschenorakel.de/michael/2011/06/23/so-there-are-people-who-say-n9-isnt-meego/</link>
            <description><![CDATA[

<p>... and those people are right, if we followed the <a href="http://wiki.meego.com/Quality/Compliance#Specification">MeeGo Compliance Spec</a> to the letter.</p>
<p>But at the same time, <a href="http://swipe.nokia.com/">Nokia's N9</a> is one of those devices that the MeeGo community has always been waiting for.</p>
<div align="center"><img hspace="10" vspace="10" border="1" src="http://swipe.nokia.com/img/features/feat-bundle4.jpg" alt="Nokia's N9"/></div>

<p>If <a href="http://lwn.net/Articles/448590/">"This is not MeeGo!"</a> is the only thing that comes to your mind whilst reading about all the N9 excitement then you still haven't realized MeeGo's biggest problem: No. Compelling. Devices. And if - at the same time - you are one of the MeeGo project leaders, then you should do yourself and everyone else involved with MeeGo a favor and simply resign.</p>
<p>We need more visionary leaders than you.</p>
<span class="net_nemein_favourites">3 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=3fef01089dc011e0bebd0f6abf6498e198e1&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/3fef01089dc011e0bebd0f6abf6498e198e1/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=3fef01089dc011e0bebd0f6abf6498e198e1&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/3fef01089dc011e0bebd0f6abf6498e198e1/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Thu, 23 Jun 2011 11:30:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-3fef01089dc011e0bebd0f6abf6498e198e1</guid>
        </item>
        <item>
            <title>Brave New World</title>
            <link>http://taschenorakel.de/michael/2011/06/20/brave-new-world/</link>
            <description><![CDATA[

<p>Today, we managed to get out <a href="http://lists.meego.com/pipermail/meego-dev/2011-June/483526.html">the first release</a> of <a href="http://maliit.org">Maliit</a> as an independent project. As far as possible without API break, we started to use our own Maliit naming convention for installation paths, library names, etc.</p>
<p>During that cleanup, <a href="http://blog.jpetersen.org/">Jan Arne</a> did a tremendous job improving our build infrastructure. Instead of Qt's .prf files, Maliit now uses pkg-config everywhere. Plugin developers don't have to think about install paths - they can simply read it from the .pc files, for instance:</p>
<pre><code>pkg-config --variable pluginsdir maliit-plugins-0.80
</code></pre>
<p>The version number at the end indicates another nice improvement: versioned libraries and plugin interfaces, which means several Maliit versions can be installed in parallel (although you never want to run more than one server per session).</p>
<p>To install the <a href="https://gitorious.org/maliit/maliit-framework">Maliit framework</a> into a custom directory (say, $HOME/install), simply use:</p>
<pre><code>qmake -r M_IM_PREFIX=$HOME/install
</code></pre>
<p>Afterwards, set your PKG_CONFIG_PATH to $HOME/install/lib/pkgconfig and compile the <a href="https://gitorious.org/maliit/maliit-plugins">Maliit plugins</a>. Quite honestly, it has never been easier to develop input methods for Maliit than with this release.</p>
<span class="net_nemein_favourites">5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=0c3bdd6a9b7511e0b289d7160067a840a840&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/0c3bdd6a9b7511e0b289d7160067a840a840/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=0c3bdd6a9b7511e0b289d7160067a840a840&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/0c3bdd6a9b7511e0b289d7160067a840a840/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Mon, 20 Jun 2011 19:00:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-0c3bdd6a9b7511e0b289d7160067a840a840</guid>
        </item>
        <item>
            <title>Input methods and Wayland in Qt5</title>
            <link>http://taschenorakel.de/michael/2011/06/18/input-methods-and-wayland-qt5/</link>
            <description><![CDATA[

<p>I was attending the <a href="http://bit.ly/qcswiki">Qt Contributors' Summit 2011</a>. During the key note, it was promised that everything is up for discussion so I took my chance to discuss about improving input methods support for Qt5.</p>
<p><a href="http://bit.ly/qcswiki"><img align="left" src="http://get.qt.nokia.com/marketing/summit_01.png" hspace="10" vspace="10" border="0" alt="Maliit Architecture Overview"/></a></p>
<p>After some initial discussions with <a href="http://hoegsberg.blogspot.com/">Kristian H&#248;gsberg</a> (Wayland, of course) and <a href="http://www.linkedin.com/profile/view?id=29330027">J&#248;rgen Lind</a> (who works on Qt Lighhouse),  I also addressed Wayland. It became clear that one needs some kind of input method interface directly in Wayland. Kristian immediately started with a small prototype, in order to explain better how a Wayland compositor can provide a much better window management policy than what  we currently have with <a href="http://maliit.org">Maliit</a> and X11.</p>
<p>I think <a href="http://developer.qt.nokia.com/groups/qt_contributors_summit/wiki/Input_methods_and_Wayland_in_Qt_5">the session itself</a> was really successful. I was surprised at the strong interest in this topic.</p>
<p>It became apparent that we should do something about Qt's input context API. For instance, add more input methods hints, come up with a better interface that describes the focus widget, preedit handling, orientation support and so on.</p>
<p>Now we only need to agree on how to make it happen :-)</p>
<span class="net_nemein_favourites">5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=d4fe2cc6999f11e08da2dd45b48e0f6b0f6b&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/d4fe2cc6999f11e08da2dd45b48e0f6b0f6b/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=d4fe2cc6999f11e08da2dd45b48e0f6b0f6b&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/d4fe2cc6999f11e08da2dd45b48e0f6b0f6b/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Sat, 18 Jun 2011 11:00:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-d4fe2cc6999f11e08da2dd45b48e0f6b0f6b</guid>
        </item>
        <item>
            <title>Decent examples, at last!</title>
            <link>http://taschenorakel.de/michael/2011/06/10/decent-examples-last/</link>
            <description><![CDATA[

<p><a href="http://www.jonnor.com/">Jon</a> spent a lot of time in the last weeks improving our documentation for <a href="http://wiki.meego.com/Maliit">Maliit</a>. However, while documentation is good (and necessary), Jon thinks that <a href="http://www.jonnor.com/2011/06/example-plugins-for-maliit-available/">examples are better</a>. I can only agree with that.</p>
<p>I am planning to use Jon's example material for an input method workshop at one of the upcoming <a href="http://meegofreeday.org/">MeeGo Freedays (German only)</a> here in Berlin, just to see how useful it is for newcomers.</p>
<p><a href="http://wiki.meego.com/Maliit">Maliit</a> starts to feel more and more like a real open-source project, and I am proud of that. Just compare our wiki from <a href="http://wiki.meego.com/index.php?title=Maliit&amp;oldid=32040">end of February</a> with the current, information-packed version, or take a look at the <a href="http://lists.meego.com/pipermail/meego-inputmethods/">steady traffic on our own mailing list</a> (started only in March this year). Or <a href="http://www.google.de/search?q=maliit+keyboard+OR+%22input+method%22+OR+meego+-ang&amp;hl=en&amp;client=firefox-a&amp;hs=HdI&amp;tbo=1&amp;rls=org.mozilla%3Aen-US%3Aunofficial&amp;num=10&amp;lr=&amp;ft=i&amp;cr=&amp;safe=images&amp;tbs=#q=maliit+keyboard+OR+%22input+method%22+OR+meego+-ang&amp;hl=en&amp;lr=&amp;client=firefox-a&amp;hs=kfI&amp;tbo=1&amp;rls=org.mozilla:en-US:unofficial&amp;prmd=ivns&amp;ei=1XDeTf-CEtHIswb5sbXLBQ&amp;start=0&amp;sa=N&amp;fp=1&amp;biw=1302&amp;bih=937&amp;bav=on.2,or.r_gc.r_pw.&amp;cad=b">perhaps</a> <a href="http://www.google.de/search?q=maliit+keyboard+OR+%22input+method%22+OR+meego+-ang&amp;hl=en&amp;lr=&amp;client=firefox-a&amp;hs=f0x&amp;tbo=1&amp;rls=org.mozilla:en-US:unofficial&amp;biw=1302&amp;bih=937&amp;prmdo=1&amp;tbm=dsc&amp;prmd=ivns&amp;source=lnms&amp;ei=6HDeTeOzMYXs-gaQuYXvCQ&amp;sa=X&amp;oi=mode_link&amp;ct=mode&amp;ved=0CBcQ_AU">just</a> <a href="http://www.google.de/search?q=maliit+keyboard+OR+%22input+method%22+OR+meego+-ang&amp;hl=en&amp;lr=&amp;client=firefox-a&amp;hs=S0x&amp;tbo=1&amp;rls=org.mozilla:en-US:unofficial&amp;biw=1302&amp;bih=937&amp;prmd=ivns&amp;source=lnms&amp;tbm=mbl&amp;ei=23DeTZGDCcrHswbUwbzLBQ&amp;sa=X&amp;oi=mode_link&amp;ct=mode&amp;cd=9&amp;ved=0CCAQ_AUoCA&amp;prmdo=1">try</a> <a href="http://www.google.de/search?q=maliit+keyboard+OR+%22input+method%22+OR+meego+-ang&amp;hl=en&amp;lr=&amp;client=firefox-a&amp;hs=S0x&amp;tbo=1&amp;rls=org.mozilla:en-US:unofficial&amp;biw=1302&amp;bih=937&amp;prmd=ivns&amp;source=lnms&amp;tbm=blg&amp;ei=23DeTZGDCcrHswbUwbzLBQ&amp;sa=X&amp;oi=mode_link&amp;ct=mode&amp;cd=8&amp;ved=0CB8Q_AUoBw&amp;prmdo=1">googling it</a>!</p>
<p>I am really happy to eventually see <a href="https://bugs.meego.com/show_bug.cgi?id=17318">real contributions</a> and <a href="http://www.youtube.com/watch?v=qpoQzrgtpLI">input method plugins</a> from others, which makes me think that we are on a good way.</p>
<p>But this is still only the beginning, and more interesting news will follow soon.</p>
<span class="net_nemein_favourites">6 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=6de5193a930211e082a42171643439223922&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/6de5193a930211e082a42171643439223922/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=6de5193a930211e082a42171643439223922&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/6de5193a930211e082a42171643439223922/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Fri, 10 Jun 2011 01:00:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-6de5193a930211e082a42171643439223922</guid>
        </item>
        <item>
            <title>Maliit Session at MeeGo Spring Conference 2011</title>
            <link>http://taschenorakel.de/michael/2011/06/07/maliit-session-meego-spring-conference-2011/</link>
            <description><![CDATA[

<p>I was attending the <a href="http://sf2011.meego.com">MeeGo Spring Conference</a> as an invited speaker, talking about <a href="http://wiki.meego.com/Maliit">Maliit - the MeeGo Input Methods</a> - and <a href="http://sf2011.meego.com/program/sessions/developing-custom-input-methods-meego">how to develop custom input method plugins</a> for it.
</p>
<p><a href="http://taschenorakel.de/pictures/meego-input-methods/2011/06/07/meego-input-methods-sf2011-architecture.png"><img align="left" src="http://taschenorakel.de/media/preview/288/pictures/2011/06/07/meego-input-methods-sf2011-architecture.png" hspace="10" vspace="10" border="0" alt="Maliit Architecture Overview"/></a>
</p>
<p>We had more people going to the talk in Dublin than to this one, but at least <a href="http://sf2011.meego.com/sites/all/files/slides/meego-input-methods-sf2011.pdf">the slides</a> and <a href="http://video.linux.com/sites/all/modules/custom/os_video_player/mediaplayer.swf?file=http://videos.meego.com/sf2011/meegosf2011_89.flv">the recording</a> are available online now.
</p>
<span class="net_nemein_favourites">4 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=af2ee01890f211e0a5abc34e6ece01460146&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/af2ee01890f211e0a5abc34e6ece01460146/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=af2ee01890f211e0a5abc34e6ece01460146&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/af2ee01890f211e0a5abc34e6ece01460146/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Michael Hasselmann &lt;michael@taschenorakel.de&gt;</author>
            <category>feed:2b1f4a616deca76306f76bfa1c5005c2</category>
            <pubDate>Tue, 07 Jun 2011 09:30:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-af2ee01890f211e0a5abc34e6ece01460146</guid>
        </item>
    </channel>
</rss>
