<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.meego.com/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.meego.com/index.php?title=Special:Contributions/Jonnor&amp;feed=atom&amp;limit=50&amp;target=Jonnor&amp;year=&amp;month=</id>
		<title>MeeGo wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.meego.com/index.php?title=Special:Contributions/Jonnor&amp;feed=atom&amp;limit=50&amp;target=Jonnor&amp;year=&amp;month="/>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Special:Contributions/Jonnor"/>
		<updated>2013-05-23T18:06:51Z</updated>
		<subtitle>From MeeGo wiki</subtitle>
		<generator>MediaWiki 1.16.2</generator>

	<entry>
		<id>http://wiki.meego.com/Maliit</id>
		<title>Maliit</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit"/>
				<updated>2011-11-09T21:42:43Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* Communication channels */ update with Maliit upstream comm channels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
[[File:Maliit2.png|448px|link=]]&lt;br /&gt;
&lt;br /&gt;
Maliit is the input methods solution used in MeeGo. See the [http://www.maliit.org official project website] for more information.&lt;br /&gt;
&lt;br /&gt;
This wiki contains information about Maliit in MeeGo. Information that is not MeeGo specific is found upstream.&lt;br /&gt;
&lt;br /&gt;
== Communication channels ==&lt;br /&gt;
All Maliit communication – also MeeGo specific – now happens in Maliit upstream channels. [http://lists.maliit.org/pipermail/maliit-discuss-maliit.org/2011-November/000001.html Announcement]&lt;br /&gt;
&lt;br /&gt;
'''Mailing list:''' maliit-discuss@lists.maliit.org ([http://lists.maliit.org/listinfo.cgi/maliit-discuss-maliit.org listinfo] | [http://lists.maliit.org/pipermail/maliit-discuss-maliit.org/ archives])&lt;br /&gt;
&lt;br /&gt;
'''Bugtracker:''' bugs.meego.com, Product: OS, Component: Virtual Keyboard ([https://bugs.meego.com/buglist.cgi?classification=MeeGo%20Platform&amp;amp;query_based_on=virtual%20keyboard&amp;amp;query_format=advanced&amp;amp;bug_status=NEW&amp;amp;bug_status=NEEDINFO&amp;amp;bug_status=INDEFINITION&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=ACCEPTED&amp;amp;bug_status=WAITING%20FOR%20UPSTREAM&amp;amp;bug_status=WAITING&amp;amp;bug_status=REOPENED&amp;amp;component=Virtual%20keyboard&amp;amp;product=OS%20Base&amp;amp;known_name=virtual%20keyboard open bugs] | &lt;br /&gt;
[https://bugs.meego.com/enter_bug.cgi?product=OS%20Base&amp;amp;component=Virtual%20keyboard file new bug])&lt;br /&gt;
&lt;br /&gt;
'''IRC:''' Visit us in #maliit at freenode.net ([http://webchat.freenode.net/?randomnick=1&amp;amp;channels=maliit&amp;amp;uio=d4 webchat])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Installing</id>
		<title>Maliit/Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Installing"/>
				<updated>2011-09-05T10:04:01Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
Meego Input Methods comes preinstalled and works out-of-the-box on:&lt;br /&gt;
* Meego Handset UX 1.1 and later&lt;br /&gt;
* Meego Tablet UX 1.2 and later&lt;br /&gt;
&lt;br /&gt;
=== Meego Netbook UX ===&lt;br /&gt;
&lt;br /&gt;
These steps have been tested on Meego 1.1.&lt;br /&gt;
&lt;br /&gt;
* Enable the 'handset' repository. For example:&lt;br /&gt;
&lt;br /&gt;
 $ sudo zypper addrepo &amp;lt;nowiki&amp;gt;http://repo.meego.com/MeeGo/releases/1.1/handset/repos/ia32/packages/&amp;lt;/nowiki&amp;gt; handset&lt;br /&gt;
 $ sudo zypper refresh&lt;br /&gt;
&lt;br /&gt;
* Install these packages:&lt;br /&gt;
** meegotouch-inputmethodbridges&lt;br /&gt;
** meegotouch-inputmethodkeyboard&lt;br /&gt;
 &lt;br /&gt;
 sudo zypper install meegotouch-inputmethodkeyboard meegotouch-inputmethodbridges &lt;br /&gt;
&lt;br /&gt;
* Modify &amp;lt;code&amp;gt;/etc/xdg/autostart/meego-im-uiserver.desktop&amp;lt;/code&amp;gt; to look like this:&lt;br /&gt;
&lt;br /&gt;
 [Desktop Entry]&lt;br /&gt;
 Exec=/usr/bin/meego-im-uiserver -target slate -bypass-wm-hint&lt;br /&gt;
 X-Moblin-Priority=High&lt;br /&gt;
 OnlyShowIn=X-MEEGO-HS;X-MEEGO-NB&lt;br /&gt;
&lt;br /&gt;
This will work with 1024x600 resolution. Replace 'slate' with other code if you have different resolution. See /etc/meegotouch/devices.conf for different codes.&lt;br /&gt;
&lt;br /&gt;
* Add this line to ~/.bashrc (any better place in X configs? /etc/X11/xinitrc-common failed for me) to activate the inputmethod plugin for Qt-based programs:&lt;br /&gt;
 export QT_IM_MODULE=MInputContext&lt;br /&gt;
&lt;br /&gt;
* Relogin (or reboot) to desktop&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Development</id>
		<title>Maliit/Development</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Development"/>
				<updated>2011-09-05T10:02:38Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: add bug search links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
Most development of Maliit happens [http://maliit.org upstream]. This page contains development information specific Maliit to MeeGo.&lt;br /&gt;
&lt;br /&gt;
== Repositories ==&lt;br /&gt;
For MeeGo 1.2, the following branches are used:&lt;br /&gt;
* https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/commits/meego-1.2&lt;br /&gt;
* https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/commits/meego-1.2&lt;br /&gt;
&lt;br /&gt;
== Meego packaging ==&lt;br /&gt;
* [http://build.meego.com/project/show?project=devel%3Ainput-methods devel:input-methods on MeeGo OBS]&lt;br /&gt;
* [http://build.meego.com/project/monitor?commit=Filter%3A&amp;amp;succeeded=1&amp;amp;failed=1&amp;amp;unresolvable=1&amp;amp;broken=1&amp;amp;blocked=1&amp;amp;dispatching=1&amp;amp;scheduled=1&amp;amp;building=1&amp;amp;finished=1&amp;amp;signing=1&amp;amp;pkgname=maliit&amp;amp;repo_standard=1&amp;amp;repo_weekly=1&amp;amp;arch_armv8el=1&amp;amp;arch_i586=1&amp;amp;project=Trunk&amp;amp;defaults=0 Status in Trunk]&lt;br /&gt;
* [http://build.meego.com/project/monitor?commit=Filter%3A&amp;amp;succeeded=1&amp;amp;failed=1&amp;amp;unresolvable=1&amp;amp;broken=1&amp;amp;blocked=1&amp;amp;dispatching=1&amp;amp;scheduled=1&amp;amp;building=1&amp;amp;finished=1&amp;amp;signing=1&amp;amp;pkgname=inputmethod&amp;amp;repo_standard=1&amp;amp;arch_armv8el=1&amp;amp;arch_i586=1&amp;amp;project=MeeGo%3A1.2%3Aoss&amp;amp;defaults=0 Status in 1.2]&lt;br /&gt;
* [http://build.meego.com/project/monitor?commit=Filter%3A&amp;amp;succeeded=1&amp;amp;failed=1&amp;amp;unresolvable=1&amp;amp;broken=1&amp;amp;blocked=1&amp;amp;dispatching=1&amp;amp;scheduled=1&amp;amp;building=1&amp;amp;finished=1&amp;amp;signing=1&amp;amp;pkgname=inputmethod&amp;amp;repo_standard=1&amp;amp;arch_armv7el=1&amp;amp;arch_i586=1&amp;amp;lastbuild=1&amp;amp;project=MeeGo%3A1.1%3ACore&amp;amp;defaults=0 Status in 1.1]&lt;br /&gt;
&lt;br /&gt;
== QA Reports ==&lt;br /&gt;
Latest inputmethod packages QA reports using recent Meego images can be found at the [http://qa-reports.meego.com/1.2/Handset/Basic%20Feature%20Testing/N900 QA Basic Feature Testing] section of [http://qa-reports.meego.com http://qa-reports.meego.com].&lt;br /&gt;
&lt;br /&gt;
== Open bug reports ==&lt;br /&gt;
Open bugs under [https://bugs.meego.com/buglist.cgi?query_format=advanced&amp;amp;bug_status=NEW&amp;amp;bug_status=NEEDINFO&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=WAITING%20FOR%20UPSTREAM&amp;amp;bug_status=REOPENED&amp;amp;component=maliit-framework&amp;amp;component=maliit-plugins&amp;amp;product=MeeGo%20Distribution%20Packages MeeGo Distribution Packages -&amp;gt; Maliit] (for Meego 1.3+)&lt;br /&gt;
&lt;br /&gt;
Open bugs under [https://bugs.meego.com/buglist.cgi?query_format=advanced&amp;amp;bug_status=NEW&amp;amp;bug_status=NEEDINFO&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=WAITING%20FOR%20UPSTREAM&amp;amp;bug_status=REOPENED&amp;amp;component=meegotouch-inputmethodbridges&amp;amp;component=meegotouch-inputmethodengine&amp;amp;component=meegotouch-inputmethodframework&amp;amp;component=meegotouch-inputmethodkeyboard&amp;amp;product=MeeGo%20Distribution%20Packages&amp;amp;classification=MeeGo%20Platform MeeGo Distribution Packages -&amp;gt; meegotouch-inputmethod] (not in use)&lt;br /&gt;
&lt;br /&gt;
Open bugs under [https://bugs.meego.com/buglist.cgi?classification=MeeGo%20Platform&amp;amp;query_based_on=virtual%20keyboard&amp;amp;query_format=advanced&amp;amp;bug_status=NEW&amp;amp;bug_status=NEEDINFO&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=WAITING%20FOR%20UPSTREAM&amp;amp;bug_status=REOPENED&amp;amp;component=Virtual%20keyboard&amp;amp;product=OS%20Base&amp;amp;known_name=virtual%20keyboard OS Base -&amp;gt; Virtual keyboard] (for Meego 1.0, 1.1 and 1.2)&lt;br /&gt;
&lt;br /&gt;
{{#bugzilla:&lt;br /&gt;
  |columns=id,status,to,severity,version,summary&lt;br /&gt;
  |group=priority&lt;br /&gt;
  |grouporder=asc&lt;br /&gt;
  |component=Virtual keyboard&lt;br /&gt;
  |product=OS Base&lt;br /&gt;
  |status=UNCONFIRMED,NEW,NEEDINFO,ASSIGNED,WAITING FOR UPSTREAM,REOPENED&lt;br /&gt;
  |lastcomment=1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Template:MaliitNavigationBar</id>
		<title>Template:MaliitNavigationBar</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Template:MaliitNavigationBar"/>
				<updated>2011-07-12T17:03:23Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;text-align:center&amp;quot;&lt;br /&gt;
! [[Maliit|Maliit - Input Methods for MeeGo]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Maliit|Overview]] · [[Maliit/Development|Development]] · [[Maliit/Installing|Installing]] · [[Maliit/Roadmap|Roadmap]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Maliit]][[Category:MeeGo Input Methods]]&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Team</id>
		<title>Maliit/Team</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Team"/>
				<updated>2011-07-12T16:53:23Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: Replaced content with &amp;quot;Moved to Maliit&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moved to [[Maliit]]&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit</id>
		<title>Maliit</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit"/>
				<updated>2011-07-12T16:42:26Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: remove non-MeeGo specific content (moved upstream)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
[[File:Maliit2.png|448px|link=]]&lt;br /&gt;
&lt;br /&gt;
Maliit is the input methods solution used in MeeGo. See the [http://www.maliit.org official project website] for more information.&lt;br /&gt;
&lt;br /&gt;
This wiki contains information about Maliit in MeeGo. Information that is not MeeGo specific is found upstream.&lt;br /&gt;
&lt;br /&gt;
== Communication channels ==&lt;br /&gt;
&lt;br /&gt;
'''Mailing list:''' meego-inputmethods@lists.meego.com  ([http://lists.meego.com/listinfo/meego-inputmethods listinfo] | [http://lists.meego.com/pipermail/meego-inputmethods/ archives])&lt;br /&gt;
&lt;br /&gt;
'''Bugtracker:''' bugs.meego.com, Product: OS, Component: Virtual Keyboard ([https://bugs.meego.com/buglist.cgi?classification=MeeGo%20Platform&amp;amp;query_based_on=virtual%20keyboard&amp;amp;query_format=advanced&amp;amp;bug_status=NEW&amp;amp;bug_status=NEEDINFO&amp;amp;bug_status=INDEFINITION&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=ACCEPTED&amp;amp;bug_status=WAITING%20FOR%20UPSTREAM&amp;amp;bug_status=WAITING&amp;amp;bug_status=REOPENED&amp;amp;component=Virtual%20keyboard&amp;amp;product=OS%20Base&amp;amp;known_name=virtual%20keyboard open bugs] | &lt;br /&gt;
[https://bugs.meego.com/enter_bug.cgi?product=OS%20Base&amp;amp;component=Virtual%20keyboard file new bug])&lt;br /&gt;
&lt;br /&gt;
'''IRC:''' Visit us in #meego-inputmethods at freenode.net ([http://webchat.freenode.net/?randomnick=1&amp;amp;channels=meego-inputmethods&amp;amp;uio=d4 webchat])&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Meetings</id>
		<title>Maliit/Meetings</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Meetings"/>
				<updated>2011-07-12T16:18:50Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: add meego input methods category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MeeGo Input Methods IRC meeting, March 29th 2011 ==&lt;br /&gt;
&lt;br /&gt;
=== How can we simplify development and maintenance of input contexts? ===&lt;br /&gt;
&lt;br /&gt;
Participants: Michael Hasselmann (Openismus), Jon Nordby (Openismus), Andy Ross (Windriver), Pekka Vuorela (Nokia), Gary Birkett (Collabora), Robin Burchell (Collabora)&lt;br /&gt;
&lt;br /&gt;
Log: http://lists.meego.com/pipermail/meego-inputmethods/2011-March/000037.html&lt;br /&gt;
&lt;br /&gt;
The outcome of this meeting were the following tasks:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Assignee !! Status !! Details&lt;br /&gt;
|-&lt;br /&gt;
| Alternative for MInputMethodState || [https://bugs.meego.com/show_bug.cgi?id=20076 BMC#20076] || done || We need to provide a fully working alternative for MInputMethodState. And this would also fit with our plans to offer better support for plain Qt, QML, Qt Components (and GTK+ on MeeGo). We can decide to add the less important features (toolbar and keyboard customization) at a later point, for example.&lt;br /&gt;
|-&lt;br /&gt;
| Decide on where to put extended API || [https://bugs.meego.com/show_bug.cgi?id=20076 BMC#20076] || done || No agreement yet on whether it's better to provide needed API through signals/slots in inputcontext or whether it's better to provide a separate library (in MeeGo Input Methods itself). Andy Ross is supposed to kick off the discussion on the public ML (check next week).&lt;br /&gt;
|-&lt;br /&gt;
| Clean up D-Bus API || Maksim Kirillov || done || We clean up the D-Bus API, instead of further abstraction. We will use native D-Bus types instead of (serialized) Qt datatypes.&lt;br /&gt;
|-&lt;br /&gt;
| Check QtDBus status in Qt 4.8 || [https://qt.gitorious.org/qt/qt/merge_requests/2343 MRQ#2343] || done || Check QtDBus situation in 4.8 and switch to Qt's D-Bus interface, if possible. We need working P2P D-Bus.&lt;br /&gt;
|-&lt;br /&gt;
| Provide documentation for D-Bus API || [[Maliit/Documentation#Documentation_working_area|moved here]] || punted || Obvious. Currently no overview of its intent or how it actually works, only documentation on the methods itself.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Maliit]][[Category:MeeGo Input Methods]]&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Template:MaliitNavigationBar</id>
		<title>Template:MaliitNavigationBar</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Template:MaliitNavigationBar"/>
				<updated>2011-07-12T16:14:01Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: update to only have pages with content on them&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;text-align:center&amp;quot;&lt;br /&gt;
! [[Maliit|Maliit - Input Methods for MeeGo]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Maliit|Overview]] · [[Maliit/Development|Development]] · [[Maliit/Installing|Installing]] · [[Maliit/Roadmap|Roadmap]] · [[Maliit/Team|Team]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Maliit]][[Category:MeeGo Input Methods]]&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Meetings</id>
		<title>Maliit/Meetings</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Meetings"/>
				<updated>2011-07-12T16:06:30Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MeeGo Input Methods IRC meeting, March 29th 2011 ==&lt;br /&gt;
&lt;br /&gt;
=== How can we simplify development and maintenance of input contexts? ===&lt;br /&gt;
&lt;br /&gt;
Participants: Michael Hasselmann (Openismus), Jon Nordby (Openismus), Andy Ross (Windriver), Pekka Vuorela (Nokia), Gary Birkett (Collabora), Robin Burchell (Collabora)&lt;br /&gt;
&lt;br /&gt;
Log: http://lists.meego.com/pipermail/meego-inputmethods/2011-March/000037.html&lt;br /&gt;
&lt;br /&gt;
The outcome of this meeting were the following tasks:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Assignee !! Status !! Details&lt;br /&gt;
|-&lt;br /&gt;
| Alternative for MInputMethodState || [https://bugs.meego.com/show_bug.cgi?id=20076 BMC#20076] || done || We need to provide a fully working alternative for MInputMethodState. And this would also fit with our plans to offer better support for plain Qt, QML, Qt Components (and GTK+ on MeeGo). We can decide to add the less important features (toolbar and keyboard customization) at a later point, for example.&lt;br /&gt;
|-&lt;br /&gt;
| Decide on where to put extended API || [https://bugs.meego.com/show_bug.cgi?id=20076 BMC#20076] || done || No agreement yet on whether it's better to provide needed API through signals/slots in inputcontext or whether it's better to provide a separate library (in MeeGo Input Methods itself). Andy Ross is supposed to kick off the discussion on the public ML (check next week).&lt;br /&gt;
|-&lt;br /&gt;
| Clean up D-Bus API || Maksim Kirillov || done || We clean up the D-Bus API, instead of further abstraction. We will use native D-Bus types instead of (serialized) Qt datatypes.&lt;br /&gt;
|-&lt;br /&gt;
| Check QtDBus status in Qt 4.8 || [https://qt.gitorious.org/qt/qt/merge_requests/2343 MRQ#2343] || done || Check QtDBus situation in 4.8 and switch to Qt's D-Bus interface, if possible. We need working P2P D-Bus.&lt;br /&gt;
|-&lt;br /&gt;
| Provide documentation for D-Bus API || [[Maliit/Documentation#Documentation_working_area|moved here]] || punted || Obvious. Currently no overview of its intent or how it actually works, only documentation on the methods itself.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Maliit]]&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Ideas/Supporting_Non_X11_Platforms</id>
		<title>Maliit/Ideas/Supporting Non X11 Platforms</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Ideas/Supporting_Non_X11_Platforms"/>
				<updated>2011-07-12T15:55:52Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: Moved (upstream) to http://wiki.maliit.org/Ideas/Supporting_Non_X11_Platforms&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moved (upstream) to http://wiki.maliit.org/Ideas/Supporting_Non_X11_Platforms&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Installing</id>
		<title>Maliit/Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Installing"/>
				<updated>2011-07-12T15:51:27Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
Meego Input Methods comes preinstalled on:&lt;br /&gt;
* Meego Handset UX 1.1 and later&lt;br /&gt;
* Meego Tablet UX 1.2 and later&lt;br /&gt;
&lt;br /&gt;
=== Meego Netbook UX ===&lt;br /&gt;
&lt;br /&gt;
These steps have been tested on Meego 1.1.&lt;br /&gt;
&lt;br /&gt;
* Enable the 'handset' repository. For example:&lt;br /&gt;
&lt;br /&gt;
 $ sudo zypper addrepo &amp;lt;nowiki&amp;gt;http://repo.meego.com/MeeGo/releases/1.1/handset/repos/ia32/packages/&amp;lt;/nowiki&amp;gt; handset&lt;br /&gt;
 $ sudo zypper refresh&lt;br /&gt;
&lt;br /&gt;
* Install these packages:&lt;br /&gt;
** meegotouch-inputmethodbridges&lt;br /&gt;
** meegotouch-inputmethodkeyboard&lt;br /&gt;
 &lt;br /&gt;
 sudo zypper install meegotouch-inputmethodkeyboard meegotouch-inputmethodbridges &lt;br /&gt;
&lt;br /&gt;
* Modify &amp;lt;code&amp;gt;/etc/xdg/autostart/meego-im-uiserver.desktop&amp;lt;/code&amp;gt; to look like this:&lt;br /&gt;
&lt;br /&gt;
 [Desktop Entry]&lt;br /&gt;
 Exec=/usr/bin/meego-im-uiserver -target slate -bypass-wm-hint&lt;br /&gt;
 X-Moblin-Priority=High&lt;br /&gt;
 OnlyShowIn=X-MEEGO-HS;X-MEEGO-NB&lt;br /&gt;
&lt;br /&gt;
This will work with 1024x600 resolution. Replace 'slate' with other code if you have different resolution. See /etc/meegotouch/devices.conf for different codes.&lt;br /&gt;
&lt;br /&gt;
* Add this line to ~/.bashrc (any better place in X configs? /etc/X11/xinitrc-common failed for me) to activate the inputmethod plugin for Qt-based programs:&lt;br /&gt;
 export QT_IM_MODULE=MInputContext&lt;br /&gt;
&lt;br /&gt;
* Relogin (or reboot) to desktop&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Ideas</id>
		<title>Maliit/Ideas</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Ideas"/>
				<updated>2011-07-12T15:47:45Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: Moved (upstream) to http://wiki.maliit.org/Ideas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moved (upstream) to http://wiki.maliit.org/Ideas&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Roadmap</id>
		<title>Maliit/Roadmap</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Roadmap"/>
				<updated>2011-07-12T15:44:28Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: remove non-Meego specific content (moved upstream)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
== MeeGo 1.3 ==&lt;br /&gt;
Development in in progress.&lt;br /&gt;
&lt;br /&gt;
MeeGo 1.3 will have Maliit 1.0 (see [http://wiki.maliit.org/Roadmap upstream roadmap]).&lt;br /&gt;
&lt;br /&gt;
* New maliit-* package-names (DONE)&lt;br /&gt;
* Settings applet for meego-ux-settings&lt;br /&gt;
* Better integration with standard applications&lt;br /&gt;
&lt;br /&gt;
== MeeGo 1.2 ==&lt;br /&gt;
All items in this section are DONE.&lt;br /&gt;
&lt;br /&gt;
=== Framework ===&lt;br /&gt;
* private D-Bus connection&lt;br /&gt;
* new information exposures:&lt;br /&gt;
** anchor position&lt;br /&gt;
** cursor position&lt;br /&gt;
* libmeegotouch removal&lt;br /&gt;
* self-compositing&lt;br /&gt;
* self-rotation animation&lt;br /&gt;
&lt;br /&gt;
=== Engine framework ===&lt;br /&gt;
* New interface: Handwriting recognition&lt;br /&gt;
* New functionality: Dynamic virtual keyboard layout&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Team</id>
		<title>Maliit/Team</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Team"/>
				<updated>2011-07-12T15:42:06Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: removed non-Meego specific content (moved upstream)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
Most of the team works on Maliit upstream. See http://wiki.maliit.org/Team&lt;br /&gt;
&lt;br /&gt;
== MeeGo Integration Team ==&lt;br /&gt;
* Luis Araujo (lead)&lt;br /&gt;
* Rakesh Cherian (Test Developer, Bug Triager)&lt;br /&gt;
* [http://meego.com/users/jonnor Jon Nordby] (Developer)&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Features</id>
		<title>Maliit/Features</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Features"/>
				<updated>2011-07-12T15:40:40Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: Moved upstream to http://wiki.maliit.org/Features&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moved upstream to http://wiki.maliit.org/Features&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Documentation</id>
		<title>Maliit/Documentation</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Documentation"/>
				<updated>2011-07-12T15:34:25Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: Moved (upstream) to http://wiki.maliit.org/Documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moved (upstream) to http://wiki.maliit.org/Documentation&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Development</id>
		<title>Maliit/Development</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Development"/>
				<updated>2011-07-12T15:31:06Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: remove all non-meego specific content (moved upstream)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
Most development of Maliit happens [http://maliit.org upstream]. This page contains development information specific Maliit to MeeGo.&lt;br /&gt;
&lt;br /&gt;
== Repositories ==&lt;br /&gt;
For MeeGo 1.2, the following branches are used:&lt;br /&gt;
* https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/commits/meego-1.2&lt;br /&gt;
* https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/commits/meego-1.2&lt;br /&gt;
&lt;br /&gt;
== Meego packaging ==&lt;br /&gt;
* [http://build.meego.com/project/show?project=devel%3Ainput-methods devel:input-methods on MeeGo OBS]&lt;br /&gt;
* [http://build.meego.com/project/monitor?commit=Filter%3A&amp;amp;succeeded=1&amp;amp;failed=1&amp;amp;unresolvable=1&amp;amp;broken=1&amp;amp;blocked=1&amp;amp;dispatching=1&amp;amp;scheduled=1&amp;amp;building=1&amp;amp;finished=1&amp;amp;signing=1&amp;amp;pkgname=maliit&amp;amp;repo_standard=1&amp;amp;repo_weekly=1&amp;amp;arch_armv8el=1&amp;amp;arch_i586=1&amp;amp;project=Trunk&amp;amp;defaults=0 Status in Trunk]&lt;br /&gt;
* [http://build.meego.com/project/monitor?commit=Filter%3A&amp;amp;succeeded=1&amp;amp;failed=1&amp;amp;unresolvable=1&amp;amp;broken=1&amp;amp;blocked=1&amp;amp;dispatching=1&amp;amp;scheduled=1&amp;amp;building=1&amp;amp;finished=1&amp;amp;signing=1&amp;amp;pkgname=inputmethod&amp;amp;repo_standard=1&amp;amp;arch_armv8el=1&amp;amp;arch_i586=1&amp;amp;project=MeeGo%3A1.2%3Aoss&amp;amp;defaults=0 Status in 1.2]&lt;br /&gt;
* [http://build.meego.com/project/monitor?commit=Filter%3A&amp;amp;succeeded=1&amp;amp;failed=1&amp;amp;unresolvable=1&amp;amp;broken=1&amp;amp;blocked=1&amp;amp;dispatching=1&amp;amp;scheduled=1&amp;amp;building=1&amp;amp;finished=1&amp;amp;signing=1&amp;amp;pkgname=inputmethod&amp;amp;repo_standard=1&amp;amp;arch_armv7el=1&amp;amp;arch_i586=1&amp;amp;lastbuild=1&amp;amp;project=MeeGo%3A1.1%3ACore&amp;amp;defaults=0 Status in 1.1]&lt;br /&gt;
&lt;br /&gt;
== QA Reports ==&lt;br /&gt;
Latest inputmethod packages QA reports using recent Meego images can be found at the [http://qa-reports.meego.com/1.2/Handset/Basic%20Feature%20Testing/N900 QA Basic Feature Testing] section of [http://qa-reports.meego.com http://qa-reports.meego.com].&lt;br /&gt;
&lt;br /&gt;
== Open bug reports ==&lt;br /&gt;
{{#bugzilla:&lt;br /&gt;
  |columns=id,status,to,severity,version,summary&lt;br /&gt;
  |group=priority&lt;br /&gt;
  |grouporder=asc&lt;br /&gt;
  |component=Virtual keyboard&lt;br /&gt;
  |product=OS Base&lt;br /&gt;
  |status=UNCONFIRMED,NEW,NEEDINFO,ASSIGNED,WAITING FOR UPSTREAM,REOPENED&lt;br /&gt;
  |lastcomment=1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Making_a_Release</id>
		<title>Maliit/Making a Release</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Making_a_Release"/>
				<updated>2011-07-12T15:22:55Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: moved upstream&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moved to http://wiki.maliit.org/Development/Making_Releases&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Writing_Release_Notes</id>
		<title>Maliit/Writing Release Notes</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Writing_Release_Notes"/>
				<updated>2011-07-12T15:22:41Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: moved upstream&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moved to http://wiki.maliit.org/Development/Making_Releases&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit</id>
		<title>Maliit</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit"/>
				<updated>2011-07-06T10:07:17Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* Maliit in action */ SEO&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
[[File:Maliit2.png|448px|link=]]&lt;br /&gt;
&lt;br /&gt;
Maliit provides a flexible and cross-platform input method framework, including a virtual keyboard. It works on all MeeGo user experiences, and in other GNU/Linux distributions.&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
Maliit aims to be ''the'' input method project for MeeGo and other GNU/Linux-based embedded/mobile platforms. To achieve this we should provide:&lt;br /&gt;
&lt;br /&gt;
'''A solid input method framework'''&lt;br /&gt;
&lt;br /&gt;
This includes support for traditional input methods such as hardware and virtual keyboards. More exotic input methods should also be possible, such as handwriting recognition and voice input, and special purpose input methods such as date/time pickers, tag clouds, etc.&lt;br /&gt;
&lt;br /&gt;
'''A core set of input methods'''&lt;br /&gt;
&lt;br /&gt;
The default set of input methods should demonstrate the core capabilities of the framework and provide a good user experience that device manufacturers and integrators can use easily.&lt;br /&gt;
&lt;br /&gt;
We also aim to:&lt;br /&gt;
&lt;br /&gt;
'''Empower third-party developers'''&lt;br /&gt;
&lt;br /&gt;
Customizing existing input methods or developing powerful new input methods should be simple, regardless of whether it is for profit, research or fun.&lt;br /&gt;
&lt;br /&gt;
'''Build a diverse community of contributors'''&lt;br /&gt;
&lt;br /&gt;
Employees from different companies, freelancers, members of academia, hackers and volunteers should all be welcomed and encouraged to contribute to the project.&lt;br /&gt;
&lt;br /&gt;
== Communication channels ==&lt;br /&gt;
&lt;br /&gt;
'''Mailing list:''' meego-inputmethods@lists.meego.com  ([http://lists.meego.com/listinfo/meego-inputmethods listinfo] | [http://lists.meego.com/pipermail/meego-inputmethods/ archives])&lt;br /&gt;
&lt;br /&gt;
'''Bugtracker:''' bugs.meego.com, Product: OS, Component: Virtual Keyboard ([https://bugs.meego.com/buglist.cgi?classification=MeeGo%20Platform&amp;amp;query_based_on=virtual%20keyboard&amp;amp;query_format=advanced&amp;amp;bug_status=NEW&amp;amp;bug_status=NEEDINFO&amp;amp;bug_status=INDEFINITION&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=ACCEPTED&amp;amp;bug_status=WAITING%20FOR%20UPSTREAM&amp;amp;bug_status=WAITING&amp;amp;bug_status=REOPENED&amp;amp;component=Virtual%20keyboard&amp;amp;product=OS%20Base&amp;amp;known_name=virtual%20keyboard open bugs] | &lt;br /&gt;
[https://bugs.meego.com/enter_bug.cgi?product=OS%20Base&amp;amp;component=Virtual%20keyboard file new bug])&lt;br /&gt;
&lt;br /&gt;
'''IRC:''' Visit us in #meego-inputmethods at freenode.net ([http://webchat.freenode.net/?randomnick=1&amp;amp;channels=meego-inputmethods&amp;amp;uio=d4 webchat])&lt;br /&gt;
&lt;br /&gt;
== Social Media ==&lt;br /&gt;
&lt;br /&gt;
'''Facebook: ''' [http://www.facebook.com/home.php?sk=group_127020324047804 Maliit group]&lt;br /&gt;
&lt;br /&gt;
'''Twitter/Identica: ''' Use the #maliit hashtag&lt;br /&gt;
&lt;br /&gt;
== Upcoming events ==&lt;br /&gt;
* August 6th-12th - Desktop Summit Berlin. Workshops &amp;amp; BoFs planned&lt;br /&gt;
&lt;br /&gt;
== News ==&lt;br /&gt;
* 24.06.2011 - MeeGo Freeday presentation/workshop in Berlin. [http://meetmeego.org/2011/06/15/meego-freeday-24-06-2011/ Announcement] (in german), [[Media:Maliit-input-methods-for-meego.pdf|Slides]], [http://www.youtube.com/watch?v=kmR0J699oGA Video]&lt;br /&gt;
* 21.06.2011 - Nokia's N9 announced, with input methods powered by Maliit [http://www.youtube.com/watch?v=JOI5g129rtM Video]&lt;br /&gt;
* 20.06.2011 - First release (Maliit 0.80) as an independent project. [http://lists.meego.com/pipermail/meego-dev/2011-June/483526.html Announcement]&lt;br /&gt;
* 17.06.2011 - Session at Qt Collaborator Summit 2011. [http://developer.qt.nokia.com/groups/qt_contributors_summit/wiki/Input_methods_and_Wayland_in_Qt_5 Session summary]&lt;br /&gt;
* 24.05.2011 - Session at MeeGo Spring Conference 2011. [http://sf2011.meego.com/program/sessions/developing-custom-input-methods-meego Info, Recording]&lt;br /&gt;
* 08.04.2011 - MeeGo Keyboard is relicensed with BSD license: [http://lists.meego.com/pipermail/meego-dev/2011-April/482578.html Announcement]&lt;br /&gt;
* 29.03.2011 - Held first offical IRC meeting: [[Maliit/Meetings|How can we simplify development and maintenance of input contexts?]]&lt;br /&gt;
* 04.03.2011 - API/ABI break in 0.20.0: [http://lists.meego.com/pipermail/meego-dev/2011-March/481869.html meego-im-framework is removing dependency to libmeegotouch from its API]&lt;br /&gt;
* 23.02.2011 - Packages available for Ubuntu Lucid/Maverick to ease development. [http://taschenorakel.de/michael/2011/02/24/meego-input-methods-your-desktop/ Blogpost], [[#Packages for Ubuntu .2810.04 Lucid Lynx .2F 10.10 Maveric Meerkat.29|documentation]]&lt;br /&gt;
* 17.02.2011 - Claudio Saavedra started on MeeGo+Gtk integration work, focusing on input methods. [http://people.gnome.org/~csaavedra/news-2011-02.html#D10 Blogpost]&lt;br /&gt;
* 13.02.2011 - MeeGo Tablet UX demoed at Mobile World Conference, with Swype keyboard. [http://www.engadget.com/photos/new-meego-tablet-user-experience-hands-on-at-mwc-2011/#3877322 Pictures]&lt;br /&gt;
* 01.02.2011 - API/ABI break in 0.19.41: [http://lists.meego.com/pipermail/meego-dev/2011-February/481353.html meegoimframework interfaces related to orientation change will be changed]&lt;br /&gt;
* 15.11.2010 - Architect and Lead Developer of Maliit give talk at MeeGo Conference. [http://conference2010.meego.com/session/meego-touch-input-method-frameworks Info, Recording]&lt;br /&gt;
* 15.11.2010 - Linpus shows off MeeGo based slate at MeeGo Conference, with keyboard based on Maliit. &lt;br /&gt;
* 30.06.2010 - MeeGo Handset UX Day 1 release, first public release of MeeGo Input Methods. [http://meego.com/community/blogs/valhalla/2010/meego-handset-project-day-1-here Announcement]&lt;br /&gt;
&lt;br /&gt;
== Maliit in action ==&lt;br /&gt;
&lt;br /&gt;
Maliit is used on a number of devices and form factors, and can easily be adapted to run on new ones. Here are some screenshots, pictures and videos.&lt;br /&gt;
&lt;br /&gt;
* [http://www.linpus.com/products_meego_slate.html Linpus Slate] ([http://www.linpus.com/images/slate/kb.png screenshot showing Linpus virtual keyboard])&lt;br /&gt;
* [http://appdeveloper.intel.com/en-us/meego-iso-esla Intel MeeGo Tablet] ([http://www.engadget.com/photos/new-meego-tablet-user-experience-hands-on-at-mwc-2011/#3877322 pictures showing Swype keyboard])&lt;br /&gt;
* [http://www.youtube.com/watch?v=l_7f3Lxd4_I GNOME3 on a WeTab (video)]&lt;br /&gt;
* [http://www.youtube.com/watch?v=JOI5g129rtM N9 and Swype integration (video)]&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;250px&amp;quot; heights=&amp;quot;250px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:Lenovo_meego_vkb.jpg| [[Maliit/MeeGo 1.1#Netbook|MeeGo 1.1 Netbook]] with MeeGo Keyboard on Lenovo S10-3T Ideapad&lt;br /&gt;
Image:Meego1.1_handset_on_aava.jpg| [http://meego.com/downloads/releases/1.1/meego-v1.1-handset MeeGo 1.1 Handset] with MeeGo Keyboard on Aava Mobile&lt;br /&gt;
Image:tegra-vkb2.jpg| MeeGo 1.2 prerelease on [[ARM/TEGRA2|Advent Vega, Tegra2]]&lt;br /&gt;
Image:Maliit-on-lucid.png | Ubuntu Lucid (10.04)&lt;br /&gt;
Image:Maliit-in-GNOME3.jpg | GNOME3 on a WeTab&lt;br /&gt;
Image:Maliit-on-KDE-Plasma.jpg | KDE, using Plasma&lt;br /&gt;
Image:Maliit-meego-ce-n900-landscape.jpg | MeeGo N900CE (landscape)&lt;br /&gt;
Image:Maliit-meego-ce-n900-portrait.jpg | MeeGo N900CE (portrait)&lt;br /&gt;
Image:Maliit_Nokia_N9.jpg | Nokia N9&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Documentation/Examples</id>
		<title>Maliit/Documentation/Examples</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Documentation/Examples"/>
				<updated>2011-07-05T12:28:52Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: Created page with &amp;quot;Currently these items are all TODO.  = Guidelines for examples =  All examples should show a single aspect of Maliit, and be self contained. The best way is to make the examples ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Currently these items are all TODO.&lt;br /&gt;
&lt;br /&gt;
= Guidelines for examples =&lt;br /&gt;
&lt;br /&gt;
All examples should show a single aspect of Maliit, and be self contained.&lt;br /&gt;
The best way is to make the examples standalone.&lt;br /&gt;
An additional overview/demo application can be used to launch these standalone examples.&lt;br /&gt;
(similar to what GTK+ does)&lt;br /&gt;
&lt;br /&gt;
Examples must be built as part of the standard build. Whenever possible&lt;br /&gt;
they should also have a sanity test that is a part of the ordinary test suite.&lt;br /&gt;
The existing examples in maliit-framework examples/ do this, and can be used as a base.&lt;br /&gt;
&lt;br /&gt;
Examples should be installed as part of a normal install, both the binaries&lt;br /&gt;
and the source code. We do currently not have a ready solution for this, but it &lt;br /&gt;
could be done by adding similar logic as the maliit-plugin-sdk-dist.sh script&lt;br /&gt;
to the build system.&lt;br /&gt;
&lt;br /&gt;
Check if we can use stuff from LMT widgetsgallery.&lt;br /&gt;
&lt;br /&gt;
= Examples and testing =&lt;br /&gt;
Our UI tests currently have a number of test applications. For the simplest one&lt;br /&gt;
the tests should be able to use the examples we provide here instead of custom&lt;br /&gt;
ones. This reduces duplication and means our examples are tested.&lt;br /&gt;
&lt;br /&gt;
Idea: Have applications with different toolkits and test all of them with our UI tests.&lt;br /&gt;
&lt;br /&gt;
= Wanted examples =&lt;br /&gt;
&lt;br /&gt;
== Plugin development examples ==&lt;br /&gt;
* Integrating a correction engine&lt;br /&gt;
* Attribute extensions - shown a couple of keys and allows to customize them&lt;br /&gt;
* Cycle-keys - Can be used to explain difference between preedit and commit&lt;br /&gt;
* How to handle rotation&lt;br /&gt;
&lt;br /&gt;
== Application / Application Framework examples ==&lt;br /&gt;
Should be plain Qt and/or QML. Would use the new libmaliit library&lt;br /&gt;
	&lt;br /&gt;
* Attribute extensions - goes together with the plugin example&lt;br /&gt;
* Rotation - how to notify the IM framework about rotation changes&lt;br /&gt;
* Input Widget relocation&lt;br /&gt;
* Input Method hints&lt;br /&gt;
&lt;br /&gt;
== Engine plugin development ==&lt;br /&gt;
* Handwriting&lt;br /&gt;
* Words&lt;br /&gt;
&lt;br /&gt;
== Reference plugins ==&lt;br /&gt;
* Layouts&lt;br /&gt;
* Theming	&lt;br /&gt;
* Adding an engine&lt;br /&gt;
&lt;br /&gt;
== Feedback ==&lt;br /&gt;
* How to use reactionmaps&lt;br /&gt;
* How to use feedback FW api&lt;br /&gt;
* How to write a feedback backend&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* Settings&lt;br /&gt;
* Hardware keyboard presence notification&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit</id>
		<title>Maliit</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit"/>
				<updated>2011-06-30T07:06:43Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* Communication channels */ add social media&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
[[File:Maliit2.png|448px|link=]]&lt;br /&gt;
&lt;br /&gt;
Maliit provides a flexible and cross-platform input method framework, including a virtual keyboard. It works on all MeeGo user experiences, and in other GNU/Linux distributions.&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
Maliit aims to be ''the'' input method project for MeeGo and other GNU/Linux-based embedded/mobile platforms. To achieve this we should provide:&lt;br /&gt;
&lt;br /&gt;
'''A solid input method framework'''&lt;br /&gt;
&lt;br /&gt;
This includes support for traditional input methods such as hardware and virtual keyboards. More exotic input methods should also be possible, such as handwriting recognition and voice input, and special purpose input methods such as date/time pickers, tag clouds, etc.&lt;br /&gt;
&lt;br /&gt;
'''A core set of input methods'''&lt;br /&gt;
&lt;br /&gt;
The default set of input methods should demonstrate the core capabilities of the framework and provide a good user experience that device manufacturers and integrators can use easily.&lt;br /&gt;
&lt;br /&gt;
We also aim to:&lt;br /&gt;
&lt;br /&gt;
'''Empower third-party developers'''&lt;br /&gt;
&lt;br /&gt;
Customizing existing input methods or developing powerful new input methods should be simple, regardless of whether it is for profit, research or fun.&lt;br /&gt;
&lt;br /&gt;
'''Build a diverse community of contributors'''&lt;br /&gt;
&lt;br /&gt;
Employees from different companies, freelancers, members of academia, hackers and volunteers should all be welcomed and encouraged to contribute to the project.&lt;br /&gt;
&lt;br /&gt;
== Communication channels ==&lt;br /&gt;
&lt;br /&gt;
'''Mailing list:''' meego-inputmethods@lists.meego.com  ([http://lists.meego.com/listinfo/meego-inputmethods listinfo] | [http://lists.meego.com/pipermail/meego-inputmethods/ archives])&lt;br /&gt;
&lt;br /&gt;
'''Bugtracker:''' bugs.meego.com, Product: OS, Component: Virtual Keyboard ([https://bugs.meego.com/buglist.cgi?classification=MeeGo%20Platform&amp;amp;query_based_on=virtual%20keyboard&amp;amp;query_format=advanced&amp;amp;bug_status=NEW&amp;amp;bug_status=NEEDINFO&amp;amp;bug_status=INDEFINITION&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=ACCEPTED&amp;amp;bug_status=WAITING%20FOR%20UPSTREAM&amp;amp;bug_status=WAITING&amp;amp;bug_status=REOPENED&amp;amp;component=Virtual%20keyboard&amp;amp;product=OS%20Base&amp;amp;known_name=virtual%20keyboard open bugs] | &lt;br /&gt;
[https://bugs.meego.com/enter_bug.cgi?product=OS%20Base&amp;amp;component=Virtual%20keyboard file new bug])&lt;br /&gt;
&lt;br /&gt;
'''IRC:''' Visit us in #meego-inputmethods at freenode.net ([http://webchat.freenode.net/?randomnick=1&amp;amp;channels=meego-inputmethods&amp;amp;uio=d4 webchat])&lt;br /&gt;
&lt;br /&gt;
== Social Media ==&lt;br /&gt;
&lt;br /&gt;
'''Facebook: ''' [http://www.facebook.com/home.php?sk=group_127020324047804 Maliit group]&lt;br /&gt;
&lt;br /&gt;
'''Twitter/Identica: ''' Use the #maliit hashtag&lt;br /&gt;
&lt;br /&gt;
== Upcoming events ==&lt;br /&gt;
* August 6th-12th - Desktop Summit Berlin. Workshops &amp;amp; BoFs planned&lt;br /&gt;
&lt;br /&gt;
== News ==&lt;br /&gt;
* 24.06.2011 - MeeGo Freeday presentation/workshop in Berlin. [http://meetmeego.org/2011/06/15/meego-freeday-24-06-2011/ Announcement] (in german), [[Media:Maliit-input-methods-for-meego.pdf|Slides]], [http://www.youtube.com/watch?v=kmR0J699oGA Video]&lt;br /&gt;
* 21.06.2011 - Nokia's N9 announced, with input methods powered by Maliit [http://www.youtube.com/watch?v=JOI5g129rtM Video]&lt;br /&gt;
* 20.06.2011 - First release (Maliit 0.80) as an independent project. [http://lists.meego.com/pipermail/meego-dev/2011-June/483526.html Announcement]&lt;br /&gt;
* 17.06.2011 - Session at Qt Collaborator Summit 2011. [http://developer.qt.nokia.com/groups/qt_contributors_summit/wiki/Input_methods_and_Wayland_in_Qt_5 Session summary]&lt;br /&gt;
* 24.05.2011 - Session at MeeGo Spring Conference 2011. [http://sf2011.meego.com/program/sessions/developing-custom-input-methods-meego Info, Recording]&lt;br /&gt;
* 08.04.2011 - MeeGo Keyboard is relicensed with BSD license: [http://lists.meego.com/pipermail/meego-dev/2011-April/482578.html Announcement]&lt;br /&gt;
* 29.03.2011 - Held first offical IRC meeting: [[Maliit/Meetings|How can we simplify development and maintenance of input contexts?]]&lt;br /&gt;
* 04.03.2011 - API/ABI break in 0.20.0: [http://lists.meego.com/pipermail/meego-dev/2011-March/481869.html meego-im-framework is removing dependency to libmeegotouch from its API]&lt;br /&gt;
* 23.02.2011 - Packages available for Ubuntu Lucid/Maverick to ease development. [http://taschenorakel.de/michael/2011/02/24/meego-input-methods-your-desktop/ Blogpost], [[#Packages for Ubuntu .2810.04 Lucid Lynx .2F 10.10 Maveric Meerkat.29|documentation]]&lt;br /&gt;
* 17.02.2011 - Claudio Saavedra started on MeeGo+Gtk integration work, focusing on input methods. [http://people.gnome.org/~csaavedra/news-2011-02.html#D10 Blogpost]&lt;br /&gt;
* 13.02.2011 - MeeGo Tablet UX demoed at Mobile World Conference, with Swype keyboard. [http://www.engadget.com/photos/new-meego-tablet-user-experience-hands-on-at-mwc-2011/#3877322 Pictures]&lt;br /&gt;
* 01.02.2011 - API/ABI break in 0.19.41: [http://lists.meego.com/pipermail/meego-dev/2011-February/481353.html meegoimframework interfaces related to orientation change will be changed]&lt;br /&gt;
* 15.11.2010 - Architect and Lead Developer of Maliit give talk at MeeGo Conference. [http://conference2010.meego.com/session/meego-touch-input-method-frameworks Info, Recording]&lt;br /&gt;
* 15.11.2010 - Linpus shows off MeeGo based slate at MeeGo Conference, with keyboard based on Maliit. &lt;br /&gt;
* 30.06.2010 - MeeGo Handset UX Day 1 release, first public release of MeeGo Input Methods. [http://meego.com/community/blogs/valhalla/2010/meego-handset-project-day-1-here Announcement]&lt;br /&gt;
&lt;br /&gt;
== Maliit in action ==&lt;br /&gt;
&lt;br /&gt;
Maliit is used on a number of devices and form factors, and can easily be adapted to run on new ones.&lt;br /&gt;
&lt;br /&gt;
* [http://www.linpus.com/products_meego_slate.html Linpus Slate] ([http://www.linpus.com/images/slate/kb.png screenshot showing Linpus virtual keyboard])&lt;br /&gt;
* [http://appdeveloper.intel.com/en-us/meego-iso-esla Intel MeeGo Tablet] ([http://www.engadget.com/photos/new-meego-tablet-user-experience-hands-on-at-mwc-2011/#3877322 pictures showing Swype keyboard])&lt;br /&gt;
* [http://www.youtube.com/watch?v=l_7f3Lxd4_I GNOME3 on a WeTab (video)]&lt;br /&gt;
* [http://www.youtube.com/watch?v=JOI5g129rtM N9 and Swype integration (video)]&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;250px&amp;quot; heights=&amp;quot;250px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:Lenovo_meego_vkb.jpg| [[Maliit/MeeGo 1.1#Netbook|MeeGo 1.1 Netbook]] with MeeGo Keyboard on Lenovo S10-3T Ideapad&lt;br /&gt;
Image:Meego1.1_handset_on_aava.jpg| [http://meego.com/downloads/releases/1.1/meego-v1.1-handset MeeGo 1.1 Handset] with MeeGo Keyboard on Aava Mobile&lt;br /&gt;
Image:tegra-vkb2.jpg| MeeGo 1.2 prerelease on [[ARM/TEGRA2|Advent Vega, Tegra2]]&lt;br /&gt;
Image:Maliit-on-lucid.png | Ubuntu Lucid (10.04)&lt;br /&gt;
Image:Maliit-in-GNOME3.jpg | GNOME3 on a WeTab&lt;br /&gt;
Image:Maliit-on-KDE-Plasma.jpg | KDE, using Plasma&lt;br /&gt;
Image:Maliit-meego-ce-n900-landscape.jpg | MeeGo N900CE (landscape)&lt;br /&gt;
Image:Maliit-meego-ce-n900-portrait.jpg | MeeGo N900CE (portrait)&lt;br /&gt;
Image:Maliit_Nokia_N9.jpg | Nokia N9&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Documentation</id>
		<title>Maliit/Documentation</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Documentation"/>
				<updated>2011-06-29T13:16:46Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* Important cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Maliit]][[Category:MeeGo Input Methods]]&lt;br /&gt;
{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
Frequently asked questions.&lt;br /&gt;
&lt;br /&gt;
'''1. How to write my own input method?'''&amp;lt;br&amp;gt;&lt;br /&gt;
The recommended way to get started is to use the Maliit Plugin SDK and follow the [[Maliit/Documentation#Plugin_development_Quickstart|quickstart documentation]].&lt;br /&gt;
&lt;br /&gt;
For developing an input method plugin, the primary interface is Qt and C++. The most relevant classes are: [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/blobs/master/src/minputmethodplugin.h MInputMethodPlugin],&lt;br /&gt;
[https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/blobs/master/src/mabstractinputmethod.h MAbstractInputMethod] and [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/blobs/master/src/mabstractinputmethodhost.h MAbstractInputMethodHost].&lt;br /&gt;
&lt;br /&gt;
Since version 0.20.9-1 of the framework (May 2011), the MInputMethodQuick API allows one to also easily write input&lt;br /&gt;
methods using QML. See the [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/trees/master/meego-keyboard-quick MeegoKeyboardQuick code] for an example. &lt;br /&gt;
As of May 2011 this interface is not yet feature complete with the C++ one. Contributions welcomed.&lt;br /&gt;
&lt;br /&gt;
=== Unanswered questions ===&lt;br /&gt;
Please add any questions you may have here.&lt;br /&gt;
&lt;br /&gt;
* Does Maliit work with non-compositing Window Managers?&lt;br /&gt;
* Which window managers are currently supported?&lt;br /&gt;
&lt;br /&gt;
== Plugin Development Quickstart ==&lt;br /&gt;
How to get started developing plugins. This documentation is mainly for framework version 0.20.11-1 and newer. The C++ plugin API is compatible with all 0.20.x versions, and the QML interface is available from 0.20.9-1. Meego 1.2 has version 0.20.6. To develop there, one can install packages from Trunk/1.3.&lt;br /&gt;
&lt;br /&gt;
Note that this is not intended to be 100% copy'n'paste step-by-step instructions. You may need to use common sense. &lt;br /&gt;
&lt;br /&gt;
* [[Maliit/Installing|Install Maliit]] for your development environment&lt;br /&gt;
* [http://www.jonnor.com/files/maliit/maliit-plugin-sdk-0.1.0.tar.gz Download] the Maliit Plugin SDK&lt;br /&gt;
* Extract the examples&lt;br /&gt;
 # In your favorite terminal:&lt;br /&gt;
 tar -xf maliit-plugin-sdk-*.tar.gz&lt;br /&gt;
 cd maliit-plugin-sdk/examples/&lt;br /&gt;
* Compile them&lt;br /&gt;
 qmake&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
* Have a look around. In the examples directory you will find a QML based plugin and a C++ based plugin.&lt;br /&gt;
 # QML plugin code&lt;br /&gt;
 ls plugins/quick/&lt;br /&gt;
 # C++ plugin code&lt;br /&gt;
 ls plugins/standard&lt;br /&gt;
* Try out one of the examples&lt;br /&gt;
 # First enable both of the example input methods, along with the meego keyboard&lt;br /&gt;
 gconftool-2 -s /meegotouch/inputmethods/onscreen/enabled -t list --list-type strings \&lt;br /&gt;
 [libmeego-keyboard.so,en_gb.xml,libmeego-keyboard-quick.so,,libhelloworldplugin.so,,libexampleplugin.so,ExamplePluginSubview1]&lt;br /&gt;
 # To activate the QML example&lt;br /&gt;
 gconftool-2 -s /meegotouch/inputmethods/onscreen/active -t list --list-type string [libhelloworldplugin.so,]&lt;br /&gt;
 # To instead activate the C++ example&lt;br /&gt;
 gconftool-2 -s /meegotouch/inputmethods/onscreen/active -t list --list-type string [libexampleplugin.so,ExamplePluginSubview1]&lt;br /&gt;
 &lt;br /&gt;
 # To test, start the Maliit server and a application with a Maliit inputcontext loaded&lt;br /&gt;
 # Note: More documentation on this can be found on the Installing page&lt;br /&gt;
 meego-im-uiserver &amp;gt; server.log &amp;amp;&lt;br /&gt;
 QT_IM_MODULE=MInputContext apps/plainqt/plainqt&lt;br /&gt;
 &lt;br /&gt;
 # Tap/double tap on a text field to activate the input method&lt;br /&gt;
 # You should now be able to see an input method which allows you to click to input &amp;quot;Hello World&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Try changing the plugin code a bit, and reinstall and restart the Maliit server to try again. &lt;br /&gt;
 # Do changes (start simple, maybe by changing the &amp;quot;Hello World&amp;quot; string to something else)&lt;br /&gt;
 &lt;br /&gt;
 # Rebuild and reinstall plugins&lt;br /&gt;
 make &amp;amp;&amp;amp; make install&lt;br /&gt;
 # Remember to restart the Maliit server for it to pick up the changed plugin&lt;br /&gt;
&lt;br /&gt;
If you have any issues, first try to solve the problem by reading the instructions again, and maybe other documentation. If you cannot solve it, ask for help through one of our communication channels. &lt;br /&gt;
&lt;br /&gt;
There are also several open source input plugins that one look at. See for instance&lt;br /&gt;
* [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/trees/master/m-keyboard Meego Keyboard]&lt;br /&gt;
* [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/trees/master/meego-keyboard-quick Meego Keyboard Quick]&lt;br /&gt;
* [https://github.com/foolegg/cute-input-method/tree/n9 cute-input-method]&lt;br /&gt;
&lt;br /&gt;
== Feature documentation ==&lt;br /&gt;
See [[Maliit#Features]]&lt;br /&gt;
&lt;br /&gt;
== API documentation ==&lt;br /&gt;
* [http://apidocs.meego.com/1.1/platform/html/meego-im-framework/main.html Old MeeGo 1.1 Input method engine and framework] - note that there has been changes in API since then&lt;br /&gt;
* Documentation webpage for the latest git version and Meego version has been requested. See [https://bugs.meego.com/show_bug.cgi?id=14382 bug 14382] and [https://bugs.meego.com/show_bug.cgi?id=14994 bug 14994]&lt;br /&gt;
* Generate from source code with doxygen.&lt;br /&gt;
&lt;br /&gt;
Some of the documentation is slighly outdated, and we are working to improve this. Use our [[Maliit#Communication_Channels|communication channels]] if there are any issues.&lt;br /&gt;
&lt;br /&gt;
== Technical documentation ==&lt;br /&gt;
* [[Media:Technical-overview-widget-reloc.pdf|Widget relocation in MTF]]&lt;br /&gt;
* More to come!&lt;br /&gt;
&lt;br /&gt;
== Blogposts et.c. ==&lt;br /&gt;
(most recent first)&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/06/20/brave-new-world/ Brave New World]&lt;br /&gt;
* Michael Hasselmannn: [http://taschenorakel.de/michael/2011/06/10/decent-examples-last/ Decent examples, at last!]&lt;br /&gt;
* Jon Nordby: [http://www.jonnor.com/2011/06/example-plugins-for-maliit-available/ Example plugins for Maliit]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/06/07/maliit-session-meego-spring-conference-2011/ Maliit Session at MeeGo Spring Conference 2011]&lt;br /&gt;
* Jan Arne Petersen: [http://blog.jpetersen.org/2011/05/29/maliit-packages-for-fedora/ Maliit packages for Fedora]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/05/12/writing-qml-based-input-methods-maliit/ Writing QML-based input methods for Maliit]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/05/10/painting-strategy-meegos-virtual-keyboard/ Painting Strategy in MeeGo's Virtual Keyboard]&lt;br /&gt;
* Jon Nordby: [http://www.jonnor.com/2011/04/introducing-maliit-on-screen-keyboard-in-gnome-3/ Introducing; Maliit on-screen keyboard in Gnome 3]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/04/10/customizing-meego-keyboard/ Customizing the Meego Keyboard]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/02/24/meego-input-methods-your-desktop/ MeeGo Input Methods for your desktop]&lt;br /&gt;
&lt;br /&gt;
== Documentation working area ==&lt;br /&gt;
Here is the working area to keep track of the status of and work on the documentation.&lt;br /&gt;
&lt;br /&gt;
* Goal: Every aspect of Maliit is well-documented, and the documentation easily accessible.&lt;br /&gt;
* Primary focus is on consumers of Maliit: Third-party developers and integrators&lt;br /&gt;
&lt;br /&gt;
=== Important cases ===&lt;br /&gt;
* Creating and adding a new layout file to the keyboard&lt;br /&gt;
* Developing a new input method plugin&lt;br /&gt;
* Using Maliit in an application&lt;br /&gt;
* Integrating Maliit in a product&lt;br /&gt;
* Developing a new engine plugin&lt;br /&gt;
* Adding support for additional application toolkits&lt;br /&gt;
&lt;br /&gt;
=== Documentation status ===&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Item&lt;br /&gt;
! Status&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| wiki.meego.com/Maliit || 90% || Our public webpage/wiki page, starting point for all information about our project. In pretty good shape.&lt;br /&gt;
|-&lt;br /&gt;
| apidocs.meego.com/git-tip || 10% || Our docs should be shown here. [https://bugs.meego.com/show_bug.cgi?id=14382 Bug 14382]&lt;br /&gt;
|-&lt;br /&gt;
| apidocs.meego.com/1.2 || 10% || Our docs should be shown here. [https://bugs.meego.com/show_bug.cgi?id=14994 Bug 14994]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 | '''Framework'''&lt;br /&gt;
|-&lt;br /&gt;
| Overall architecture || 30% || Some docs exists in framework source tree, but is very outdated&lt;br /&gt;
|-&lt;br /&gt;
| Input Method/framework settings system || 0% ||&lt;br /&gt;
|-&lt;br /&gt;
| Input Method Plugin&amp;lt;-&amp;gt;Framework interaction || 0% || What the interaction concepts are (both user and technical), and what is done on each side to support this&lt;br /&gt;
|-&lt;br /&gt;
| Input Method Framework Window handling || 0% || Passthrough window, Self-compositing, plugin pixmap drawing, rotation animation. Maybe covered by above item?&lt;br /&gt;
|-&lt;br /&gt;
| Input Method Plugin API || 60% || Example plugins exists, initial plugin SDK published. Need to remove the outdated tutorial from framework docs&lt;br /&gt;
|-&lt;br /&gt;
| Input Context DBus API || 0% ||&lt;br /&gt;
|-&lt;br /&gt;
| Toolkit integration concepts || 20% || Key concepts like pre-edit injection, and widget relocation should be documented. Purpose: make it easy for others to improve toolkit integration, and to bring new people up to date. Widget relocation is documented.&lt;br /&gt;
|-&lt;br /&gt;
| Toolkit integration/support status || 10% || Implicitly all keyboard features/IM are available for MTF. No documentation about plain Qt, QML, Clutter or Gtk+&lt;br /&gt;
|-&lt;br /&gt;
| Engine interfaces || ? || Correction/prediction/suggestion/handwriting, both plugin side and IM side&lt;br /&gt;
|-&lt;br /&gt;
| Feedback framework || ? || &lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 | '''Plugins'''&lt;br /&gt;
|-&lt;br /&gt;
| Meego Keyboard theming (CSS) || 100% || Docs in keyboard source tree. ||&lt;br /&gt;
|-&lt;br /&gt;
| Meego Keyboard layouts || 100% || Docs in keyboard source tree. ||&lt;br /&gt;
|-&lt;br /&gt;
| Meego Keyboard features || 100% || Documented on wiki page. ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Development</id>
		<title>Maliit/Development</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Development"/>
				<updated>2011-06-27T11:16:45Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* Repositories */ remove engines, right now there is nothing there&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
== Repositories ==&lt;br /&gt;
* [https://gitorious.org/maliit/maliit-framework Maliit framework]:&amp;lt;pre&amp;gt;git clone git@gitorious.org:maliit/maliit-framework.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [https://gitorious.org/maliit/maliit-plugins Maliit plugins (virtual keyboards etc.)]:&amp;lt;pre&amp;gt;git clone git@gitorious.org:maliit/maliit-plugins.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For MeeGo 1.2, use the following branches instead of master:&lt;br /&gt;
* https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/commits/meego-1.2&lt;br /&gt;
* https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/commits/meego-1.2&lt;br /&gt;
&lt;br /&gt;
== Releases ==&lt;br /&gt;
* Howtos: [[Maliit/Making_a_Release|Making a release]], [[Maliit/Writing_Release_Notes|Writing release notes]]&lt;br /&gt;
* 0.80.0 - Brave New World: [http://lists.meego.com/pipermail/meego-dev/2011-June/483526.html Release notes], [http://gitorious.org/maliit/maliit-framework/archive-tarball/0.80.0 framework tarball], [http://gitorious.org/maliit/maliit-plugins/archive-tarball/0.80.0 plugins tarball].&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
We use gitorious to handle patches and reviews. Clone our repository, and create a merge request with the commits you want merged. As a general rule, do not send patches to the mailinglist.&lt;br /&gt;
&lt;br /&gt;
If you are implementing a new feature, it is smart to discuss it on the mailing list first.&lt;br /&gt;
If you have a fix for a bug that affects Meego, file a bugreport at bugs.meego.com and link your merge request there.&lt;br /&gt;
&lt;br /&gt;
We currently do not have a concrete policy for giving out commit rights to the mainline repositories. However, it is our intention that contributors&lt;br /&gt;
that builds up a track record with the project are able to get commit rights.&lt;br /&gt;
Do note that also those who have commit rights have to submit and get their merge requests reviewed prior to changes going in.&lt;br /&gt;
&lt;br /&gt;
== Open bug reports ==&lt;br /&gt;
&lt;br /&gt;
{{#bugzilla:&lt;br /&gt;
  |columns=id,status,to,severity,version,summary&lt;br /&gt;
  |group=priority&lt;br /&gt;
  |grouporder=asc&lt;br /&gt;
  |component=Virtual keyboard&lt;br /&gt;
  |product=OS Base&lt;br /&gt;
  |status=UNCONFIRMED,NEW,NEEDINFO,ASSIGNED,WAITING FOR UPSTREAM,REOPENED&lt;br /&gt;
  |lastcomment=1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Bugreports, patches and merge requests in other projects ==&lt;br /&gt;
This area is for keeping track of things that concern Maliit or is done by the Maliit team in related projects.&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.novell.com/show_bug.cgi?id=701523 Maliit openSUSE OBS project request]&lt;br /&gt;
* [https://bugs.freedesktop.org/show_bug.cgi?id=38563 Maliit project request on freedesktop.org]&lt;br /&gt;
&lt;br /&gt;
== Meego packaging ==&lt;br /&gt;
* [http://build.meego.com/project/monitor?commit=Filter%3A&amp;amp;succeeded=1&amp;amp;failed=1&amp;amp;unresolvable=1&amp;amp;broken=1&amp;amp;blocked=1&amp;amp;dispatching=1&amp;amp;scheduled=1&amp;amp;building=1&amp;amp;finished=1&amp;amp;signing=1&amp;amp;pkgname=inputmethod&amp;amp;repo_standard=1&amp;amp;repo_weekly=1&amp;amp;arch_armv7el=1&amp;amp;arch_armv8el=1&amp;amp;arch_i586=1&amp;amp;project=Trunk&amp;amp;defaults=0 Status in Trunk]&lt;br /&gt;
* [http://build.meego.com/project/monitor?commit=Filter%3A&amp;amp;succeeded=1&amp;amp;failed=1&amp;amp;unresolvable=1&amp;amp;broken=1&amp;amp;blocked=1&amp;amp;dispatching=1&amp;amp;scheduled=1&amp;amp;building=1&amp;amp;finished=1&amp;amp;signing=1&amp;amp;pkgname=inputmethod&amp;amp;repo_standard=1&amp;amp;arch_armv8el=1&amp;amp;arch_i586=1&amp;amp;project=MeeGo%3A1.2%3Aoss&amp;amp;defaults=0 Status in 1.2]&lt;br /&gt;
* [http://build.meego.com/project/monitor?commit=Filter%3A&amp;amp;succeeded=1&amp;amp;failed=1&amp;amp;unresolvable=1&amp;amp;broken=1&amp;amp;blocked=1&amp;amp;dispatching=1&amp;amp;scheduled=1&amp;amp;building=1&amp;amp;finished=1&amp;amp;signing=1&amp;amp;pkgname=inputmethod&amp;amp;repo_standard=1&amp;amp;arch_armv7el=1&amp;amp;arch_i586=1&amp;amp;lastbuild=1&amp;amp;project=MeeGo%3A1.1%3ACore&amp;amp;defaults=0 Status in 1.1]&lt;br /&gt;
&lt;br /&gt;
== QA Reports ==&lt;br /&gt;
&lt;br /&gt;
Latest inputmethod packages QA reports using recent Meego images can be found at the [http://qa-reports.meego.com/1.2/Handset/Basic%20Feature%20Testing/N900 QA Basic Feature Testing] section of [http://qa-reports.meego.com http://qa-reports.meego.com].&lt;br /&gt;
&lt;br /&gt;
== Maliit google searches ==&lt;br /&gt;
References to Maliit from other places on the web. Search used: maliit keyboard OR &amp;quot;input method&amp;quot; OR meego -ang&lt;br /&gt;
&lt;br /&gt;
* [http://www.google.de/search?q=maliit+keyboard+OR+%22input+method%22+OR+meego+-ang&amp;amp;hl=en&amp;amp;client=firefox-a&amp;amp;hs=HdI&amp;amp;tbo=1&amp;amp;rls=org.mozilla%3Aen-US%3Aunofficial&amp;amp;num=10&amp;amp;lr=&amp;amp;ft=i&amp;amp;cr=&amp;amp;safe=images&amp;amp;tbs=#q=maliit+keyboard+OR+%22input+method%22+OR+meego+-ang&amp;amp;hl=en&amp;amp;lr=&amp;amp;client=firefox-a&amp;amp;hs=kfI&amp;amp;tbo=1&amp;amp;rls=org.mozilla:en-US:unofficial&amp;amp;prmd=ivns&amp;amp;ei=1XDeTf-CEtHIswb5sbXLBQ&amp;amp;start=0&amp;amp;sa=N&amp;amp;bav=on.2,or.r_gc.r_pw.&amp;amp;fp=bf4289d263b569cc&amp;amp;biw=1302&amp;amp;bih=937 Webpages]&lt;br /&gt;
* [http://www.google.de/search?q=maliit+keyboard+OR+%22input+method%22+OR+meego+-ang&amp;amp;hl=en&amp;amp;lr=&amp;amp;client=firefox-a&amp;amp;hs=f0x&amp;amp;tbo=1&amp;amp;rls=org.mozilla:en-US:unofficial&amp;amp;biw=1302&amp;amp;bih=937&amp;amp;prmdo=1&amp;amp;tbm=dsc&amp;amp;prmd=ivns&amp;amp;source=lnms&amp;amp;ei=6HDeTeOzMYXs-gaQuYXvCQ&amp;amp;sa=X&amp;amp;oi=mode_link&amp;amp;ct=mode&amp;amp;ved=0CBcQ_AU Discussions]&lt;br /&gt;
* [http://www.google.de/search?q=maliit+keyboard+OR+%22input+method%22+OR+meego+-ang&amp;amp;hl=en&amp;amp;lr=&amp;amp;client=firefox-a&amp;amp;hs=S0x&amp;amp;tbo=1&amp;amp;rls=org.mozilla:en-US:unofficial&amp;amp;biw=1302&amp;amp;bih=937&amp;amp;prmd=ivns&amp;amp;source=lnms&amp;amp;tbm=mbl&amp;amp;ei=23DeTZGDCcrHswbUwbzLBQ&amp;amp;sa=X&amp;amp;oi=mode_link&amp;amp;ct=mode&amp;amp;cd=9&amp;amp;ved=0CCAQ_AUoCA&amp;amp;prmdo=1 Realtime]&lt;br /&gt;
* [http://www.google.de/search?q=maliit+keyboard+OR+%22input+method%22+OR+meego+-ang&amp;amp;hl=en&amp;amp;lr=&amp;amp;client=firefox-a&amp;amp;hs=S0x&amp;amp;tbo=1&amp;amp;rls=org.mozilla:en-US:unofficial&amp;amp;biw=1302&amp;amp;bih=937&amp;amp;prmd=ivns&amp;amp;source=lnms&amp;amp;tbm=blg&amp;amp;ei=23DeTZGDCcrHswbUwbzLBQ&amp;amp;sa=X&amp;amp;oi=mode_link&amp;amp;ct=mode&amp;amp;cd=8&amp;amp;ved=0CB8Q_AUoBw&amp;amp;prmdo=1 Blogs]&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Development</id>
		<title>Maliit/Development</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Development"/>
				<updated>2011-06-27T11:15:03Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
== Repositories ==&lt;br /&gt;
* [https://gitorious.org/maliit/maliit-framework Maliit framework]:&amp;lt;pre&amp;gt;git clone git@gitorious.org:maliit/maliit-framework.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [https://gitorious.org/maliit/maliit-engines Maliit engines]:&amp;lt;pre&amp;gt;git clone git@gitorious.org:maliit/maliit-engines.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
* [https://gitorious.org/maliit/maliit-plugins Maliit plugins (virtual keyboards etc.)]:&amp;lt;pre&amp;gt;git clone git@gitorious.org:maliit/maliit-plugins.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For MeeGo 1.2, use the following branches instead of master:&lt;br /&gt;
* https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/commits/meego-1.2&lt;br /&gt;
* https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/commits/meego-1.2&lt;br /&gt;
&lt;br /&gt;
== Releases ==&lt;br /&gt;
* Howtos: [[Maliit/Making_a_Release|Making a release]], [[Maliit/Writing_Release_Notes|Writing release notes]]&lt;br /&gt;
* 0.80.0 - Brave New World: [http://lists.meego.com/pipermail/meego-dev/2011-June/483526.html Release notes], [http://gitorious.org/maliit/maliit-framework/archive-tarball/0.80.0 framework tarball], [http://gitorious.org/maliit/maliit-plugins/archive-tarball/0.80.0 plugins tarball].&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
We use gitorious to handle patches and reviews. Clone our repository, and create a merge request with the commits you want merged. As a general rule, do not send patches to the mailinglist.&lt;br /&gt;
&lt;br /&gt;
If you are implementing a new feature, it is smart to discuss it on the mailing list first.&lt;br /&gt;
If you have a fix for a bug that affects Meego, file a bugreport at bugs.meego.com and link your merge request there.&lt;br /&gt;
&lt;br /&gt;
We currently do not have a concrete policy for giving out commit rights to the mainline repositories. However, it is our intention that contributors&lt;br /&gt;
that builds up a track record with the project are able to get commit rights.&lt;br /&gt;
Do note that also those who have commit rights have to submit and get their merge requests reviewed prior to changes going in.&lt;br /&gt;
&lt;br /&gt;
== Open bug reports ==&lt;br /&gt;
&lt;br /&gt;
{{#bugzilla:&lt;br /&gt;
  |columns=id,status,to,severity,version,summary&lt;br /&gt;
  |group=priority&lt;br /&gt;
  |grouporder=asc&lt;br /&gt;
  |component=Virtual keyboard&lt;br /&gt;
  |product=OS Base&lt;br /&gt;
  |status=UNCONFIRMED,NEW,NEEDINFO,ASSIGNED,WAITING FOR UPSTREAM,REOPENED&lt;br /&gt;
  |lastcomment=1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Bugreports, patches and merge requests in other projects ==&lt;br /&gt;
This area is for keeping track of things that concern Maliit or is done by the Maliit team in related projects.&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.novell.com/show_bug.cgi?id=701523 Maliit openSUSE OBS project request]&lt;br /&gt;
* [https://bugs.freedesktop.org/show_bug.cgi?id=38563 Maliit project request on freedesktop.org]&lt;br /&gt;
&lt;br /&gt;
== Meego packaging ==&lt;br /&gt;
* [http://build.meego.com/project/monitor?commit=Filter%3A&amp;amp;succeeded=1&amp;amp;failed=1&amp;amp;unresolvable=1&amp;amp;broken=1&amp;amp;blocked=1&amp;amp;dispatching=1&amp;amp;scheduled=1&amp;amp;building=1&amp;amp;finished=1&amp;amp;signing=1&amp;amp;pkgname=inputmethod&amp;amp;repo_standard=1&amp;amp;repo_weekly=1&amp;amp;arch_armv7el=1&amp;amp;arch_armv8el=1&amp;amp;arch_i586=1&amp;amp;project=Trunk&amp;amp;defaults=0 Status in Trunk]&lt;br /&gt;
* [http://build.meego.com/project/monitor?commit=Filter%3A&amp;amp;succeeded=1&amp;amp;failed=1&amp;amp;unresolvable=1&amp;amp;broken=1&amp;amp;blocked=1&amp;amp;dispatching=1&amp;amp;scheduled=1&amp;amp;building=1&amp;amp;finished=1&amp;amp;signing=1&amp;amp;pkgname=inputmethod&amp;amp;repo_standard=1&amp;amp;arch_armv8el=1&amp;amp;arch_i586=1&amp;amp;project=MeeGo%3A1.2%3Aoss&amp;amp;defaults=0 Status in 1.2]&lt;br /&gt;
* [http://build.meego.com/project/monitor?commit=Filter%3A&amp;amp;succeeded=1&amp;amp;failed=1&amp;amp;unresolvable=1&amp;amp;broken=1&amp;amp;blocked=1&amp;amp;dispatching=1&amp;amp;scheduled=1&amp;amp;building=1&amp;amp;finished=1&amp;amp;signing=1&amp;amp;pkgname=inputmethod&amp;amp;repo_standard=1&amp;amp;arch_armv7el=1&amp;amp;arch_i586=1&amp;amp;lastbuild=1&amp;amp;project=MeeGo%3A1.1%3ACore&amp;amp;defaults=0 Status in 1.1]&lt;br /&gt;
&lt;br /&gt;
== QA Reports ==&lt;br /&gt;
&lt;br /&gt;
Latest inputmethod packages QA reports using recent Meego images can be found at the [http://qa-reports.meego.com/1.2/Handset/Basic%20Feature%20Testing/N900 QA Basic Feature Testing] section of [http://qa-reports.meego.com http://qa-reports.meego.com].&lt;br /&gt;
&lt;br /&gt;
== Maliit google searches ==&lt;br /&gt;
References to Maliit from other places on the web. Search used: maliit keyboard OR &amp;quot;input method&amp;quot; OR meego -ang&lt;br /&gt;
&lt;br /&gt;
* [http://www.google.de/search?q=maliit+keyboard+OR+%22input+method%22+OR+meego+-ang&amp;amp;hl=en&amp;amp;client=firefox-a&amp;amp;hs=HdI&amp;amp;tbo=1&amp;amp;rls=org.mozilla%3Aen-US%3Aunofficial&amp;amp;num=10&amp;amp;lr=&amp;amp;ft=i&amp;amp;cr=&amp;amp;safe=images&amp;amp;tbs=#q=maliit+keyboard+OR+%22input+method%22+OR+meego+-ang&amp;amp;hl=en&amp;amp;lr=&amp;amp;client=firefox-a&amp;amp;hs=kfI&amp;amp;tbo=1&amp;amp;rls=org.mozilla:en-US:unofficial&amp;amp;prmd=ivns&amp;amp;ei=1XDeTf-CEtHIswb5sbXLBQ&amp;amp;start=0&amp;amp;sa=N&amp;amp;bav=on.2,or.r_gc.r_pw.&amp;amp;fp=bf4289d263b569cc&amp;amp;biw=1302&amp;amp;bih=937 Webpages]&lt;br /&gt;
* [http://www.google.de/search?q=maliit+keyboard+OR+%22input+method%22+OR+meego+-ang&amp;amp;hl=en&amp;amp;lr=&amp;amp;client=firefox-a&amp;amp;hs=f0x&amp;amp;tbo=1&amp;amp;rls=org.mozilla:en-US:unofficial&amp;amp;biw=1302&amp;amp;bih=937&amp;amp;prmdo=1&amp;amp;tbm=dsc&amp;amp;prmd=ivns&amp;amp;source=lnms&amp;amp;ei=6HDeTeOzMYXs-gaQuYXvCQ&amp;amp;sa=X&amp;amp;oi=mode_link&amp;amp;ct=mode&amp;amp;ved=0CBcQ_AU Discussions]&lt;br /&gt;
* [http://www.google.de/search?q=maliit+keyboard+OR+%22input+method%22+OR+meego+-ang&amp;amp;hl=en&amp;amp;lr=&amp;amp;client=firefox-a&amp;amp;hs=S0x&amp;amp;tbo=1&amp;amp;rls=org.mozilla:en-US:unofficial&amp;amp;biw=1302&amp;amp;bih=937&amp;amp;prmd=ivns&amp;amp;source=lnms&amp;amp;tbm=mbl&amp;amp;ei=23DeTZGDCcrHswbUwbzLBQ&amp;amp;sa=X&amp;amp;oi=mode_link&amp;amp;ct=mode&amp;amp;cd=9&amp;amp;ved=0CCAQ_AUoCA&amp;amp;prmdo=1 Realtime]&lt;br /&gt;
* [http://www.google.de/search?q=maliit+keyboard+OR+%22input+method%22+OR+meego+-ang&amp;amp;hl=en&amp;amp;lr=&amp;amp;client=firefox-a&amp;amp;hs=S0x&amp;amp;tbo=1&amp;amp;rls=org.mozilla:en-US:unofficial&amp;amp;biw=1302&amp;amp;bih=937&amp;amp;prmd=ivns&amp;amp;source=lnms&amp;amp;tbm=blg&amp;amp;ei=23DeTZGDCcrHswbUwbzLBQ&amp;amp;sa=X&amp;amp;oi=mode_link&amp;amp;ct=mode&amp;amp;cd=8&amp;amp;ved=0CB8Q_AUoBw&amp;amp;prmdo=1 Blogs]&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Roadmap</id>
		<title>Maliit/Roadmap</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Roadmap"/>
				<updated>2011-06-27T11:04:41Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* Maliit 1.0 */ link roadmap item to bugreport&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
Submit your ideas in [[Maliit/Ideas|Ideas page]] to get considered to be put into the roadmap.&lt;br /&gt;
&lt;br /&gt;
== Maliit 1.0 ==&lt;br /&gt;
Development in progress.&lt;br /&gt;
&lt;br /&gt;
With Maliit 1.0 the goal is long-term API stability for application and input method plugin API.&lt;br /&gt;
&lt;br /&gt;
* '''0.2x''': Still uses MeeGo Touch. (DONE)&lt;br /&gt;
* '''0.8x''': Compiles MeeGo Touch free version by default, has legacy build option. (DONE)&lt;br /&gt;
** Maliit now an [http://lists.meego.com/pipermail/meego-dev/2011-June/483406.html independent project].&lt;br /&gt;
** Installation paths, library names and GConf keys now follow new Maliit naming conventions.&lt;br /&gt;
** Legacy LMT build can be done using qmake CONFIG+=nomeegotouch (works in -framework and -plugins repo).&lt;br /&gt;
** No API changes in plugin or application API! New library structure will require recompilation though.&lt;br /&gt;
* '''0.9x''': Alpha release that will lead up to Maliit 1.0&lt;br /&gt;
** Will contain API cleanups (not LMT related, but rather about removing cruft and cleanup).&lt;br /&gt;
** API cleanup should be done for all Maliit libraries (including engines and feedback API).&lt;br /&gt;
** In first release for the 0.9x series, the C++ based reference VKB (Maliit Keyboard) will be LMT-free.&lt;br /&gt;
* '''1.0''': Stable release&lt;br /&gt;
&lt;br /&gt;
=== Framework ===&lt;br /&gt;
* Use D-Bus datatype instead of serialized Qt types in D-Bus API (DONE)&lt;br /&gt;
* [[Maliit/Ideas/Supporting_Non_X11_Platforms|Support for non X11 platform]]&lt;br /&gt;
* [https://bugs.meego.com/show_bug.cgi?id=20076 Meego Touch independent application API]&lt;br /&gt;
* Unified, UI independent, settings API&lt;br /&gt;
** Probably even hide the framework's GConf usage behind some API that can be used by apps and plugins.&lt;br /&gt;
&lt;br /&gt;
=== MeeGo Keyboard ===&lt;br /&gt;
* Key magnification and accent pop-ups (DONE)&lt;br /&gt;
* New word prediction widgets: Word Ribbon (DONE)&lt;br /&gt;
* Extended support for CJK languages&lt;br /&gt;
* Remove libmeegotouch dependency&lt;br /&gt;
&lt;br /&gt;
= Platforms =&lt;br /&gt;
== MeeGo 1.3 ==&lt;br /&gt;
Development in in progress.&lt;br /&gt;
&lt;br /&gt;
MeeGo 1.3 will have Maliit 1.0.&lt;br /&gt;
&lt;br /&gt;
* New maliit-* package-names (DONE)&lt;br /&gt;
* Settings applet for meego-ux-settings&lt;br /&gt;
* Better integration with standard applications&lt;br /&gt;
&lt;br /&gt;
== MeeGo 1.2 ==&lt;br /&gt;
All items in this section are DONE.&lt;br /&gt;
&lt;br /&gt;
=== Framework ===&lt;br /&gt;
* private D-Bus connection&lt;br /&gt;
* new information exposures:&lt;br /&gt;
** anchor position&lt;br /&gt;
** cursor position&lt;br /&gt;
* libmeegotouch removal&lt;br /&gt;
* self-compositing&lt;br /&gt;
* self-rotation animation&lt;br /&gt;
&lt;br /&gt;
=== Engine framework ===&lt;br /&gt;
* New interface: Handwriting recognition&lt;br /&gt;
* New functionality: Dynamic virtual keyboard layout&lt;br /&gt;
&lt;br /&gt;
[[Category:Maliit]]&lt;br /&gt;
[[Category:MeeGo Input Methods]]&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Meetings</id>
		<title>Maliit/Meetings</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Meetings"/>
				<updated>2011-06-27T10:57:05Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MeeGo Input Methods IRC meeting, March 29th 2011 ==&lt;br /&gt;
&lt;br /&gt;
=== How can we simplify development and maintenance of input contexts? ===&lt;br /&gt;
&lt;br /&gt;
Participants: Michael Hasselmann (Openismus), Jon Nordby (Openismus), Andy Ross (Windriver), Pekka Vuorela (Nokia), Gary Birkett (Collabora), Robin Burchell (Collabora)&lt;br /&gt;
&lt;br /&gt;
Log: http://lists.meego.com/pipermail/meego-inputmethods/2011-March/000037.html&lt;br /&gt;
&lt;br /&gt;
The outcome of this meeting were the following tasks:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Assignee !! Status !! Details&lt;br /&gt;
|-&lt;br /&gt;
| Alternative for MInputMethodState || [https://bugs.meego.com/show_bug.cgi?id=20076 BMC#20076] || in progress || We need to provide a fully working alternative for MInputMethodState. And this would also fit with our plans to offer better support for plain Qt, QML, Qt Components (and GTK+ on MeeGo). We can decide to add the less important features (toolbar and keyboard customization) at a later point, for example.&lt;br /&gt;
|-&lt;br /&gt;
| Decide on where to put extended API || [https://bugs.meego.com/show_bug.cgi?id=20076 BMC#20076] || done || No agreement yet on whether it's better to provide needed API through signals/slots in inputcontext or whether it's better to provide a separate library (in MeeGo Input Methods itself). Andy Ross is supposed to kick off the discussion on the public ML (check next week).&lt;br /&gt;
|-&lt;br /&gt;
| Clean up D-Bus API || Maksim Kirillov || done || We clean up the D-Bus API, instead of further abstraction. We will use native D-Bus types instead of (serialized) Qt datatypes.&lt;br /&gt;
|-&lt;br /&gt;
| Check QtDBus status in Qt 4.8 || [https://qt.gitorious.org/qt/qt/merge_requests/2343 MRQ#2343] || done || Check QtDBus situation in 4.8 and switch to Qt's D-Bus interface, if possible. We need working P2P D-Bus.&lt;br /&gt;
|-&lt;br /&gt;
| Provide documentation for D-Bus API || [[Maliit/Documentation#Documentation_working_area|moved here]] || punted || Obvious. Currently no overview of its intent or how it actually works, only documentation on the methods itself.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Maliit]]&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit</id>
		<title>Maliit</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit"/>
				<updated>2011-06-27T10:44:52Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* News */ add Meego Freeday video&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
[[File:Maliit2.png|448px|link=]]&lt;br /&gt;
&lt;br /&gt;
Maliit provides a flexible and cross-platform input method framework, including a virtual keyboard. It works on all MeeGo user experiences, and in other GNU/Linux distributions.&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
Maliit aims to be ''the'' input method project for MeeGo and other GNU/Linux-based embedded/mobile platforms. To achieve this we should provide:&lt;br /&gt;
&lt;br /&gt;
'''A solid input method framework'''&lt;br /&gt;
&lt;br /&gt;
This includes support for traditional input methods such as hardware and virtual keyboards. More exotic input methods should also be possible, such as handwriting recognition and voice input, and special purpose input methods such as date/time pickers, tag clouds, etc.&lt;br /&gt;
&lt;br /&gt;
'''A core set of input methods'''&lt;br /&gt;
&lt;br /&gt;
The default set of input methods should demonstrate the core capabilities of the framework and provide a good user experience that device manufacturers and integrators can use easily.&lt;br /&gt;
&lt;br /&gt;
We also aim to:&lt;br /&gt;
&lt;br /&gt;
'''Empower third-party developers'''&lt;br /&gt;
&lt;br /&gt;
Customizing existing input methods or developing powerful new input methods should be simple, regardless of whether it is for profit, research or fun.&lt;br /&gt;
&lt;br /&gt;
'''Build a diverse community of contributors'''&lt;br /&gt;
&lt;br /&gt;
Employees from different companies, freelancers, members of academia, hackers and volunteers should all be welcomed and encouraged to contribute to the project.&lt;br /&gt;
&lt;br /&gt;
== Communication channels ==&lt;br /&gt;
&lt;br /&gt;
'''Mailing list:''' meego-inputmethods@lists.meego.com  ([http://lists.meego.com/listinfo/meego-inputmethods listinfo] | [http://lists.meego.com/pipermail/meego-inputmethods/ archives])&lt;br /&gt;
&lt;br /&gt;
'''Bugtracker:''' bugs.meego.com, Product: OS, Component: Virtual Keyboard ([https://bugs.meego.com/buglist.cgi?classification=MeeGo%20Platform&amp;amp;query_based_on=virtual%20keyboard&amp;amp;query_format=advanced&amp;amp;bug_status=NEW&amp;amp;bug_status=NEEDINFO&amp;amp;bug_status=INDEFINITION&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=ACCEPTED&amp;amp;bug_status=WAITING%20FOR%20UPSTREAM&amp;amp;bug_status=WAITING&amp;amp;bug_status=REOPENED&amp;amp;component=Virtual%20keyboard&amp;amp;product=OS%20Base&amp;amp;known_name=virtual%20keyboard open bugs] | &lt;br /&gt;
[https://bugs.meego.com/enter_bug.cgi?product=OS%20Base&amp;amp;component=Virtual%20keyboard file new bug])&lt;br /&gt;
&lt;br /&gt;
'''IRC:''' Visit us in #meego-inputmethods at freenode.net ([http://webchat.freenode.net/?randomnick=1&amp;amp;channels=meego-inputmethods&amp;amp;uio=d4 webchat])&lt;br /&gt;
&lt;br /&gt;
== Upcoming events ==&lt;br /&gt;
* August 6th-12th - Desktop Summit Berlin. Workshops &amp;amp; BoFs planned&lt;br /&gt;
&lt;br /&gt;
== News ==&lt;br /&gt;
* 24.06.2011 - MeeGo Freeday presentation/workshop in Berlin. [http://meetmeego.org/2011/06/15/meego-freeday-24-06-2011/ Announcement] (in german), [[Media:Maliit-input-methods-for-meego.pdf|Slides]], [http://www.youtube.com/watch?v=kmR0J699oGA Video]&lt;br /&gt;
* 20.06.2011 - First release (Maliit 0.80) as an independent project. [http://lists.meego.com/pipermail/meego-dev/2011-June/483526.html Announcement]&lt;br /&gt;
* 17.06.2011 - Session at Qt Collaborator Summit 2011. [http://developer.qt.nokia.com/groups/qt_contributors_summit/wiki/Input_methods_and_Wayland_in_Qt_5 Session summary]&lt;br /&gt;
* 07.06.2011 - Session at MeeGo Spring Conference 2011. [http://sf2011.meego.com/program/sessions/developing-custom-input-methods-meego Info, Recording]&lt;br /&gt;
* 08.04.2011 - MeeGo Keyboard is relicensed with BSD license: [http://lists.meego.com/pipermail/meego-dev/2011-April/482578.html Announcement]&lt;br /&gt;
* 29.03.2011 - Held first offical IRC meeting: [[Maliit/Meetings|How can we simplify development and maintenance of input contexts?]]&lt;br /&gt;
* 04.03.2011 - API/ABI break in 0.20.0: [http://lists.meego.com/pipermail/meego-dev/2011-March/481869.html meego-im-framework is removing dependency to libmeegotouch from its API]&lt;br /&gt;
* 23.02.2011 - Packages available for Ubuntu Lucid/Maverick to ease development. [http://taschenorakel.de/michael/2011/02/24/meego-input-methods-your-desktop/ Blogpost], [[#Packages for Ubuntu .2810.04 Lucid Lynx .2F 10.10 Maveric Meerkat.29|documentation]]&lt;br /&gt;
* 17.02.2011 - Claudio Saavedra started on MeeGo+Gtk integration work, focusing on input methods. [http://people.gnome.org/~csaavedra/news-2011-02.html#D10 Blogpost]&lt;br /&gt;
* 13.02.2011 - MeeGo Tablet UX demoed at Mobile World Conference, with Swype keyboard. [http://www.engadget.com/photos/new-meego-tablet-user-experience-hands-on-at-mwc-2011/#3877322 Pictures]&lt;br /&gt;
* 01.02.2011 - API/ABI break in 0.19.41: [http://lists.meego.com/pipermail/meego-dev/2011-February/481353.html meegoimframework interfaces related to orientation change will be changed]&lt;br /&gt;
* 15.11.2010 - Architect and Lead Developer of Maliit give talk at MeeGo Conference. [http://conference2010.meego.com/session/meego-touch-input-method-frameworks Info, Recording]&lt;br /&gt;
* 15.11.2010 - Linpus shows off MeeGo based slate at MeeGo Conference, with keyboard based on Maliit. &lt;br /&gt;
* 30.06.2010 - MeeGo Handset UX Day 1 release, first public release of MeeGo Input Methods. [http://meego.com/community/blogs/valhalla/2010/meego-handset-project-day-1-here Announcement]&lt;br /&gt;
&lt;br /&gt;
== Maliit in action ==&lt;br /&gt;
&lt;br /&gt;
Maliit is used on a number of devices and form factors, and can easily be adapted to run on new ones.&lt;br /&gt;
&lt;br /&gt;
* [http://www.linpus.com/products_meego_slate.html Linpus Slate] ([http://www.linpus.com/images/slate/kb.png screenshot showing Linpus virtual keyboard])&lt;br /&gt;
* [http://appdeveloper.intel.com/en-us/meego-iso-esla Intel MeeGo Tablet] ([http://www.engadget.com/photos/new-meego-tablet-user-experience-hands-on-at-mwc-2011/#3877322 pictures showing Swype keyboard])&lt;br /&gt;
* [http://www.youtube.com/watch?v=l_7f3Lxd4_I GNOME3 on a WeTab (video)]&lt;br /&gt;
* [http://www.youtube.com/watch?v=JOI5g129rtM N9 and Swype integration (video)]&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;250px&amp;quot; heights=&amp;quot;250px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:Lenovo_meego_vkb.jpg| [[Maliit/MeeGo 1.1#Netbook|MeeGo 1.1 Netbook]] with MeeGo Keyboard on Lenovo S10-3T Ideapad&lt;br /&gt;
Image:Meego1.1_handset_on_aava.jpg| [http://meego.com/downloads/releases/1.1/meego-v1.1-handset MeeGo 1.1 Handset] with MeeGo Keyboard on Aava Mobile&lt;br /&gt;
Image:tegra-vkb2.jpg| MeeGo 1.2 prerelease on [[ARM/TEGRA2|Advent Vega, Tegra2]]&lt;br /&gt;
Image:Maliit-on-lucid.png | Ubuntu Lucid (10.04)&lt;br /&gt;
Image:Maliit-in-GNOME3.jpg | GNOME3 on a WeTab&lt;br /&gt;
Image:Maliit-on-KDE-Plasma.jpg | KDE, using Plasma&lt;br /&gt;
Image:Maliit-meego-ce-n900-landscape.jpg | MeeGo N900CE (landscape)&lt;br /&gt;
Image:Maliit-meego-ce-n900-portrait.jpg | MeeGo N900CE (portrait)&lt;br /&gt;
[[File:TransparentPlaceholder.png|link=http://wikipedia.org|caption]]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Roadmap</id>
		<title>Maliit/Roadmap</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Roadmap"/>
				<updated>2011-06-27T10:33:44Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: Move Meego sections under &amp;quot;platforms&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
Submit your ideas in [[Maliit/Ideas|Ideas page]] to get considered to be put into the roadmap.&lt;br /&gt;
&lt;br /&gt;
== Maliit 1.0 ==&lt;br /&gt;
Development in progress.&lt;br /&gt;
&lt;br /&gt;
With Maliit 1.0 the goal is long-term API stability for application and input method plugin API.&lt;br /&gt;
&lt;br /&gt;
* '''0.2x''': Still uses MeeGo Touch.&lt;br /&gt;
* '''0.8x''': Compiles MeeGo Touch free version by default, has legacy build option. (DONE)&lt;br /&gt;
** Maliit now an [http://lists.meego.com/pipermail/meego-dev/2011-June/483406.html independent project].&lt;br /&gt;
** Installation paths, library names and GConf keys now follow new Maliit naming conventions.&lt;br /&gt;
** Legacy LMT build can be done using qmake CONFIG+=nomeegotouch (works in -framework and -plugins repo).&lt;br /&gt;
** No API changes in plugin or application API! New library structure will require recompilation though.&lt;br /&gt;
* '''0.9x''': Alpha release that will lead up to Maliit 1.0&lt;br /&gt;
** Will contain API cleanups (not LMT related, but rather about removing cruft and cleanup).&lt;br /&gt;
** API cleanup should be done for all Maliit libraries (including engines and feedback API).&lt;br /&gt;
** In first release for the 0.9x series, the C++ based reference VKB (Maliit Keyboard) will be LMT-free.&lt;br /&gt;
* '''1.0''': Stable release&lt;br /&gt;
&lt;br /&gt;
=== Framework ===&lt;br /&gt;
* Use D-Bus datatype instead of serialized Qt types in D-Bus API (DONE)&lt;br /&gt;
* [[Maliit/Ideas/Supporting_Non_X11_Platforms|Support for non X11 platform]]&lt;br /&gt;
* Better support for Qt applications not linked to MeeGo Touch&lt;br /&gt;
** Orientation change&lt;br /&gt;
* Unified, UI independent, settings API&lt;br /&gt;
** Probably even hide the framework's GConf usage behind some API that can be used by apps and plugins.&lt;br /&gt;
&lt;br /&gt;
=== MeeGo Keyboard ===&lt;br /&gt;
* Key magnification and accent pop-ups (DONE)&lt;br /&gt;
* New word prediction widgets: Word Ribbon (DONE)&lt;br /&gt;
* Extended support for CJK languages&lt;br /&gt;
* Remove libmeegotouch dependency&lt;br /&gt;
&lt;br /&gt;
= Platforms =&lt;br /&gt;
== MeeGo 1.3 ==&lt;br /&gt;
Development in in progress.&lt;br /&gt;
&lt;br /&gt;
MeeGo 1.3 will have Maliit 1.0.&lt;br /&gt;
&lt;br /&gt;
* New maliit-* package-names (DONE)&lt;br /&gt;
* Settings applet for meego-ux-settings&lt;br /&gt;
* Better integration with standard applications&lt;br /&gt;
&lt;br /&gt;
== MeeGo 1.2 ==&lt;br /&gt;
All items in this section are DONE.&lt;br /&gt;
&lt;br /&gt;
=== Framework ===&lt;br /&gt;
* private D-Bus connection&lt;br /&gt;
* new information exposures:&lt;br /&gt;
** anchor position&lt;br /&gt;
** cursor position&lt;br /&gt;
* libmeegotouch removal&lt;br /&gt;
* self-compositing&lt;br /&gt;
* self-rotation animation&lt;br /&gt;
&lt;br /&gt;
=== Engine framework ===&lt;br /&gt;
* New interface: Handwriting recognition&lt;br /&gt;
* New functionality: Dynamic virtual keyboard layout&lt;br /&gt;
&lt;br /&gt;
[[Category:Maliit]]&lt;br /&gt;
[[Category:MeeGo Input Methods]]&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit</id>
		<title>Maliit</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit"/>
				<updated>2011-06-24T20:51:49Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: update event/news - Meego Freeday 24 June&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
[[File:Maliit2.png|448px|link=]]&lt;br /&gt;
&lt;br /&gt;
Maliit provides a flexible and cross-platform input method framework, including a virtual keyboard. It works on all MeeGo user experiences, and in other GNU/Linux distributions.&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
Maliit aims to be ''the'' input method project for MeeGo and other GNU/Linux-based embedded/mobile platforms. To achieve this we should provide:&lt;br /&gt;
&lt;br /&gt;
'''A solid input method framework'''&lt;br /&gt;
&lt;br /&gt;
This includes support for traditional input methods such as hardware and virtual keyboards. More exotic input methods should also be possible, such as handwriting recognition and voice input, and special purpose input methods such as date/time pickers, tag clouds, etc.&lt;br /&gt;
&lt;br /&gt;
'''A core set of input methods'''&lt;br /&gt;
&lt;br /&gt;
The default set of input methods should demonstrate the core capabilities of the framework and provide a good user experience that device manufacturers and integrators can use easily.&lt;br /&gt;
&lt;br /&gt;
We also aim to:&lt;br /&gt;
&lt;br /&gt;
'''Empower third-party developers'''&lt;br /&gt;
&lt;br /&gt;
Customizing existing input methods or developing powerful new input methods should be simple, regardless of whether it is for profit, research or fun.&lt;br /&gt;
&lt;br /&gt;
'''Build a diverse community of contributors'''&lt;br /&gt;
&lt;br /&gt;
Employees from different companies, freelancers, members of academia, hackers and volunteers should all be welcomed and encouraged to contribute to the project.&lt;br /&gt;
&lt;br /&gt;
== Communication channels ==&lt;br /&gt;
&lt;br /&gt;
'''Mailing list:''' meego-inputmethods@lists.meego.com  ([http://lists.meego.com/listinfo/meego-inputmethods listinfo] | [http://lists.meego.com/pipermail/meego-inputmethods/ archives])&lt;br /&gt;
&lt;br /&gt;
'''Bugtracker:''' bugs.meego.com, Product: OS, Component: Virtual Keyboard ([https://bugs.meego.com/buglist.cgi?classification=MeeGo%20Platform&amp;amp;query_based_on=virtual%20keyboard&amp;amp;query_format=advanced&amp;amp;bug_status=NEW&amp;amp;bug_status=NEEDINFO&amp;amp;bug_status=INDEFINITION&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=ACCEPTED&amp;amp;bug_status=WAITING%20FOR%20UPSTREAM&amp;amp;bug_status=WAITING&amp;amp;bug_status=REOPENED&amp;amp;component=Virtual%20keyboard&amp;amp;product=OS%20Base&amp;amp;known_name=virtual%20keyboard open bugs] | &lt;br /&gt;
[https://bugs.meego.com/enter_bug.cgi?product=OS%20Base&amp;amp;component=Virtual%20keyboard file new bug])&lt;br /&gt;
&lt;br /&gt;
'''IRC:''' Visit us in #meego-inputmethods at freenode.net ([http://webchat.freenode.net/?randomnick=1&amp;amp;channels=meego-inputmethods&amp;amp;uio=d4 webchat])&lt;br /&gt;
&lt;br /&gt;
== Upcoming events ==&lt;br /&gt;
* August 6th-12th - Desktop Summit Berlin. Workshops &amp;amp; BoFs planned&lt;br /&gt;
&lt;br /&gt;
== News ==&lt;br /&gt;
* 24.06.2011 - MeeGo Freeday workshop in Berlin. [http://meetmeego.org/2011/06/15/meego-freeday-24-06-2011/ Announcement] (in german) &lt;br /&gt;
* 20.06.2011 - First release (Maliit 0.80) as an independent project. [http://lists.meego.com/pipermail/meego-dev/2011-June/483526.html Announcement]&lt;br /&gt;
* 17.06.2011 - Session at Qt Collaborator Summit 2011. [http://developer.qt.nokia.com/groups/qt_contributors_summit/wiki/Input_methods_and_Wayland_in_Qt_5 Session summary]&lt;br /&gt;
* 07.06.2011 - Session at MeeGo Spring Conference 2011. [http://sf2011.meego.com/program/sessions/developing-custom-input-methods-meego Info, Recording]&lt;br /&gt;
* 08.04.2011 - MeeGo Keyboard is relicensed with BSD license: [http://lists.meego.com/pipermail/meego-dev/2011-April/482578.html Announcement]&lt;br /&gt;
* 29.03.2011 - Held first offical IRC meeting: [[Maliit/Meetings|How can we simplify development and maintenance of input contexts?]]&lt;br /&gt;
* 04.03.2011 - API/ABI break in 0.20.0: [http://lists.meego.com/pipermail/meego-dev/2011-March/481869.html meego-im-framework is removing dependency to libmeegotouch from its API]&lt;br /&gt;
* 23.02.2011 - Packages available for Ubuntu Lucid/Maverick to ease development. [http://taschenorakel.de/michael/2011/02/24/meego-input-methods-your-desktop/ Blogpost], [[#Packages for Ubuntu .2810.04 Lucid Lynx .2F 10.10 Maveric Meerkat.29|documentation]]&lt;br /&gt;
* 17.02.2011 - Claudio Saavedra started on MeeGo+Gtk integration work, focusing on input methods. [http://people.gnome.org/~csaavedra/news-2011-02.html#D10 Blogpost]&lt;br /&gt;
* 13.02.2011 - MeeGo Tablet UX demoed at Mobile World Conference, with Swype keyboard. [http://www.engadget.com/photos/new-meego-tablet-user-experience-hands-on-at-mwc-2011/#3877322 Pictures]&lt;br /&gt;
* 01.02.2011 - API/ABI break in 0.19.41: [http://lists.meego.com/pipermail/meego-dev/2011-February/481353.html meegoimframework interfaces related to orientation change will be changed]&lt;br /&gt;
* 15.11.2010 - Architect and Lead Developer of Maliit give talk at MeeGo Conference. [http://conference2010.meego.com/session/meego-touch-input-method-frameworks Info, Recording]&lt;br /&gt;
* 15.11.2010 - Linpus shows off MeeGo based slate at MeeGo Conference, with keyboard based on Maliit. &lt;br /&gt;
* 30.06.2010 - MeeGo Handset UX Day 1 release, first public release of MeeGo Input Methods. [http://meego.com/community/blogs/valhalla/2010/meego-handset-project-day-1-here Announcement]&lt;br /&gt;
&lt;br /&gt;
== Maliit in action ==&lt;br /&gt;
&lt;br /&gt;
Maliit is used on a number of devices and form factors, and can easily be adapted to run on new ones.&lt;br /&gt;
&lt;br /&gt;
* [http://www.linpus.com/products_meego_slate.html Linpus Slate] ([http://www.linpus.com/images/slate/kb.png screenshot showing Linpus virtual keyboard])&lt;br /&gt;
* [http://appdeveloper.intel.com/en-us/meego-iso-esla Intel MeeGo Tablet] ([http://www.engadget.com/photos/new-meego-tablet-user-experience-hands-on-at-mwc-2011/#3877322 pictures showing Swype keyboard])&lt;br /&gt;
* [http://www.youtube.com/watch?v=l_7f3Lxd4_I GNOME3 on a WeTab (video)]&lt;br /&gt;
* [http://www.youtube.com/watch?v=JOI5g129rtM N9 and Swype integration (video)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;250px&amp;quot; heights=&amp;quot;250px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:Lenovo_meego_vkb.jpg| [[Maliit/MeeGo 1.1#Netbook|MeeGo 1.1 Netbook]] with MeeGo Keyboard on Lenovo S10-3T Ideapad&lt;br /&gt;
Image:Meego1.1_handset_on_aava.jpg| [http://meego.com/downloads/releases/1.1/meego-v1.1-handset MeeGo 1.1 Handset] with MeeGo Keyboard on Aava Mobile&lt;br /&gt;
Image:tegra-vkb2.jpg| MeeGo 1.2 prerelease on [[ARM/TEGRA2|Advent Vega, Tegra2]]&lt;br /&gt;
Image:Maliit-on-lucid.png | Ubuntu Lucid (10.04)&lt;br /&gt;
Image:Maliit-in-GNOME3.jpg | GNOME3 on a WeTab&lt;br /&gt;
Image:Maliit-on-KDE-Plasma.jpg | KDE, using Plasma&lt;br /&gt;
[[File:TransparentPlaceholder.png|link=http://wikipedia.org|caption]]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Ideas</id>
		<title>Maliit/Ideas</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Ideas"/>
				<updated>2011-06-24T20:31:43Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* Other */ add details to Bluetooth&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
Here are some ideas for what you could do with Maliit. Some are things we really want to get done (but have not committed to), some are down-to-earth nice-to-have, while others are perhaps a bit more in the crazy, experimental or show-that-it-can-be-done spirit. Feel free to add ideas here. Use the template idea if you want. For bugs or concrete features suggestions, please use the bugtracker.&lt;br /&gt;
&lt;br /&gt;
=== Template Idea ===&lt;br /&gt;
Short description of the idea.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' How much work does it take to complete this (assuming a Maliit dev. environent is already set up) Example: Easy, 5 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' What is the status of implementing this idea? Example: &amp;quot;In progress, this and that has been done&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' What do people need to know in order to complete the implementation of this idea? Example: Qt | Packaging | Gtk+ | QML &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Who interested people should contact if they want to work on this. This can be a &amp;quot;mentor&amp;quot; that has insight into the relevant areas, or someone who has started working on it. Example: Real Name (ircnick) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Longer description. Ideas, challenges, and considerations for the implementation. Neccesary tasks to complete. Links to other relevant projects or work. Mockups, video demos, et.c.&lt;br /&gt;
&lt;br /&gt;
== Meego Keyboard Ideas ==&lt;br /&gt;
&lt;br /&gt;
===  Key gestures ===&lt;br /&gt;
Input variations of a character using gestures on that key. For instance, to input a upper case A, tap 'a', move upward and release. Accented characters can be done by gesturing sideways.&lt;br /&gt;
&lt;br /&gt;
===  Predictive keyboard ===&lt;br /&gt;
Details of idea can be found under [[Predictive_virtual_keyboard]]. &lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 10 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Meego keyboard, Qt, C++ &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Experimental merge request available &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Michael Hasselmann (mikhas)&lt;br /&gt;
&lt;br /&gt;
Experimental MRQ available: https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/merge_requests/269&lt;br /&gt;
&lt;br /&gt;
Screenshot/demo video pleaz?&lt;br /&gt;
-- Was demonstrated during the Meego Conference San Fransisco talk. Video will hopefully become available&lt;br /&gt;
&lt;br /&gt;
=== Disable invalid keys ===&lt;br /&gt;
Mark keys for invalid input characters as &amp;quot;disabled&amp;quot; in the keyboard.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Simple, 10 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Meego keyboard, Qt, C++ &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person: Jon Nordby (jonnor)'''&lt;br /&gt;
&lt;br /&gt;
Often toolkits will disallow certains characters to be inputted in certain fields. For instance in an URL field or email field, certain characters are invalid. Typically this is indicated by some sort of visual &amp;quot;error&amp;quot; state after the user has tried to input the character. However, it would be nicer if the keyboard would &amp;quot;grey out&amp;quot; or disable keys that are invalid.&lt;br /&gt;
&lt;br /&gt;
This will require the application to transfer the sets of valid (or invalid) characters to the input method, and for the keyboard to disable keys based on this information. This could be done with a JSON string over the extended attributes perhaps. If it is not possible for the application to enumerate all invalid characters, then the input method might have to first inform the application about which characters are available, and then the application tells which of those are invalid.&lt;br /&gt;
&lt;br /&gt;
== Input Method (plugin) Ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Dasher input method ===&lt;br /&gt;
Allow input using a [[:wikipedia:Dasher|Dasher]] input method.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Unknown, 25 hours of work? &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' C/C++, Qt, input method API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:'''&lt;br /&gt;
&lt;br /&gt;
Dasher is a simple but innovative way of doing text input, a for this plugin would be very useful, especially for accessibility.&lt;br /&gt;
Dasher already has a Qt based UI, so it might be possible to reuse large parts of the code.&lt;br /&gt;
&lt;br /&gt;
* [http://git.gnome.org/browse/dasher/ Homepage]&lt;br /&gt;
* [http://git.gnome.org/browse/dasher/ Repository]&lt;br /&gt;
* [https://bugzilla.gnome.org/browse.cgi?product=dasher Bugtracker]&lt;br /&gt;
&lt;br /&gt;
=== Tag cloud input method ===&lt;br /&gt;
'''Difficulty/effort:''' Simple?, 10 hours of work? &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' C/C++, Qt, input method API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:'''&lt;br /&gt;
&lt;br /&gt;
Use the extension attribute API to allow an application to specify a resource that the input method should present.&lt;br /&gt;
Perhaps it could use a SPARQL query string somehow and use tracker? Or just a JSON dictionary with key=tagname and value=(relative)occurence?&lt;br /&gt;
Would perhaps not be too useful in real life without a way to switch input method from application?&lt;br /&gt;
&lt;br /&gt;
=== Clutter-based plugin ===&lt;br /&gt;
Show that input method plugins can be implemented using Clutter.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 15 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Clutter, input method API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:'''&lt;br /&gt;
&lt;br /&gt;
This should be easy to do using [http://git.clutter-project.org/cgit.cgi?url=clutter-qt/tree/README clutter-qt]. Ideally writing such would not require to compile using C++/Qt, but a C/GObject interface be provided.&lt;br /&gt;
&lt;br /&gt;
=== Gtk+ based plugin ===&lt;br /&gt;
Show that input method plugins can be implemented using Gtk+.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Medium, 15 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Gtk+, Qt, input method API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:'''&lt;br /&gt;
&lt;br /&gt;
A bit harder than the Clutter case, but should be possible. In the simple but hacky form have a &amp;lt;code&amp;gt;QWidget&amp;lt;/code&amp;gt; and a &amp;lt;code&amp;gt;GtkWidget&amp;lt;/code&amp;gt; and syncronize the relevant state between them. Let the GtkWidget render offscreen and paint the GtkWidget content to the &amp;lt;code&amp;gt;QWidget&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;::paintEvent()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Python input method plugin interface ===&lt;br /&gt;
Support writing input methods in [[Python]].&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Medium, 15 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Python, PySide, input method API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' [https://bugs.meego.com/show_bug.cgi?id=19298 In progress!] &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person: '''&lt;br /&gt;
&lt;br /&gt;
Python is an officially supported language for Meego. It would be nice if we supported writing plugins using Python. Allowing this can be done in a similar way we currently support QML (see [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/trees/master/input-method-quick input-method-quick code])&lt;br /&gt;
Python bindings would have to be generated for the input method API. This should probably be done using [http://www.pyside.org/ PySide].&lt;br /&gt;
&lt;br /&gt;
== Non-Meego run-time environments ==&lt;br /&gt;
&lt;br /&gt;
=== Maliit in Gnome 3 ===&lt;br /&gt;
Gnome looks to be interested in expanding to touch-centric environments. Therefore showing that Maliit is the right solution to use for input methods in Gnome would be worth-while.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' &lt;br /&gt;
* For prototype demo: Easy, 20 hours of work&lt;br /&gt;
* For really good integration: Medium, xxx hours of work&lt;br /&gt;
'''Skills required:''' Gnome technology, Maliit integration &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Prototype work has been demonstrated &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Jon Nordby (jonnor)&lt;br /&gt;
&lt;br /&gt;
* [http://www.jonnor.com/2011/04/introducing-maliit-on-screen-keyboard-in-gnome-3/ Blogpost demoing Maliit in Gnome 3]&lt;br /&gt;
* [https://live.gnome.org/ThreePointOne/Features/OnScreenKeyboard Gnome 3.2 Feature page for on-screen keyboard]&lt;br /&gt;
* [https://bugzilla.gnome.org/show_bug.cgi?id=612662 Issue in bugtracker for on-screen keyboard]&lt;br /&gt;
&lt;br /&gt;
TODO: document all the things needed for really good integration&lt;br /&gt;
&lt;br /&gt;
=== Maliit on Windows ===&lt;br /&gt;
The main goal here would be to allow plugin development to happen on Windows. Since Meego Input Methods is implemented using Qt, this should in theory not be too hard. However, the DBus transport used between framework and inputcontext might need to be replaced by another IPC, and some X specific code might need to be reimplemented or removed.&lt;br /&gt;
&lt;br /&gt;
See also [[Maliit/Ideas/Supporting_Non_X11_Platforms]]&lt;br /&gt;
&lt;br /&gt;
=== Maliit in KDE ===&lt;br /&gt;
KDE also seems to be growing an interest in on-screen keyboards, touchscreen centric UI and mobile device form factors.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' &lt;br /&gt;
* For prototype demo: Easy, 10 hours of work&lt;br /&gt;
* For really good integration: Medium, xxx hours of work&lt;br /&gt;
'''Skills required:''' KDE technology, Maliit integration &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' ? &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person: '''&lt;br /&gt;
&lt;br /&gt;
* [http://btux1984.wordpress.com/2010/04/28/kdes-onscreen-keyboard Blogpost about onscreen keyboard]&lt;br /&gt;
* [http://apachelog.wordpress.com/2011/05/20/kubuntu-11-10-mobile-devices-sneak-peak/ Blogpost annoucing Kubuntu 11.10 Mobile sneak peak]&lt;br /&gt;
* [https://bugs.kde.org/show_bug.cgi?id=265452 Related issue in bugtracker]&lt;br /&gt;
* [https://blueprints.launchpad.net/ubuntu/+spec/desktop-o-kubuntu-mobile Kubuntu Mobile Oneric blueprint ]&lt;br /&gt;
* [http://i.imgur.com/bbVmf.jpg Prototype screenshot]&lt;br /&gt;
&lt;br /&gt;
=== Maliit in Ubuntu ===&lt;br /&gt;
* [https://blueprints.launchpad.net/ubuntu/+spec/multimedia-dx-n-virtual-keyboard Natty on-screen keyboard blueprint]&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
=== Commandline option to switch between D-Bus session bus and direct socket ===&lt;br /&gt;
Currently a peer-to-peer connection with a socket file is used for input context &amp;lt;-&amp;gt; framework communication. &lt;br /&gt;
Having a option to use the session bus would be nice. This allows one to make use of DBus features like on-demand service activation, or to easily introspect/debug the service.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 20 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' dbus, dbus-glib, C/C++ &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Basically, revert http://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/commit/1aa9a502005293bf4a808aaed87142f6dbcdffdb &lt;br /&gt;
* Add a commandline option to choose between the two methods&lt;br /&gt;
* Update the standard input contexts to also support session bus service (and prefer that one over the socket?)&lt;br /&gt;
&lt;br /&gt;
=== Direct C/C++ Input Context API ===&lt;br /&gt;
Direct API for input context (no DBus connection).&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 15 hours &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Qt, C++, input context api &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A direct API means that the framework can be tested without having to start up DBus, and that it can run on platforms with DBus.&lt;br /&gt;
&lt;br /&gt;
=== Free and open source correction/prediction plugin ===&lt;br /&gt;
Currently there is no free error correction/prediction engine plugin. We of course want to provide this. &lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 20 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' C/C++, usage of spelling engines &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk. Help wanted! &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This could be done using one of the existing free spelling engines. &lt;br /&gt;
An analysis of the different options should be done before starting on the implementation, looking at the advantages/disadvantages of each. For instance, it might not be that all spelling engines can provide word-prediction.&lt;br /&gt;
&lt;br /&gt;
* [http://aspell.net/ Aspell]&lt;br /&gt;
* [http://www.gnu.org/software/ispell/ispell.html Ispell]&lt;br /&gt;
* [http://hunspell.sourceforge.net/ Hunspell]&lt;br /&gt;
* [http://www.abisource.com/projects/enchant/ Enchant]&lt;br /&gt;
* [http://presage.sourceforge.net/ Presage] [http://www.joaquimrocha.com/2010/03/03/text-prediction-on-gnome/ (blogpost)] (for prediction)&lt;br /&gt;
* Dasher, might be able to use its backend (for prediction)&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth keyboard ===&lt;br /&gt;
This would allow you to use a device running Maliit as an input device for other Bluetooth enabled devices.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Unknown, ? hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' C++, Bluetooth &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk! &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Bluemaemo BlueMaemo] does this already for Maemo. It could be used as reference, or maybe code can be reused from there.&lt;br /&gt;
&lt;br /&gt;
== Completed or partially-completed ideas ==&lt;br /&gt;
Please move ideas here one they have been implemented/explored, and document the effort.&lt;br /&gt;
&lt;br /&gt;
=== QML-based plugin ===&lt;br /&gt;
Show that input method plugins can be implemented using Qt Quick and QML.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Done! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Michael Hasselmann (mikhas) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A QML-based input method plugin (keyboard) can be found in the keyboard repositor under meego-keyboard-quick. See [http://taschenorakel.de/michael/2011/05/12/writing-qml-based-input-methods-maliit/ the blogpost announcement] for more details.&lt;br /&gt;
&lt;br /&gt;
=== Maliit on Freemantle+N900 ===&lt;br /&gt;
Demonstrate that Maliit can run on Freemantle/N900.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Done! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Michael Hasselmann (mikhas) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maliit framework and the Meego Quick keyboard is available in the extras-devel repository. See [[Maliit/Installing]] for how to install. The [http://taschenorakel.de/michael/2011/05/12/writing-qml-based-input-methods-maliit announcement blogpost] also has some info.&lt;br /&gt;
&lt;br /&gt;
=== Input Method Plugin SDK ===&lt;br /&gt;
Development kit to enable third-party developers to easily create new input methods.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 20 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Input Method plugin API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Still room for improvement &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Jon Nordby (jonnor) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Current plugin SDK available from [[Maliit/Documentation]]&lt;br /&gt;
&lt;br /&gt;
A good SDK would consist of:&lt;br /&gt;
* (80%) Comprehensive documentation for plugin API&lt;br /&gt;
* (60%) Task-oriented documentation for how to develop a plugin&lt;br /&gt;
* (DONE) Skeleton/example code to make it easy to get started&lt;br /&gt;
* (DONE) Above items easily available for the target platforms&lt;br /&gt;
* (TODO) Tools/utilities to make development easier&lt;br /&gt;
** Currently setting the correct plugin requires fiddling with gconf&lt;br /&gt;
** Currently one has to run/restart the uiserver manually&lt;br /&gt;
** Currently running the test application with the correct inputcontext has to be done manually&lt;br /&gt;
&lt;br /&gt;
=== Window relocation ===&lt;br /&gt;
When the application/toolkit does not support widget relocation, fall back to relocating the window to try to keep the text input field visible on screen.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Medium, 15 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' X11, ICCM, EWMH &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Prototype work done &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Jon Nordby (jonnor) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Branch: https://meego.gitorious.org/~jonnor/meegotouch/jonnors-meegotouch-inputmethodframework/commits/windowrelocation-proto1&lt;br /&gt;
&lt;br /&gt;
Current code will move/resize the focused window to avoid the input method area when it grows, and restore them when input method area shrinks again.&lt;br /&gt;
&lt;br /&gt;
Current challenges and ideas for improvement: &lt;br /&gt;
* Applications will use the desktop area to figure out how big they can make override-redirect windows and other UI element, leading them to go above the input method area. Modifying the X atoms that govern the value of this area would improve this alot.&lt;br /&gt;
* No way to tell if a given application window supports widget relocation or not. If the app/window supports widget relocation, it should be preferred. Window relocation should either not happen or if the , work as an additional &amp;quot;level&amp;quot; in the relocation chain.&lt;br /&gt;
* The current code will move the entire window. Relocation should only happen to ensure that the input widget is not obscured. This can be done by getting that information from input context through the widgetState dictionary.&lt;br /&gt;
* There are significant limitations to how much windows can be resized. Not much possible here without changing the application or application framework.&lt;br /&gt;
** A concept that might be worth trying is to let applications have scrollable areas, and for the app framework to be responsible for keeping the focused widget inside the window when resized. This could have the benefit that it would work. On the other hand, just doing proper (basic) widget relocation would not be much harder...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Ideas</id>
		<title>Maliit/Ideas</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Ideas"/>
				<updated>2011-06-24T13:56:53Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* Meego Keyboard Ideas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
Here are some ideas for what you could do with Maliit. Some are things we really want to get done (but have not committed to), some are down-to-earth nice-to-have, while others are perhaps a bit more in the crazy, experimental or show-that-it-can-be-done spirit. Feel free to add ideas here. Use the template idea if you want. For bugs or concrete features suggestions, please use the bugtracker.&lt;br /&gt;
&lt;br /&gt;
=== Template Idea ===&lt;br /&gt;
Short description of the idea.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' How much work does it take to complete this (assuming a Maliit dev. environent is already set up) Example: Easy, 5 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' What is the status of implementing this idea? Example: &amp;quot;In progress, this and that has been done&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' What do people need to know in order to complete the implementation of this idea? Example: Qt | Packaging | Gtk+ | QML &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Who interested people should contact if they want to work on this. This can be a &amp;quot;mentor&amp;quot; that has insight into the relevant areas, or someone who has started working on it. Example: Real Name (ircnick) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Longer description. Ideas, challenges, and considerations for the implementation. Neccesary tasks to complete. Links to other relevant projects or work. Mockups, video demos, et.c.&lt;br /&gt;
&lt;br /&gt;
== Meego Keyboard Ideas ==&lt;br /&gt;
&lt;br /&gt;
===  Key gestures ===&lt;br /&gt;
Input variations of a character using gestures on that key. For instance, to input a upper case A, tap 'a', move upward and release. Accented characters can be done by gesturing sideways.&lt;br /&gt;
&lt;br /&gt;
===  Predictive keyboard ===&lt;br /&gt;
Details of idea can be found under [[Predictive_virtual_keyboard]]. &lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 10 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Meego keyboard, Qt, C++ &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Experimental merge request available &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Michael Hasselmann (mikhas)&lt;br /&gt;
&lt;br /&gt;
Experimental MRQ available: https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/merge_requests/269&lt;br /&gt;
&lt;br /&gt;
Screenshot/demo video pleaz?&lt;br /&gt;
-- Was demonstrated during the Meego Conference San Fransisco talk. Video will hopefully become available&lt;br /&gt;
&lt;br /&gt;
=== Disable invalid keys ===&lt;br /&gt;
Mark keys for invalid input characters as &amp;quot;disabled&amp;quot; in the keyboard.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Simple, 10 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Meego keyboard, Qt, C++ &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person: Jon Nordby (jonnor)'''&lt;br /&gt;
&lt;br /&gt;
Often toolkits will disallow certains characters to be inputted in certain fields. For instance in an URL field or email field, certain characters are invalid. Typically this is indicated by some sort of visual &amp;quot;error&amp;quot; state after the user has tried to input the character. However, it would be nicer if the keyboard would &amp;quot;grey out&amp;quot; or disable keys that are invalid.&lt;br /&gt;
&lt;br /&gt;
This will require the application to transfer the sets of valid (or invalid) characters to the input method, and for the keyboard to disable keys based on this information. This could be done with a JSON string over the extended attributes perhaps. If it is not possible for the application to enumerate all invalid characters, then the input method might have to first inform the application about which characters are available, and then the application tells which of those are invalid.&lt;br /&gt;
&lt;br /&gt;
== Input Method (plugin) Ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Dasher input method ===&lt;br /&gt;
Allow input using a [[:wikipedia:Dasher|Dasher]] input method.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Unknown, 25 hours of work? &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' C/C++, Qt, input method API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:'''&lt;br /&gt;
&lt;br /&gt;
Dasher is a simple but innovative way of doing text input, a for this plugin would be very useful, especially for accessibility.&lt;br /&gt;
Dasher already has a Qt based UI, so it might be possible to reuse large parts of the code.&lt;br /&gt;
&lt;br /&gt;
* [http://git.gnome.org/browse/dasher/ Homepage]&lt;br /&gt;
* [http://git.gnome.org/browse/dasher/ Repository]&lt;br /&gt;
* [https://bugzilla.gnome.org/browse.cgi?product=dasher Bugtracker]&lt;br /&gt;
&lt;br /&gt;
=== Tag cloud input method ===&lt;br /&gt;
'''Difficulty/effort:''' Simple?, 10 hours of work? &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' C/C++, Qt, input method API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:'''&lt;br /&gt;
&lt;br /&gt;
Use the extension attribute API to allow an application to specify a resource that the input method should present.&lt;br /&gt;
Perhaps it could use a SPARQL query string somehow and use tracker? Or just a JSON dictionary with key=tagname and value=(relative)occurence?&lt;br /&gt;
Would perhaps not be too useful in real life without a way to switch input method from application?&lt;br /&gt;
&lt;br /&gt;
=== Clutter-based plugin ===&lt;br /&gt;
Show that input method plugins can be implemented using Clutter.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 15 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Clutter, input method API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:'''&lt;br /&gt;
&lt;br /&gt;
This should be easy to do using [http://git.clutter-project.org/cgit.cgi?url=clutter-qt/tree/README clutter-qt]. Ideally writing such would not require to compile using C++/Qt, but a C/GObject interface be provided.&lt;br /&gt;
&lt;br /&gt;
=== Gtk+ based plugin ===&lt;br /&gt;
Show that input method plugins can be implemented using Gtk+.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Medium, 15 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Gtk+, Qt, input method API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:'''&lt;br /&gt;
&lt;br /&gt;
A bit harder than the Clutter case, but should be possible. In the simple but hacky form have a &amp;lt;code&amp;gt;QWidget&amp;lt;/code&amp;gt; and a &amp;lt;code&amp;gt;GtkWidget&amp;lt;/code&amp;gt; and syncronize the relevant state between them. Let the GtkWidget render offscreen and paint the GtkWidget content to the &amp;lt;code&amp;gt;QWidget&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;::paintEvent()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Python input method plugin interface ===&lt;br /&gt;
Support writing input methods in [[Python]].&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Medium, 15 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Python, PySide, input method API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' [https://bugs.meego.com/show_bug.cgi?id=19298 In progress!] &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person: '''&lt;br /&gt;
&lt;br /&gt;
Python is an officially supported language for Meego. It would be nice if we supported writing plugins using Python. Allowing this can be done in a similar way we currently support QML (see [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/trees/master/input-method-quick input-method-quick code])&lt;br /&gt;
Python bindings would have to be generated for the input method API. This should probably be done using [http://www.pyside.org/ PySide].&lt;br /&gt;
&lt;br /&gt;
== Non-Meego run-time environments ==&lt;br /&gt;
&lt;br /&gt;
=== Maliit in Gnome 3 ===&lt;br /&gt;
Gnome looks to be interested in expanding to touch-centric environments. Therefore showing that Maliit is the right solution to use for input methods in Gnome would be worth-while.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' &lt;br /&gt;
* For prototype demo: Easy, 20 hours of work&lt;br /&gt;
* For really good integration: Medium, xxx hours of work&lt;br /&gt;
'''Skills required:''' Gnome technology, Maliit integration &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Prototype work has been demonstrated &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Jon Nordby (jonnor)&lt;br /&gt;
&lt;br /&gt;
* [http://www.jonnor.com/2011/04/introducing-maliit-on-screen-keyboard-in-gnome-3/ Blogpost demoing Maliit in Gnome 3]&lt;br /&gt;
* [https://live.gnome.org/ThreePointOne/Features/OnScreenKeyboard Gnome 3.2 Feature page for on-screen keyboard]&lt;br /&gt;
* [https://bugzilla.gnome.org/show_bug.cgi?id=612662 Issue in bugtracker for on-screen keyboard]&lt;br /&gt;
&lt;br /&gt;
TODO: document all the things needed for really good integration&lt;br /&gt;
&lt;br /&gt;
=== Maliit on Windows ===&lt;br /&gt;
The main goal here would be to allow plugin development to happen on Windows. Since Meego Input Methods is implemented using Qt, this should in theory not be too hard. However, the DBus transport used between framework and inputcontext might need to be replaced by another IPC, and some X specific code might need to be reimplemented or removed.&lt;br /&gt;
&lt;br /&gt;
See also [[Maliit/Ideas/Supporting_Non_X11_Platforms]]&lt;br /&gt;
&lt;br /&gt;
=== Maliit in KDE ===&lt;br /&gt;
KDE also seems to be growing an interest in on-screen keyboards, touchscreen centric UI and mobile device form factors.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' &lt;br /&gt;
* For prototype demo: Easy, 10 hours of work&lt;br /&gt;
* For really good integration: Medium, xxx hours of work&lt;br /&gt;
'''Skills required:''' KDE technology, Maliit integration &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' ? &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person: '''&lt;br /&gt;
&lt;br /&gt;
* [http://btux1984.wordpress.com/2010/04/28/kdes-onscreen-keyboard Blogpost about onscreen keyboard]&lt;br /&gt;
* [http://apachelog.wordpress.com/2011/05/20/kubuntu-11-10-mobile-devices-sneak-peak/ Blogpost annoucing Kubuntu 11.10 Mobile sneak peak]&lt;br /&gt;
* [https://bugs.kde.org/show_bug.cgi?id=265452 Related issue in bugtracker]&lt;br /&gt;
* [https://blueprints.launchpad.net/ubuntu/+spec/desktop-o-kubuntu-mobile Kubuntu Mobile Oneric blueprint ]&lt;br /&gt;
* [http://i.imgur.com/bbVmf.jpg Prototype screenshot]&lt;br /&gt;
&lt;br /&gt;
=== Maliit in Ubuntu ===&lt;br /&gt;
* [https://blueprints.launchpad.net/ubuntu/+spec/multimedia-dx-n-virtual-keyboard Natty on-screen keyboard blueprint]&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
=== Commandline option to switch between D-Bus session bus and direct socket ===&lt;br /&gt;
Currently a peer-to-peer connection with a socket file is used for input context &amp;lt;-&amp;gt; framework communication. &lt;br /&gt;
Having a option to use the session bus would be nice. This allows one to make use of DBus features like on-demand service activation, or to easily introspect/debug the service.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 20 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' dbus, dbus-glib, C/C++ &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Basically, revert http://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/commit/1aa9a502005293bf4a808aaed87142f6dbcdffdb &lt;br /&gt;
* Add a commandline option to choose between the two methods&lt;br /&gt;
* Update the standard input contexts to also support session bus service (and prefer that one over the socket?)&lt;br /&gt;
&lt;br /&gt;
=== Direct C/C++ Input Context API ===&lt;br /&gt;
Direct API for input context (no DBus connection).&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 15 hours &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Qt, C++, input context api &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A direct API means that the framework can be tested without having to start up DBus, and that it can run on platforms with DBus.&lt;br /&gt;
&lt;br /&gt;
=== Free and open source correction/prediction plugin ===&lt;br /&gt;
Currently there is no free error correction/prediction engine plugin. We of course want to provide this. &lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 20 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' C/C++, usage of spelling engines &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk. Help wanted! &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This could be done using one of the existing free spelling engines. &lt;br /&gt;
An analysis of the different options should be done before starting on the implementation, looking at the advantages/disadvantages of each. For instance, it might not be that all spelling engines can provide word-prediction.&lt;br /&gt;
&lt;br /&gt;
* [http://aspell.net/ Aspell]&lt;br /&gt;
* [http://www.gnu.org/software/ispell/ispell.html Ispell]&lt;br /&gt;
* [http://hunspell.sourceforge.net/ Hunspell]&lt;br /&gt;
* [http://www.abisource.com/projects/enchant/ Enchant]&lt;br /&gt;
* [http://presage.sourceforge.net/ Presage] [http://www.joaquimrocha.com/2010/03/03/text-prediction-on-gnome/ (blogpost)] (for prediction)&lt;br /&gt;
* Dasher, might be able to use its backend (for prediction)&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth keyboard ===&lt;br /&gt;
This would allow you to use your Meego device as a keyboard for other Bluetooth enabled devices.&lt;br /&gt;
&lt;br /&gt;
== Completed or partially-completed ideas ==&lt;br /&gt;
Please move ideas here one they have been implemented/explored, and document the effort.&lt;br /&gt;
&lt;br /&gt;
=== QML-based plugin ===&lt;br /&gt;
Show that input method plugins can be implemented using Qt Quick and QML.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Done! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Michael Hasselmann (mikhas) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A QML-based input method plugin (keyboard) can be found in the keyboard repositor under meego-keyboard-quick. See [http://taschenorakel.de/michael/2011/05/12/writing-qml-based-input-methods-maliit/ the blogpost announcement] for more details.&lt;br /&gt;
&lt;br /&gt;
=== Maliit on Freemantle+N900 ===&lt;br /&gt;
Demonstrate that Maliit can run on Freemantle/N900.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Done! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Michael Hasselmann (mikhas) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maliit framework and the Meego Quick keyboard is available in the extras-devel repository. See [[Maliit/Installing]] for how to install. The [http://taschenorakel.de/michael/2011/05/12/writing-qml-based-input-methods-maliit announcement blogpost] also has some info.&lt;br /&gt;
&lt;br /&gt;
=== Input Method Plugin SDK ===&lt;br /&gt;
Development kit to enable third-party developers to easily create new input methods.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 20 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Input Method plugin API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Still room for improvement &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Jon Nordby (jonnor) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Current plugin SDK available from [[Maliit/Documentation]]&lt;br /&gt;
&lt;br /&gt;
A good SDK would consist of:&lt;br /&gt;
* (80%) Comprehensive documentation for plugin API&lt;br /&gt;
* (60%) Task-oriented documentation for how to develop a plugin&lt;br /&gt;
* (DONE) Skeleton/example code to make it easy to get started&lt;br /&gt;
* (DONE) Above items easily available for the target platforms&lt;br /&gt;
* (TODO) Tools/utilities to make development easier&lt;br /&gt;
** Currently setting the correct plugin requires fiddling with gconf&lt;br /&gt;
** Currently one has to run/restart the uiserver manually&lt;br /&gt;
** Currently running the test application with the correct inputcontext has to be done manually&lt;br /&gt;
&lt;br /&gt;
=== Window relocation ===&lt;br /&gt;
When the application/toolkit does not support widget relocation, fall back to relocating the window to try to keep the text input field visible on screen.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Medium, 15 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' X11, ICCM, EWMH &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Prototype work done &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Jon Nordby (jonnor) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Branch: https://meego.gitorious.org/~jonnor/meegotouch/jonnors-meegotouch-inputmethodframework/commits/windowrelocation-proto1&lt;br /&gt;
&lt;br /&gt;
Current code will move/resize the focused window to avoid the input method area when it grows, and restore them when input method area shrinks again.&lt;br /&gt;
&lt;br /&gt;
Current challenges and ideas for improvement: &lt;br /&gt;
* Applications will use the desktop area to figure out how big they can make override-redirect windows and other UI element, leading them to go above the input method area. Modifying the X atoms that govern the value of this area would improve this alot.&lt;br /&gt;
* No way to tell if a given application window supports widget relocation or not. If the app/window supports widget relocation, it should be preferred. Window relocation should either not happen or if the , work as an additional &amp;quot;level&amp;quot; in the relocation chain.&lt;br /&gt;
* The current code will move the entire window. Relocation should only happen to ensure that the input widget is not obscured. This can be done by getting that information from input context through the widgetState dictionary.&lt;br /&gt;
* There are significant limitations to how much windows can be resized. Not much possible here without changing the application or application framework.&lt;br /&gt;
** A concept that might be worth trying is to let applications have scrollable areas, and for the app framework to be responsible for keeping the focused widget inside the window when resized. This could have the benefit that it would work. On the other hand, just doing proper (basic) widget relocation would not be much harder...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Ideas</id>
		<title>Maliit/Ideas</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Ideas"/>
				<updated>2011-06-24T13:08:21Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* Input Method (plugin) Ideas */ tag input method&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
Here are some ideas for what you could do with Maliit. Some are things we really want to get done (but have not committed to), some are down-to-earth nice-to-have, while others are perhaps a bit more in the crazy, experimental or show-that-it-can-be-done spirit. Feel free to add ideas here. Use the template idea if you want. For bugs or concrete features suggestions, please use the bugtracker.&lt;br /&gt;
&lt;br /&gt;
=== Template Idea ===&lt;br /&gt;
Short description of the idea.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' How much work does it take to complete this (assuming a Maliit dev. environent is already set up) Example: Easy, 5 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' What is the status of implementing this idea? Example: &amp;quot;In progress, this and that has been done&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' What do people need to know in order to complete the implementation of this idea? Example: Qt | Packaging | Gtk+ | QML &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Who interested people should contact if they want to work on this. This can be a &amp;quot;mentor&amp;quot; that has insight into the relevant areas, or someone who has started working on it. Example: Real Name (ircnick) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Longer description. Ideas, challenges, and considerations for the implementation. Neccesary tasks to complete. Links to other relevant projects or work. Mockups, video demos, et.c.&lt;br /&gt;
&lt;br /&gt;
== Meego Keyboard Ideas ==&lt;br /&gt;
&lt;br /&gt;
===  Key gestures ===&lt;br /&gt;
Input variations of a character using gestures on that key. For instance, to input a upper case A, tap 'a', move upward and release. Accented characters can be done by gesturing sideways.&lt;br /&gt;
&lt;br /&gt;
===  Predictive keyboard ===&lt;br /&gt;
Details of idea can be found under [[Predictive_virtual_keyboard]]. &lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 10 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Meego keyboard, Qt, C++ &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Experimental merge request available &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Michael Hasselmann (mikhas)&lt;br /&gt;
&lt;br /&gt;
Experimental MRQ available: https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/merge_requests/269&lt;br /&gt;
&lt;br /&gt;
Screenshot/demo video pleaz?&lt;br /&gt;
-- Was demonstrated during the Meego Conference San Fransisco talk. Video will hopefully become available&lt;br /&gt;
&lt;br /&gt;
== Input Method (plugin) Ideas ==&lt;br /&gt;
&lt;br /&gt;
=== Dasher input method ===&lt;br /&gt;
Allow input using a [[:wikipedia:Dasher|Dasher]] input method.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Unknown, 25 hours of work? &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' C/C++, Qt, input method API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:'''&lt;br /&gt;
&lt;br /&gt;
Dasher is a simple but innovative way of doing text input, a for this plugin would be very useful, especially for accessibility.&lt;br /&gt;
Dasher already has a Qt based UI, so it might be possible to reuse large parts of the code.&lt;br /&gt;
&lt;br /&gt;
* [http://git.gnome.org/browse/dasher/ Homepage]&lt;br /&gt;
* [http://git.gnome.org/browse/dasher/ Repository]&lt;br /&gt;
* [https://bugzilla.gnome.org/browse.cgi?product=dasher Bugtracker]&lt;br /&gt;
&lt;br /&gt;
=== Tag cloud input method ===&lt;br /&gt;
'''Difficulty/effort:''' Simple?, 10 hours of work? &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' C/C++, Qt, input method API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:'''&lt;br /&gt;
&lt;br /&gt;
Use the extension attribute API to allow an application to specify a resource that the input method should present.&lt;br /&gt;
Perhaps it could use a SPARQL query string somehow and use tracker? Or just a JSON dictionary with key=tagname and value=(relative)occurence?&lt;br /&gt;
Would perhaps not be too useful in real life without a way to switch input method from application?&lt;br /&gt;
&lt;br /&gt;
=== Clutter-based plugin ===&lt;br /&gt;
Show that input method plugins can be implemented using Clutter.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 15 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Clutter, input method API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:'''&lt;br /&gt;
&lt;br /&gt;
This should be easy to do using [http://git.clutter-project.org/cgit.cgi?url=clutter-qt/tree/README clutter-qt]. Ideally writing such would not require to compile using C++/Qt, but a C/GObject interface be provided.&lt;br /&gt;
&lt;br /&gt;
=== Gtk+ based plugin ===&lt;br /&gt;
Show that input method plugins can be implemented using Gtk+.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Medium, 15 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Gtk+, Qt, input method API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:'''&lt;br /&gt;
&lt;br /&gt;
A bit harder than the Clutter case, but should be possible. In the simple but hacky form have a &amp;lt;code&amp;gt;QWidget&amp;lt;/code&amp;gt; and a &amp;lt;code&amp;gt;GtkWidget&amp;lt;/code&amp;gt; and syncronize the relevant state between them. Let the GtkWidget render offscreen and paint the GtkWidget content to the &amp;lt;code&amp;gt;QWidget&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;::paintEvent()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Python input method plugin interface ===&lt;br /&gt;
Support writing input methods in [[Python]].&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Medium, 15 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Python, PySide, input method API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' [https://bugs.meego.com/show_bug.cgi?id=19298 In progress!] &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person: '''&lt;br /&gt;
&lt;br /&gt;
Python is an officially supported language for Meego. It would be nice if we supported writing plugins using Python. Allowing this can be done in a similar way we currently support QML (see [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/trees/master/input-method-quick input-method-quick code])&lt;br /&gt;
Python bindings would have to be generated for the input method API. This should probably be done using [http://www.pyside.org/ PySide].&lt;br /&gt;
&lt;br /&gt;
== Non-Meego run-time environments ==&lt;br /&gt;
&lt;br /&gt;
=== Maliit in Gnome 3 ===&lt;br /&gt;
Gnome looks to be interested in expanding to touch-centric environments. Therefore showing that Maliit is the right solution to use for input methods in Gnome would be worth-while.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' &lt;br /&gt;
* For prototype demo: Easy, 20 hours of work&lt;br /&gt;
* For really good integration: Medium, xxx hours of work&lt;br /&gt;
'''Skills required:''' Gnome technology, Maliit integration &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Prototype work has been demonstrated &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Jon Nordby (jonnor)&lt;br /&gt;
&lt;br /&gt;
* [http://www.jonnor.com/2011/04/introducing-maliit-on-screen-keyboard-in-gnome-3/ Blogpost demoing Maliit in Gnome 3]&lt;br /&gt;
* [https://live.gnome.org/ThreePointOne/Features/OnScreenKeyboard Gnome 3.2 Feature page for on-screen keyboard]&lt;br /&gt;
* [https://bugzilla.gnome.org/show_bug.cgi?id=612662 Issue in bugtracker for on-screen keyboard]&lt;br /&gt;
&lt;br /&gt;
TODO: document all the things needed for really good integration&lt;br /&gt;
&lt;br /&gt;
=== Maliit on Windows ===&lt;br /&gt;
The main goal here would be to allow plugin development to happen on Windows. Since Meego Input Methods is implemented using Qt, this should in theory not be too hard. However, the DBus transport used between framework and inputcontext might need to be replaced by another IPC, and some X specific code might need to be reimplemented or removed.&lt;br /&gt;
&lt;br /&gt;
See also [[Maliit/Ideas/Supporting_Non_X11_Platforms]]&lt;br /&gt;
&lt;br /&gt;
=== Maliit in KDE ===&lt;br /&gt;
KDE also seems to be growing an interest in on-screen keyboards, touchscreen centric UI and mobile device form factors.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' &lt;br /&gt;
* For prototype demo: Easy, 10 hours of work&lt;br /&gt;
* For really good integration: Medium, xxx hours of work&lt;br /&gt;
'''Skills required:''' KDE technology, Maliit integration &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' ? &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person: '''&lt;br /&gt;
&lt;br /&gt;
* [http://btux1984.wordpress.com/2010/04/28/kdes-onscreen-keyboard Blogpost about onscreen keyboard]&lt;br /&gt;
* [http://apachelog.wordpress.com/2011/05/20/kubuntu-11-10-mobile-devices-sneak-peak/ Blogpost annoucing Kubuntu 11.10 Mobile sneak peak]&lt;br /&gt;
* [https://bugs.kde.org/show_bug.cgi?id=265452 Related issue in bugtracker]&lt;br /&gt;
* [https://blueprints.launchpad.net/ubuntu/+spec/desktop-o-kubuntu-mobile Kubuntu Mobile Oneric blueprint ]&lt;br /&gt;
* [http://i.imgur.com/bbVmf.jpg Prototype screenshot]&lt;br /&gt;
&lt;br /&gt;
=== Maliit in Ubuntu ===&lt;br /&gt;
* [https://blueprints.launchpad.net/ubuntu/+spec/multimedia-dx-n-virtual-keyboard Natty on-screen keyboard blueprint]&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
=== Commandline option to switch between D-Bus session bus and direct socket ===&lt;br /&gt;
Currently a peer-to-peer connection with a socket file is used for input context &amp;lt;-&amp;gt; framework communication. &lt;br /&gt;
Having a option to use the session bus would be nice. This allows one to make use of DBus features like on-demand service activation, or to easily introspect/debug the service.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 20 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' dbus, dbus-glib, C/C++ &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Basically, revert http://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/commit/1aa9a502005293bf4a808aaed87142f6dbcdffdb &lt;br /&gt;
* Add a commandline option to choose between the two methods&lt;br /&gt;
* Update the standard input contexts to also support session bus service (and prefer that one over the socket?)&lt;br /&gt;
&lt;br /&gt;
=== Direct C/C++ Input Context API ===&lt;br /&gt;
Direct API for input context (no DBus connection).&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 15 hours &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Qt, C++, input context api &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A direct API means that the framework can be tested without having to start up DBus, and that it can run on platforms with DBus.&lt;br /&gt;
&lt;br /&gt;
=== Free and open source correction/prediction plugin ===&lt;br /&gt;
Currently there is no free error correction/prediction engine plugin. We of course want to provide this. &lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 20 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' C/C++, usage of spelling engines &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk. Help wanted! &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This could be done using one of the existing free spelling engines. &lt;br /&gt;
An analysis of the different options should be done before starting on the implementation, looking at the advantages/disadvantages of each. For instance, it might not be that all spelling engines can provide word-prediction.&lt;br /&gt;
&lt;br /&gt;
* [http://aspell.net/ Aspell]&lt;br /&gt;
* [http://www.gnu.org/software/ispell/ispell.html Ispell]&lt;br /&gt;
* [http://hunspell.sourceforge.net/ Hunspell]&lt;br /&gt;
* [http://www.abisource.com/projects/enchant/ Enchant]&lt;br /&gt;
* [http://presage.sourceforge.net/ Presage] [http://www.joaquimrocha.com/2010/03/03/text-prediction-on-gnome/ (blogpost)] (for prediction)&lt;br /&gt;
* Dasher, might be able to use its backend (for prediction)&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth keyboard ===&lt;br /&gt;
This would allow you to use your Meego device as a keyboard for other Bluetooth enabled devices.&lt;br /&gt;
&lt;br /&gt;
== Completed or partially-completed ideas ==&lt;br /&gt;
Please move ideas here one they have been implemented/explored, and document the effort.&lt;br /&gt;
&lt;br /&gt;
=== QML-based plugin ===&lt;br /&gt;
Show that input method plugins can be implemented using Qt Quick and QML.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Done! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Michael Hasselmann (mikhas) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A QML-based input method plugin (keyboard) can be found in the keyboard repositor under meego-keyboard-quick. See [http://taschenorakel.de/michael/2011/05/12/writing-qml-based-input-methods-maliit/ the blogpost announcement] for more details.&lt;br /&gt;
&lt;br /&gt;
=== Maliit on Freemantle+N900 ===&lt;br /&gt;
Demonstrate that Maliit can run on Freemantle/N900.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Done! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Michael Hasselmann (mikhas) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maliit framework and the Meego Quick keyboard is available in the extras-devel repository. See [[Maliit/Installing]] for how to install. The [http://taschenorakel.de/michael/2011/05/12/writing-qml-based-input-methods-maliit announcement blogpost] also has some info.&lt;br /&gt;
&lt;br /&gt;
=== Input Method Plugin SDK ===&lt;br /&gt;
Development kit to enable third-party developers to easily create new input methods.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 20 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Input Method plugin API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Still room for improvement &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Jon Nordby (jonnor) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Current plugin SDK available from [[Maliit/Documentation]]&lt;br /&gt;
&lt;br /&gt;
A good SDK would consist of:&lt;br /&gt;
* (80%) Comprehensive documentation for plugin API&lt;br /&gt;
* (60%) Task-oriented documentation for how to develop a plugin&lt;br /&gt;
* (DONE) Skeleton/example code to make it easy to get started&lt;br /&gt;
* (DONE) Above items easily available for the target platforms&lt;br /&gt;
* (TODO) Tools/utilities to make development easier&lt;br /&gt;
** Currently setting the correct plugin requires fiddling with gconf&lt;br /&gt;
** Currently one has to run/restart the uiserver manually&lt;br /&gt;
** Currently running the test application with the correct inputcontext has to be done manually&lt;br /&gt;
&lt;br /&gt;
=== Window relocation ===&lt;br /&gt;
When the application/toolkit does not support widget relocation, fall back to relocating the window to try to keep the text input field visible on screen.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Medium, 15 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' X11, ICCM, EWMH &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Prototype work done &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Jon Nordby (jonnor) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Branch: https://meego.gitorious.org/~jonnor/meegotouch/jonnors-meegotouch-inputmethodframework/commits/windowrelocation-proto1&lt;br /&gt;
&lt;br /&gt;
Current code will move/resize the focused window to avoid the input method area when it grows, and restore them when input method area shrinks again.&lt;br /&gt;
&lt;br /&gt;
Current challenges and ideas for improvement: &lt;br /&gt;
* Applications will use the desktop area to figure out how big they can make override-redirect windows and other UI element, leading them to go above the input method area. Modifying the X atoms that govern the value of this area would improve this alot.&lt;br /&gt;
* No way to tell if a given application window supports widget relocation or not. If the app/window supports widget relocation, it should be preferred. Window relocation should either not happen or if the , work as an additional &amp;quot;level&amp;quot; in the relocation chain.&lt;br /&gt;
* The current code will move the entire window. Relocation should only happen to ensure that the input widget is not obscured. This can be done by getting that information from input context through the widgetState dictionary.&lt;br /&gt;
* There are significant limitations to how much windows can be resized. Not much possible here without changing the application or application framework.&lt;br /&gt;
** A concept that might be worth trying is to let applications have scrollable areas, and for the app framework to be responsible for keeping the focused widget inside the window when resized. This could have the benefit that it would work. On the other hand, just doing proper (basic) widget relocation would not be much harder...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Ideas</id>
		<title>Maliit/Ideas</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Ideas"/>
				<updated>2011-06-24T12:43:05Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* Python input method plugin interface */ status update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
Here are some ideas for what you could do with Maliit. Some are things we really want to get done (but have not committed to), some are down-to-earth nice-to-have, while others are perhaps a bit more in the crazy, experimental or show-that-it-can-be-done spirit. Feel free to add ideas here. Use the template idea if you want. For bugs or concrete features suggestions, please use the bugtracker.&lt;br /&gt;
&lt;br /&gt;
=== Template Idea ===&lt;br /&gt;
Short description of the idea.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' How much work does it take to complete this (assuming a Maliit dev. environent is already set up) Example: Easy, 5 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' What is the status of implementing this idea? Example: &amp;quot;In progress, this and that has been done&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' What do people need to know in order to complete the implementation of this idea? Example: Qt | Packaging | Gtk+ | QML &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Who interested people should contact if they want to work on this. This can be a &amp;quot;mentor&amp;quot; that has insight into the relevant areas, or someone who has started working on it. Example: Real Name (ircnick) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Longer description. Ideas, challenges, and considerations for the implementation. Neccesary tasks to complete. Links to other relevant projects or work. Mockups, video demos, et.c.&lt;br /&gt;
&lt;br /&gt;
== Meego Keyboard Ideas ==&lt;br /&gt;
&lt;br /&gt;
===  Key gestures ===&lt;br /&gt;
Input variations of a character using gestures on that key. For instance, to input a upper case A, tap 'a', move upward and release. Accented characters can be done by gesturing sideways.&lt;br /&gt;
&lt;br /&gt;
===  Predictive keyboard ===&lt;br /&gt;
Details of idea can be found under [[Predictive_virtual_keyboard]]. &lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 10 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Meego keyboard, Qt, C++ &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Experimental merge request available &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Michael Hasselmann (mikhas)&lt;br /&gt;
&lt;br /&gt;
Experimental MRQ available: https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/merge_requests/269&lt;br /&gt;
&lt;br /&gt;
Screenshot/demo video pleaz?&lt;br /&gt;
-- Was demonstrated during the Meego Conference San Fransisco talk. Video will hopefully become available&lt;br /&gt;
&lt;br /&gt;
== Input Method (plugin) Ideas ==&lt;br /&gt;
&lt;br /&gt;
===  Dasher input method ===&lt;br /&gt;
Allow input using a [[:wikipedia:Dasher|Dasher]] input method.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Unknown, 25 hours of work? &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' C/C++, Qt, input method API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:'''&lt;br /&gt;
&lt;br /&gt;
Dasher is a simple but innovative way of doing text input, a for this plugin would be very useful, especially for accessibility.&lt;br /&gt;
Dasher already has a Qt based UI, so it might be possible to reuse large parts of the code.&lt;br /&gt;
&lt;br /&gt;
* [http://git.gnome.org/browse/dasher/ Homepage]&lt;br /&gt;
* [http://git.gnome.org/browse/dasher/ Repository]&lt;br /&gt;
* [https://bugzilla.gnome.org/browse.cgi?product=dasher Bugtracker]&lt;br /&gt;
&lt;br /&gt;
=== Clutter-based plugin ===&lt;br /&gt;
Show that input method plugins can be implemented using Clutter.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 15 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Clutter, input method API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:'''&lt;br /&gt;
&lt;br /&gt;
This should be easy to do using [http://git.clutter-project.org/cgit.cgi?url=clutter-qt/tree/README clutter-qt]. Ideally writing such would not require to compile using C++/Qt, but a C/GObject interface be provided.&lt;br /&gt;
&lt;br /&gt;
=== Gtk+ based plugin ===&lt;br /&gt;
Show that input method plugins can be implemented using Gtk+.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Medium, 15 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Gtk+, Qt, input method API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:'''&lt;br /&gt;
&lt;br /&gt;
A bit harder than the Clutter case, but should be possible. In the simple but hacky form have a &amp;lt;code&amp;gt;QWidget&amp;lt;/code&amp;gt; and a &amp;lt;code&amp;gt;GtkWidget&amp;lt;/code&amp;gt; and syncronize the relevant state between them. Let the GtkWidget render offscreen and paint the GtkWidget content to the &amp;lt;code&amp;gt;QWidget&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;::paintEvent()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Python input method plugin interface ===&lt;br /&gt;
Support writing input methods in [[Python]].&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Medium, 15 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Python, PySide, input method API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' [https://bugs.meego.com/show_bug.cgi?id=19298 In progress!] &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person: '''&lt;br /&gt;
&lt;br /&gt;
Python is an officially supported language for Meego. It would be nice if we supported writing plugins using Python. Allowing this can be done in a similar way we currently support QML (see [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/trees/master/input-method-quick input-method-quick code])&lt;br /&gt;
Python bindings would have to be generated for the input method API. This should probably be done using [http://www.pyside.org/ PySide].&lt;br /&gt;
&lt;br /&gt;
== Non-Meego run-time environments ==&lt;br /&gt;
&lt;br /&gt;
=== Maliit in Gnome 3 ===&lt;br /&gt;
Gnome looks to be interested in expanding to touch-centric environments. Therefore showing that Maliit is the right solution to use for input methods in Gnome would be worth-while.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' &lt;br /&gt;
* For prototype demo: Easy, 20 hours of work&lt;br /&gt;
* For really good integration: Medium, xxx hours of work&lt;br /&gt;
'''Skills required:''' Gnome technology, Maliit integration &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Prototype work has been demonstrated &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Jon Nordby (jonnor)&lt;br /&gt;
&lt;br /&gt;
* [http://www.jonnor.com/2011/04/introducing-maliit-on-screen-keyboard-in-gnome-3/ Blogpost demoing Maliit in Gnome 3]&lt;br /&gt;
* [https://live.gnome.org/ThreePointOne/Features/OnScreenKeyboard Gnome 3.2 Feature page for on-screen keyboard]&lt;br /&gt;
* [https://bugzilla.gnome.org/show_bug.cgi?id=612662 Issue in bugtracker for on-screen keyboard]&lt;br /&gt;
&lt;br /&gt;
TODO: document all the things needed for really good integration&lt;br /&gt;
&lt;br /&gt;
=== Maliit on Windows ===&lt;br /&gt;
The main goal here would be to allow plugin development to happen on Windows. Since Meego Input Methods is implemented using Qt, this should in theory not be too hard. However, the DBus transport used between framework and inputcontext might need to be replaced by another IPC, and some X specific code might need to be reimplemented or removed.&lt;br /&gt;
&lt;br /&gt;
See also [[Maliit/Ideas/Supporting_Non_X11_Platforms]]&lt;br /&gt;
&lt;br /&gt;
=== Maliit in KDE ===&lt;br /&gt;
KDE also seems to be growing an interest in on-screen keyboards, touchscreen centric UI and mobile device form factors.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' &lt;br /&gt;
* For prototype demo: Easy, 10 hours of work&lt;br /&gt;
* For really good integration: Medium, xxx hours of work&lt;br /&gt;
'''Skills required:''' KDE technology, Maliit integration &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' ? &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person: '''&lt;br /&gt;
&lt;br /&gt;
* [http://btux1984.wordpress.com/2010/04/28/kdes-onscreen-keyboard Blogpost about onscreen keyboard]&lt;br /&gt;
* [http://apachelog.wordpress.com/2011/05/20/kubuntu-11-10-mobile-devices-sneak-peak/ Blogpost annoucing Kubuntu 11.10 Mobile sneak peak]&lt;br /&gt;
* [https://bugs.kde.org/show_bug.cgi?id=265452 Related issue in bugtracker]&lt;br /&gt;
* [https://blueprints.launchpad.net/ubuntu/+spec/desktop-o-kubuntu-mobile Kubuntu Mobile Oneric blueprint ]&lt;br /&gt;
* [http://i.imgur.com/bbVmf.jpg Prototype screenshot]&lt;br /&gt;
&lt;br /&gt;
=== Maliit in Ubuntu ===&lt;br /&gt;
* [https://blueprints.launchpad.net/ubuntu/+spec/multimedia-dx-n-virtual-keyboard Natty on-screen keyboard blueprint]&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
=== Commandline option to switch between D-Bus session bus and direct socket ===&lt;br /&gt;
Currently a peer-to-peer connection with a socket file is used for input context &amp;lt;-&amp;gt; framework communication. &lt;br /&gt;
Having a option to use the session bus would be nice. This allows one to make use of DBus features like on-demand service activation, or to easily introspect/debug the service.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 20 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' dbus, dbus-glib, C/C++ &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Basically, revert http://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/commit/1aa9a502005293bf4a808aaed87142f6dbcdffdb &lt;br /&gt;
* Add a commandline option to choose between the two methods&lt;br /&gt;
* Update the standard input contexts to also support session bus service (and prefer that one over the socket?)&lt;br /&gt;
&lt;br /&gt;
=== Direct C/C++ Input Context API ===&lt;br /&gt;
Direct API for input context (no DBus connection).&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 15 hours &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Qt, C++, input context api &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A direct API means that the framework can be tested without having to start up DBus, and that it can run on platforms with DBus.&lt;br /&gt;
&lt;br /&gt;
=== Free and open source correction/prediction plugin ===&lt;br /&gt;
Currently there is no free error correction/prediction engine plugin. We of course want to provide this. &lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 20 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' C/C++, usage of spelling engines &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Just talk. Help wanted! &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This could be done using one of the existing free spelling engines. &lt;br /&gt;
An analysis of the different options should be done before starting on the implementation, looking at the advantages/disadvantages of each. For instance, it might not be that all spelling engines can provide word-prediction.&lt;br /&gt;
&lt;br /&gt;
* [http://aspell.net/ Aspell]&lt;br /&gt;
* [http://www.gnu.org/software/ispell/ispell.html Ispell]&lt;br /&gt;
* [http://hunspell.sourceforge.net/ Hunspell]&lt;br /&gt;
* [http://www.abisource.com/projects/enchant/ Enchant]&lt;br /&gt;
* [http://presage.sourceforge.net/ Presage] [http://www.joaquimrocha.com/2010/03/03/text-prediction-on-gnome/ (blogpost)] (for prediction)&lt;br /&gt;
* Dasher, might be able to use its backend (for prediction)&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth keyboard ===&lt;br /&gt;
This would allow you to use your Meego device as a keyboard for other Bluetooth enabled devices.&lt;br /&gt;
&lt;br /&gt;
== Completed or partially-completed ideas ==&lt;br /&gt;
Please move ideas here one they have been implemented/explored, and document the effort.&lt;br /&gt;
&lt;br /&gt;
=== QML-based plugin ===&lt;br /&gt;
Show that input method plugins can be implemented using Qt Quick and QML.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Done! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Michael Hasselmann (mikhas) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A QML-based input method plugin (keyboard) can be found in the keyboard repositor under meego-keyboard-quick. See [http://taschenorakel.de/michael/2011/05/12/writing-qml-based-input-methods-maliit/ the blogpost announcement] for more details.&lt;br /&gt;
&lt;br /&gt;
=== Maliit on Freemantle+N900 ===&lt;br /&gt;
Demonstrate that Maliit can run on Freemantle/N900.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Done! &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Michael Hasselmann (mikhas) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maliit framework and the Meego Quick keyboard is available in the extras-devel repository. See [[Maliit/Installing]] for how to install. The [http://taschenorakel.de/michael/2011/05/12/writing-qml-based-input-methods-maliit announcement blogpost] also has some info.&lt;br /&gt;
&lt;br /&gt;
=== Input Method Plugin SDK ===&lt;br /&gt;
Development kit to enable third-party developers to easily create new input methods.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Easy, 20 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' Input Method plugin API &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Still room for improvement &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Jon Nordby (jonnor) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Current plugin SDK available from [[Maliit/Documentation]]&lt;br /&gt;
&lt;br /&gt;
A good SDK would consist of:&lt;br /&gt;
* (80%) Comprehensive documentation for plugin API&lt;br /&gt;
* (60%) Task-oriented documentation for how to develop a plugin&lt;br /&gt;
* (DONE) Skeleton/example code to make it easy to get started&lt;br /&gt;
* (DONE) Above items easily available for the target platforms&lt;br /&gt;
* (TODO) Tools/utilities to make development easier&lt;br /&gt;
** Currently setting the correct plugin requires fiddling with gconf&lt;br /&gt;
** Currently one has to run/restart the uiserver manually&lt;br /&gt;
** Currently running the test application with the correct inputcontext has to be done manually&lt;br /&gt;
&lt;br /&gt;
=== Window relocation ===&lt;br /&gt;
When the application/toolkit does not support widget relocation, fall back to relocating the window to try to keep the text input field visible on screen.&lt;br /&gt;
&lt;br /&gt;
'''Difficulty/effort:''' Medium, 15 hours of work &amp;lt;br&amp;gt;&lt;br /&gt;
'''Skills required:''' X11, ICCM, EWMH &amp;lt;br&amp;gt;&lt;br /&gt;
'''Status:''' Prototype work done &amp;lt;br&amp;gt;&lt;br /&gt;
'''Contact person:''' Jon Nordby (jonnor) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Branch: https://meego.gitorious.org/~jonnor/meegotouch/jonnors-meegotouch-inputmethodframework/commits/windowrelocation-proto1&lt;br /&gt;
&lt;br /&gt;
Current code will move/resize the focused window to avoid the input method area when it grows, and restore them when input method area shrinks again.&lt;br /&gt;
&lt;br /&gt;
Current challenges and ideas for improvement: &lt;br /&gt;
* Applications will use the desktop area to figure out how big they can make override-redirect windows and other UI element, leading them to go above the input method area. Modifying the X atoms that govern the value of this area would improve this alot.&lt;br /&gt;
* No way to tell if a given application window supports widget relocation or not. If the app/window supports widget relocation, it should be preferred. Window relocation should either not happen or if the , work as an additional &amp;quot;level&amp;quot; in the relocation chain.&lt;br /&gt;
* The current code will move the entire window. Relocation should only happen to ensure that the input widget is not obscured. This can be done by getting that information from input context through the widgetState dictionary.&lt;br /&gt;
* There are significant limitations to how much windows can be resized. Not much possible here without changing the application or application framework.&lt;br /&gt;
** A concept that might be worth trying is to let applications have scrollable areas, and for the app framework to be responsible for keeping the focused widget inside the window when resized. This could have the benefit that it would work. On the other hand, just doing proper (basic) widget relocation would not be much harder...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit</id>
		<title>Maliit</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit"/>
				<updated>2011-06-24T10:49:37Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: reorder sections, remove superficial sections that only linked to other pages (the navigation bar does that job)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
[[File:Maliit2.png|448px|link=]]&lt;br /&gt;
&lt;br /&gt;
Maliit provides a flexible and cross-platform input method framework, including a virtual keyboard. It works on all MeeGo user experiences, and in other GNU/Linux distributions.&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
Maliit aims to be ''the'' input method project for MeeGo and other GNU/Linux-based embedded/mobile platforms. To achieve this we should provide:&lt;br /&gt;
&lt;br /&gt;
'''A solid input method framework'''&lt;br /&gt;
&lt;br /&gt;
This includes support for traditional input methods such as hardware and virtual keyboards. More exotic input methods should also be possible, such as handwriting recognition and voice input, and special purpose input methods such as date/time pickers, tag clouds, etc.&lt;br /&gt;
&lt;br /&gt;
'''A core set of input methods'''&lt;br /&gt;
&lt;br /&gt;
The default set of input methods should demonstrate the core capabilities of the framework and provide a good user experience that device manufacturers and integrators can use easily.&lt;br /&gt;
&lt;br /&gt;
We also aim to:&lt;br /&gt;
&lt;br /&gt;
'''Empower third-party developers'''&lt;br /&gt;
&lt;br /&gt;
Customizing existing input methods or developing powerful new input methods should be simple, regardless of whether it is for profit, research or fun.&lt;br /&gt;
&lt;br /&gt;
'''Build a diverse community of contributors'''&lt;br /&gt;
&lt;br /&gt;
Employees from different companies, freelancers, members of academia, hackers and volunteers should all be welcomed and encouraged to contribute to the project.&lt;br /&gt;
&lt;br /&gt;
== Communication channels ==&lt;br /&gt;
&lt;br /&gt;
'''Mailing list:''' meego-inputmethods@lists.meego.com  ([http://lists.meego.com/listinfo/meego-inputmethods listinfo] | [http://lists.meego.com/pipermail/meego-inputmethods/ archives])&lt;br /&gt;
&lt;br /&gt;
'''Bugtracker:''' bugs.meego.com, Product: OS, Component: Virtual Keyboard ([https://bugs.meego.com/buglist.cgi?classification=MeeGo%20Platform&amp;amp;query_based_on=virtual%20keyboard&amp;amp;query_format=advanced&amp;amp;bug_status=NEW&amp;amp;bug_status=NEEDINFO&amp;amp;bug_status=INDEFINITION&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=ACCEPTED&amp;amp;bug_status=WAITING%20FOR%20UPSTREAM&amp;amp;bug_status=WAITING&amp;amp;bug_status=REOPENED&amp;amp;component=Virtual%20keyboard&amp;amp;product=OS%20Base&amp;amp;known_name=virtual%20keyboard open bugs] | &lt;br /&gt;
[https://bugs.meego.com/enter_bug.cgi?product=OS%20Base&amp;amp;component=Virtual%20keyboard file new bug])&lt;br /&gt;
&lt;br /&gt;
'''IRC:''' Visit us in #meego-inputmethods at freenode.net ([http://webchat.freenode.net/?randomnick=1&amp;amp;channels=meego-inputmethods&amp;amp;uio=d4 webchat])&lt;br /&gt;
&lt;br /&gt;
== Upcoming events ==&lt;br /&gt;
* June 24th, MeeGo Freeday workshop, details TBA.&lt;br /&gt;
* August 6th-12th - Desktop Summit Berlin.&lt;br /&gt;
&lt;br /&gt;
== News ==&lt;br /&gt;
* 20.06.2011 - First release (Maliit 0.80) as an independent project. [http://lists.meego.com/pipermail/meego-dev/2011-June/483526.html Announcement]&lt;br /&gt;
* 17.06.2011 - Session at Qt Collaborator Summit 2011. [http://developer.qt.nokia.com/groups/qt_contributors_summit/wiki/Input_methods_and_Wayland_in_Qt_5 Session summary]&lt;br /&gt;
* 07.06.2011 - Session at MeeGo Spring Conference 2011. [http://sf2011.meego.com/program/sessions/developing-custom-input-methods-meego Info, Recording]&lt;br /&gt;
* 08.04.2011 - MeeGo Keyboard is relicensed with BSD license: [http://lists.meego.com/pipermail/meego-dev/2011-April/482578.html Announcement]&lt;br /&gt;
* 29.03.2011 - Held first offical IRC meeting: [[Maliit/Meetings|How can we simplify development and maintenance of input contexts?]]&lt;br /&gt;
* 04.03.2011 - API/ABI break in 0.20.0: [http://lists.meego.com/pipermail/meego-dev/2011-March/481869.html meego-im-framework is removing dependency to libmeegotouch from its API]&lt;br /&gt;
* 23.02.2011 - Packages available for Ubuntu Lucid/Maverick to ease development. [http://taschenorakel.de/michael/2011/02/24/meego-input-methods-your-desktop/ Blogpost], [[#Packages for Ubuntu .2810.04 Lucid Lynx .2F 10.10 Maveric Meerkat.29|documentation]]&lt;br /&gt;
* 17.02.2011 - Claudio Saavedra started on MeeGo+Gtk integration work, focusing on input methods. [http://people.gnome.org/~csaavedra/news-2011-02.html#D10 Blogpost]&lt;br /&gt;
* 13.02.2011 - MeeGo Tablet UX demoed at Mobile World Conference, with Swype keyboard. [http://www.engadget.com/photos/new-meego-tablet-user-experience-hands-on-at-mwc-2011/#3877322 Pictures]&lt;br /&gt;
* 01.02.2011 - API/ABI break in 0.19.41: [http://lists.meego.com/pipermail/meego-dev/2011-February/481353.html meegoimframework interfaces related to orientation change will be changed]&lt;br /&gt;
* 15.11.2010 - Architect and Lead Developer of Maliit give talk at MeeGo Conference. [http://conference2010.meego.com/session/meego-touch-input-method-frameworks Info, Recording]&lt;br /&gt;
* 15.11.2010 - Linpus shows off MeeGo based slate at MeeGo Conference, with keyboard based on Maliit. &lt;br /&gt;
* 30.06.2010 - MeeGo Handset UX Day 1 release, first public release of MeeGo Input Methods. [http://meego.com/community/blogs/valhalla/2010/meego-handset-project-day-1-here Announcement]&lt;br /&gt;
&lt;br /&gt;
== Maliit in action ==&lt;br /&gt;
&lt;br /&gt;
Maliit is used on a number of devices and form factors, and can easily be adapted to run on new ones.&lt;br /&gt;
&lt;br /&gt;
* [http://www.linpus.com/products_meego_slate.html Linpus Slate] ([http://www.linpus.com/images/slate/kb.png screenshot showing Linpus virtual keyboard])&lt;br /&gt;
* [http://appdeveloper.intel.com/en-us/meego-iso-esla Intel MeeGo Tablet] ([http://www.engadget.com/photos/new-meego-tablet-user-experience-hands-on-at-mwc-2011/#3877322 pictures showing Swype keyboard])&lt;br /&gt;
* [http://www.youtube.com/watch?v=l_7f3Lxd4_I GNOME3 on a WeTab (video)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;250px&amp;quot; heights=&amp;quot;250px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:Lenovo_meego_vkb.jpg| [[Maliit/MeeGo 1.1#Netbook|MeeGo 1.1 Netbook]] with MeeGo Keyboard on Lenovo S10-3T Ideapad&lt;br /&gt;
Image:Meego1.1_handset_on_aava.jpg| [http://meego.com/downloads/releases/1.1/meego-v1.1-handset MeeGo 1.1 Handset] with MeeGo Keyboard on Aava Mobile&lt;br /&gt;
Image:tegra-vkb2.jpg| MeeGo 1.2 prerelease on [[ARM/TEGRA2|Advent Vega, Tegra2]]&lt;br /&gt;
Image:Maliit-on-lucid.png | Ubuntu Lucid (10.04)&lt;br /&gt;
Image:Maliit-in-GNOME3.jpg | GNOME3 on a WeTab&lt;br /&gt;
Image:Maliit-on-KDE-Plasma.jpg | KDE, using Plasma&lt;br /&gt;
[[File:TransparentPlaceholder.png|link=http://wikipedia.org|caption]]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Template:MaliitNavigationBar</id>
		<title>Template:MaliitNavigationBar</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Template:MaliitNavigationBar"/>
				<updated>2011-06-24T10:36:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: whitespace fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;text-align:center&amp;quot;&lt;br /&gt;
! [[Maliit|Maliit - Input Methods for MeeGo]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Maliit|Overview]] · [[Maliit/Features|Features]] · [[Maliit/Documentation|Documentation]] · [[Maliit/Development|Development]] · [[Maliit/Installing|Installing]] · [[Maliit/Roadmap|Roadmap]] · [[Maliit/Ideas|Ideas]] · [[Maliit/Team|Team]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Maliit]][[Category:MeeGo Input Methods]]&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Template:MaliitNavigationBar</id>
		<title>Template:MaliitNavigationBar</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Template:MaliitNavigationBar"/>
				<updated>2011-06-24T10:33:12Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: add features page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;text-align:center&amp;quot;&lt;br /&gt;
! [[Maliit|Maliit - Input Methods for MeeGo]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Maliit|Overview]] · [[Maliit/Features|Features]]· [[Maliit/Documentation|Documentation]] · [[Maliit/Development|Development]] · [[Maliit/Installing|Installing]] · [[Maliit/Roadmap|Roadmap]] · [[Maliit/Ideas|Ideas]] · [[Maliit/Team|Team]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Maliit]][[Category:MeeGo Input Methods]]&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Features</id>
		<title>Maliit/Features</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Features"/>
				<updated>2011-06-24T10:31:55Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: moved out from parent page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
=== For end users ===&lt;br /&gt;
Following are the high level end-user features supported by Maliit:&lt;br /&gt;
&lt;br /&gt;
* Multitouch virtual keyboard&lt;br /&gt;
** Landscape and portrait QWERTY with dedicated symbol views&lt;br /&gt;
** Support for multiple languages and scripts (e.g. latin, cyrillic, arabic, chinese)&lt;br /&gt;
*** See current layouts at [http://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/trees/master/m-keyboard/layouts MeeGo gitorius]&lt;br /&gt;
** Number/phone number layouts for entering numbers/phone numbers&lt;br /&gt;
* Context sensitive and dynamic action key&lt;br /&gt;
** e.g. replacing enter icon with search icon and highlighting the key in search fields - and respective search key inactive when search field empty&lt;br /&gt;
* Context sensitive layouts&lt;br /&gt;
** e.g. replacing ',' key with '@' in e-mail address fields&lt;br /&gt;
* Simple interactions (as defined in [http://meego.com/developers/ui-design-guidelines/handset/meego-basics MeeGo Basics])&lt;br /&gt;
** Swipe sideways to easily switch between different active keyboard layouts and other input methods&lt;br /&gt;
** Swipe down to close virtual keyboard or alternatively tap outiside the active input area to close keyboard&lt;br /&gt;
* Low-latency haptics typing feedback (with feedback framework backend); sound,tactile&lt;br /&gt;
&lt;br /&gt;
[[File:Text-input-1.png|Virtual keyboard interaction : opening and closing the keyboard]]&lt;br /&gt;
&lt;br /&gt;
* Cut/Copy/Paste for text input&lt;br /&gt;
** Separate text editor widget for text input fields&lt;br /&gt;
* Error correction / word prediction for virtual keyboard (with error correction / prediction engine)&lt;br /&gt;
** Separate widget for correction/prediction candidates&lt;br /&gt;
* Hardware keyboard&lt;br /&gt;
** Long pressing of keys either to autorepeat (e.g. arrow keys, backspace) or to input secondary characters (e.g. numbers, symbols)&lt;br /&gt;
** Possibility to extend hardware keys with virtual keys (e.g. for additional symbols)&lt;br /&gt;
&lt;br /&gt;
[[File:Text-input-2a.png|Text input with hardware keyboard]]&lt;br /&gt;
&lt;br /&gt;
* Toolbar for appliction specific input content&lt;br /&gt;
** For placing buttons, labels etc.&lt;br /&gt;
** Toolbar located on top of virtual keyboard, with hardware keyboard in the bottom of the screen&lt;br /&gt;
&lt;br /&gt;
[[File:Confirming.png|Placing application specific actions in the input toolbar, when application UI is not visible or &amp;quot;Enter&amp;quot; action is not adequate]]&lt;br /&gt;
&lt;br /&gt;
* External input methods&lt;br /&gt;
** e.g. Bluetooth keyboards&lt;br /&gt;
&lt;br /&gt;
=== For integrators and developers ===&lt;br /&gt;
* Input Methods can be implemented as plugins&lt;br /&gt;
* Error correction/prediction engines can be implemented as plugins&lt;br /&gt;
* Framework is licensed LGPL&lt;br /&gt;
* Keyboard has theming abilities via CSS file&lt;br /&gt;
* Meego Keyboard has customizable layout files&lt;br /&gt;
* Meego Feedback framework has swappable backends (for haptics et.c.)&lt;br /&gt;
* Support for additional toolkits can be done by using the DBus connection for the Input Context&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit</id>
		<title>Maliit</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit"/>
				<updated>2011-06-24T10:31:40Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* Features */ Moved to subpage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
[[File:Maliit2.png|448px|link=]]&lt;br /&gt;
&lt;br /&gt;
Maliit provides a flexible and cross-platform input method framework, including a virtual keyboard. It works on all MeeGo user experiences, and in other GNU/Linux distributions.&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
Maliit aims to be ''the'' input method project for MeeGo and other GNU/Linux-based embedded/mobile platforms. To achieve this we should provide:&lt;br /&gt;
&lt;br /&gt;
'''A solid input method framework'''&lt;br /&gt;
&lt;br /&gt;
This includes support for traditional input methods such as hardware and virtual keyboards. More exotic input methods should also be possible, such as handwriting recognition and voice input, and special purpose input methods such as date/time pickers, tag clouds, etc.&lt;br /&gt;
&lt;br /&gt;
'''A core set of input methods'''&lt;br /&gt;
&lt;br /&gt;
The default set of input methods should demonstrate the core capabilities of the framework and provide a good user experience that device manufacturers and integrators can use easily.&lt;br /&gt;
&lt;br /&gt;
We also aim to:&lt;br /&gt;
&lt;br /&gt;
'''Empower third-party developers'''&lt;br /&gt;
&lt;br /&gt;
Customizing existing input methods or developing powerful new input methods should be simple, regardless of whether it is for profit, research or fun.&lt;br /&gt;
&lt;br /&gt;
'''Build a diverse community of contributors'''&lt;br /&gt;
&lt;br /&gt;
Employees from different companies, freelancers, members of academia, hackers and volunteers should all be welcomed and encouraged to contribute to the project.&lt;br /&gt;
&lt;br /&gt;
== Maliit in action ==&lt;br /&gt;
&lt;br /&gt;
Maliit is used on a number of devices and form factors, and can easily be adapted to run on new ones.&lt;br /&gt;
&lt;br /&gt;
* [http://www.linpus.com/products_meego_slate.html Linpus Slate] ([http://www.linpus.com/images/slate/kb.png screenshot showing Linpus virtual keyboard])&lt;br /&gt;
* [http://appdeveloper.intel.com/en-us/meego-iso-esla Intel MeeGo Tablet] ([http://www.engadget.com/photos/new-meego-tablet-user-experience-hands-on-at-mwc-2011/#3877322 pictures showing Swype keyboard])&lt;br /&gt;
* [http://www.youtube.com/watch?v=l_7f3Lxd4_I GNOME3 on a WeTab (video)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;250px&amp;quot; heights=&amp;quot;250px&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:Lenovo_meego_vkb.jpg| [[Maliit/MeeGo 1.1#Netbook|MeeGo 1.1 Netbook]] with MeeGo Keyboard on Lenovo S10-3T Ideapad&lt;br /&gt;
Image:Meego1.1_handset_on_aava.jpg| [http://meego.com/downloads/releases/1.1/meego-v1.1-handset MeeGo 1.1 Handset] with MeeGo Keyboard on Aava Mobile&lt;br /&gt;
Image:tegra-vkb2.jpg| MeeGo 1.2 prerelease on [[ARM/TEGRA2|Advent Vega, Tegra2]]&lt;br /&gt;
Image:Maliit-on-lucid.png | Ubuntu Lucid (10.04)&lt;br /&gt;
Image:Maliit-in-GNOME3.jpg | GNOME3 on a WeTab&lt;br /&gt;
Image:Maliit-on-KDE-Plasma.jpg | KDE, using Plasma&lt;br /&gt;
[[File:TransparentPlaceholder.png|link=http://wikipedia.org|caption]]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Communication channels ==&lt;br /&gt;
&lt;br /&gt;
'''Mailing list:''' meego-inputmethods@lists.meego.com  ([http://lists.meego.com/listinfo/meego-inputmethods listinfo] | [http://lists.meego.com/pipermail/meego-inputmethods/ archives])&lt;br /&gt;
&lt;br /&gt;
'''Bugtracker:''' bugs.meego.com, Product: OS, Component: Virtual Keyboard ([https://bugs.meego.com/buglist.cgi?classification=MeeGo%20Platform&amp;amp;query_based_on=virtual%20keyboard&amp;amp;query_format=advanced&amp;amp;bug_status=NEW&amp;amp;bug_status=NEEDINFO&amp;amp;bug_status=INDEFINITION&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=ACCEPTED&amp;amp;bug_status=WAITING%20FOR%20UPSTREAM&amp;amp;bug_status=WAITING&amp;amp;bug_status=REOPENED&amp;amp;component=Virtual%20keyboard&amp;amp;product=OS%20Base&amp;amp;known_name=virtual%20keyboard open bugs] | &lt;br /&gt;
[https://bugs.meego.com/enter_bug.cgi?product=OS%20Base&amp;amp;component=Virtual%20keyboard file new bug])&lt;br /&gt;
&lt;br /&gt;
'''IRC:''' Visit us in #meego-inputmethods at freenode.net ([http://webchat.freenode.net/?randomnick=1&amp;amp;channels=meego-inputmethods&amp;amp;uio=d4 webchat])&lt;br /&gt;
&lt;br /&gt;
== News ==&lt;br /&gt;
* 20.06.2011 - First release (Maliit 0.80) as an independent project. [http://lists.meego.com/pipermail/meego-dev/2011-June/483526.html Announcement]&lt;br /&gt;
* 17.06.2011 - Session at Qt Collaborator Summit 2011. [http://developer.qt.nokia.com/groups/qt_contributors_summit/wiki/Input_methods_and_Wayland_in_Qt_5 Session summary]&lt;br /&gt;
* 07.06.2011 - Session at MeeGo Spring Conference 2011. [http://sf2011.meego.com/program/sessions/developing-custom-input-methods-meego Info, Recording]&lt;br /&gt;
* 08.04.2011 - MeeGo Keyboard is relicensed with BSD license: [http://lists.meego.com/pipermail/meego-dev/2011-April/482578.html Announcement]&lt;br /&gt;
* 29.03.2011 - Held first offical IRC meeting: [[Maliit/Meetings|How can we simplify development and maintenance of input contexts?]]&lt;br /&gt;
* 04.03.2011 - API/ABI break in 0.20.0: [http://lists.meego.com/pipermail/meego-dev/2011-March/481869.html meego-im-framework is removing dependency to libmeegotouch from its API]&lt;br /&gt;
* 23.02.2011 - Packages available for Ubuntu Lucid/Maverick to ease development. [http://taschenorakel.de/michael/2011/02/24/meego-input-methods-your-desktop/ Blogpost], [[#Packages for Ubuntu .2810.04 Lucid Lynx .2F 10.10 Maveric Meerkat.29|documentation]]&lt;br /&gt;
* 17.02.2011 - Claudio Saavedra started on MeeGo+Gtk integration work, focusing on input methods. [http://people.gnome.org/~csaavedra/news-2011-02.html#D10 Blogpost]&lt;br /&gt;
* 13.02.2011 - MeeGo Tablet UX demoed at Mobile World Conference, with Swype keyboard. [http://www.engadget.com/photos/new-meego-tablet-user-experience-hands-on-at-mwc-2011/#3877322 Pictures]&lt;br /&gt;
* 01.02.2011 - API/ABI break in 0.19.41: [http://lists.meego.com/pipermail/meego-dev/2011-February/481353.html meegoimframework interfaces related to orientation change will be changed]&lt;br /&gt;
* 15.11.2010 - Architect and Lead Developer of Maliit give talk at MeeGo Conference. [http://conference2010.meego.com/session/meego-touch-input-method-frameworks Info, Recording]&lt;br /&gt;
* 15.11.2010 - Linpus shows off MeeGo based slate at MeeGo Conference, with keyboard based on Maliit. &lt;br /&gt;
* 30.06.2010 - MeeGo Handset UX Day 1 release, first public release of MeeGo Input Methods. [http://meego.com/community/blogs/valhalla/2010/meego-handset-project-day-1-here Announcement]&lt;br /&gt;
&lt;br /&gt;
== Roadmap ==&lt;br /&gt;
See [[Maliit/Roadmap]]&lt;br /&gt;
&lt;br /&gt;
== Upcoming events ==&lt;br /&gt;
* June 24th, MeeGo Freeday workshop, details TBA.&lt;br /&gt;
* August 6th-12th - Desktop Summit Berlin.&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
See [[Maliit/Ideas]]&lt;br /&gt;
&lt;br /&gt;
== Developers ==&lt;br /&gt;
See [[Maliit/Development]]&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
See [[Maliit/Documentation]]&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Documentation</id>
		<title>Maliit/Documentation</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Documentation"/>
				<updated>2011-06-23T09:11:59Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* Important cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Maliit]][[Category:MeeGo Input Methods]]&lt;br /&gt;
{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
Frequently asked questions.&lt;br /&gt;
&lt;br /&gt;
'''1. How to write my own input method?'''&amp;lt;br&amp;gt;&lt;br /&gt;
The recommended way to get started is to use the Maliit Plugin SDK and follow the [[Maliit/Documentation#Plugin_development_Quickstart|quickstart documentation]].&lt;br /&gt;
&lt;br /&gt;
For developing an input method plugin, the primary interface is Qt and C++. The most relevant classes are: [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/blobs/master/src/minputmethodplugin.h MInputMethodPlugin],&lt;br /&gt;
[https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/blobs/master/src/mabstractinputmethod.h MAbstractInputMethod] and [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/blobs/master/src/mabstractinputmethodhost.h MAbstractInputMethodHost].&lt;br /&gt;
&lt;br /&gt;
Since version 0.20.9-1 of the framework (May 2011), the MInputMethodQuick API allows one to also easily write input&lt;br /&gt;
methods using QML. See the [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/trees/master/meego-keyboard-quick MeegoKeyboardQuick code] for an example. &lt;br /&gt;
As of May 2011 this interface is not yet feature complete with the C++ one. Contributions welcomed.&lt;br /&gt;
&lt;br /&gt;
=== Unanswered questions ===&lt;br /&gt;
Please add any questions you may have here.&lt;br /&gt;
&lt;br /&gt;
* Does Maliit work with non-compositing Window Managers?&lt;br /&gt;
* Which window managers are currently supported?&lt;br /&gt;
&lt;br /&gt;
== Plugin Development Quickstart ==&lt;br /&gt;
How to get started developing plugins. This documentation is mainly for framework version 0.20.11-1 and newer. The C++ plugin API is compatible with all 0.20.x versions, and the QML interface is available from 0.20.9-1. Meego 1.2 has version 0.20.6. To develop there, one can install packages from Trunk/1.3.&lt;br /&gt;
&lt;br /&gt;
Note that this is not intended to be 100% copy'n'paste step-by-step instructions. You may need to use common sense. &lt;br /&gt;
&lt;br /&gt;
* [[Maliit/Installing|Install Maliit]] for your development environment&lt;br /&gt;
* [http://www.jonnor.com/files/maliit/maliit-plugin-sdk-0.1.0.tar.gz Download] the Maliit Plugin SDK&lt;br /&gt;
* Extract the examples&lt;br /&gt;
 # In your favorite terminal:&lt;br /&gt;
 tar -xf maliit-plugin-sdk-*.tar.gz&lt;br /&gt;
 cd maliit-plugin-sdk/examples/&lt;br /&gt;
* Compile them&lt;br /&gt;
 qmake&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
* Have a look around. In the examples directory you will find a QML based plugin and a C++ based plugin.&lt;br /&gt;
 # QML plugin code&lt;br /&gt;
 ls plugins/quick/&lt;br /&gt;
 # C++ plugin code&lt;br /&gt;
 ls plugins/standard&lt;br /&gt;
* Try out one of the examples&lt;br /&gt;
 # First enable both of the example input methods, along with the meego keyboard&lt;br /&gt;
 gconftool-2 -s /meegotouch/inputmethods/onscreen/enabled -t list --list-type strings \&lt;br /&gt;
 [libmeego-keyboard.so,en_gb.xml,libmeego-keyboard-quick.so,,libhelloworldplugin.so,,libexampleplugin.so,ExamplePluginSubview1]&lt;br /&gt;
 # To activate the QML example&lt;br /&gt;
 gconftool-2 -s /meegotouch/inputmethods/onscreen/active -t list --list-type string [libhelloworldplugin.so,]&lt;br /&gt;
 # To instead activate the C++ example&lt;br /&gt;
 gconftool-2 -s /meegotouch/inputmethods/onscreen/active -t list --list-type string [libexampleplugin.so,ExamplePluginSubview1]&lt;br /&gt;
 &lt;br /&gt;
 # To test, start the Maliit server and a application with a Maliit inputcontext loaded&lt;br /&gt;
 # Note: More documentation on this can be found on the Installing page&lt;br /&gt;
 meego-im-uiserver &amp;gt; server.log &amp;amp;&lt;br /&gt;
 QT_IM_MODULE=MInputContext apps/plainqt/plainqt&lt;br /&gt;
 &lt;br /&gt;
 # Tap/double tap on a text field to activate the input method&lt;br /&gt;
 # You should now be able to see an input method which allows you to click to input &amp;quot;Hello World&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Try changing the plugin code a bit, and reinstall and restart the Maliit server to try again. &lt;br /&gt;
 # Do changes (start simple, maybe by changing the &amp;quot;Hello World&amp;quot; string to something else)&lt;br /&gt;
 &lt;br /&gt;
 # Rebuild and reinstall plugins&lt;br /&gt;
 make &amp;amp;&amp;amp; make install&lt;br /&gt;
 # Remember to restart the Maliit server for it to pick up the changed plugin&lt;br /&gt;
&lt;br /&gt;
If you have any issues, first try to solve the problem by reading the instructions again, and maybe other documentation. If you cannot solve it, ask for help through one of our communication channels. &lt;br /&gt;
&lt;br /&gt;
There are also several open source input plugins that one look at. See for instance&lt;br /&gt;
* [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/trees/master/m-keyboard Meego Keyboard]&lt;br /&gt;
* [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/trees/master/meego-keyboard-quick Meego Keyboard Quick]&lt;br /&gt;
* [https://github.com/foolegg/cute-input-method/tree/maliit cute-input-method]&lt;br /&gt;
&lt;br /&gt;
== Feature documentation ==&lt;br /&gt;
See [[Maliit#Features]]&lt;br /&gt;
&lt;br /&gt;
== API documentation ==&lt;br /&gt;
* [http://apidocs.meego.com/1.1/platform/html/meego-im-framework/main.html Old MeeGo 1.1 Input method engine and framework] - note that there has been changes in API since then&lt;br /&gt;
* Documentation webpage for the latest git version and Meego version has been requested. See [https://bugs.meego.com/show_bug.cgi?id=14382 bug 14382] and [https://bugs.meego.com/show_bug.cgi?id=14994 bug 14994]&lt;br /&gt;
* Generate from source code with doxygen.&lt;br /&gt;
&lt;br /&gt;
Some of the documentation is slighly outdated, and we are working to improve this. Use our [[Maliit#Communication_Channels|communication channels]] if there are any issues.&lt;br /&gt;
&lt;br /&gt;
== Technical documentation ==&lt;br /&gt;
* [[Media:Technical-overview-widget-reloc.pdf|Widget relocation in MTF]]&lt;br /&gt;
* More to come!&lt;br /&gt;
&lt;br /&gt;
== Blogposts et.c. ==&lt;br /&gt;
(most recent first)&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/06/20/brave-new-world/ Brave New World]&lt;br /&gt;
* Michael Hasselmannn: [http://taschenorakel.de/michael/2011/06/10/decent-examples-last/ Decent examples, at last!]&lt;br /&gt;
* Jon Nordby: [http://www.jonnor.com/2011/06/example-plugins-for-maliit-available/ Example plugins for Maliit]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/06/07/maliit-session-meego-spring-conference-2011/ Maliit Session at MeeGo Spring Conference 2011]&lt;br /&gt;
* Jan Arne Petersen: [http://blog.jpetersen.org/2011/05/29/maliit-packages-for-fedora/ Maliit packages for Fedora]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/05/12/writing-qml-based-input-methods-maliit/ Writing QML-based input methods for Maliit]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/05/10/painting-strategy-meegos-virtual-keyboard/ Painting Strategy in MeeGo's Virtual Keyboard]&lt;br /&gt;
* Jon Nordby: [http://www.jonnor.com/2011/04/introducing-maliit-on-screen-keyboard-in-gnome-3/ Introducing; Maliit on-screen keyboard in Gnome 3]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/04/10/customizing-meego-keyboard/ Customizing the Meego Keyboard]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/02/24/meego-input-methods-your-desktop/ MeeGo Input Methods for your desktop]&lt;br /&gt;
&lt;br /&gt;
== Documentation working area ==&lt;br /&gt;
Here is the working area to keep track of the status of and work on the documentation.&lt;br /&gt;
&lt;br /&gt;
* Goal: Every aspect of Maliit is well-documented, and the documentation easily accessible.&lt;br /&gt;
* Primary focus is on consumers of Maliit: Third-party developers and integrators&lt;br /&gt;
&lt;br /&gt;
=== Important cases ===&lt;br /&gt;
* Developing a new input method plugin&lt;br /&gt;
* Using Maliit in an application&lt;br /&gt;
* Integrating Maliit in a product&lt;br /&gt;
* Developing a new engine plugin&lt;br /&gt;
* Adding support for additional application toolkits&lt;br /&gt;
&lt;br /&gt;
=== Documentation status ===&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Item&lt;br /&gt;
! Status&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| wiki.meego.com/Maliit || 90% || Our public webpage/wiki page, starting point for all information about our project. In pretty good shape.&lt;br /&gt;
|-&lt;br /&gt;
| apidocs.meego.com/git-tip || 10% || Our docs should be shown here. [https://bugs.meego.com/show_bug.cgi?id=14382 Bug 14382]&lt;br /&gt;
|-&lt;br /&gt;
| apidocs.meego.com/1.2 || 10% || Our docs should be shown here. [https://bugs.meego.com/show_bug.cgi?id=14994 Bug 14994]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 | '''Framework'''&lt;br /&gt;
|-&lt;br /&gt;
| Overall architecture || 30% || Some docs exists in framework source tree, but is very outdated&lt;br /&gt;
|-&lt;br /&gt;
| Input Method/framework settings system || 0% ||&lt;br /&gt;
|-&lt;br /&gt;
| Input Method Plugin&amp;lt;-&amp;gt;Framework interaction || 0% || What the interaction concepts are (both user and technical), and what is done on each side to support this&lt;br /&gt;
|-&lt;br /&gt;
| Input Method Framework Window handling || 0% || Passthrough window, Self-compositing, plugin pixmap drawing, rotation animation. Maybe covered by above item?&lt;br /&gt;
|-&lt;br /&gt;
| Input Method Plugin API || 60% || Example plugins exists, initial plugin SDK published. Need to remove the outdated tutorial from framework docs&lt;br /&gt;
|-&lt;br /&gt;
| Input Context DBus API || 0% ||&lt;br /&gt;
|-&lt;br /&gt;
| Toolkit integration concepts || 20% || Key concepts like pre-edit injection, and widget relocation should be documented. Purpose: make it easy for others to improve toolkit integration, and to bring new people up to date. Widget relocation is documented.&lt;br /&gt;
|-&lt;br /&gt;
| Toolkit integration/support status || 10% || Implicitly all keyboard features/IM are available for MTF. No documentation about plain Qt, QML, Clutter or Gtk+&lt;br /&gt;
|-&lt;br /&gt;
| Engine interfaces || ? || Correction/prediction/suggestion/handwriting, both plugin side and IM side&lt;br /&gt;
|-&lt;br /&gt;
| Feedback framework || ? || &lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 | '''Plugins'''&lt;br /&gt;
|-&lt;br /&gt;
| Meego Keyboard theming (CSS) || 100% || Docs in keyboard source tree. ||&lt;br /&gt;
|-&lt;br /&gt;
| Meego Keyboard layouts || 100% || Docs in keyboard source tree. ||&lt;br /&gt;
|-&lt;br /&gt;
| Meego Keyboard features || 100% || Documented on wiki page. ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Documentation</id>
		<title>Maliit/Documentation</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Documentation"/>
				<updated>2011-06-23T09:11:16Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* Documentation status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Maliit]][[Category:MeeGo Input Methods]]&lt;br /&gt;
{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
Frequently asked questions.&lt;br /&gt;
&lt;br /&gt;
'''1. How to write my own input method?'''&amp;lt;br&amp;gt;&lt;br /&gt;
The recommended way to get started is to use the Maliit Plugin SDK and follow the [[Maliit/Documentation#Plugin_development_Quickstart|quickstart documentation]].&lt;br /&gt;
&lt;br /&gt;
For developing an input method plugin, the primary interface is Qt and C++. The most relevant classes are: [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/blobs/master/src/minputmethodplugin.h MInputMethodPlugin],&lt;br /&gt;
[https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/blobs/master/src/mabstractinputmethod.h MAbstractInputMethod] and [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/blobs/master/src/mabstractinputmethodhost.h MAbstractInputMethodHost].&lt;br /&gt;
&lt;br /&gt;
Since version 0.20.9-1 of the framework (May 2011), the MInputMethodQuick API allows one to also easily write input&lt;br /&gt;
methods using QML. See the [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/trees/master/meego-keyboard-quick MeegoKeyboardQuick code] for an example. &lt;br /&gt;
As of May 2011 this interface is not yet feature complete with the C++ one. Contributions welcomed.&lt;br /&gt;
&lt;br /&gt;
=== Unanswered questions ===&lt;br /&gt;
Please add any questions you may have here.&lt;br /&gt;
&lt;br /&gt;
* Does Maliit work with non-compositing Window Managers?&lt;br /&gt;
* Which window managers are currently supported?&lt;br /&gt;
&lt;br /&gt;
== Plugin Development Quickstart ==&lt;br /&gt;
How to get started developing plugins. This documentation is mainly for framework version 0.20.11-1 and newer. The C++ plugin API is compatible with all 0.20.x versions, and the QML interface is available from 0.20.9-1. Meego 1.2 has version 0.20.6. To develop there, one can install packages from Trunk/1.3.&lt;br /&gt;
&lt;br /&gt;
Note that this is not intended to be 100% copy'n'paste step-by-step instructions. You may need to use common sense. &lt;br /&gt;
&lt;br /&gt;
* [[Maliit/Installing|Install Maliit]] for your development environment&lt;br /&gt;
* [http://www.jonnor.com/files/maliit/maliit-plugin-sdk-0.1.0.tar.gz Download] the Maliit Plugin SDK&lt;br /&gt;
* Extract the examples&lt;br /&gt;
 # In your favorite terminal:&lt;br /&gt;
 tar -xf maliit-plugin-sdk-*.tar.gz&lt;br /&gt;
 cd maliit-plugin-sdk/examples/&lt;br /&gt;
* Compile them&lt;br /&gt;
 qmake&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
* Have a look around. In the examples directory you will find a QML based plugin and a C++ based plugin.&lt;br /&gt;
 # QML plugin code&lt;br /&gt;
 ls plugins/quick/&lt;br /&gt;
 # C++ plugin code&lt;br /&gt;
 ls plugins/standard&lt;br /&gt;
* Try out one of the examples&lt;br /&gt;
 # First enable both of the example input methods, along with the meego keyboard&lt;br /&gt;
 gconftool-2 -s /meegotouch/inputmethods/onscreen/enabled -t list --list-type strings \&lt;br /&gt;
 [libmeego-keyboard.so,en_gb.xml,libmeego-keyboard-quick.so,,libhelloworldplugin.so,,libexampleplugin.so,ExamplePluginSubview1]&lt;br /&gt;
 # To activate the QML example&lt;br /&gt;
 gconftool-2 -s /meegotouch/inputmethods/onscreen/active -t list --list-type string [libhelloworldplugin.so,]&lt;br /&gt;
 # To instead activate the C++ example&lt;br /&gt;
 gconftool-2 -s /meegotouch/inputmethods/onscreen/active -t list --list-type string [libexampleplugin.so,ExamplePluginSubview1]&lt;br /&gt;
 &lt;br /&gt;
 # To test, start the Maliit server and a application with a Maliit inputcontext loaded&lt;br /&gt;
 # Note: More documentation on this can be found on the Installing page&lt;br /&gt;
 meego-im-uiserver &amp;gt; server.log &amp;amp;&lt;br /&gt;
 QT_IM_MODULE=MInputContext apps/plainqt/plainqt&lt;br /&gt;
 &lt;br /&gt;
 # Tap/double tap on a text field to activate the input method&lt;br /&gt;
 # You should now be able to see an input method which allows you to click to input &amp;quot;Hello World&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Try changing the plugin code a bit, and reinstall and restart the Maliit server to try again. &lt;br /&gt;
 # Do changes (start simple, maybe by changing the &amp;quot;Hello World&amp;quot; string to something else)&lt;br /&gt;
 &lt;br /&gt;
 # Rebuild and reinstall plugins&lt;br /&gt;
 make &amp;amp;&amp;amp; make install&lt;br /&gt;
 # Remember to restart the Maliit server for it to pick up the changed plugin&lt;br /&gt;
&lt;br /&gt;
If you have any issues, first try to solve the problem by reading the instructions again, and maybe other documentation. If you cannot solve it, ask for help through one of our communication channels. &lt;br /&gt;
&lt;br /&gt;
There are also several open source input plugins that one look at. See for instance&lt;br /&gt;
* [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/trees/master/m-keyboard Meego Keyboard]&lt;br /&gt;
* [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/trees/master/meego-keyboard-quick Meego Keyboard Quick]&lt;br /&gt;
* [https://github.com/foolegg/cute-input-method/tree/maliit cute-input-method]&lt;br /&gt;
&lt;br /&gt;
== Feature documentation ==&lt;br /&gt;
See [[Maliit#Features]]&lt;br /&gt;
&lt;br /&gt;
== API documentation ==&lt;br /&gt;
* [http://apidocs.meego.com/1.1/platform/html/meego-im-framework/main.html Old MeeGo 1.1 Input method engine and framework] - note that there has been changes in API since then&lt;br /&gt;
* Documentation webpage for the latest git version and Meego version has been requested. See [https://bugs.meego.com/show_bug.cgi?id=14382 bug 14382] and [https://bugs.meego.com/show_bug.cgi?id=14994 bug 14994]&lt;br /&gt;
* Generate from source code with doxygen.&lt;br /&gt;
&lt;br /&gt;
Some of the documentation is slighly outdated, and we are working to improve this. Use our [[Maliit#Communication_Channels|communication channels]] if there are any issues.&lt;br /&gt;
&lt;br /&gt;
== Technical documentation ==&lt;br /&gt;
* [[Media:Technical-overview-widget-reloc.pdf|Widget relocation in MTF]]&lt;br /&gt;
* More to come!&lt;br /&gt;
&lt;br /&gt;
== Blogposts et.c. ==&lt;br /&gt;
(most recent first)&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/06/20/brave-new-world/ Brave New World]&lt;br /&gt;
* Michael Hasselmannn: [http://taschenorakel.de/michael/2011/06/10/decent-examples-last/ Decent examples, at last!]&lt;br /&gt;
* Jon Nordby: [http://www.jonnor.com/2011/06/example-plugins-for-maliit-available/ Example plugins for Maliit]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/06/07/maliit-session-meego-spring-conference-2011/ Maliit Session at MeeGo Spring Conference 2011]&lt;br /&gt;
* Jan Arne Petersen: [http://blog.jpetersen.org/2011/05/29/maliit-packages-for-fedora/ Maliit packages for Fedora]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/05/12/writing-qml-based-input-methods-maliit/ Writing QML-based input methods for Maliit]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/05/10/painting-strategy-meegos-virtual-keyboard/ Painting Strategy in MeeGo's Virtual Keyboard]&lt;br /&gt;
* Jon Nordby: [http://www.jonnor.com/2011/04/introducing-maliit-on-screen-keyboard-in-gnome-3/ Introducing; Maliit on-screen keyboard in Gnome 3]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/04/10/customizing-meego-keyboard/ Customizing the Meego Keyboard]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/02/24/meego-input-methods-your-desktop/ MeeGo Input Methods for your desktop]&lt;br /&gt;
&lt;br /&gt;
== Documentation working area ==&lt;br /&gt;
Here is the working area to keep track of the status of and work on the documentation.&lt;br /&gt;
&lt;br /&gt;
* Goal: Every aspect of Maliit is well-documented, and the documentation easily accessible.&lt;br /&gt;
* Primary focus is on consumers of Maliit: Third-party developers and integrators&lt;br /&gt;
&lt;br /&gt;
=== Important cases ===&lt;br /&gt;
* Developing a new input method plugin&lt;br /&gt;
* Developing a new engine plugin&lt;br /&gt;
* Integrating Maliit in a product&lt;br /&gt;
* Adding support for additional application toolkits&lt;br /&gt;
&lt;br /&gt;
=== Documentation status ===&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Item&lt;br /&gt;
! Status&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| wiki.meego.com/Maliit || 90% || Our public webpage/wiki page, starting point for all information about our project. In pretty good shape.&lt;br /&gt;
|-&lt;br /&gt;
| apidocs.meego.com/git-tip || 10% || Our docs should be shown here. [https://bugs.meego.com/show_bug.cgi?id=14382 Bug 14382]&lt;br /&gt;
|-&lt;br /&gt;
| apidocs.meego.com/1.2 || 10% || Our docs should be shown here. [https://bugs.meego.com/show_bug.cgi?id=14994 Bug 14994]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 | '''Framework'''&lt;br /&gt;
|-&lt;br /&gt;
| Overall architecture || 30% || Some docs exists in framework source tree, but is very outdated&lt;br /&gt;
|-&lt;br /&gt;
| Input Method/framework settings system || 0% ||&lt;br /&gt;
|-&lt;br /&gt;
| Input Method Plugin&amp;lt;-&amp;gt;Framework interaction || 0% || What the interaction concepts are (both user and technical), and what is done on each side to support this&lt;br /&gt;
|-&lt;br /&gt;
| Input Method Framework Window handling || 0% || Passthrough window, Self-compositing, plugin pixmap drawing, rotation animation. Maybe covered by above item?&lt;br /&gt;
|-&lt;br /&gt;
| Input Method Plugin API || 60% || Example plugins exists, initial plugin SDK published. Need to remove the outdated tutorial from framework docs&lt;br /&gt;
|-&lt;br /&gt;
| Input Context DBus API || 0% ||&lt;br /&gt;
|-&lt;br /&gt;
| Toolkit integration concepts || 20% || Key concepts like pre-edit injection, and widget relocation should be documented. Purpose: make it easy for others to improve toolkit integration, and to bring new people up to date. Widget relocation is documented.&lt;br /&gt;
|-&lt;br /&gt;
| Toolkit integration/support status || 10% || Implicitly all keyboard features/IM are available for MTF. No documentation about plain Qt, QML, Clutter or Gtk+&lt;br /&gt;
|-&lt;br /&gt;
| Engine interfaces || ? || Correction/prediction/suggestion/handwriting, both plugin side and IM side&lt;br /&gt;
|-&lt;br /&gt;
| Feedback framework || ? || &lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 | '''Plugins'''&lt;br /&gt;
|-&lt;br /&gt;
| Meego Keyboard theming (CSS) || 100% || Docs in keyboard source tree. ||&lt;br /&gt;
|-&lt;br /&gt;
| Meego Keyboard layouts || 100% || Docs in keyboard source tree. ||&lt;br /&gt;
|-&lt;br /&gt;
| Meego Keyboard features || 100% || Documented on wiki page. ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Documentation</id>
		<title>Maliit/Documentation</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Documentation"/>
				<updated>2011-06-22T17:22:43Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* Documentation status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Maliit]][[Category:MeeGo Input Methods]]&lt;br /&gt;
{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
Frequently asked questions.&lt;br /&gt;
&lt;br /&gt;
'''1. How to write my own input method?'''&amp;lt;br&amp;gt;&lt;br /&gt;
The recommended way to get started is to use the Maliit Plugin SDK and follow the [[Maliit/Documentation#Plugin_development_Quickstart|quickstart documentation]].&lt;br /&gt;
&lt;br /&gt;
For developing an input method plugin, the primary interface is Qt and C++. The most relevant classes are: [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/blobs/master/src/minputmethodplugin.h MInputMethodPlugin],&lt;br /&gt;
[https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/blobs/master/src/mabstractinputmethod.h MAbstractInputMethod] and [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/blobs/master/src/mabstractinputmethodhost.h MAbstractInputMethodHost].&lt;br /&gt;
&lt;br /&gt;
Since version 0.20.9-1 of the framework (May 2011), the MInputMethodQuick API allows one to also easily write input&lt;br /&gt;
methods using QML. See the [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/trees/master/meego-keyboard-quick MeegoKeyboardQuick code] for an example. &lt;br /&gt;
As of May 2011 this interface is not yet feature complete with the C++ one. Contributions welcomed.&lt;br /&gt;
&lt;br /&gt;
=== Unanswered questions ===&lt;br /&gt;
Please add any questions you may have here.&lt;br /&gt;
&lt;br /&gt;
* Does Maliit work with non-compositing Window Managers?&lt;br /&gt;
* Which window managers are currently supported?&lt;br /&gt;
&lt;br /&gt;
== Plugin Development Quickstart ==&lt;br /&gt;
How to get started developing plugins. This documentation is mainly for framework version 0.20.11-1 and newer. The C++ plugin API is compatible with all 0.20.x versions, and the QML interface is available from 0.20.9-1. Meego 1.2 has version 0.20.6. To develop there, one can install packages from Trunk/1.3.&lt;br /&gt;
&lt;br /&gt;
Note that this is not intended to be 100% copy'n'paste step-by-step instructions. You may need to use common sense. &lt;br /&gt;
&lt;br /&gt;
* [[Maliit/Installing|Install Maliit]] for your development environment&lt;br /&gt;
* [http://www.jonnor.com/files/maliit/maliit-plugin-sdk-0.1.0.tar.gz Download] the Maliit Plugin SDK&lt;br /&gt;
* Extract the examples&lt;br /&gt;
 # In your favorite terminal:&lt;br /&gt;
 tar -xf maliit-plugin-sdk-*.tar.gz&lt;br /&gt;
 cd maliit-plugin-sdk/examples/&lt;br /&gt;
* Compile them&lt;br /&gt;
 qmake&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
* Have a look around. In the examples directory you will find a QML based plugin and a C++ based plugin.&lt;br /&gt;
 # QML plugin code&lt;br /&gt;
 ls plugins/quick/&lt;br /&gt;
 # C++ plugin code&lt;br /&gt;
 ls plugins/standard&lt;br /&gt;
* Try out one of the examples&lt;br /&gt;
 # First enable both of the example input methods, along with the meego keyboard&lt;br /&gt;
 gconftool-2 -s /meegotouch/inputmethods/onscreen/enabled -t list --list-type strings \&lt;br /&gt;
 [libmeego-keyboard.so,en_gb.xml,libmeego-keyboard-quick.so,,libhelloworldplugin.so,,libexampleplugin.so,ExamplePluginSubview1]&lt;br /&gt;
 # To activate the QML example&lt;br /&gt;
 gconftool-2 -s /meegotouch/inputmethods/onscreen/active -t list --list-type string [libhelloworldplugin.so,]&lt;br /&gt;
 # To instead activate the C++ example&lt;br /&gt;
 gconftool-2 -s /meegotouch/inputmethods/onscreen/active -t list --list-type string [libexampleplugin.so,ExamplePluginSubview1]&lt;br /&gt;
 &lt;br /&gt;
 # To test, start the Maliit server and a application with a Maliit inputcontext loaded&lt;br /&gt;
 # Note: More documentation on this can be found on the Installing page&lt;br /&gt;
 meego-im-uiserver &amp;gt; server.log &amp;amp;&lt;br /&gt;
 QT_IM_MODULE=MInputContext apps/plainqt/plainqt&lt;br /&gt;
 &lt;br /&gt;
 # Tap/double tap on a text field to activate the input method&lt;br /&gt;
 # You should now be able to see an input method which allows you to click to input &amp;quot;Hello World&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Try changing the plugin code a bit, and reinstall and restart the Maliit server to try again. &lt;br /&gt;
 # Do changes (start simple, maybe by changing the &amp;quot;Hello World&amp;quot; string to something else)&lt;br /&gt;
 &lt;br /&gt;
 # Rebuild and reinstall plugins&lt;br /&gt;
 make &amp;amp;&amp;amp; make install&lt;br /&gt;
 # Remember to restart the Maliit server for it to pick up the changed plugin&lt;br /&gt;
&lt;br /&gt;
If you have any issues, first try to solve the problem by reading the instructions again, and maybe other documentation. If you cannot solve it, ask for help through one of our communication channels. &lt;br /&gt;
&lt;br /&gt;
There are also several open source input plugins that one look at. See for instance&lt;br /&gt;
* [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/trees/master/m-keyboard Meego Keyboard]&lt;br /&gt;
* [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/trees/master/meego-keyboard-quick Meego Keyboard Quick]&lt;br /&gt;
* [https://github.com/foolegg/cute-input-method/tree/maliit cute-input-method]&lt;br /&gt;
&lt;br /&gt;
== Feature documentation ==&lt;br /&gt;
See [[Maliit#Features]]&lt;br /&gt;
&lt;br /&gt;
== API documentation ==&lt;br /&gt;
* [http://apidocs.meego.com/1.1/platform/html/meego-im-framework/main.html Old MeeGo 1.1 Input method engine and framework] - note that there has been changes in API since then&lt;br /&gt;
* Documentation webpage for the latest git version and Meego version has been requested. See [https://bugs.meego.com/show_bug.cgi?id=14382 bug 14382] and [https://bugs.meego.com/show_bug.cgi?id=14994 bug 14994]&lt;br /&gt;
* Generate from source code with doxygen.&lt;br /&gt;
&lt;br /&gt;
Some of the documentation is slighly outdated, and we are working to improve this. Use our [[Maliit#Communication_Channels|communication channels]] if there are any issues.&lt;br /&gt;
&lt;br /&gt;
== Technical documentation ==&lt;br /&gt;
* [[Media:Technical-overview-widget-reloc.pdf|Widget relocation in MTF]]&lt;br /&gt;
* More to come!&lt;br /&gt;
&lt;br /&gt;
== Blogposts et.c. ==&lt;br /&gt;
(most recent first)&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/06/20/brave-new-world/ Brave New World]&lt;br /&gt;
* Michael Hasselmannn: [http://taschenorakel.de/michael/2011/06/10/decent-examples-last/ Decent examples, at last!]&lt;br /&gt;
* Jon Nordby: [http://www.jonnor.com/2011/06/example-plugins-for-maliit-available/ Example plugins for Maliit]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/06/07/maliit-session-meego-spring-conference-2011/ Maliit Session at MeeGo Spring Conference 2011]&lt;br /&gt;
* Jan Arne Petersen: [http://blog.jpetersen.org/2011/05/29/maliit-packages-for-fedora/ Maliit packages for Fedora]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/05/12/writing-qml-based-input-methods-maliit/ Writing QML-based input methods for Maliit]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/05/10/painting-strategy-meegos-virtual-keyboard/ Painting Strategy in MeeGo's Virtual Keyboard]&lt;br /&gt;
* Jon Nordby: [http://www.jonnor.com/2011/04/introducing-maliit-on-screen-keyboard-in-gnome-3/ Introducing; Maliit on-screen keyboard in Gnome 3]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/04/10/customizing-meego-keyboard/ Customizing the Meego Keyboard]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/02/24/meego-input-methods-your-desktop/ MeeGo Input Methods for your desktop]&lt;br /&gt;
&lt;br /&gt;
== Documentation working area ==&lt;br /&gt;
Here is the working area to keep track of the status of and work on the documentation.&lt;br /&gt;
&lt;br /&gt;
* Goal: Every aspect of Maliit is well-documented, and the documentation easily accessible.&lt;br /&gt;
* Primary focus is on consumers of Maliit: Third-party developers and integrators&lt;br /&gt;
&lt;br /&gt;
=== Important cases ===&lt;br /&gt;
* Developing a new input method plugin&lt;br /&gt;
* Developing a new engine plugin&lt;br /&gt;
* Integrating Maliit in a product&lt;br /&gt;
* Adding support for additional application toolkits&lt;br /&gt;
&lt;br /&gt;
=== Documentation status ===&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Item&lt;br /&gt;
! Status&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| wiki.meego.com/Maliit || 90% || Our public webpage/wiki page, starting point for all information about our project. In pretty good shape.&lt;br /&gt;
|-&lt;br /&gt;
| apidocs.meego.com/git-tip || 10% || Our docs should be shown here. [https://bugs.meego.com/show_bug.cgi?id=14382 Bug 14382]&lt;br /&gt;
|-&lt;br /&gt;
| apidocs.meego.com/1.2 || 10% || Our docs should be shown here. [https://bugs.meego.com/show_bug.cgi?id=14994 Bug 14994]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 | '''Framework'''&lt;br /&gt;
|-&lt;br /&gt;
| Overall architecture || 30% || Some docs exists in framework source tree, but is very outdated&lt;br /&gt;
|-&lt;br /&gt;
| Input Method/framework settings system || 0% ||&lt;br /&gt;
|-&lt;br /&gt;
| Input Method Plugin&amp;lt;-&amp;gt;Framework interaction || 0% || What the interaction concepts are (both user and technical), and what is done on each side to support this&lt;br /&gt;
|-&lt;br /&gt;
| Input Method Framework Window handling || 0% || Passthrough window, Self-compositing, plugin pixmap drawing, rotation animation. Maybe covered by above item?&lt;br /&gt;
|-&lt;br /&gt;
| Input Method Plugin API || 60% || Example plugins exists, initial plugin SDK published. Need to remove the outdated tutorial from framework docs&lt;br /&gt;
|-&lt;br /&gt;
| Input Context DBus API || 0% ||&lt;br /&gt;
|-&lt;br /&gt;
| Toolkit integration concepts || 20% || Key concepts like pre-edit injection, and widget relocation should be documented. Purpose: make it easy for others to improve toolkit integration, and to bring new people up to date. Widget relocation is documented.&lt;br /&gt;
|-&lt;br /&gt;
| Toolkit integration/support status || 10% || Implicitly all keyboard features/IM are available for MTF. No documentation about plain Qt, QML, Clutter or Gtk+&lt;br /&gt;
|-&lt;br /&gt;
| Engine interfaces || ? || Correction/prediction/suggestion/handwriting, both plugin side and IM side&lt;br /&gt;
|-&lt;br /&gt;
| Feedback framework || ? || &lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 | '''Meego Keyboard'''&lt;br /&gt;
|-&lt;br /&gt;
| Meego Keyboard theming (CSS) || 100% || Docs in keyboard source tree. ||&lt;br /&gt;
|-&lt;br /&gt;
| Meego Keyboard layouts || 100% || Docs in keyboard source tree. ||&lt;br /&gt;
|-&lt;br /&gt;
| Meego Keyboard features || 100% || Documented on wiki page. ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Roadmap</id>
		<title>Maliit/Roadmap</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Roadmap"/>
				<updated>2011-06-22T09:27:06Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* MeeGo 1.3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
Submit your ideas in [[Maliit/Ideas|Ideas page]] to get considered to be put into the roadmap.&lt;br /&gt;
&lt;br /&gt;
== MeeGo 1.3 ==&lt;br /&gt;
Development in in progress.&lt;br /&gt;
&lt;br /&gt;
MeeGo 1.3 will have Maliit 1.0.&lt;br /&gt;
&lt;br /&gt;
* New maliit-* package-names (DONE)&lt;br /&gt;
* Settings applet for meego-ux-settings&lt;br /&gt;
* Better integration with standard applications&lt;br /&gt;
&lt;br /&gt;
== Maliit 1.0 ==&lt;br /&gt;
Development in progress.&lt;br /&gt;
&lt;br /&gt;
With Maliit 1.0 the goal is long-term API stability for application and input method plugin API.&lt;br /&gt;
&lt;br /&gt;
* '''0.2x''': Still uses MeeGo Touch.&lt;br /&gt;
* '''0.8x''': Compiles MeeGo Touch free version by default, has legacy build option. (DONE)&lt;br /&gt;
** Maliit now an [http://lists.meego.com/pipermail/meego-dev/2011-June/483406.html independent project].&lt;br /&gt;
** Installation paths, library names and GConf keys now follow new Maliit naming conventions.&lt;br /&gt;
** Legacy LMT build can be done using qmake CONFIG+=nomeegotouch (works in -framework and -plugins repo).&lt;br /&gt;
** No API changes in plugin or application API! New library structure will require recompilation though.&lt;br /&gt;
* '''0.9x''': Alpha release that will lead up to Maliit 1.0&lt;br /&gt;
** Will contain API cleanups (not LMT related, but rather about removing cruft and cleanup).&lt;br /&gt;
** API cleanup should be done for all Maliit libraries (including engines and feedback API).&lt;br /&gt;
** In first release for the 0.9x series, the C++ based reference VKB (Maliit Keyboard) will be LMT-free.&lt;br /&gt;
* '''1.0''': Stable release&lt;br /&gt;
&lt;br /&gt;
=== Framework ===&lt;br /&gt;
* Use D-Bus datatype instead of serialized Qt types in D-Bus API (DONE)&lt;br /&gt;
* [[Maliit/Ideas/Supporting_Non_X11_Platforms|Support for non X11 platform]]&lt;br /&gt;
* Better support for Qt applications not linked to MeeGo Touch&lt;br /&gt;
** Orientation change&lt;br /&gt;
* Unified, UI independent, settings API&lt;br /&gt;
** Probably even hide the framework's GConf usage behind some API that can be used by apps and plugins.&lt;br /&gt;
&lt;br /&gt;
=== MeeGo Keyboard ===&lt;br /&gt;
* Key magnification and accent pop-ups (DONE)&lt;br /&gt;
* New word prediction widgets: Word Ribbon (DONE)&lt;br /&gt;
* Extended support for CJK languages&lt;br /&gt;
* Remove libmeegotouch dependency&lt;br /&gt;
&lt;br /&gt;
== MeeGo 1.2 ==&lt;br /&gt;
All items in this section are DONE.&lt;br /&gt;
&lt;br /&gt;
=== Framework ===&lt;br /&gt;
* private D-Bus connection&lt;br /&gt;
* new information exposures:&lt;br /&gt;
** anchor position&lt;br /&gt;
** cursor position&lt;br /&gt;
* libmeegotouch removal&lt;br /&gt;
* self-compositing&lt;br /&gt;
* self-rotation animation&lt;br /&gt;
&lt;br /&gt;
=== Engine framework ===&lt;br /&gt;
* New interface: Handwriting recognition&lt;br /&gt;
* New functionality: Dynamic virtual keyboard layout&lt;br /&gt;
&lt;br /&gt;
[[Category:Maliit]]&lt;br /&gt;
[[Category:MeeGo Input Methods]]&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Roadmap</id>
		<title>Maliit/Roadmap</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Roadmap"/>
				<updated>2011-06-22T09:26:44Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* MeeGo 1.3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
Submit your ideas in [[Maliit/Ideas|Ideas page]] to get considered to be put into the roadmap.&lt;br /&gt;
&lt;br /&gt;
== MeeGo 1.3 ==&lt;br /&gt;
Development in in progress.&lt;br /&gt;
&lt;br /&gt;
MeeGo 1.3 will have Maliit 1.0.&lt;br /&gt;
&lt;br /&gt;
* New package-names (DONE)&lt;br /&gt;
* Settings applet for meego-ux-settings&lt;br /&gt;
* Better integration with standard applications&lt;br /&gt;
&lt;br /&gt;
== Maliit 1.0 ==&lt;br /&gt;
Development in progress.&lt;br /&gt;
&lt;br /&gt;
With Maliit 1.0 the goal is long-term API stability for application and input method plugin API.&lt;br /&gt;
&lt;br /&gt;
* '''0.2x''': Still uses MeeGo Touch.&lt;br /&gt;
* '''0.8x''': Compiles MeeGo Touch free version by default, has legacy build option. (DONE)&lt;br /&gt;
** Maliit now an [http://lists.meego.com/pipermail/meego-dev/2011-June/483406.html independent project].&lt;br /&gt;
** Installation paths, library names and GConf keys now follow new Maliit naming conventions.&lt;br /&gt;
** Legacy LMT build can be done using qmake CONFIG+=nomeegotouch (works in -framework and -plugins repo).&lt;br /&gt;
** No API changes in plugin or application API! New library structure will require recompilation though.&lt;br /&gt;
* '''0.9x''': Alpha release that will lead up to Maliit 1.0&lt;br /&gt;
** Will contain API cleanups (not LMT related, but rather about removing cruft and cleanup).&lt;br /&gt;
** API cleanup should be done for all Maliit libraries (including engines and feedback API).&lt;br /&gt;
** In first release for the 0.9x series, the C++ based reference VKB (Maliit Keyboard) will be LMT-free.&lt;br /&gt;
* '''1.0''': Stable release&lt;br /&gt;
&lt;br /&gt;
=== Framework ===&lt;br /&gt;
* Use D-Bus datatype instead of serialized Qt types in D-Bus API (DONE)&lt;br /&gt;
* [[Maliit/Ideas/Supporting_Non_X11_Platforms|Support for non X11 platform]]&lt;br /&gt;
* Better support for Qt applications not linked to MeeGo Touch&lt;br /&gt;
** Orientation change&lt;br /&gt;
* Unified, UI independent, settings API&lt;br /&gt;
** Probably even hide the framework's GConf usage behind some API that can be used by apps and plugins.&lt;br /&gt;
&lt;br /&gt;
=== MeeGo Keyboard ===&lt;br /&gt;
* Key magnification and accent pop-ups (DONE)&lt;br /&gt;
* New word prediction widgets: Word Ribbon (DONE)&lt;br /&gt;
* Extended support for CJK languages&lt;br /&gt;
* Remove libmeegotouch dependency&lt;br /&gt;
&lt;br /&gt;
== MeeGo 1.2 ==&lt;br /&gt;
All items in this section are DONE.&lt;br /&gt;
&lt;br /&gt;
=== Framework ===&lt;br /&gt;
* private D-Bus connection&lt;br /&gt;
* new information exposures:&lt;br /&gt;
** anchor position&lt;br /&gt;
** cursor position&lt;br /&gt;
* libmeegotouch removal&lt;br /&gt;
* self-compositing&lt;br /&gt;
* self-rotation animation&lt;br /&gt;
&lt;br /&gt;
=== Engine framework ===&lt;br /&gt;
* New interface: Handwriting recognition&lt;br /&gt;
* New functionality: Dynamic virtual keyboard layout&lt;br /&gt;
&lt;br /&gt;
[[Category:Maliit]]&lt;br /&gt;
[[Category:MeeGo Input Methods]]&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Roadmap</id>
		<title>Maliit/Roadmap</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Roadmap"/>
				<updated>2011-06-21T16:50:17Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* Framework */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
Submit your ideas in [[Maliit/Ideas|Ideas page]] to get considered to be put into the roadmap.&lt;br /&gt;
&lt;br /&gt;
== MeeGo 1.3 ==&lt;br /&gt;
Development in in progress.&lt;br /&gt;
&lt;br /&gt;
=== Maliit 1.0 ===&lt;br /&gt;
With http://lists.meego.com/pipermail/meego-dev/2011-June/483406.html Maliit declared itself as an independent project. To strengthen the position of Maliit, we decided to go with a proper rebranding. This involves cleaning up old Harmattan/MeeGo Touch cruft in source code, installation paths, GConf keys, etc.&lt;br /&gt;
&lt;br /&gt;
The upcoming changes will be reflected in new package names for MeeGo and the following version numbers for the framework libraries:&lt;br /&gt;
* '''0.2x''': Still uses MeeGo Touch.&lt;br /&gt;
* '''0.8x''': Compiles MeeGo Touch free version by default.&lt;br /&gt;
** Installation paths, library names and GConf keys now follow new Maliit naming conventions.&lt;br /&gt;
** This is a transitional release where legacy LMT support still exists. Legacy LMT build can be surpressed with qmake CONFIG+=nomeegotouch, (works in framework and plugins repo).&lt;br /&gt;
** No API changes in plugin or application API! New library structure will require recompilation though.&lt;br /&gt;
* '''0.9x''': Alpha release that will lead up to Maliit 1.0&lt;br /&gt;
** Will contain API cleanups (not LMT related, but rather about removing cruft and cleanup).&lt;br /&gt;
** API cleanup should be done for all Maliit libraries (including engines and feedback API).&lt;br /&gt;
** In first release for the 0.9x series, the C++ based reference VKB (Maliit Keyboard) will be LMT-free.&lt;br /&gt;
* '''1.0'''&lt;br /&gt;
** From here on, we would consider our API stable, goal is API compatibility (not necessarily BC) for MeeGo 1.4, too, as we really don't want to force input method developers to keep adjusting to changing API's.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Framework ===&lt;br /&gt;
* Use D-Bus datatype instead of serialized Qt types in D-Bus API (DONE)&lt;br /&gt;
* [[Maliit/Ideas/Supporting_Non_X11_Platforms|Support for non X11 platform]]&lt;br /&gt;
* Better support for Qt applications not linked to MeeGo Touch&lt;br /&gt;
** Orientation change&lt;br /&gt;
* Control panel replacement&lt;br /&gt;
** Unify settings, probably even hide the framework's GConf usage behind some API that can be used by apps and plugins.&lt;br /&gt;
** Take a look at meego-ux-settings, and how we could integrate into that, contact tripzero.&lt;br /&gt;
&lt;br /&gt;
=== MeeGo Keyboard ===&lt;br /&gt;
* Key magnification and accent pop-ups (DONE)&lt;br /&gt;
* New word prediction widgets: Word Ribbon (DONE)&lt;br /&gt;
* Extended support for CJK languages&lt;br /&gt;
* Remove libmeegotouch dependency (or perhaps develop the qml keyboard further?)&lt;br /&gt;
&lt;br /&gt;
== MeeGo 1.2 ==&lt;br /&gt;
All items in this section are DONE.&lt;br /&gt;
&lt;br /&gt;
=== Framework ===&lt;br /&gt;
* private D-Bus connection&lt;br /&gt;
* new information exposures:&lt;br /&gt;
** anchor position&lt;br /&gt;
** cursor position&lt;br /&gt;
* libmeegotouch removal&lt;br /&gt;
* self-compositing&lt;br /&gt;
* self-rotation animation&lt;br /&gt;
&lt;br /&gt;
=== Engine framework ===&lt;br /&gt;
* New interface: Handwriting recognition&lt;br /&gt;
* New functionality: Dynamic virtual keyboard layout&lt;br /&gt;
&lt;br /&gt;
[[Category:Maliit]]&lt;br /&gt;
[[Category:MeeGo Input Methods]]&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Rebranding</id>
		<title>Maliit/Rebranding</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Rebranding"/>
				<updated>2011-06-21T16:49:43Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: Replaced content with &amp;quot;Moved to Maliit/Roadmap&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moved to [[Maliit/Roadmap]]&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Roadmap</id>
		<title>Maliit/Roadmap</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Roadmap"/>
				<updated>2011-06-21T16:49:19Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* MeeGo 1.3 */ move maliit 1.0 / rebranding page into roadmap&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
Submit your ideas in [[Maliit/Ideas|Ideas page]] to get considered to be put into the roadmap.&lt;br /&gt;
&lt;br /&gt;
== MeeGo 1.3 ==&lt;br /&gt;
Development in in progress.&lt;br /&gt;
&lt;br /&gt;
=== Maliit 1.0 ===&lt;br /&gt;
With http://lists.meego.com/pipermail/meego-dev/2011-June/483406.html Maliit declared itself as an independent project. To strengthen the position of Maliit, we decided to go with a proper rebranding. This involves cleaning up old Harmattan/MeeGo Touch cruft in source code, installation paths, GConf keys, etc.&lt;br /&gt;
&lt;br /&gt;
The upcoming changes will be reflected in new package names for MeeGo and the following version numbers for the framework libraries:&lt;br /&gt;
* '''0.2x''': Still uses MeeGo Touch.&lt;br /&gt;
* '''0.8x''': Compiles MeeGo Touch free version by default.&lt;br /&gt;
** Installation paths, library names and GConf keys now follow new Maliit naming conventions.&lt;br /&gt;
** This is a transitional release where legacy LMT support still exists. Legacy LMT build can be surpressed with qmake CONFIG+=nomeegotouch, (works in framework and plugins repo).&lt;br /&gt;
** No API changes in plugin or application API! New library structure will require recompilation though.&lt;br /&gt;
* '''0.9x''': Alpha release that will lead up to Maliit 1.0&lt;br /&gt;
** Will contain API cleanups (not LMT related, but rather about removing cruft and cleanup).&lt;br /&gt;
** API cleanup should be done for all Maliit libraries (including engines and feedback API).&lt;br /&gt;
** In first release for the 0.9x series, the C++ based reference VKB (Maliit Keyboard) will be LMT-free.&lt;br /&gt;
* '''1.0'''&lt;br /&gt;
** From here on, we would consider our API stable, goal is API compatibility (not necessarily BC) for MeeGo 1.4, too, as we really don't want to force input method developers to keep adjusting to changing API's.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Framework ===&lt;br /&gt;
* Use D-Bus datatype instead of serialized Qt types in D-Bus API (DONE)&lt;br /&gt;
* [[Maliit/Ideas/Supporting_Non_X11_Platforms|Support for non X11 platform]]&lt;br /&gt;
* Better support for Qt applications not linked to MeeGo Touch&lt;br /&gt;
** Orientation change&lt;br /&gt;
* Control panel replacement&lt;br /&gt;
** Unify settings, probably even hide the framework's GConf usage behind some API that can be used by apps and plugins.&lt;br /&gt;
** Take a look at meego-ux-settings, and how we could integrate into that, contact tripzero.&lt;br /&gt;
* [[Maliit/Rebranding|Maliit rebranding]]&lt;br /&gt;
&lt;br /&gt;
=== MeeGo Keyboard ===&lt;br /&gt;
* Key magnification and accent pop-ups (DONE)&lt;br /&gt;
* New word prediction widgets: Word Ribbon (DONE)&lt;br /&gt;
* Extended support for CJK languages&lt;br /&gt;
* Remove libmeegotouch dependency (or perhaps develop the qml keyboard further?)&lt;br /&gt;
&lt;br /&gt;
== MeeGo 1.2 ==&lt;br /&gt;
All items in this section are DONE.&lt;br /&gt;
&lt;br /&gt;
=== Framework ===&lt;br /&gt;
* private D-Bus connection&lt;br /&gt;
* new information exposures:&lt;br /&gt;
** anchor position&lt;br /&gt;
** cursor position&lt;br /&gt;
* libmeegotouch removal&lt;br /&gt;
* self-compositing&lt;br /&gt;
* self-rotation animation&lt;br /&gt;
&lt;br /&gt;
=== Engine framework ===&lt;br /&gt;
* New interface: Handwriting recognition&lt;br /&gt;
* New functionality: Dynamic virtual keyboard layout&lt;br /&gt;
&lt;br /&gt;
[[Category:Maliit]]&lt;br /&gt;
[[Category:MeeGo Input Methods]]&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Devices/ExoPC</id>
		<title>Devices/ExoPC</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Devices/ExoPC"/>
				<updated>2011-06-15T09:19:54Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* How to install latest MeeGo Snapshot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ExoPCs were given out at the Mobile World Congress 2011 and [[Local MeeGo Networks/MeeGo Network Finland/MeeGo Summit FI|MeeGo Summit.fi in Apr 2011]].&lt;br /&gt;
&lt;br /&gt;
== How to install latest MeeGo Snapshot ==&lt;br /&gt;
* Download img from http://download.meego.com/snapshots/latest/images/meego-tablet-ia32-pinetrail/&lt;br /&gt;
* Write to your usb stick with '''dd if=meego.img of=/dev/sdb bs=4M'''&lt;br /&gt;
* Put usb stick in tablet and boot up, press &amp;quot;BBS&amp;quot; (on the touchscreen), select usb stick, now you need a usb keyboard to select install only option&lt;br /&gt;
** You can go through the bootloader using the button in the top left corner of the screen, short press to move to the next entry, long press to boot it. USB keyboard is optional.&lt;br /&gt;
&lt;br /&gt;
== Mobile World Congress 2011 / MeeGo Summit.fi Machines : Update Repos ==&lt;br /&gt;
&lt;br /&gt;
These machines were pre-installed with MeeGo 1.1 using a trunk-daily build of 1.1.90.2.20110209.4 (see /etc/zypp/repos/core.repo on the device); this is no longer available.&lt;br /&gt;
&lt;br /&gt;
In the absence of a more stable repo an alternative is to track the latest package set by setting&lt;br /&gt;
  baseurl=http://download.meego.com/trunk-daily/builds/trunk/latest/repos/oss/ia32/packages/&lt;br /&gt;
in the core.repo file.&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
  zypper ref&lt;br /&gt;
&lt;br /&gt;
(If anyone is brave enough to run ''zypper up'' and potentially need to reinstall then please say how this works.)&lt;br /&gt;
&lt;br /&gt;
I tried that against the latest weekly repo at that time (http://repo.meego.com/MeeGo/builds/1.1.90/1.1.99.2.20110412.6/repos/oss/ia32/packages/) and first it hung on updating libc. After a reboot it ran through, but after one more reboot the Tablet UX didn't come back up anymore. Didn't investigate it further. I'll most likely use these instructions: http://meego.com/downloads/releases/1.2/meego-tablet-developer-preview and the image for aforementioned weekly.&lt;br /&gt;
&lt;br /&gt;
--[[User:Dm8tbr|Dm8tbr]] 04:30, 18 April 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Connecting Qt Creator to the Device ==&lt;br /&gt;
Go to Tools-&amp;gt;Options; then Projects section, MeeGo Device Configurations tab.&lt;br /&gt;
&lt;br /&gt;
Note that the meego user seems to need sudo rights to be able to run the remote execution:&lt;br /&gt;
  cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/sudoers.d/su-meego&lt;br /&gt;
  meego        ALL=(ALL)       NOPASSWD: ALL&lt;br /&gt;
  EOF&lt;br /&gt;
  chmod 440 /etc/sudoers.d/su-meego&lt;br /&gt;
&lt;br /&gt;
  sed -i -e's/##includedir/#includedir/' /etc/sudoers&lt;br /&gt;
&lt;br /&gt;
Also, for some reason, /usr/local and /usr/local/bin end up as root:root, mode 770. Fix this with:&lt;br /&gt;
  sudo chmod 755 /usr/local&lt;br /&gt;
  sudo chmod 755 /usr/local/bin&lt;br /&gt;
This looks like it's due to Qt Creator packaging&lt;br /&gt;
&lt;br /&gt;
== Old Installation Notes ==&lt;br /&gt;
&lt;br /&gt;
'''Warning:''' both the handset and netbook images running on the ExoPC have some problems as&lt;br /&gt;
of 1/30/2011.    See below.&lt;br /&gt;
'''Warning:''' as with any other device, if you incorrectly reflash the bootloader and/or kernel, you may '''brick''' your system.&lt;br /&gt;
&lt;br /&gt;
Sometimes the unit won't boot when a USB mouse is plugged in.    An external keyboard doesn't cause the same problems.    A mouse can be attached as soon as the MeeGo splashscreen appears.    This might be a power problem that would be resolved by a USB hub with an external supply.&lt;br /&gt;
&lt;br /&gt;
Installing the Handset image before the Netbook saves a bit of trouble if both are desired.&lt;br /&gt;
&lt;br /&gt;
The version of parted that is invoked by the MeeGo installers [http://bugs.meego.com/show_bug.cgi?id=12945 will not resize an NTFS partition], so if you want to preserve Windows, use another partitioning tool before booting the MeeGo USB stick.    [http://www.sysresccd.org/Main_Page systemrescuecd] worked fine.&lt;br /&gt;
&lt;br /&gt;
The installation described here shrank the Windows partition to the (recommended minimum) 20 GB, then created an extended (logical) partition in the remaining space with a 2 GB swap partition and two primary (Is this right?) partitions of equal size in the remaining space.&lt;br /&gt;
&lt;br /&gt;
Windows may come up and say that the partition table has been corrupted and that it will repair it ;-).    The result is that the boot flag is set for the Win System partition, which prevents the extlinux bootloader from starting.      To fix the problem, boot once more from the handy systemrescuecd stick and clear the duplicate boot flag from the System partition.     Presto: your MeeGo install is again accessible.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
[[File:systemrescuecd_gparted_ExoPC.jpg|750px|frameless|Result of successful partitioning for triple-boot.    Booting Windows may cause it to set the &amp;quot;boot&amp;quot; flag on its System partition as shown here and prevent extlinux from loading.    Boot again with the systemrescuecd stick to clear the duplicate flag.]]&lt;br /&gt;
&lt;br /&gt;
The ExoPC has an unlocked bootloader, so installation is relatively simple.   First [http://meego.com/devices/netbook/installing-meego-your-netbook prepare a USB stick] with the image of your choice.  After holding the power button for 4 seconds to start the boot process, touch the &amp;quot;Setup&amp;quot; soft button in the upper-righthand corner of the screen and disable &amp;quot;Quiet Boot.&amp;quot;   Boot again and touch the &amp;quot;BBS&amp;quot; soft button to manually select your USB drive as the boot device.     &lt;br /&gt;
&lt;br /&gt;
The netbook image does not create a useful /boot/extlinux/extlinux.conf file.     One way of solving the problem is to install the handset image first, mount the handset image from the netbook image and just copy over the extlinux.conf file.     Copy the entry for the handset image over to the end of the extlinux.conf file and change the details in order to create a file that works for all the images, then copy back to the handset image.&lt;br /&gt;
&lt;br /&gt;
Don't forget to run &amp;quot;zypper update&amp;quot; from a terminal window as soon as your image is installed.&lt;br /&gt;
&lt;br /&gt;
Warning: always unmount the USB filesystem before pulling the Flash drive out of the slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Handset-specific notes ==&lt;br /&gt;
&lt;br /&gt;
Touchscreen works great in the as-installed image.    WiFi does not.    A symptom of the problem is that both the ath9k (correct) and ath3K (wrong) kernel modules are autoloaded at boot time.    Edit /etc/modprobe.d/blacklist.conf and add &amp;quot;blacklist ath3k&amp;quot; and then reboot.   Unfortunately, WiFi still doesn't come up even though &amp;quot;lsmod&amp;quot; shows the same drivers as on netbook image, whose WiFi works great.    &amp;quot;dmesg&amp;quot; says &amp;quot;ADDRCONF(NETDEV_UP): wlan0: link is not ready.&lt;br /&gt;
&lt;br /&gt;
Before WiFi is working the easiest ways to get files onto the handset images are either from a mounted USB stick filesystem or by mounting the MeeGo netbook filesystem read-only and copying.    In order to accomplish the latter, type &amp;quot;fdisk -l&amp;quot; to list the existing partitions.     Create the directory where the netbook filesystem will be mounted, e.g. &amp;quot;mkdir -p /netbook&amp;quot;.    Then, assuming your netbook partition is /dev/sdaX and the filesystem type is ext3, enter &amp;quot;mount -t ext3 -o ro /dev/sdaX /netbook&amp;quot;.  Then &amp;quot;ls /netbook&amp;quot; will display the files on the netbook partition.&lt;br /&gt;
&lt;br /&gt;
== Netbook-specific notes ==&lt;br /&gt;
&lt;br /&gt;
WiFi works great with the as-installed netbook image.&lt;br /&gt;
&lt;br /&gt;
As installed, the netbook image [http://bugs.meego.com/show_bug.cgi?id=9524 does not have a working touchscreen].   The system responds to a screen touch by darkening slightly and moving the cursor to the upper-lefthand corner.  The needed driver, hid_egalax, is not autoloaded.    Manually loading the driver with &amp;quot;modprobe -i hid_egalax&amp;quot; makes the touchscreen fully functional about half the time.    Other times the behavior seems to be unaffected by the driver load.&lt;br /&gt;
&lt;br /&gt;
=== Netbook trunk (1.2) ===&lt;br /&gt;
&lt;br /&gt;
Some notes about installing a more recent MeeGo netbook image (I used meego-netbook-ia32-1.2.80.0.20110503.2.img) on ExoPC hardware:&lt;br /&gt;
&lt;br /&gt;
# Installation needs an external keyboard, but went smoothly. However, on first boot (where you have to enter default user/password etc.), the external keyboard seemed to cause some power issue (even with the tablet plugged into its adapter), where X respawns too quickly.&lt;br /&gt;
#: To work around this, I followed [http://forum.meego.com/showthread.php?t=447 these instructions], summarised here:&lt;br /&gt;
## Plug in USB keyboard.&lt;br /&gt;
## Boot and start bashing the space key on the external keyboard (to interrupt grub).&lt;br /&gt;
## In the grub menu, press Tab so you can edit the kernel boot options.&lt;br /&gt;
## Append ' s' (space then 's', no quotation marks). This will mean you can boot into single user mode before X starts (and the keyboard causes X to continually respawn).&lt;br /&gt;
## Once you have a console available, run &amp;lt;code&amp;gt;startx&amp;lt;/code&amp;gt; to get a minimal X environment.&lt;br /&gt;
## In the terminal window, run &amp;lt;code&amp;gt;/usr/bin/firstboot&amp;lt;/code&amp;gt;. This starts the normal firstboot environment with the keyboard plugged in. Fill in the necessary.&lt;br /&gt;
## Once you're done with firstboot, back in the terminal, use the &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt; command to shut down.&lt;br /&gt;
## You should now be able to boot the tablet with the keyboard plugged in.&lt;br /&gt;
# Once you've booted successfully, you'll probably need to use the Terminal application to do stuff.&lt;br /&gt;
# With more recent images, hid_egalax does appear to be autoloaded (see the previous section). However, the pointer behaviour is still a little skittish. I found that installing evtouch stabilised it a bit:&lt;br /&gt;
#: &amp;lt;code&amp;gt;zypper in xorg-x11-drv-evtouch&amp;lt;/code&amp;gt;&lt;br /&gt;
# To hide the pointer, edit /etc/sysconfig/uxlaunch and add a line like this to the end of the file:&lt;br /&gt;
#: &amp;lt;code&amp;gt;xopts=-nocursor&amp;lt;/code&amp;gt;&lt;br /&gt;
#: But, once the pointer is gone, it is tricky to put the pointer to the top of the screen to see the toolbar (with links to MyZone etc.). However, if you've got an external keyboard plugged in, you can press the Windows key on the external keyboard to get there.&lt;br /&gt;
# This one is for those of you interested in running HTML5/JS web apps on netbook: The version of Chromium installed by default on the netbook image is quite old, and behaves pretty poorly for frameworks like [http://www.sencha.com/products/touch/ Sencha Touch]. You can instead install a developer build of Chrome, which works much better.&lt;br /&gt;
#:# Install lsb:&lt;br /&gt;
#:#: &amp;lt;code&amp;gt;sudo zypper in lsb&amp;lt;/code&amp;gt;&lt;br /&gt;
#:# Download a developer build of Chrome (to replace Chromium) from&lt;br /&gt;
#:#: http://www.google.com/chrome/intl/en/eula_dev.html?dl=unstable_i386_rpm&lt;br /&gt;
#:# Install the RPM:&lt;br /&gt;
#:#: &amp;lt;code&amp;gt;sudo rpm -i google-chrome-unstable_current_i386.rpm&amp;lt;/code&amp;gt;&lt;br /&gt;
#:# Run it:&lt;br /&gt;
#:#: &amp;lt;pre&amp;gt;google-chrome&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:#: NB on first run, it asks you to select a search engine; I chose Yahoo!, as selecting Google didn't work (ironically).&lt;br /&gt;
# On the other hand, if you're happy with the version of Chromium on the netbook image, and just want to be able to use it with touch, the [https://chrome.google.com/webstore/detail/ncegfehgjifmmpnjaihnjpbpddjjebme chromeTouch extension] works pretty well. However, this mucks up touch tracking in Sencha Touch.&lt;br /&gt;
# I had pretty much zero luck getting a decent virtual keyboard to work. I tried matchbox-keyboard, the meegotouch keyboard ([http://wiki.meego.com/Maliit Maliit]), and fvkbd. matchbox-keyboard and fvkbd at least appeared onscreen; I had no luck with the meegotouch keyboard at all.&lt;br /&gt;
#: I ended up keeping fvkbd with the following small edits:&lt;br /&gt;
#:* I changed its .desktop file (/usr/share/applications/fvkbd.desktop) to run the keyboard docked to the bottom of the screen, by changing the Exec line to:&lt;br /&gt;
#:*: &amp;lt;code&amp;gt;Exec=fvkbd-gtk -d -l keyboard-s.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
#:*: (note the extra -d to dock to the bottom of the screen)&lt;br /&gt;
#:* I also edited the keyboard-s.xml file (/usr/share/fvkbd/keyboard-s.xml) and set the width to 1366 and height to 330 (attributes on the outermost XML element). This makes the keyboard properly span the screen without being truncated (though I didn't work out how to centre the keys on the background)&lt;br /&gt;
#: To use the keyboard, start the fvkbd application first (from the Applications zone), then the application you want to use. The keyboard then sits on top of the application. This can be useful for emergencies, but it's not really adequate for full, everyday use.&lt;br /&gt;
# For some reason I couldn't discover, the screen dims when the power lead is unplugged. I was unable to figure out how to prevent this from happening (I tried looking through the BIOS, using xset, looking at upower, tried to turn off acpi etc. to no avail). However, there is a utility for setting the backlight brightness called &amp;lt;code&amp;gt;xbacklight&amp;lt;/code&amp;gt; which at least helps you reset the screen brightness (the netbook image has no software control for this, and the tablet has no hardware keys for it).&lt;br /&gt;
#: Install it with:&lt;br /&gt;
#: &amp;lt;code&amp;gt;sudo zypper in xbacklight&amp;lt;/code&amp;gt;&lt;br /&gt;
#: Then, to set the backlight brightness to 100%, do:&lt;br /&gt;
#: &amp;lt;code&amp;gt;xbacklight -set 100&amp;lt;/code&amp;gt;&lt;br /&gt;
#: (Obviously, this is less than ideal. If anyone knows how to permanently prevent the screen from dimming when the power is unplugged, please let me know.)&lt;br /&gt;
# The ExoPC has a light sensor (tiny rectangle next to the power LEDs in the top left). When it's on, a reduction in the ambient light causes the screen to dim. This can be quite annoying in a British spring as bright sunlight rapidly alternates with storm clouds.&lt;br /&gt;
#: You can turn off the light sensor temporarily with:&lt;br /&gt;
#: &amp;lt;code&amp;gt;sudo echo 0 &amp;gt; /sys/devices/platform/asus_laptop/ls_switch&amp;lt;/code&amp;gt;&lt;br /&gt;
#: However, you have to do this manually on each boot. There's probably some way to switch it off permanently, but no one on the internet has written it down. So the easiest thing for me to do was write a script in &amp;lt;code&amp;gt;/etc/init.d/ls_switch&amp;lt;/code&amp;gt; to run on each boot (see below).&lt;br /&gt;
#: Make sure you &amp;lt;code&amp;gt;sudo chmod +x /etc/init.d/ls_switch&amp;lt;/code&amp;gt; too.&lt;br /&gt;
#: With this script in place, set it to run on each boot with:&lt;br /&gt;
#: &amp;lt;code&amp;gt;chkconfig --add ls_switch&amp;lt;/code&amp;gt;&lt;br /&gt;
#: When you reboot, the light sensor should be off.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# script to go in /etc/init.d/ls_switch&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#&lt;br /&gt;
# ls_switch	Turn light sensor off&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 2345 08 92&lt;br /&gt;
# description:	Turns light sensor off on boot&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
### BEGIN INIT INFO&lt;br /&gt;
# Provides: ls_switch&lt;br /&gt;
# Default-Start:  2 3 4 5&lt;br /&gt;
# Default-Stop: 0 1 6&lt;br /&gt;
# Short-Description: turn off light sensor&lt;br /&gt;
# Description: turn off light sensor&lt;br /&gt;
### END INIT INFO&lt;br /&gt;
&lt;br /&gt;
# Source function library.&lt;br /&gt;
. /etc/init.d/functions&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
	  echo &amp;quot;disabling light sensor&amp;quot;&lt;br /&gt;
    echo 0 &amp;gt; /sys/devices/platform/asus_laptop/ls_switch&lt;br /&gt;
	  RETVAL=$?&lt;br /&gt;
	  ;;&lt;br /&gt;
  stop)&lt;br /&gt;
    RETVAL=0&lt;br /&gt;
    ;;&lt;br /&gt;
  *)&lt;br /&gt;
    echo &amp;quot;Usage: ls_switch {start|stop}&amp;quot;&lt;br /&gt;
    RETVAL=2&lt;br /&gt;
    ;;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit $RETVAL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Acknowledgements ===&lt;br /&gt;
&lt;br /&gt;
Hat-tip to Bill Pearson of Intel for recommending the ExoPC.&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
&lt;br /&gt;
== Hardware Fixes ==&lt;br /&gt;
&lt;br /&gt;
Please add steps here how to get hardware features working on MeeGo Tablet UX that don't work out of the box:&lt;br /&gt;
&lt;br /&gt;
=== HDMI Output ===&lt;br /&gt;
&lt;br /&gt;
This can be enabled by copying the following two files from a WeTab OS installation ([http://www.wetab-community.com/index.php?/topic/12074-hdmi-ausgang/ source link]):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/tiitoo-hdmi-daemon&lt;br /&gt;
/lib/firmware/chrontel/fw7036.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have copied the files, you need to load two kernel modules and start the HDMI Daemon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo modprobe i2c-i801&lt;br /&gt;
sudo modprobe i2c-dev&lt;br /&gt;
sudo tiitoo-hdmi-daemon&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Accelerometer ===&lt;br /&gt;
&lt;br /&gt;
The fix to [http://bugs.meego.com/10886 bug 10886] was to remove the MeeGo Sensors module in the kickstart file of the Tablet Image. This, however, causes the sensor to not be accessible to Qt Mobility ([http://bugs.meego.com/17461 bug 17461]). The workaround as described in [http://bugs.meego.com/17461 bug 17461] is as follows:&lt;br /&gt;
&lt;br /&gt;
* Download the RPM: [http://download.meego.com/snapshots/1.2.0.90.1.20110525.2/repos/oss/ia32/packages/i586/libqtsensors1-1.2.0~beta0+git2726-10.11.i586.rpm libqtsensors1-1.2.0~beta0+git2726-10.11.i586.rpm]&lt;br /&gt;
* Extract it: &amp;lt;code&amp;gt;rpm2cpio libqtsensors1-1.2.0~beta0+git2726-10.11.i586.rpm | cpio -idv&amp;lt;/code&amp;gt;&lt;br /&gt;
* Copy the module (as root): &amp;lt;code&amp;gt;cp usr/lib/qt4/plugins/sensors/libqtsensors_meego.so  /usr/lib/qt4/plugins/sensors/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To test, you can install the '''qt-mobility-examples''' package (using &amp;lt;code&amp;gt;zypper install qt-mobility-examples&amp;lt;/code&amp;gt;) and run one of the examples:&lt;br /&gt;
&lt;br /&gt;
 $ /usr/lib/qtmobility/examples/accel&lt;br /&gt;
 loaded the Generic plugin &lt;br /&gt;
 loaded the grue plugin &lt;br /&gt;
 Loaded the MeeGo sensor plugin &lt;br /&gt;
 New sensor &amp;quot;accelerometersensor&amp;quot; interface created with session id 10 ... &lt;br /&gt;
 acceleration:  &amp;quot;0.12 0.27 2.35&amp;quot; &lt;br /&gt;
 acceleration:  &amp;quot;0.12 0.29 2.39&amp;quot; &lt;br /&gt;
 acceleration:  &amp;quot;0.10 0.29 2.39&amp;quot; &lt;br /&gt;
 acceleration:  &amp;quot;0.11 0.30 2.33&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Display brightness ===&lt;br /&gt;
&lt;br /&gt;
If for some reason the display backlight becomes too dark, you can use the following command as root to set the brightness:&lt;br /&gt;
&lt;br /&gt;
 echo 15 &amp;gt;/sys/devices/virtual/backlight/acpi_video0/brightness&lt;br /&gt;
&lt;br /&gt;
The value 15 has been obtained from the file &amp;lt;code&amp;gt;/sys/devices/virtual/backlight/acpi_video0/max_brightness&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Another option is to install xbacklight (available in the MeeGo repos) and run:&lt;br /&gt;
&lt;br /&gt;
 xbacklight -set 100&lt;br /&gt;
&lt;br /&gt;
You don't need to be root to do this.&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Installing</id>
		<title>Maliit/Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Installing"/>
				<updated>2011-06-10T15:16:49Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: /* openSUSE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Maliit]][[Category:MeeGo Input Methods]]&lt;br /&gt;
{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
== Installing ==&lt;br /&gt;
&lt;br /&gt;
=== Meego ===&lt;br /&gt;
Meego Input Methods comes preinstalled on:&lt;br /&gt;
* Meego Handset UX 1.1 and later&lt;br /&gt;
* Meego Tablet UX 1.2 and later&lt;br /&gt;
&lt;br /&gt;
'''Meego Netbook UX'''&lt;br /&gt;
&lt;br /&gt;
These steps have been tested on Meego 1.1.&lt;br /&gt;
&lt;br /&gt;
* Enable the 'handset' repository. For example:&lt;br /&gt;
&lt;br /&gt;
 $ sudo zypper addrepo &amp;lt;nowiki&amp;gt;http://repo.meego.com/MeeGo/releases/1.1/handset/repos/ia32/packages/&amp;lt;/nowiki&amp;gt; handset&lt;br /&gt;
 $ sudo zypper refresh&lt;br /&gt;
&lt;br /&gt;
* Install these packages:&lt;br /&gt;
** meegotouch-inputmethodbridges&lt;br /&gt;
** meegotouch-inputmethodkeyboard&lt;br /&gt;
 &lt;br /&gt;
 sudo zypper install meegotouch-inputmethodkeyboard meegotouch-inputmethodbridges &lt;br /&gt;
&lt;br /&gt;
* Modify &amp;lt;code&amp;gt;/etc/xdg/autostart/meego-im-uiserver.desktop&amp;lt;/code&amp;gt; to look like this:&lt;br /&gt;
&lt;br /&gt;
 [Desktop Entry]&lt;br /&gt;
 Exec=/usr/bin/meego-im-uiserver -target slate -bypass-wm-hint&lt;br /&gt;
 X-Moblin-Priority=High&lt;br /&gt;
 OnlyShowIn=X-MEEGO-HS;X-MEEGO-NB&lt;br /&gt;
&lt;br /&gt;
This will work with 1024x600 resolution. Replace 'slate' with other code if you have different resolution. See /etc/meegotouch/devices.conf for different codes.&lt;br /&gt;
&lt;br /&gt;
* Add this line to ~/.bashrc (any better place in X configs? /etc/X11/xinitrc-common failed for me) to activate the inputmethod plugin for Qt-based programs:&lt;br /&gt;
 export QT_IM_MODULE=MInputContext&lt;br /&gt;
&lt;br /&gt;
* Relogin (or reboot) to desktop&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu (10.04 Lucid Lynx / 10.10 Maveric Meerkat) ===&lt;br /&gt;
The MeeGo Input Methods are not yet in any official Ubuntu repository. However, the packages are available through [http://launchpad.net Launchpad]. They are provided to ease development of input method plugins, without the need of using the MeeGo SDK or even scratchbox.&lt;br /&gt;
&lt;br /&gt;
To install the packages, you will need to add two Launchpad PPA's to your system's software sources:&lt;br /&gt;
* Under System → Administration → Software Sources, select &amp;quot;Other Software&amp;quot; '''or'''&lt;br /&gt;
**Alternatively you can run Synaptics Package Manager and choose the menu ''Setting'' --&amp;gt; ''Package Sources'' where you can add the following PPA's in the tab &amp;quot;Other Software&amp;quot;&lt;br /&gt;
*&amp;lt;code&amp;gt;Add ppa:openismus-team/openismus-meego-im&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;Add ppa:kubuntu-ppa/backports&amp;lt;/code&amp;gt; (needed for Qt 4.7, on Lucid/Meerkat)&lt;br /&gt;
*Install meego-keyboard-dev and meegotouch-demos-widgetsgallery (for simple testing) through Synaptics Package Manager '''or'''&lt;br /&gt;
**using this command line command(make sure that Synaptics is closed already):&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install meego-keyboard-dev meegotouch-demos-widgetsgallery&lt;br /&gt;
&lt;br /&gt;
=== Debian, and Ubuntu derivatives ===&lt;br /&gt;
You might be able to use the packages above. Let us know to which extend you succeed with this.&lt;br /&gt;
&lt;br /&gt;
=== Fedora ===&lt;br /&gt;
For Fedora there are no Maliit packages available in the Fedora repository. But there are packages built with the [http://openbuildservice.org/ Open Build Service (OBS)]. To install them:&lt;br /&gt;
* Download [http://download.opensuse.org/repositories/home:/janarnepetersen/Fedora_15/home:janarnepetersen.repo .repo file] and save it as ''/etc/yum.repos.d/maliit.repo''.&lt;br /&gt;
* Install the packages ''meego-inputmethodkeyboard'' and  ''meego-inputmethodbridges'' with the ''Add/Remove Software application''&lt;br /&gt;
&lt;br /&gt;
For testing Maliit:&lt;br /&gt;
* As user start ''meego-im-uiserver'' in a terminal&lt;br /&gt;
* Run ''GTK_IM_MODULE=meego-im gedit''&lt;br /&gt;
&lt;br /&gt;
=== openSUSE 11.4 &amp;amp; Factory ===&lt;br /&gt;
The work-in-progress can be found at &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://download.opensuse.org/repositories/home:/janarnepetersen/openSUSE_11.4/&lt;br /&gt;
&lt;br /&gt;
http://download.opensuse.org/repositories/home:/janarnepetersen/openSUSE_Factory/&lt;br /&gt;
&lt;br /&gt;
=== Arch Linux ===&lt;br /&gt;
Preliminary git packages are available [http://aur.archlinux.org/packages.php?O=0&amp;amp;K=meegotouch-input&amp;amp;do_Search=Go in AUR]&lt;br /&gt;
&lt;br /&gt;
To install framework, keyboard, Qt and Gtk+ support:&lt;br /&gt;
 yaourt -S meegotouch-inputmethodkeyboard meegotouch-inputmethodbridges&lt;br /&gt;
&lt;br /&gt;
Substitute yaourt with your favorite AUR helper.&lt;br /&gt;
&lt;br /&gt;
=== Maemo 5 (Fremantle) ===&lt;br /&gt;
&lt;br /&gt;
Warning: This is a rough tech demo and as such, fairly useless. Also, don't activate [http://wiki.maemo.org/Extras-devel Maemo's extras-devel repo] unless you exactly know what you are doing - it can brick your device!&lt;br /&gt;
&lt;br /&gt;
* Install meego-keyboard-quick (needs extras-devel),&lt;br /&gt;
* Install meego-im-demos&lt;br /&gt;
* Open a terminal, start the MeeGo Input Methods service:&lt;br /&gt;
&lt;br /&gt;
  $ meego-im-uiserver -bypass-wm-hint -software -graphicssystem raster&lt;br /&gt;
&lt;br /&gt;
* Open a second terminal, to run the meego-im-demos-plainqt application:&lt;br /&gt;
&lt;br /&gt;
  $ export QT_IM_MODULE=MInputContext&lt;br /&gt;
  $ meego-im-demo-plainqt -fullscreen -software -graphicssystem raster&lt;br /&gt;
&lt;br /&gt;
Instead of the test application, one should be able to use it in any other Qt application, as long as the MeeGo Input Methods service is running and the QT_IM_MODULE environment variable is set correctly. &lt;br /&gt;
&lt;br /&gt;
=== Other GNU/Linux ===&lt;br /&gt;
Grab the source source code from the git repositories above.&lt;br /&gt;
&lt;br /&gt;
Meego Input Methods uses the qmake build system. So, to do a standard build and install, do:&lt;br /&gt;
 qmake&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
'''Dependencies'''&lt;br /&gt;
* All components have a hard dependency on Qt 4.7.&lt;br /&gt;
* Framework uses libmeegotouch by default. Pass CONFIG+=nomeegotouch to qmake to disable.&lt;br /&gt;
* Framework will build a setting applet for meegotouch-controlpanel by default. Pass CONFIG+=noduicontrolpanel to qmake to disable.&lt;br /&gt;
* Keyboard uses meego feedback framework (with reactionmaps) by default. Pass CONFIG+=noreactionmaps to qmake to disable.&lt;br /&gt;
* Keyboard currently has a hard dependency on libmeegotouch. &lt;br /&gt;
&lt;br /&gt;
Work is ongoing to reduce the amount of dependencies in the different components.&lt;br /&gt;
&lt;br /&gt;
== Using ==&lt;br /&gt;
To quickly test your installation, it is recommended to use the widgetsgallery:&lt;br /&gt;
# Make sure you have a compositing window manager running: Go to System → Appearance, select &amp;quot;Visual Effects&amp;quot; and choose either normal or extra.&lt;br /&gt;
# Start the meego-im-uiserver (responsible for handling input method plugins and communication with the application) using a shell:&lt;br /&gt;
  meego-im-uiserver -software -bypass-wm-hint&lt;br /&gt;
# Test virtual keyboard in MeeGo Touch's widgetsgallery (in a seperate shell):&lt;br /&gt;
  QT_IM_MODULE=MInputContext widgetsgallery&lt;br /&gt;
&lt;br /&gt;
To integrate it with your system or product, use the distro-recommended way to start above daemon and setting the environment variable for all applications.&lt;br /&gt;
&lt;br /&gt;
== Debugging tips ==&lt;br /&gt;
# Verify that the correct environment variables are set to load the correct input context (see above).&lt;br /&gt;
# Run meego-im-uiserver with the &amp;quot;-output-level debug&amp;quot; flag (in addition to any other existing flags).&lt;br /&gt;
# If problems with QT-based application, set the MIC_ENABLE_DEBUG=true. This will make the inputcontext output debug information.&lt;br /&gt;
# If problems with GTK+ applications, recompile meegotouch-inputmethodbridges with the --enable-debug flag. This will make the inputcontext output debug information.&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Documentation</id>
		<title>Maliit/Documentation</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Documentation"/>
				<updated>2011-06-10T08:35:31Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: reorder sections to put the important stuff on top&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Maliit]][[Category:MeeGo Input Methods]]&lt;br /&gt;
{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
Frequently asked questions.&lt;br /&gt;
&lt;br /&gt;
'''1. How to write my own input method?'''&amp;lt;br&amp;gt;&lt;br /&gt;
The recommended way to get started is to use the Maliit Plugin SDK and follow the [[Maliit/Documentation#Plugin_development_Quickstart|quickstart documentation]].&lt;br /&gt;
&lt;br /&gt;
For developing an input method plugin, the primary interface is Qt and C++. The most relevant classes are: [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/blobs/master/src/minputmethodplugin.h MInputMethodPlugin],&lt;br /&gt;
[https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/blobs/master/src/mabstractinputmethod.h MAbstractInputMethod] and [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework/blobs/master/src/mabstractinputmethodhost.h MAbstractInputMethodHost].&lt;br /&gt;
&lt;br /&gt;
Since version 0.20.9-1 of the framework (May 2011), the MInputMethodQuick API allows one to also easily write input&lt;br /&gt;
methods using QML. See the [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/trees/master/meego-keyboard-quick MeegoKeyboardQuick code] for an example. &lt;br /&gt;
As of May 2011 this interface is not yet feature complete with the C++ one. Contributions welcomed.&lt;br /&gt;
&lt;br /&gt;
=== Unanswered questions ===&lt;br /&gt;
Please add any questions you may have here.&lt;br /&gt;
&lt;br /&gt;
== Plugin Development Quickstart ==&lt;br /&gt;
How to get started developing plugins. This documentation is mainly for framework version 0.20.11-1 and newer. The C++ plugin API is compatible with all 0.20.x versions, and the QML interface is available from 0.20.9-1. Meego 1.2 has version 0.20.6. To develop there, one can install packages from Trunk/1.3.&lt;br /&gt;
&lt;br /&gt;
Note that this is not intended to be 100% copy'n'paste step-by-step instructions. You may need to use common sense. &lt;br /&gt;
&lt;br /&gt;
* [[Maliit/Installing|Install Maliit]] for your development environment&lt;br /&gt;
* [http://www.jonnor.com/files/maliit/maliit-plugin-sdk-0.1.0.tar.gz Download] the Maliit Plugin SDK&lt;br /&gt;
* Extract the examples&lt;br /&gt;
 # In your favorite terminal:&lt;br /&gt;
 tar -xf maliit-plugin-sdk-*.tar.gz&lt;br /&gt;
 cd maliit-plugin-sdk/examples/&lt;br /&gt;
* Compile them&lt;br /&gt;
 qmake&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
* Have a look around. In the examples directory you will find a QML based plugin and a C++ based plugin.&lt;br /&gt;
 # QML plugin code&lt;br /&gt;
 ls plugins/quick/&lt;br /&gt;
 # C++ plugin code&lt;br /&gt;
 ls plugins/standard&lt;br /&gt;
* Try out one of the examples&lt;br /&gt;
 # First enable both of the example input methods, along with the meego keyboard&lt;br /&gt;
 gconftool-2 -s /meegotouch/inputmethods/onscreen/enabled -t list --list-type strings \&lt;br /&gt;
 [libmeego-keyboard.so,en_gb.xml,libmeego-keyboard-quick.so,,libhelloworldplugin.so,,libexampleplugin.so,ExamplePluginSubview1]&lt;br /&gt;
 # To activate the QML example&lt;br /&gt;
 gconftool-2 -s /meegotouch/inputmethods/onscreen/active -t list --list-type string [libhelloworldplugin.so,]&lt;br /&gt;
 # To instead activate the C++ example&lt;br /&gt;
 gconftool-2 -s /meegotouch/inputmethods/onscreen/active -t list --list-type string [libexampleplugin.so,ExamplePluginSubview1]&lt;br /&gt;
 &lt;br /&gt;
 # To test, start the Maliit server and a application with a Maliit inputcontext loaded&lt;br /&gt;
 # Note: More documentation on this can be found on the Installing page&lt;br /&gt;
 meego-im-uiserver &amp;gt; server.log &amp;amp;&lt;br /&gt;
 QT_IM_MODULE=MInputContext apps/plainqt/plainqt&lt;br /&gt;
 &lt;br /&gt;
 # Tap/double tap on a text field to activate the input method&lt;br /&gt;
 # You should now be able to see an input method which allows you to click to input &amp;quot;Hello World&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Try changing the plugin code a bit, and reinstall and restart the Maliit server to try again. &lt;br /&gt;
 # Do changes (start simple, maybe by changing the &amp;quot;Hello World&amp;quot; string to something else)&lt;br /&gt;
 &lt;br /&gt;
 # Rebuild and reinstall plugins&lt;br /&gt;
 make &amp;amp;&amp;amp; make install&lt;br /&gt;
 # Remember to restart the Maliit server for it to pick up the changed plugin&lt;br /&gt;
&lt;br /&gt;
If you have any issues, first try to solve the problem by reading the instructions again, and maybe other documentation. If you cannot solve it, ask for help through one of our communication channels. &lt;br /&gt;
&lt;br /&gt;
There are also several open source input plugins that one look at. See for instance&lt;br /&gt;
* [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/trees/master/m-keyboard Meego Keyboard]&lt;br /&gt;
* [https://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard/trees/master/meego-keyboard-quick Meego Keyboard Quick]&lt;br /&gt;
* [https://github.com/foolegg/cute-input-method/tree/maliit cute-input-method]&lt;br /&gt;
&lt;br /&gt;
== Feature documentation ==&lt;br /&gt;
See [[Maliit#Features]]&lt;br /&gt;
&lt;br /&gt;
== API documentation ==&lt;br /&gt;
* [http://apidocs.meego.com/1.1/platform/html/meego-im-framework/main.html Old MeeGo 1.1 Input method engine and framework] - note that there has been changes in API since then&lt;br /&gt;
* Documentation webpage for the latest git version and Meego version has been requested. See [https://bugs.meego.com/show_bug.cgi?id=14382 bug 14382] and [https://bugs.meego.com/show_bug.cgi?id=14994 bug 14994]&lt;br /&gt;
* Generate from source code with doxygen.&lt;br /&gt;
&lt;br /&gt;
Some of the documentation is slighly outdated, and we are working to improve this. Use our [[Maliit#Communication_Channels|communication channels]] if there are any issues.&lt;br /&gt;
&lt;br /&gt;
== Technical documentation ==&lt;br /&gt;
* [[Media:Technical-overview-widget-reloc.pdf|Widget relocation in MTF]]&lt;br /&gt;
* More to come!&lt;br /&gt;
&lt;br /&gt;
== Blogposts et.c. ==&lt;br /&gt;
(most recent first)&lt;br /&gt;
* Michael Hasselmannn: [http://taschenorakel.de/michael/2011/06/10/decent-examples-last/ Decent examples, at last!]&lt;br /&gt;
* Jon Nordby: [http://www.jonnor.com/2011/06/example-plugins-for-maliit-available/ Example plugins for Maliit]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/06/07/maliit-session-meego-spring-conference-2011/ Maliit Session at MeeGo Spring Conference 2011]&lt;br /&gt;
* Jan Arne Petersen: [http://blog.jpetersen.org/2011/05/29/maliit-packages-for-fedora/ Maliit packages for Fedora]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/05/12/writing-qml-based-input-methods-maliit/ Writing QML-based input methods for Maliit]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/05/10/painting-strategy-meegos-virtual-keyboard/ Painting Strategy in MeeGo's Virtual Keyboard]&lt;br /&gt;
* Jon Nordby: [http://www.jonnor.com/2011/04/introducing-maliit-on-screen-keyboard-in-gnome-3/ Introducing; Maliit on-screen keyboard in Gnome 3]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/04/10/customizing-meego-keyboard/ Customizing the Meego Keyboard]&lt;br /&gt;
* Michael Hasselmann: [http://taschenorakel.de/michael/2011/02/24/meego-input-methods-your-desktop/ MeeGo Input Methods for your desktop]&lt;br /&gt;
&lt;br /&gt;
== Documentation working area ==&lt;br /&gt;
Here is the working area to keep track of the status of and work on the documentation.&lt;br /&gt;
&lt;br /&gt;
* Goal: Every aspect of Maliit is well-documented, and the documentation easily accessible.&lt;br /&gt;
* Primary focus is on consumers of Maliit: Third-party developers and integrators&lt;br /&gt;
&lt;br /&gt;
=== Important cases ===&lt;br /&gt;
* Developing a new input method plugin&lt;br /&gt;
* Developing a new engine plugin&lt;br /&gt;
* Integrating Maliit in a product&lt;br /&gt;
* Adding support for additional application toolkits&lt;br /&gt;
&lt;br /&gt;
=== Documentation status ===&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Item&lt;br /&gt;
! Status&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| wiki.meego.com/Maliit || 90% || Our public webpage/wiki page, starting point for all information about our project. In pretty good shape.&lt;br /&gt;
|-&lt;br /&gt;
| apidocs.meego.com/git-tip || 10% || Our docs should be shown here. [https://bugs.meego.com/show_bug.cgi?id=14382 Bug 14382]&lt;br /&gt;
|-&lt;br /&gt;
| apidocs.meego.com/1.2 || 10% || Our docs should be shown here. [https://bugs.meego.com/show_bug.cgi?id=14994 Bug 14994]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 | '''Framework'''&lt;br /&gt;
|-&lt;br /&gt;
| Overall architecture || 30% || Some docs exists in framework source tree, but is very outdated&lt;br /&gt;
|-&lt;br /&gt;
| Input Method/framework settings system || 0% ||&lt;br /&gt;
|-&lt;br /&gt;
| Input Method Plugin&amp;lt;-&amp;gt;Framework interaction || 0% || What the interaction concepts are (both user and technical), and what is done on each side to support this&lt;br /&gt;
|-&lt;br /&gt;
| Input Method Framework Window handling || 0% || Passthrough window, Self-compositing, plugin pixmap drawing, rotation animation. Maybe covered by above item?&lt;br /&gt;
|-&lt;br /&gt;
| Input Method Plugin API || 40% || Tutorial is outdated. Should provide a well-commented plugin example/skeleton that is built as part of our build (to avoid bitrot)&lt;br /&gt;
|-&lt;br /&gt;
| Input Context DBus API || 0% ||&lt;br /&gt;
|-&lt;br /&gt;
| Toolkit integration concepts || 20% || Key concepts like pre-edit injection, and widget relocation should be documented. Purpose: make it easy for others to improve toolkit integration, and to bring new people up to date. Widget relocation is documented.&lt;br /&gt;
|-&lt;br /&gt;
| Toolkit integration/support status || 10% || Implicitly all keyboard features/IM are available for MTF. No documentation about plain Qt, QML, Clutter or Gtk+&lt;br /&gt;
|-&lt;br /&gt;
| Engine interfaces || ? || Correction/prediction/suggestion/handwriting, both plugin side and IM side&lt;br /&gt;
|-&lt;br /&gt;
| Feedback framework || ? || &lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 | '''Meego Keyboard'''&lt;br /&gt;
|-&lt;br /&gt;
| Meego Keyboard theming (CSS) || 100% || Docs in keyboard source tree. ||&lt;br /&gt;
|-&lt;br /&gt;
| Meego Keyboard layouts || 100% || Docs in keyboard source tree. ||&lt;br /&gt;
|-&lt;br /&gt;
| Meego Keyboard features || 100% || Documented on wiki page. ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Maliit/Team</id>
		<title>Maliit/Team</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Maliit/Team"/>
				<updated>2011-06-10T08:22:47Z</updated>
		
		<summary type="html">&lt;p&gt;Jonnor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MaliitNavigationBar}}&lt;br /&gt;
&lt;br /&gt;
== Team ==&lt;br /&gt;
* [http://meego.com/users/otso Otso Virtanen] (Product Manager)&lt;br /&gt;
* [http://meego.com/users/x2 Richard Sun] (Project Manager)&lt;br /&gt;
* [http://meego.com/users/mdamt Mohammad Anwari] (Architect)&lt;br /&gt;
* Aapo Kojo (ScrumMaster)&lt;br /&gt;
* Pekka Vuorela (Lead Developer)&lt;br /&gt;
* Kimmo Surakka (Lead Developer)&lt;br /&gt;
* [http://meego.com/users/mikhas Michael Hasselmann] (Developer)&lt;br /&gt;
* Viacheslav Sobolev (Developer)&lt;br /&gt;
* Ning Chi (Developer)&lt;br /&gt;
* Hannu Könönen (Test Developer)&lt;br /&gt;
* Rakesh Cherian (Test Developer, Bug Triager)&lt;br /&gt;
* [http://meego.com/users/brangi Gibran Rodriguez] (Test Engineer)&lt;br /&gt;
* [http://meego.com/users/jpetersen Jan Arne Petersen] (Developer)&lt;br /&gt;
* [http://meego.com/users/jonnor Jon Nordby] (Developer)&lt;br /&gt;
* Luis Araujo&lt;br /&gt;
&lt;br /&gt;
== MeeGo Integration Team ==&lt;br /&gt;
* Luis Araujo (lead)&lt;br /&gt;
* Rakesh Cherian (Test Developer, Bug Triager)&lt;br /&gt;
* [http://meego.com/users/jonnor Jon Nordby] (Developer)&lt;br /&gt;
&lt;br /&gt;
{{MaliitNavigationBar}}&lt;/div&gt;</summary>
		<author><name>Jonnor</name></author>	</entry>

	</feed>