<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Michael Sheldon&#039;s Stuff</title>
	<atom:link href="http://blog.mikeasoft.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mikeasoft.com</link>
	<description></description>
	<lastBuildDate>Tue, 23 Apr 2013 11:16:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Erudite now available for Symbian Belle</title>
		<link>http://blog.mikeasoft.com/2013/04/19/erudite-now-available-for-symbian-belle/</link>
		<comments>http://blog.mikeasoft.com/2013/04/19/erudite-now-available-for-symbian-belle/#comments</comments>
		<pubDate>Fri, 19 Apr 2013 09:51:34 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[cloud reader]]></category>
		<category><![CDATA[erudite]]></category>
		<category><![CDATA[kindle]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[MeeGo]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[n9]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[qt]]></category>
		<category><![CDATA[qtwebkit]]></category>
		<category><![CDATA[symbian]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blog.mikeasoft.com/?p=618</guid>
		<description><![CDATA[Overview Erudite makes it possible to use Amazon’s Cloud Reader on various mobile platforms which aren&#8217;t officially supported by Amazon. You can either read books online, or download them for reading offline. Your progress in a book is then also kept synchronised between your phone and other Kindle devices. Symbian Belle support Until recently Erudite [...]]]></description>
				<content:encoded><![CDATA[<p><a href='http://mikeasoft.com/~mike/firestarter-library.png'><img alt="Erudite displaying a book library" src="http://mikeasoft.com/~mike/firestarter-library-small.png" title="Erudite displaying a book library" class="alignright" width="169" height="300" style="float: right; margin-left: 1em; margin-bottom: 1em;" /></a></p>
<h3>Overview</h3>
<p>Erudite makes it possible to use Amazon’s Cloud Reader on various mobile platforms which aren&#8217;t officially supported by Amazon. You can either read books online, or download them for reading offline. Your progress in a book is then also kept synchronised between your phone and other Kindle devices.</p>
<h3>Symbian Belle support</h3>
<p> Until recently Erudite only supported MeeGo Harmattan and Mer based phones (such as the Nokia N9), but now it&#8217;s also available for Symbian Belle phones as well. I&#8217;ll try and put together a build for Symbian Anna phones in the near future.</p>
<p> There&#8217;s a fairly comprehensive review of Erudite for Symbian over on All About Symbian: <a href='http://www.allaboutsymbian.com/flow/item/17320_Erudite_brings_Amazon_Kindle_e.php'>Erudite review</a>.</p>
<h3>Upcoming features</h3>
<p> In the next release for both Symbian and MeeGo I&#8217;ll be focusing on orientation switching support, so users can optionally view their books in landscape mode, as well as investigating some apparent issues with very large books.</p>
<h3>Download</h3>
<ul>
<li><a href='http://store.ovi.com/content/358486'>Symbian Belle version</a> &mdash; Nokia 701, Nokia C6-01, Nokia C7-00, Nokia N8-00, Nokia X7-00, Nokia E6-00, Nokia 808 Pureview, Nokia 603, Nokia Oro, Nokia E7-00, and Nokia 700</li>
<li><a href='http://store.ovi.com/content/307241'>MeeGo Harmattan version</a> &mdash; Nokia N9, Nokia N950</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikeasoft.com/2013/04/19/erudite-now-available-for-symbian-belle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ogre3D on Jolla&#8217;s SailfishOS</title>
		<link>http://blog.mikeasoft.com/2013/02/28/ogre3d-on-jollas-sailfishos/</link>
		<comments>http://blog.mikeasoft.com/2013/02/28/ogre3d-on-jollas-sailfishos/#comments</comments>
		<pubDate>Thu, 28 Feb 2013 21:26:10 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[jolla]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[MeeGo]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[n9]]></category>
		<category><![CDATA[ogre3d]]></category>
		<category><![CDATA[sailfish]]></category>
		<category><![CDATA[sailfishos]]></category>

		<guid isPermaLink="false">http://blog.mikeasoft.com/?p=598</guid>
		<description><![CDATA[I spent a bit of time hacking around with the Sailfish SDK and managed to get a rough port of Ogre3D working: Video of Ogre3D running under Sailfish This is running within the emulator using the Mesa LLVM OpenGL ES 2.0 implementation, so naturally I won&#8217;t be able to say for certain if a port [...]]]></description>
				<content:encoded><![CDATA[<p>I spent a bit of time hacking around with the <a href='https://sailfishos.org/'>Sailfish SDK</a> and managed to get a rough port of <a href='http://ogre3d.org'>Ogre3D</a> working: </p>
<p><center><iframe width="853" height="480" src="http://www.youtube.com/embed/dGW4sw6qB5E" frameborder="0" allowfullscreen></iframe></p>
<p><a href='http://www.youtube.com/watch?v=dGW4sw6qB5E'>Video of Ogre3D running under Sailfish</a></center></p>
<p> This is running within the emulator using the Mesa LLVM OpenGL ES 2.0 implementation, so naturally I won&#8217;t be able to say for certain if a port is possible for actual phones running Sailfish until I get my hands on some hardware, but it seems hopeful.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikeasoft.com/2013/02/28/ogre3d-on-jollas-sailfishos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Firestarter now called Erudite and version 1.2 released</title>
		<link>http://blog.mikeasoft.com/2012/09/12/firestarter-now-called-erudite-and-version-1-2-released/</link>
		<comments>http://blog.mikeasoft.com/2012/09/12/firestarter-now-called-erudite-and-version-1-2-released/#comments</comments>
		<pubDate>Wed, 12 Sep 2012 15:58:08 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[erudite]]></category>
		<category><![CDATA[firestarter]]></category>
		<category><![CDATA[kindle]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[MeeGo]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[n9]]></category>
		<category><![CDATA[nokia]]></category>

		<guid isPermaLink="false">http://blog.mikeasoft.com/?p=586</guid>
		<description><![CDATA[Overview Erudite makes it possible to use Amazon’s Cloud Reader service under MeeGo. You can either read books online, or download them for reading offline. Your progress in a book is kept synchronised between your N9 and other Kindle devices. Name change Unfortunately since Amazon own a wide range of &#8220;Fire&#8221; themed trademarks, and the [...]]]></description>
				<content:encoded><![CDATA[<p><a href='http://mikeasoft.com/~mike/erudite.png'><img alt="Erudite displaying a book fullscreen" src="http://mikeasoft.com/~mike/erudite-small.png" title="Erudite displaying a book fullscreen" class="alignright" width="253" height="450" style="float: right; margin-left: 1em; margin-bottom: 1em;" /></a></p>
<h3>Overview</h3>
<p>Erudite makes it possible to use Amazon’s Cloud Reader service under MeeGo. You can either read books online, or download them for reading offline. Your progress in a book is kept synchronised between your N9 and other Kindle devices.</p>
<h3>Name change</h3>
<p> Unfortunately since Amazon own a wide range of &#8220;Fire&#8221; themed trademarks, and the application&#8217;s operation is heavily related to the same areas that these trademarks are used in, Amazon couldn&#8217;t really let me carry on using the name &#8220;Firestarter&#8221;. It was entirely my own foolishness that caused this hassle by going for a &#8220;clever&#8221; name without even considering the potential trademark implications, thankfully the lawyer who got in touch with me was very understanding and patiently helped me work through the various issues. I&#8217;m just glad that Amazon handled everything so amicably, rather than wading in with heavy-handed legal threats as some companies might.</p>
<p> So from now on the application is called &#8220;Erudite&#8221;, a name that&#8217;s clever in a different way.</p>
<h3>New features</h3>
<p>Added in 1.2:</p>
<ul>
<li>The application name has now changed to Erudite.</li>
<li>A number of buttons and menu entries have been made larger and easier to press.</li>
<li>You can now switch in to and out of fullscreen mode by pressing a toggle button in the bottom right hand corner of the screen.</li>
</ul>
<p>Added in 1.1:</p>
<ul>
<li>The application can now start up completely offline. You still need to be online for the very first usage and to download books, but once you&#8217;ve downloaded some books you can now always access them offline.</li>
<li>A progress indicator shows when the application is loading.</li>
<li>Keyboard bug is fixed. Previously you needed to tap on text fields twice to bring up the virtual keyboard, now it pops up on the first tap.</li>
</ul>
<h3>Download</h3>
<p>Available for the Nokia N9 and N950 in the Ovi Store: <a href='http://store.ovi.com/content/307241'>http://store.ovi.com/content/307241</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikeasoft.com/2012/09/12/firestarter-now-called-erudite-and-version-1-2-released/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Erudite &#8211; Read Kindle books on the Nokia N9 and N950</title>
		<link>http://blog.mikeasoft.com/2012/08/27/firestarter-read-kindle-books-on-the-nokia-n9-and-n950/</link>
		<comments>http://blog.mikeasoft.com/2012/08/27/firestarter-read-kindle-books-on-the-nokia-n9-and-n950/#comments</comments>
		<pubDate>Mon, 27 Aug 2012 11:48:56 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[erudite]]></category>
		<category><![CDATA[firestarter]]></category>
		<category><![CDATA[harmattan]]></category>
		<category><![CDATA[kindle]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[MeeGo]]></category>
		<category><![CDATA[n9]]></category>
		<category><![CDATA[nemo]]></category>
		<category><![CDATA[nokia]]></category>

		<guid isPermaLink="false">http://blog.mikeasoft.com/?p=578</guid>
		<description><![CDATA[Overview Erudite makes it possible to use Amazon&#8217;s Cloud Reader service under MeeGo. You can either read books online, or download them for reading offline. Your progress in a book is kept synchronised between your N9 and other Kindle devices. Screenshots Video Video of Erudite on a Nokia N9 Download Nokia N9/N950 version available in [...]]]></description>
				<content:encoded><![CDATA[<p></p>
<h3>Overview</h3>
<p>Erudite makes it possible to use Amazon&#8217;s Cloud Reader service under MeeGo. You can either read books online, or download them for reading offline. Your progress in a book is kept synchronised between your N9 and other Kindle devices.</p>
<h3>Screenshots</h3>
<p><center><a href='http://mikeasoft.com/~mike/firestarter-library.png'><img style='margin-right: 1em;' src='http://mikeasoft.com/~mike/firestarter-library-small.png' /></a>  <a href='http://mikeasoft.com/~mike/firestarter-book.png'><img style='maring-left: 1em;' src='http://mikeasoft.com/~mike/firestarter-book-small.png' /></a></center></p>
<h3>Video</h3>
<p><center><br />
<iframe width="640" height="360" src="http://www.youtube.com/embed/Kmu0JLjjQac" frameborder="0" allowfullscreen></iframe></p>
<p><a href='http://www.youtube.com/watch?v=Kmu0JLjjQac'>Video of Erudite on a Nokia N9</a><br />
</center></p>
<h3>Download</h3>
<p>Nokia N9/N950 version available in the Ovi Store: <a href='http://store.ovi.com/content/307241'>http://store.ovi.com/content/307241</a></p>
<p>Nemo mobile version: <a href='http://repo.pub.meego.com/home:/elleo/CE_Apps_MTF_CE_MW_MTF_armv7hl/armv7hl/com.mikeasoft.firestarter-1.0-21.4.Nemo.Apps.MTF.armv7hl.rpm'>com.mikeasoft.firestarter-1.0-21.4.Nemo.Apps.MTF.armv7hl.rpm</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikeasoft.com/2012/08/27/firestarter-read-kindle-books-on-the-nokia-n9-and-n950/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>TizMee &#8211; Tizen compatibility layer for MeeGo</title>
		<link>http://blog.mikeasoft.com/2012/08/11/tizmee-tizen-compatibility-layer-for-meego/</link>
		<comments>http://blog.mikeasoft.com/2012/08/11/tizmee-tizen-compatibility-layer-for-meego/#comments</comments>
		<pubDate>Sat, 11 Aug 2012 10:40:58 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[MeeGo]]></category>
		<category><![CDATA[tizen]]></category>
		<category><![CDATA[tizmee]]></category>

		<guid isPermaLink="false">http://blog.mikeasoft.com/?p=561</guid>
		<description><![CDATA[Overview With the (unexpected) release of Sviox&#8216;s HTML widget runtime I thought it about time that I made my own efforts in that direction a bit more public. TizMee is designed to make it possible to run Tizen (and other) apps on MeeGo, supporting general HTML5 apps, apps using Tizen specific APIs and Cordova/PhoneGap apps [...]]]></description>
				<content:encoded><![CDATA[<p><a href='http://mikeasoft.com/~mike/mapzen-n9.png'><img alt="Tizen applications running under TizMee on MeeGo" src="http://mikeasoft.com/~mike/mapzen-n9-small.png" title="Tizen applications running under TizMee on MeeGo" class="alignright" width="253" height="450" style="float: right; margin-left: 1em; margin-bottom: 1em;" /></a></p>
<h3>Overview</h3>
<p>With the (unexpected) release of <a href="http://sviox.blogspot.de/">Sviox</a>&#8216;s HTML <a href='http://store.ovi.com/content/302071'>widget runtime</a> I thought it about time that I made my own efforts in that direction a bit more public. TizMee is designed to make it possible to run Tizen (and other) apps on MeeGo, supporting general HTML5 apps, apps using Tizen specific APIs and Cordova/PhoneGap apps (with some slight modification).</p>
<p>This first early release should support general HTML5 apps fairly well (although there are still a few that have issues), some aspects of the Tizen API (this is by no means complete however) and pretty much all of the Cordova/PhoneGap API.</p>
<p>It&#8217;s based around the <a href="http://phonegap.ics.com/">QT Cordova</a> port with Tizen specific functionality implemented as Cordova plugins in a mixture of C and javascript.</p>
<h3>Video</h3>
<p><center><br />
<iframe width="640" height="360" src="http://www.youtube.com/embed/g-0cikd2gUY" frameborder="0" allowfullscreen></iframe></p>
<p><a href='http://www.youtube.com/watch?v=g-0cikd2gUY'>Video of Tizen apps running on a Nokia N9</a><br />
</center></p>
<h3>Apps</h3>
<p>A number of test applications can be downloaded here: <a href='http://mikeasoft.com/~mike/tizmee/'>http://mikeasoft.com/~mike/tizmee/</a><br />
To install them simply place their .wgt files in the TizenApps directory on your device (/home/user/MyDocs/TizenApps).</p>
<h3>Download</h3>
<p>MeeGo Harmattan (N9/N950): <a href='http://mikeasoft.com/~mike/tizmee_0.1-1_armel.deb'>tizmee_0.1-1_armel.deb</a><br />
Nemo Mobile: <a href='http://repo.pub.meego.com/home:/elleo/CE_Apps_MTF_CE_MW_MTF_armv7hl/'>My personal OBS repository</a> (also requires python-pyside from that repository)</p>
<h3>Source</h3>
<p>License: <a href='http://www.apache.org/licenses/LICENSE-2.0.html'>Apache 2.0 License</a><br />
Gitorious repository: <a href='https://gitorious.org/tizmee'>https://gitorious.org/tizmee</a><br />
Ohloh project page: <a href='https://www.ohloh.net/p/tizmee'>https://www.ohloh.net/p/tizmee</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikeasoft.com/2012/08/11/tizmee-tizen-compatibility-layer-for-meego/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Writing native Tizen applications using the 1.0 (Larkspur) SDK Scratchbox and EFL</title>
		<link>http://blog.mikeasoft.com/2012/06/23/writing-native-tizen-applications-using-the-1-0-larkspur-sdk-scratchbox-and-efl/</link>
		<comments>http://blog.mikeasoft.com/2012/06/23/writing-native-tizen-applications-using-the-1-0-larkspur-sdk-scratchbox-and-efl/#comments</comments>
		<pubDate>Sat, 23 Jun 2012 15:29:58 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[gstreamer]]></category>
		<category><![CDATA[intel]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[samsung]]></category>
		<category><![CDATA[tizen]]></category>

		<guid isPermaLink="false">http://blog.mikeasoft.com/?p=454</guid>
		<description><![CDATA[Overview Tizen has the capacity for native applications written using the Enlightenment Foundation Libraries (EFL), however in the 1.0 SDK release this functionality isn&#8217;t particularly well exposed. Instead the main focus is currently on HTML5/JavaScript based applications, which is fine, but it&#8217;s not appropriate for all applications. As a way to get to grips with [...]]]></description>
				<content:encoded><![CDATA[<p></p>
<h3>Overview</h3>
<p>Tizen has the capacity for native applications written using the <a href='http://www.enlightenment.org/'>Enlightenment Foundation Libraries</a> (EFL), however in the 1.0 SDK release this functionality isn&#8217;t particularly well exposed. Instead the main focus is currently on HTML5/JavaScript based applications, which is fine, but it&#8217;s not appropriate for all applications. As a way to get to grips with Tizen in more detail I decided to try porting one of my existing applications, <a href='http://blog.mikeasoft.com/tag/eyrie'>Eyrie</a>, from MeeGo Harmattan (as used by the <a href='http://swipe.nokia.com'>Nokia N9</a>) to Tizen.</p>
<p>Eyrie is one such application which clearly isn&#8217;t especially suited to being written as a web app. It requires the ability to get raw audio samples from the microphone and perform some signal processing on them to extract acoustic fingerprints. As far as I can see the current Tizen Web API doesn&#8217;t really have the capacity to handle audio input at such a low level, and even if it did making use of it for Eyrie would involve completely rewriting the <a href='https://github.com/echonest/echoprint-codegen'>EchoPrint codegen library</a> in JavaScript to handle the fingerprinting.</p>
<p>However by making use of EFL I was able to get the bulk of Eyrie ported to Tizen in less than 24 hours. Thanks to both MeeGo and Tizen using GStreamer as their multimedia framework and the EchoPrint codegen library being easy enough to compile for both platforms all that was really needed was a new UI using EFL instead of QML. Below you can see a video of the initial port running on the Tizen emulator (I don&#8217;t have a real device to play with at the moment), the UI is still a little rough around the edges but all the main functionality is working.</p>
<p><center><br />
<iframe width="480" height="360" src="http://www.youtube.com/embed/hfYtlm7L2q4" frameborder="0" allowfullscreen></iframe></p>
<p><a href="http://www.youtube.com/watch?v=hfYtlm7L2q4">Video of the Eyrie music identifier&#8217;s initial port to EFL on Tizen</a><br />
</center></p>
<p>In this tutorial we&#8217;ll work through the creation, building, packaging and deployment of a very simple EFL application, which I hope will give people a handle on a potential workflow for native application development using the 1.0 SDK release.</p>
<h3>Scratchbox</h3>
<p>Although it&#8217;s not made obvious, the SDK actually contains a full scratchbox environment which the IDE drops into when build packages. While it might potentially be possible to write EFL apps purely using the IDE I found it easier to ignore this and jump into scratchbox directly, this then frees you up to make use of whatever editor/IDE you&#8217;re most comfortable with. If you are looking to work just within the IDE you might find the <a href='https://developer.tizen.org/help/index.jsp?topic=%2Forg.tizen.help.pd%2FGetting+Started.html'>Tizen Platform Developer&#8217;s Guide</a> a good starting point.</p>
<p>I&#8217;ll be assuming that you installed the Tizen SDK to <em>~/tizen_sdk/</em></p>
<p><b>Note:</b> After installing the SDK it&#8217;s necessary to open the IDE and create (and possibly compile) a platform project. Simply select a new platform project and then hit compile. This sets up the scratchbox targets the first time around. You only need to do this once after installing the SDK.</p>
<p>Before we enter the scratchbox environment we should find out what targets are available to us. We can do this by running:</p>
<p><code>~/tizen_sdk/SDK/build-system/toolchains/scratchbox2/bin/sb2-config -l</code></p>
<p>With the 1.0 SDK release this produces the following output:</p>
<p><code><em>tizen-device-1.0.sb2_gcc45sbox2.armel.cdeb<br />
tizen-device-1.0.sb2_gcc45sbox2.armel.platform<br />
tizen-emulator-1.0.sb2_gcc45sbox2.i386.platform</em></code></p>
<p>Since I&#8217;m working with the emulator in x86 mode I&#8217;ll be using the <b>tizen-emulator-1.0.sb2_gcc45sbox2.i386.platform</b> target, to compile packages for real devices you&#8217;ll need to replace this with one of the armel targets in the following commands. I&#8217;m unclear on the intended separation between the two armel targets, but I expect either should be usable for our purposes.</p>
<p>To access the scratchbox as your normal user you can simply run:</p>
<p><code>~/tizen_sdk/SDK/build-system/toolchains/scratchbox2/bin/sb2 -t tizen-emulator-1.0.sb2_gcc45sbox2.i386.platform</code></p>
<p>This is perfectly usable for building and editing packages, and you should find that your home directory is available within the scratchbox. However the rest of the environment will be mounted read-only, preventing you from installing new packages. </p>
<p>To start a session in which it&#8217;s possible to install packages we can run:</p>
<p><code>~/tizen_sdk/SDK/build-system/toolchains/scratchbox2/bin/sb2 -e -R -t tizen-emulator-1.0.sb2_gcc45sbox2.i386.platform</code></p>
<p>This mode is only really suitable for installing packages and isn&#8217;t usable for general development as most compilation tools aren&#8217;t available.</p>
<p>We want to try writing a simple EFL application using the Elementary toolkit, so to start with we&#8217;re going to need to install the Elementary development package:</p>
<p><code>apt-get install libelm-dev</code></p>
<p>As you can probably tell from the above scratchbox is a Debian based environment, so most of the normal Debian tools are available to us. So for example if we didn&#8217;t know the exact name of the Elementary package we need we could simply run:</p>
<p><code>apt-cache search elementary</code></p>
<p>And we&#8217;d get a list of likely looking candidates to choose from. As a side note the Eclipse based IDE does have a simple package management interface which can be found on the default toolbar, however this appears to lacks any way of searching for packages, but if you are trying to do everything through the IDE without dropping into scratchbox you might find it helpful.</p>
<h3>Elementary</h3>
<p>So now that we have a compilation environment capable of targeting both the emulator and real devices we can start writing our applications. For this tutorial we&#8217;ll just create a very simple Elementary application that displays a label:</p>
<pre>#include &lt;Elementary.h&gt;
        
static void on_quit(void *data, Evas_Object *obj, void *event_info) {
        elm_exit();
}

EAPI int elm_main(int argc, char *argv[]) {
        Evas_Object *win, *bg, *box, *lbl;

        <em><b>/* Create our window */</b></em>
        win = elm_win_add(NULL, "eflexample", ELM_WIN_BASIC);
        elm_win_title_set(win, "Tizen EFL Example");
        evas_object_smart_callback_add(win, "delete,request", on_quit, NULL);

        <em><b>/* Give it a background */</b></em>
        bg = elm_bg_add(win);
        evas_object_size_hint_weight_set(bg, 0.0, 0.0);
        elm_win_resize_object_add(win, bg);
        evas_object_show(bg);

        <em><b>/* Create a box to place our label inside */</b></em>
        box = elm_box_add(win);
        elm_box_horizontal_set(box, EINA_FALSE);
        evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, 0.0);
        evas_object_size_hint_align_set(box, EVAS_HINT_FILL, 0.0);
        elm_win_resize_object_add(win, box);
        evas_object_show(box);

        <em><b>/* Make a label */</b></em>
        lbl = elm_label_add(win);
        evas_object_size_hint_weight_set(lbl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        elm_object_part_text_set(lbl, NULL, "Hello Tizen!");
        elm_box_pack_end(box, lbl);
        evas_object_show(lbl);

        <em><b>/* Display the window */</b></em>
        evas_object_show(win);

        <em><b>/* Start the Elementary main loop */</b></em>
        elm_run();

        return 0;
}

ELM_MAIN();</pre>
<p>I&#8217;ll assume we&#8217;re working in the directory <em>~/src/tizen/eflexample/</em>, so we can save this as <b>~/src/tizen/eflexample/eflexample.c</b></p>
<p>More comprehensive documentation on Elementary can be found on the <a href='http://trac.enlightenment.org/e/wiki/Elementary'>Enlightenment Wiki</a>.</p>
<p>We&#8217;ll keep the build process very simple for this example and just have a small Makefile handle compilation. For more complex projects both autotools and cmake are available.</p>
<pre>
CFLAGS=`pkg-config --cflags elementary`
LDFLAGS=`pkg-config --libs elementary`

eflexample:
	$(CC) $(CFLAGS) eflexample.c -o eflexample $(LDFLAGS)

all: eflexample

clean:
	rm -f eflexample

install: all
	mkdir -p $(DESTDIR)/opt/share/applications
	cp com.mikeasoft.eflexample.desktop $(DESTDIR)/opt/share/applications/
	mkdir -p $(DESTDIR)/opt/com.mikeasoft.eflexample
	cp eflexample $(DESTDIR)/opt/com.mikeasoft.eflexample/
	cp icon.png $(DESTDIR)/opt/com.mikeasoft.eflexample/
</pre>
<p>This gets saved as <b>~/src/tizen/eflexample/Makefile</b></p>
<p>By including the <em>$(DESTDIR)</em> variable in our install paths we allow the Debian packaging we&#8217;re about to write to override the install destination and place it inside a temporary directory prior to being packed into a .deb.</p>
<p>If we run <em>make</em> in the <em>~/src/tizen/eflexample</em> directory whilst inside our scratchbox session it should then compile successfully.</p>
<h3>Launcher</h3>
<p>You might notice in the earlier Makefile a couple of files that we haven&#8217;t yet discussed, <em>com.mikeasoft.eflexample.desktop</em> and <em>icon.png</em>. These are going to be used for adding our application to Tizen&#8217;s launcher. The .desktop file gets installed to <em>/opt/share/applications/</em> alongside all other Tizen .desktop launchers, and should look something like:</p>
<p><code>Name=EFL Example<br />
Type=Application<br />
Exec=/opt/com.mikeasoft.eflexample/eflexample<br />
Icon=/opt/com.mikeasoft.eflexample/icon.png<br />
Comment=An example of how to write native EFL applications for Tizen<br />
Version=0.1<br />
X-TIZEN-TaskManage=True<br />
X-TIZEN-Multiple=False<br />
X-TIZEN-Removable=True</code></p>
<p>This is then saved to <b>~/src/tizen/eflexample/com.mikeasoft.eflexample.desktop</b></p>
<p>You&#8217;ll probably notice that there&#8217;s a selection of Tizen specific entries. The first, <em>X-TIZEN-TaskManage</em>, controls whether or not our application will appear in the Tizen task manager. The second, <em>X-TIZEN-Multiple</em>, tells the task manager if it is allowed to launch more than one copy of our application. If this is set to false the task manager will instead try to restore a currently running version of our application to the foreground. Because our simple example doesn&#8217;t perform the extra necessary work to allow Tizen to restore it to the foreground the task manager will instead simply kill our application when clicked a second time. Finally the last setting, <em>X-TIZEN-Removable</em>, specifies whether or not our application can be uninstalled through the application manager.</p>
<p>For the icon file we&#8217;ll simply use the Enlightenment logo:</p>
<p><center><a href="http://mikeasoft.com/~mike/eflexample/icon.png"><img style="border: none;" src="http://mikeasoft.com/~mike/eflexample/icon.png" alt="Enlightenment Logo" title="Enlightenment Logo" /></a></center></p>
<p>Which needs to be saved to <b>~/src/tizen/eflexample/icon.png</b></p>
<h3>Packaging</h3>
<p>At this stage we could potentially just copy our <em>eflexample</em> binary to the device and start it via the command line, but a much more complete and redistributable solution is to construct a Debian package for it.</p>
<p>First we create our control file, which describes our package and its various dependencies:</p>
<p><code>Source: com.mikeasoft.eflexample<br />
Section: user/other<br />
Priority: extra<br />
Maintainer: Michael Sheldon &lt;elleo@gnu.org&gt;<br />
Build-Depends: debhelper (>= 7), libelm-dev<br />
Standards-Version: 3.8.4<br />
Homepage: http://blog.mikeasoft.com</p>
<p>Package: com.mikeasoft.eflexample<br />
Depends: ${shlibs:Depends}, ${misc:Depends}<br />
Description: An example of creating EFL applications for Tizen<br />
Architecture: any</code></p>
<p>This gets placed in <b>~/src/tizen/eflexample/debian/control</b></p>
<p>Because our build system is fairly standard and handles the DESTDIR parameter being passed to it we can use debhelper to automate all of our rules file for us:</p>
<pre>#!/usr/bin/make -f
%:
	dh $@</pre>
<p>This is then saved to <b>~/src/tizen/eflexample/debian/rules</b></p>
<p>Then we have our changelog:</p>
<pre>com.mikeasoft.eflexample (0.1.0-1) unstable; urgency=low

  * Initial release

 -- Michael Sheldon &lt;elleo@gnu.org&gt;  Sat, 23 Jun 2012 04:32:27 +0100</pre>
<p>Which is saved to <b>~/src/tizen/eflexample/debian/changelog</b></p>
<p>Finally we can specify which version of debhelper we&#8217;re compatible with by running:</p>
<p><code>echo 7 > ~/src/tizen/eflexample/debian/compat</code></p>
<p>Now we&#8217;re ready to actually build our package. To do this we need to be inside our scratchbox session as a normal user, which we achieve by running:</p>
<p><code>~/tizen_sdk/SDK/build-system/toolchains/scratchbox2/bin/sb2 -t tizen-emulator-1.0.sb2_gcc45sbox2.i386.platform</code></p>
<p>Then we can begin building our package:</p>
<p><code>cd ~/src/tizen/eflexample<br />
dpkg-buildpackage -rfakeroot</code></p>
<p>After our application has been successfully compiled and packaged it&#8217;ll be saved in the parent of our current directory (i.e. <em>~/src/tizen/</em>).</p>
<h3>Deploying</h3>
<p>Now that we&#8217;ve built a package for our application we can deploy it using the <em>sdb</em> tool provided with the SDK. This should work with either the emulator or a connected device. First we transfer our Debian package to the device and place it in the <em>/tmp/</em> directory, then we run <em>dpkg</em> on the device to install our new package. If we had used any additional dependencies that aren&#8217;t already installed by default we&#8217;d need to use <em>apt-get</em> to install them prior to installing our own package. However since libelm is part of the default Tizen system all we need to do is:</p>
<p><code>~/tizen_sdk/SDK/sdb/sdb push ~/src/tizen/com.mikeasoft.eflexample_0.1.0-1_i386.deb /tmp/ &#038;&#038; ~/tizen_sdk/SDK/sdb/sdb shell dpkg -i /tmp/com.mikeasoft.eflexample_0.1.0-1_i386.deb</code></p>
<p>We should now see a new icon in the Tizen application launcher for our example app, which we can simply click to start.</p>
<p><center><br />
<img style="border: none;" src="http://mikeasoft.com/~mike/eflexample/eflexample.png"/><br />
</center></p>
<h3>Source</h3>
<p>The complete source for this tutorial can be download here: <a href='http://mikeasoft.com/~mike/eflexample/eflexample.tar.gz'>eflexample.tar.gz</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikeasoft.com/2012/06/23/writing-native-tizen-applications-using-the-1-0-larkspur-sdk-scratchbox-and-efl/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>StatusNet for MeeGo 0.3</title>
		<link>http://blog.mikeasoft.com/2012/06/14/statusnet-for-meego-0-3/</link>
		<comments>http://blog.mikeasoft.com/2012/06/14/statusnet-for-meego-0-3/#comments</comments>
		<pubDate>Thu, 14 Jun 2012 19:32:45 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[harmattan]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[MeeGo]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[pyside]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[statusnet]]></category>
		<category><![CDATA[StatusNet for MeeGo]]></category>

		<guid isPermaLink="false">http://blog.mikeasoft.com/?p=438</guid>
		<description><![CDATA[Overview StatusNet for MeeGo makes it possible for Nokia N9, N950 and similar phones to connect to StatusNet compatible microblogging services such as Identi.ca. It supports viewing statuses in the phone’s event feed alongside Twitter and Facebook updates, viewing conversations, posting new status updates, replying to other people, following new users, favouriting messages and repeating [...]]]></description>
				<content:encoded><![CDATA[<p><a href='http://mikeasoft.com/~mike/statusnet_meego_menu.png'><img alt="StatusNet for MeeGo displaying new status menu" src="http://mikeasoft.com/~mike/statusnet_meego_menu-smaller.png" title="StatusNet for MeeGo displaying new menu" class="alignright" width="253" height="450" style="float: right; margin-left: 1em; margin-bottom: 1em;" /></a></p>
<h3>Overview</h3>
<p>StatusNet for MeeGo makes it possible for Nokia N9, N950 and similar phones to connect to <a href='http://status.net'>StatusNet</a> compatible microblogging services such as <a href='http://identi.ca'>Identi.ca</a>. It supports viewing statuses in the phone’s event feed alongside Twitter and Facebook updates, viewing conversations, posting new status updates, replying to other people, following new users, favouriting messages and repeating messages.</p>
<h3>New Features</h3>
<ul>
<li>Context menu for each message brought up through a long press on a message.</li>
<li>Retweeting/redenting of messages.</li>
<li>Favouriting and unfavouriting messages.</li>
<li>Following and unfollowing users.</li>
<li>Privacy policy.</li>
<li>New login screen.</li>
<li>Registration link on the login screen.</li>
<li>Fixes problem displaying statuses with no text in the event feed.</li>
</ul>
<h3>Download</h3>
<p><a href='http://apps.formeego.org/staging/applications/n9/pr1.0/harmattan/Internet/statusnet-meego/'>Apps for MeeGo Testing Repository</a></p>
<p>Direct download: <a href="http://mikeasoft.com/~mike/statusnet-meego_0.3-1_armel.deb">statusnet-meego_0.3-1_armel.deb</a></p>
<h3>Source</h3>
<p>License: <a href='http://www.gnu.org/copyleft/gpl.html'>GPL version 3.0 or later</a><br />
Gitorious repository: <a href='https://gitorious.org/statusnet-meego-plugin'>https://gitorious.org/statusnet-meego-plugin</a><br />
Ohloh project page: <a href='https://www.ohloh.net/p/statusnet-meego'>https://www.ohloh.net/p/statusnet-meego</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikeasoft.com/2012/06/14/statusnet-for-meego-0-3/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Eyrie 0.2 &#8211; Now with N900 support</title>
		<link>http://blog.mikeasoft.com/2012/06/04/eyrie-0-2-now-with-n900-support/</link>
		<comments>http://blog.mikeasoft.com/2012/06/04/eyrie-0-2-now-with-n900-support/#comments</comments>
		<pubDate>Mon, 04 Jun 2012 06:58:05 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Eyrie]]></category>
		<category><![CDATA[harmattan]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[MeeGo]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[n9]]></category>
		<category><![CDATA[nokia]]></category>

		<guid isPermaLink="false">http://blog.mikeasoft.com/?p=413</guid>
		<description><![CDATA[Overview Eyrie is an application for the Nokia N900, N950 and N9 phones that can find out information about music that&#8217;s playing nearby. The latest version adds support for the N900 in addition to the N9 and N950. On the N9/N950 there&#8217;s now a graphical waveform displayed whilst recording and on both platforms music is [...]]]></description>
				<content:encoded><![CDATA[<p></p>
<h3>Overview</h3>
<p>Eyrie is an application for the Nokia N900, N950 and N9 phones that can find out information about music that&#8217;s playing nearby. The latest version adds support for the N900 in addition to the N9 and N950. On the N9/N950 there&#8217;s now a graphical waveform displayed whilst recording and on both platforms music is assessed more continuously allowing some songs to be recognised faster and providing more chance for songs that were previously problematic to be recognised.</p>
<h3>Video</h3>
<p><center><br />
<iframe width="640" height="360" src="http://www.youtube.com/embed/QQj9ucyWc0U" frameborder="0" allowfullscreen></iframe></p>
<p><a href='http://www.youtube.com/watch?v=QQj9ucyWc0U'>Video of Eyrie 0.2 running on both an N900 and N950</a><br />
</center></p>
<h3>Downloads</h3>
<h4>N9/N950</h4>
<p>Available in the <a href='http://store.ovi.com/content/285229'>Ovi Store</a><br />
<br />
Also available through the <a href='http://apps.formeego.org/staging/applications/n9/pr1.0/harmattan/Multimedia/eyrie/'>Apps For MeeGo Testing Repository</a></p>
<h4>N900</h4>
<p>Available through extras-testing.</p>
<h3>Source</h3>
<p>License: <a href='http://www.gnu.org/copyleft/gpl.html'>GPL version 3.0 or later</a><br />
Gitorious repository: <a href='https://gitorious.org/eyrie/eyrie'>https://gitorious.org/eyrie/eyrie</a><br />
Ohloh project page: <a href='https://www.ohloh.net/p/eyrie'>https://www.ohloh.net/p/eyrie</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikeasoft.com/2012/06/04/eyrie-0-2-now-with-n900-support/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Eyrie</title>
		<link>http://blog.mikeasoft.com/2012/05/23/eyrie/</link>
		<comments>http://blog.mikeasoft.com/2012/05/23/eyrie/#comments</comments>
		<pubDate>Wed, 23 May 2012 22:47:30 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Eyrie]]></category>
		<category><![CDATA[harmattan]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[MeeGo]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[n9]]></category>
		<category><![CDATA[n950]]></category>
		<category><![CDATA[nokia]]></category>

		<guid isPermaLink="false">http://blog.mikeasoft.com/?p=400</guid>
		<description><![CDATA[Overview Eyrie is an application for the Nokia N9 and N950 phones that can find out information about music that&#8217;s playing nearby. It does this by making use of the EchoPrint algorithm to extract musical features from whatever you&#8217;re currently hearing. This is then used to find out the name of the artist and track [...]]]></description>
				<content:encoded><![CDATA[<p></p>
<h3>Overview</h3>
<p>Eyrie is an application for the Nokia N9 and N950 phones that can find out information about music that&#8217;s playing nearby. It does this by making use of the <a href='http://echoprint.me'>EchoPrint algorithm</a> to extract musical features from whatever you&#8217;re currently hearing. This is then used to find out the name of the artist and track from <a href='http://the.echonest.com'>The EchoNest</a>. Currently the database of songs accessible via EchoPrint fingerprints is a bit small, but it has the advantage of being an open database that anyone can submit fingerprint information to (although at the moment the process for adding new fingerprints isn&#8217;t very clear).</p>
<h3>Screenshots</h3>
<p><center><br />
<a style="margin-right: 2em;" href="http://mikeasoft.com/~mike/eyrie-start.png"><img alt="Eyrie start up" src="http://mikeasoft.com/~mike/eyrie-start-small.png" title="Eyrie start up" class="alignnone" width="169" height="300" /></a><a href="http://mikeasoft.com/~mike/eyrie-aimee.png"><img alt="Eyrie detecting Aimee Mann" src="http://mikeasoft.com/~mike/eyrie-aimee-small.png" title="Eyrie detecting Aimee Mann" class="alignnone" width="169" height="300" /></a><br />
</center><br />
</p>
<h3>Video</h3>
<p><center><br />
<iframe width="640" height="480" src="http://www.youtube.com/embed/etc9x_N3Ooc" frameborder="0" allowfullscreen></iframe></p>
<p><a href='http://www.youtube.com/watch?v=etc9x_N3Ooc'>Video of Eyrie</a><br />
</center></p>
<h3>Download</h3>
<p><a href='http://mikeasoft.com/~mike/eyrie_0.1-1_armel.deb'>eyrie_0.1-1_armel.deb</a></p>
<h3>Source</h3>
<p>License: <a href='http://www.gnu.org/copyleft/gpl.html'>GPL version 3.0 or later</a><br />
Gitorious repository: <a href='https://gitorious.org/eyrie/eyrie'>https://gitorious.org/eyrie/eyrie</a><br />
Ohloh project page: <a href='https://www.ohloh.net/p/eyrie'>https://www.ohloh.net/p/eyrie</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikeasoft.com/2012/05/23/eyrie/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Those Funny Funguloids</title>
		<link>http://blog.mikeasoft.com/2012/05/16/those-funny-funguloids/</link>
		<comments>http://blog.mikeasoft.com/2012/05/16/those-funny-funguloids/#comments</comments>
		<pubDate>Wed, 16 May 2012 12:23:37 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[funguloids]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[harmattan]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[MeeGo]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[n9]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[ogre3d]]></category>

		<guid isPermaLink="false">http://blog.mikeasoft.com/?p=375</guid>
		<description><![CDATA[Overview Recently I&#8217;ve spent a little time getting the Ogre3D engine into a state where it&#8217;ll work on the Nokia N9 and N950 MeeGo phones. To test the port out a bit more extensively I decided it&#8217;d be a good idea to try porting an existing game, at which point rzr suggested Those Funny Funguloids. [...]]]></description>
				<content:encoded><![CDATA[<p></p>
<h3>Overview</h3>
<p> Recently I&#8217;ve spent a little time getting the <a href='http://www.ogre3d.org'>Ogre3D engine</a> into a state where it&#8217;ll work on the <a href='http://swipe.nokia.com'>Nokia N9 and N950</a> MeeGo phones.</p>
<p> To test the port out a bit more extensively I decided it&#8217;d be a good idea to try porting an existing game, at which point <a href='http://rzr.online.fr'>rzr</a> suggested <a href='http://funguloids.sf.net'>Those Funny Funguloids</a>. So after a fair amount of hacking to make it compatible with my version of Ogre and to make the controls work reasonably on a touch screen device I have a playable version.</p>
<p> The aim of the game is to collect mushrooms (&#8230;<b>IN SPACE</b>), and bring them back to your base without running into any asteroids. Only mushrooms of the same colour as your base are added to your score and your base changes colour each level (but you can hang on to mushrooms between levels and score them later). The controls are fairly simple, touch the left side of the screen to turn left, the right side to turn right and the middle to start moving.</p>
<p> When I have a bit more time I&#8217;ll see about writing a little tutorial on making use of my modified version of Ogre3D to create 3D applications and games in a way that&#8217;s easy to distribute.</p>
<h3>Screenshots</h3>
<p><center><br />
<a style="margin-right: 2em;" href="http://mikeasoft.com/~mike/funguloids-n9-title.png"><img alt="Funguloids menu screen" src="http://mikeasoft.com/~mike/funguloids-n9-title-small.png" title="Funguloids Title" class="alignnone" width="320" height="180" /></a><a href="http://mikeasoft.com/~mike/funguloids-n9-start.png"><img alt="Funguloids menu screen" src="http://mikeasoft.com/~mike/funguloids-n9-start-small.png" title="Funguloids Title" class="alignnone" width="320" height="180" /></a><br />
</center><br />
</p>
<h3>Video</h3>
<p><center><br />
<iframe width="640" height="360" src="http://www.youtube.com/embed/erWj_Q6LEcY" frameborder="0" allowfullscreen></iframe></p>
<p><a href='http://www.youtube.com/watch?v=erWj_Q6LEcY'>Video of gameplay</a><br />
</center></p>
<h3>Download</h3>
<p><a href='http://mikeasoft.com/~mike/funguloids_1.0.6-4_armel.deb'>funguloids_1.0.6-4_armel.deb</a></p>
<h3>Source</h3>
<p><a href='http://mikeasoft.com/~mike/funguloids-1.06-meego.tar.gz'>Modified version of Funguloids 1.06</a><br />
<a href='http://mikeasoft.com/~mike/ogre-1.7.4-meego.tar.gz'>Modified version of Ogre 1.7.4</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikeasoft.com/2012/05/16/those-funny-funguloids/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
