<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.7.6(BH)" -->
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Planet Maemo: category &quot;feed:0d3ed10193588edfe41285c9c902da78&quot;</title>
        <description>Blog entries from Maemo community</description>
        <link>http://maemo.org/news/planet-maemo/</link>
        <lastBuildDate>Sun, 24 May 2026 08:39:02 +0000</lastBuildDate>
        <generator>FeedCreator 1.7.6(BH)</generator>
        <language>en</language>
        <managingEditor>planet@maemo.org</managingEditor>
        <item>
            <title>Portable apps for iPhone, Android, Pre, n900 - Can Processing.js help?</title>
            <link>http://jyro.blogspot.com/2010/03/portable-apps-for-iphone-android-pre.html</link>
            <description><![CDATA[
I don't know. But if you want to find out, then I have something for you.<br />
<br />
<a href="http://p.altcanvas.com/">Processing.alt</a><br />
<br />
Visit this website from your desktop browser. You will see an IDE. Write some processing code to create a sketch and save it when you are done.<br />
<br />
Visit the same website from your iPhone/Android/n900/Pre browser. You will get a simple viewer interface. Find your sketch under <i>My Sketchbook</i> and run it.<br />
<br />
<a href="http://processing.org/">Processing</a> is a well known language to create sketches, animations, games. It is a simplified dialect of java. The resulting sketches are in the form of bytecode and can be run on desktop or in java applets. In Summer of 2008, John Resig (jQuery fame) ported Processing to javascript. <a href="http://processingjs.org/">Processing.js</a> uses the HTML5 canvas element to render the sketches.<br />
<br />
The modern browsers that ship with today's smart phones support HTML5 element. So it is very much plausible to get your Processing sketch/game working on all the modern smart phones without any knowledge of native app development for each platform. Processing.js has a potential to become an uber-portable library for mobile development.<br />
<br />
That was the idea I started out with about a month ago. After several iterations, I ended up with a website that you see now. It is an IDE when opened from desktop browser. You can write Processing code, run it, save it, share it for others to see in the Gallery. There are also some samples you can find in Gallery right now. Try them out.<br />
<br />
The same website acts as a viewer for your processing sketch when opened from a mobile phone. You can view the shared sketches from the <b>Gallery</b> or you can login and find your saved sketches in <b>My Sketchbook</b>.<br />
<br />
One great advantage of Processing.js is, it can intermix javascript with Processing code. So in the samples you will find how javascript is used to <b>automatically find &nbsp;the kind of browser and adjust the dimensions of the sketch accordingly</b>.<br />
<br />
I have tested the site on <i>Android HTC Magic</i> and <i>Nokia n900</i>. A friend told me it worked as expected on his <i>iPhone</i> too. Also I am treating <i>Palm Pre</i>'s user agent as mobile platform. So on these four platforms you should see the mobile interface of the website. But in case if you don't, let me know and I'll see what is wrong.<br />
<br />
As you will see that running Processing code on smartphones is indeed possible, but is fairly sluggish. However I believe the future is not far when the phones will become more powerful, browsers will become more optimized and Processing.js can also be tuned for speed. We already have two gadgets with 1GHz processors - Nexus One and iPad.<br />
<br />
The IDE also has a lot of scope for innovation. But before jumping ahead of myself, I decided to open it as beta. I would like to hear your thoughts and suggestions on this idea.<br />
<br />
So try it out and leave your opinion in the comments.<br />
<br />
<i>P.S.&nbsp;For logging in to save your sketches, use your GMail account. You don't need to login to browse through the Gallery.</i><br />
<i><br />
</i><br />
<i><span class="Apple-style-span" style="color: #666666;">Ads:</span></i><br />
<i>*&nbsp;<a href="http://www.amazon.com/Processing-Programming-Handbook-Designers-Artists/dp/0262182629?ie=UTF8&amp;tag=myfreq-20&amp;link_code=btl&amp;camp=213689&amp;creative=392969" target="_blank">Processing: A Programming Handbook for Visual Designers and Artists</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=myfreq-20&amp;l=btl&amp;camp=213689&amp;creative=392969&amp;o=1&amp;a=0262182629" style="border: none !important; margin: 0px !important; padding: 0px !important;" width="1" /></i><br />
<i>*&nbsp;<a href="http://www.amazon.com/Learning-Processing-Beginners-Programming-Interaction/dp/0123736021?ie=UTF8&amp;tag=myfreq-20&amp;link_code=btl&amp;camp=213689&amp;creative=392969" target="_blank">Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction (Morgan Kaufmann Series in Computer Graphics)</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=myfreq-20&amp;l=btl&amp;camp=213689&amp;creative=392969&amp;o=1&amp;a=0123736021" style="border: none !important; margin: 0px !important; padding: 0px !important;" width="1" /></i><br />
<i>*&nbsp;<a href="http://www.amazon.com/Processing-Creative-Coding-Computational-Foundation/dp/159059617X?ie=UTF8&amp;tag=myfreq-20&amp;link_code=btl&amp;camp=213689&amp;creative=392969" target="_blank">Processing: Creative Coding and Computational Art (Foundation)</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=myfreq-20&amp;l=btl&amp;camp=213689&amp;creative=392969&amp;o=1&amp;a=159059617X" style="border: none !important; margin: 0px !important; padding: 0px !important;" width="1" /></i><span class="net_nemein_favourites">6 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=37ba696c2b6811df9147776470cb51955195&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/37ba696c2b6811df9147776470cb51955195/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=37ba696c2b6811df9147776470cb51955195&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/37ba696c2b6811df9147776470cb51955195/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jayesh Salvi &lt;jayeshsalvi@gmail.com&gt;</author>
            <category>feed:0d3ed10193588edfe41285c9c902da78</category>
            <pubDate>Tue, 09 Mar 2010 02:02:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-37ba696c2b6811df9147776470cb51955195</guid>
        </item>
        <item>
            <title>Frets on Fire for Maemo - Update</title>
            <link>http://jyro.blogspot.com/2009/10/frets-on-fire-for-maemo-update.html</link>
            <description><![CDATA[
<a href="http://jyro.blogspot.com/2009/03/frets-on-fire-on-maemo-5-fremantle.html">Back in March</a>, when Fremantle SDK was released, I had ported Frets on Fire to it. Subsequent discussion made it clear that modifications were required to actually make it run on the device. I created a stripped down <a href="http://jyro.blogspot.com/2009/03/fof-pyopengl-minifof-possibly-for-n810.html">version</a> which could run without the OpenGL code. This made it suitable for n900 (and even n810). But due to lack of actual device, I couldn't test it.<br /><br />Fast forward 7 months. Now I have access to actual n900, so recently I went back to the FoF code. After couple weeks of getting re-acquainted with the code, I have it satisfactorily running on the n900.<br /><br />Frets-On-Fire code primarily has three parts -<br /><ul><li>playing the song (loading song, computing notes, etc. uses pygame for audio),<br /></li><li>showing the visuals (PyOpenGL+pygame code) and<br /></li><li>handling input.<br /></li></ul>All these components are pretty involved and hard to rewrite - especially so with the audio part (I hardly have any experience in musical notes and midi files). So my priority was to get almost all of the audio code as it is. It was easy to tweak the input code - to make it suite the n900 keyboard. I bypassed the visual part completely - replaced OpenGL with simple pygame sprites. (You may get disappointed by the stark <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw1NEoX7XxgMFCzFnRKw2XlGY9pTt4wf_xi-4w8ayGKqUz-CXKfazB_E2h_08obPvAlzPkbu4F8z-nMeTRyBvo2A5PRice_alCWAUxXUa5DOr9IWQrEF-Zu15LhWF4TEqOQ5fbsw/s1600-h/minifof-usage.png">looks</a>).<br /><br />I have created a project on googlecode to host the code - <span style="font-weight: bold;">maemofof</span>. It shows all the <a href="http://code.google.com/p/maemofof/source/list">changes</a> I had to make, starting from the base Frets-on-Fire code from v1.3.110.<br /><br />The next step is to package it nicely and push to extras-devel. There are few problems with packaging though.<br /><br />I couldn't get ogg files to play through pygame. I installed the ogg-support package, but for pygame/sdl to work with it, something more is required - which wouldn't install due to broken dependencies (libsdl-mixeroggwav1.2-dev). So for now I converted all ogg files to wav. But the wav files are huge (~80MB if a single song is included as sample). That makes them inconvenient to package and they also take a long time to load (~90 seconds).<br /><br />But good news is, the ball got rolling again. I hope to make some progress in coming days. If you have any suggestions, feel free to chime in comments.<span class="net_nemein_favourites">8 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=e4da37f4c3f211debfc2f1157bdb478e478e&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/e4da37f4c3f211debfc2f1157bdb478e478e/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=e4da37f4c3f211debfc2f1157bdb478e478e&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/e4da37f4c3f211debfc2f1157bdb478e478e/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jayesh Salvi &lt;jayeshsalvi@gmail.com&gt;</author>
            <category>feed:0d3ed10193588edfe41285c9c902da78</category>
            <pubDate>Wed, 28 Oct 2009 11:05:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-e4da37f4c3f211debfc2f1157bdb478e478e</guid>
        </item>
        <item>
            <title>FoF - PyOpenGL = miniFoF (possibly for n810)</title>
            <link>http://jyro.blogspot.com/2009/03/fof-pyopengl-minifof-possibly-for-n810.html</link>
            <description><![CDATA[
After spending some time on the Frets-on-Fire code I have managed to liberate it from PyOpenGL dependency.<br /><br />In first step, I bypassed all the GUI code, without making any changes to the audio and input processing components. So I ended up with a completely blank window with a default song playing and me pressing the keyboard frets blindly.<br /><br />In second step, I wrote only few lines of code to draw the notes on the screen using basic pygame.draw functions.<br /><br />Here is a screen shot of the minimal UI.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwjZypugZYUT_XIcyQ64OBg2iCxIWDHBodbkVP319onFY92dzKalih57mxCZ4MjtdxG8LIFYpgwRUKFIhaymNJrBXh6nicFqWRziHK_8BnF84O99etkPfvQJo48o3wtsLpVM5wJA/s1600-h/minifof.jpg"><img style="cursor: pointer; width: 400px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwjZypugZYUT_XIcyQ64OBg2iCxIWDHBodbkVP319onFY92dzKalih57mxCZ4MjtdxG8LIFYpgwRUKFIhaymNJrBXh6nicFqWRziHK_8BnF84O99etkPfvQJo48o3wtsLpVM5wJA/s400/minifof.jpg" alt="" id="BLOGGER_PHOTO_ID_5316827236168289378" border="0" /></a><br /><br />Then I realized that, in <span style="font-style: italic;">theory</span> this minimal version can also run on n810. I tested it in Diablo SDK and it runs. I couldn't hear the sound, but that's an issue with my scratchbox settings. I am sure that this will run on n810, however I am not sure if it will have real time response times. Unfortunately, I don't have a n810 to try this on (mine must be changing hands in black market as I write this :( ). Nevertheless I made necessary changes so that someone can try it on real n810 if they wish to.<br /><br />If you have played FoF on keyboard, you would know F1-F5 keys are used to control frets and RETURN key is used to pluck the string. One possible way to achieve this with n810 is to use the keys on the keypad.<br /><br />Following mockup should give you an idea.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw1NEoX7XxgMFCzFnRKw2XlGY9pTt4wf_xi-4w8ayGKqUz-CXKfazB_E2h_08obPvAlzPkbu4F8z-nMeTRyBvo2A5PRice_alCWAUxXUa5DOr9IWQrEF-Zu15LhWF4TEqOQ5fbsw/s1600-h/minifof-usage.png"><img style="cursor: pointer; width: 400px; height: 383px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw1NEoX7XxgMFCzFnRKw2XlGY9pTt4wf_xi-4w8ayGKqUz-CXKfazB_E2h_08obPvAlzPkbu4F8z-nMeTRyBvo2A5PRice_alCWAUxXUa5DOr9IWQrEF-Zu15LhWF4TEqOQ5fbsw/s400/minifof-usage.png" alt="" id="BLOGGER_PHOTO_ID_5316827577474103410" border="0" /></a><br /><br />F1 = Quote, F2 = K, F3 = H, F4 = F, F5 = S<br /><br />In place of RETURN we can use the square key as shown above, but I couldn't find what its keycode is. So for now I have assigned that functionality to Q. If someone can provide with that keycode in pygame, I will fix it.<br /><br />The gameplay is for single song only. I have bypassed all the menus for now. As the song starts the goal is to hit the note when it reaches the white line. You can play different songs by specifying their name as --play command line option.<br /><br />This is not (yet) a single click install app, however.<br /><br />I have put together the <a href="http://code.google.com/p/altcanvas/wiki/MiniFoF">steps</a> that you will need to follow, to get it working on actual n810. Those should work to the best of my knowledge, but you may run into errors. If you do, please report them in comments and I can help with them.<br /><br />If you are interested in the changes I had to make, then here is the list of changes starting from the baseline FoF code (<a href="http://code.google.com/p/altcanvas/source/list?start=1176">r1165 - r1176</a>)<br /><br />Give it a try. If it runs slow, let me know how slow. There still must be bunch of code paths that we can eliminate to improve the response times.<span class="net_nemein_favourites">10 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=8162670c18ab11de84a0cb9c847a5fe25fe2&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/8162670c18ab11de84a0cb9c847a5fe25fe2/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=8162670c18ab11de84a0cb9c847a5fe25fe2&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/8162670c18ab11de84a0cb9c847a5fe25fe2/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jayesh Salvi &lt;jayeshsalvi@gmail.com&gt;</author>
            <category>feed:0d3ed10193588edfe41285c9c902da78</category>
            <pubDate>Tue, 24 Mar 2009 11:23:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-8162670c18ab11de84a0cb9c847a5fe25fe2</guid>
        </item>
        <item>
            <title>FoF update</title>
            <link>http://jyro.blogspot.com/2009/03/fof-update.html</link>
            <description><![CDATA[
After the Frets-on-Fire-on-Fremantle post, the feasibility of it on real actual hardware was discussed on <a href="http://www.gossamer-threads.com/lists/maemo/developers/46442?page=last">maemo mailing list</a> and in comments. It became clear that it's not sufficient to get FoF running in SDK to prove that it will also run on final hardware. We will have to work on the OpenGL GUI to make it happen.<br /><br />So I dived into the internals of FoF. And this is what I've come up with so far. (Click on image for detailed view)<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5WIRIyyO8rQCut1DPLTKK-tzILoSs0JoTCxr6jlFLMYHc5cxb5nEZg_1b5g3z0EmdMd8tjdk0o0ZTXrR5t6vu78aAbHIeB59V9-BN7LaiosbgAZpXS_IkMJeJwdJKBiLS8TRaxg/s1600-h/fof-arch-2.jpeg"><img style="cursor: pointer; width: 267px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5WIRIyyO8rQCut1DPLTKK-tzILoSs0JoTCxr6jlFLMYHc5cxb5nEZg_1b5g3z0EmdMd8tjdk0o0ZTXrR5t6vu78aAbHIeB59V9-BN7LaiosbgAZpXS_IkMJeJwdJKBiLS8TRaxg/s400/fof-arch-2.jpeg" alt="" id="BLOGGER_PHOTO_ID_5314764015840493602" border="0" /></a><br /><br />It is far from a formal UML diagram, but it tries to capture the elaborate architecture of FoF code.<br /><br />I am experimenting with some parts of the above diagram. Let's see how it goes.<br /><br />That's all for now... BTW, I posted <a href="http://code.google.com/p/altcanvas/wiki/InkFace">inkface</a> v0.2.3 yesterday (highlights - all tests running in Diablo SDK, basic Clutter support). Check the detailed changelog <a href="http://groups.google.com/group/inkface/browse_thread/thread/a87c068fc7087787">here</a>.<span class="net_nemein_favourites">9 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=8ea6686e145011de888ad12e21b754035403&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/8ea6686e145011de888ad12e21b754035403/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=8ea6686e145011de888ad12e21b754035403&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/8ea6686e145011de888ad12e21b754035403/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jayesh Salvi &lt;jayeshsalvi@gmail.com&gt;</author>
            <category>feed:0d3ed10193588edfe41285c9c902da78</category>
            <pubDate>Wed, 18 Mar 2009 22:16:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-8ea6686e145011de888ad12e21b754035403</guid>
        </item>
        <item>
            <title>Twitter client with inkface-pygame v0.2.2</title>
            <link>http://jyro.blogspot.com/2009/03/twitter-client-with-inkface-pygame-v022.html</link>
            <description><![CDATA[
Here is an update on the Inkface library. But before that let me give a background of the project for the benefit of new readers that will be reading this post via Planet Maemo.<br /><br />Inkface is an SVG based GUI framework. Unlike the desktops - where GUI components need to be keyboard/mouse friendly; the handheld GUIs need to be finger friendly. Therefore the handheld GUI components should be naturally manipulatable - like parts of an image. Therefore inkface provides a framework in which, GUI is composed in an image editor like Inkscape, instead of rigidly coded in the program. The various elements of SVG image are presented as python objects to the programmer who can then write his program logic using these elements as widgets.<br /><br />The current version of inkface uses pycairo for vector graphics rendering and uses pygame as backend surface to draw on. A clutter backend is in the plans.<br /><br />With that background, let me show a demo of an app that I designed (in Inkscape) and coded (in python) using inkface-pygame library v0.2.2. It's a twitter client. The demo shows how the GUI can be changed vastly by merely changing the SVG files and doing no change in the code at all. (the --theme option tells the app to just use a different set of SVG files) The first one is the default theme and the later has a vintage look.<br /><br /><embed src="http://blip.tv/play/AfLbYAA" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="530" width="724"></embed><br /><br />The whole GUI consists of only 2 SVG images (corresponding to 2 screens - login and main twits page). So to create a new theme one only needs to create/change these two SVG files in Inkscape. Compare this to the traditional approach where a theme consists of tens of PNG images of specific sizes.<br /><br />I was aiming to release it as an app for diablo, but I had to postpone the plan. For improving the performance during animation, I used pygame's features that are only available in v1.8.x and I later found that Diablo ships with pygame v1.7.x. So I need to work around this incompatibility before I release it for n8x0 devices.<br /><br />For more information on the project check out the <a href="http://code.google.com/p/altcanvas/wiki/InkFace">wiki</a>. You can download v0.2.2 tarball from <a href="http://altcanvas.googlecode.com/files/inkface-pygame_0.2.2.tar.gz">here</a>. It is pure python code and can be tried on desktop. For details on the changelog of v0.2.2 check my post on the mailing list <a href="http://groups.google.com/group/inkface/browse_thread/thread/e66633a62a80f01">here</a>.<span class="net_nemein_favourites">10 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=dfffd3aa0f3511de9cb9ef68faf2eaaceaac&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/dfffd3aa0f3511de9cb9ef68faf2eaaceaac/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=dfffd3aa0f3511de9cb9ef68faf2eaaceaac&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/dfffd3aa0f3511de9cb9ef68faf2eaaceaac/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jayesh Salvi &lt;jayeshsalvi@gmail.com&gt;</author>
            <category>feed:0d3ed10193588edfe41285c9c902da78</category>
            <pubDate>Thu, 12 Mar 2009 10:00:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-dfffd3aa0f3511de9cb9ef68faf2eaaceaac</guid>
        </item>
        <item>
            <title>Frets on Fire on Maemo 5 (Fremantle)</title>
            <link>http://jyro.blogspot.com/2009/03/frets-on-fire-on-maemo-5-fremantle.html</link>
            <description><![CDATA[
Couple days ago I played Frets on Fire (<a href="http://fretsonfire.sourceforge.net/">FoF</a>) for the first time. I was totally hooked on to it. After going through its hilarious tutorial and starting with a pathetic performance, I managed to score 37K points with 87% accuracy on the "Defy the Machine" song a few moments ago.<br /><br />Couple days ago Nokia released the alpha version of Maemo 5 SDK (Fremantle) too.<br /><br />I woke up next morning with an inevitable thought of porting the former on the later.<br /><br />After a day's work here is a video demo of "Frets on Fire" running in the Maemo scratchbox SDK. And find below a list of things I had to do to get it working.<br /><br />[If you don't know about FoF, it's an open source Guitar Hero clone that runs on many desktop platforms. It is written completely in python. While playing it you hold your keyboard in an unusual fashion so that it simulates a rockstar's guitar. (<a href="http://en.wikipedia.org/wiki/Frets_on_fire">wikipedia</a>)]<br /><br /><embed src="http://blip.tv/play/AfDxMwA" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="430" width="624"></embed><br /><br />In future we can tweak FoF's UI so that the strings could be pressed against the frets using the touch screen itself.<br /><br />There is no sound in the video, but it's just because I couldn't channel the sound through two layers of virtualization and into the video recorder software. I could hear the songs alright though after transporting them over wire using pulseaudio.<br /><br />[Note that scratchbox is running on Ubuntu which itself is a KVM virtual machine. That should put the poor framerate into perspective.]<br /><br />Here are the things I had to do:<br /><ul><li>Fremantle SDK doesn't have python distutils. In diablo it comes from extras repo, so I borrowed it from there as well. (Added diablo extras repo in /etc/apt/sources.list)<br /></li><li>Fremantle SDK has a bug that I had <a href="http://www.gossamer-threads.com/lists/maemo/developers/44229#44229">discussed</a> on mailing list during pre-alpha release, due to which the SDL/pygame applications cannot use the OpenGL support of the SDK. Due to same bug, FoF would also not work. After some <a href="http://www.phoronix.com/forums/showthread.php?s=31dca4fc1886adfbaad91f0e4a83f288&amp;t=11060&amp;page=2">googling</a> I figured out the root cause and a work around. I built a private version of libsdl with --enable-video-opengl option. That did the trick. I have filed a <a href="https://bugs.maemo.org/show_bug.cgi?id=4177">bug</a> to get this fixed in Fremantle.</li><li>I also had to build custom packages of PIL (python imaging library) and numpy. I believe these libraries are available in diablo through extras repository, so I guess they will also be available in fremantle in future.<br /></li><li>Next I had to modify src/Input.py to comment out pygame's joystick initialization code.</li><li>The really tough part was getting sound working. I found an old <a href="http://blogs.igalia.com/jasuarez/2008/05/02/ubuntu-and-scratchbox-singing-duets/">post</a> to get sound working in scratchbox. Although it was a correct procedure, it didn't work for me. After a while I remembered from the Maemo summit that Fremantle runs pulseaudio (as opposed to esound in diablo). After that I did some googling and figured how to transport the sound over network using pulseaudio server and client. Here are couple useful links. <a href="http://blog.paulbetts.org/index.php/2007/04/15/pulseaudio-in-ubuntu-feisty-play-sound-over-the-network/">[1]</a> <a href="http://pulseaudio.org/wiki/PerfectSetup">[2]</a></li><li>The job on sound wasn't over yet. FoF runs all its music from ogg files. pygame won't play ogg files on fremantle. I dabbled into recompiling SDL_mixer with ogg support, but that didn't help. Then another discussion from Maemo summit came to mind, and I remembered for some (non-technical ?!) reason Maemo doesn't play ogg. So to get around it, I converted all .ogg files into .wav using ffmpeg. Changed the code wherever necessary to replace the file name extensions from ogg to wav. That did the trick and finally I could hear the sound.</li><li>The game by default used 600x480 resolution. After some analysis of the code, I found fretsonfire.ini file in my home directory. I changed it to set the resolution to 800x480 to fit into the Xephyr window.</li><li>There is one thing that I couldn't get to work. Arrow keys won't work. I found that the scan codes sent through Xephyr to the pygame were different from what are put in pygame constants.<br /></li></ul><br />... so when Nokia releases that next device, we will have an electric guitar in our pocket. :)<span class="net_nemein_favourites">12 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=ad08dfb8095f11de8e35f37c13942c3c2c3c&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/ad08dfb8095f11de8e35f37c13942c3c2c3c/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=ad08dfb8095f11de8e35f37c13942c3c2c3c&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/ad08dfb8095f11de8e35f37c13942c3c2c3c/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jayesh Salvi &lt;jayeshsalvi@gmail.com&gt;</author>
            <category>feed:0d3ed10193588edfe41285c9c902da78</category>
            <pubDate>Wed, 04 Mar 2009 05:33:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-ad08dfb8095f11de8e35f37c13942c3c2c3c</guid>
        </item>
        <item>
            <title>Inkface+pygame v0.2.0</title>
            <link>http://jyro.blogspot.com/2009/02/inkfacepygame-v020.html</link>
            <description><![CDATA[
As per the <a href="http://jyro.blogspot.com/2009/02/planning-inkface-v02.html">plan</a> for v0.2, I am ready with a working implementation of inkface. I also made few more design decisions after my last design post. Here are the highlights:<br /><br />1. All code is in python<br />2. For X11 surfaces, pygame is used.<br /><br />I found that pygame (python bindings for SDL) is a mature library for drawing on X11 surfaces. It also has some optimizations which help in 2D animations. There is also OpenGL support, but I do not plan to use it inside inkface library. It is also well supported on Maemo.<br /><br />I have written my favorite twitter client app with the new inkface-pygame library. The following video demo shows, how I could quickly code 2D scrolling animation with the help of pygame.<br /><br /><embed src="http://blip.tv/play/Ae+kOAA" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="634" width="700"></embed><br /><br />The v0.2.0 is delivered as a <a href="http://altcanvas.googlecode.com/files/inkface-pygame_0.2.0.tar.gz">tarball</a>. I have also updated the <a href="http://code.google.com/p/altcanvas/wiki/InkFace">inkface wiki</a> with some getting-started tips.<span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=1efcbeb4f3fa0f0cbeb11ef8a1d93d7e0ee9e609e60&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/1efcbeb4f3fa0f0cbeb11ef8a1d93d7e0ee9e609e60/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=1efcbeb4f3fa0f0cbeb11ef8a1d93d7e0ee9e609e60&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/1efcbeb4f3fa0f0cbeb11ef8a1d93d7e0ee9e609e60/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jayesh Salvi &lt;jayeshsalvi@gmail.com&gt;</author>
            <category>feed:0d3ed10193588edfe41285c9c902da78</category>
            <pubDate>Wed, 25 Feb 2009 07:23:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-1efcbeb4f3fa0f0cbeb11ef8a1d93d7e0ee9e609e60</guid>
        </item>
        <item>
            <title>Smooth scrolling with Inkface+pygame</title>
            <link>http://jyro.blogspot.com/2009/02/smooth-scrolling-with-inkfacepygame.html</link>
            <description><![CDATA[
Preview of what's coming out later in the week. A v0.2 drop of inkface-pygame package for maemo and others should be ready in coming few days.<br /><br /><embed src="http://blip.tv/play/Ae7EKgA" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="430" width="600"></embed><span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=1efcbeb4c1a03a2cbeb11ef8a1d93d7e0ee9e609e60&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/1efcbeb4c1a03a2cbeb11ef8a1d93d7e0ee9e609e60/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=1efcbeb4c1a03a2cbeb11ef8a1d93d7e0ee9e609e60&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/1efcbeb4c1a03a2cbeb11ef8a1d93d7e0ee9e609e60/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jayesh Salvi &lt;jayeshsalvi@gmail.com&gt;</author>
            <category>feed:0d3ed10193588edfe41285c9c902da78</category>
            <pubDate>Sun, 22 Feb 2009 08:02:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-1efcbeb4c1a03a2cbeb11ef8a1d93d7e0ee9e609e60</guid>
        </item>
        <item>
            <title>Inkface v0.1.2, Twitter-inkface client</title>
            <link>http://jyro.blogspot.com/2009/01/inkface-v012-twitter-inkface-client.html</link>
            <description><![CDATA[
Finally it is ready. Actually it has been ready for more than couple of weeks now, but I wanted to make sure the bugs in my demo app were not due to problems in core library.<br /><br />The demo app is a client I wrote for the Twitter service. The intention was to demonstrate how an intuitive GUI can be designed using an Image editor. With the GUI designed using Inkscape and an off-the-shelf python library to talk to Twitter service (Thanks to DeWitt for <a href="http://code.google.com/p/python-twitter/">python-twitter</a>), I only had to write simple glue code to get the whole app working. Check out the video.<br /><br /><embed src="http://blip.tv/play/AeXCJQA" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="300" width="500"></embed><br /><br />Good news is I have setup a debian repo to host packages for this app.<br /><br />In the Maemo Application Manager, add following Catalog:<br /><br />Name: <span style="font-weight: bold;">Altcanvas</span><br />Web Address: <span style="font-weight: bold;">http://repo.altcanvas.com</span><br />Distribution: <span style="font-weight: bold;">testing</span><br />Components: <span style="font-weight: bold;">main</span><br /><br />Refresh the application list. You should see '<span style="font-weight: bold;">twitter-inkface</span>' app in the list. All the dependencies will be automatically pulled from the repo.<br /><br />Since the repository implementation is currently experimental (No it's not a standard web server! I will save it for a separate post), you may face a problem while installing or I may have to take it offline for modifications. In that case, you can download following four packages and install them with dpkg ("dpkg -i *.deb")<br /><br /><a href="http://altcanvas.googlecode.com/files/libaltsvg_0.1.2_armel.deb">libaltsvg</a>,<a href="http://altcanvas.googlecode.com/files/inkface-python_0.1.2_armel.deb">inkface-python</a>, <a href="http://altcanvas.googlecode.com/files/inklib_0.1.0.deb">inklib</a>, <a href="http://altcanvas.googlecode.com/files/twitter-inkface_0.1.0.deb">twitter-inkface</a>.<br /><br />For more info on Inkface project, visit the <a href="http://code.google.com/p/altcanvas/wiki/InkFace">project page</a>.<span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=1efcbeb486d6046cbeb11ef8a1d93d7e0ee9e609e60&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/1efcbeb486d6046cbeb11ef8a1d93d7e0ee9e609e60/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=1efcbeb486d6046cbeb11ef8a1d93d7e0ee9e609e60&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/1efcbeb486d6046cbeb11ef8a1d93d7e0ee9e609e60/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jayesh Salvi &lt;jayeshsalvi@gmail.com&gt;</author>
            <category>feed:0d3ed10193588edfe41285c9c902da78</category>
            <pubDate>Sat, 10 Jan 2009 01:25:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-1efcbeb486d6046cbeb11ef8a1d93d7e0ee9e609e60</guid>
        </item>
        <item>
            <title>Inkface - SVG based GUI design</title>
            <link>http://jyro.blogspot.com/2008/09/inkface-svg-based-gui-design.html</link>
            <description><![CDATA[
I have always wondered why are there so many advanced technologies to learn to create the GUI for a software application. GUI is what we see, then if we want to design or customize it, then it should be as simple as editing an image in an Image editor. This becomes more important with the next-gen handheld devices, where the GUIs will be handled more intuitively - by fingers - rather than keyboards or mice. However the problem and its solution wasn't very apparent to me.<br /><br />... until I read this <a href="http://lists.o-hand.com/clutter/1375.html">post</a> by Andre Schmidt on Clutter mailing list few months back. In his <a href="http://osku.de/simsui/">simsui</a> project, he has designed a slider widget from an SVG image and used clutter to render its differnt parts. This little project defined the problem and solution I was looking for. I played with the simsui source code. Unfortunately, that code is written for very specific widget and had some duplicate implementation of some rendering logic.<br /><br />So I decided to give a try to a generic SVG (vector graphics) based GUI framework. I looked for open source SVG rendering libraries. I chose librsvg (which is now part of the Gnome desktop) for this purpose. It took me a month to understand its internals and to extend them to fulfill my needs. I eventually got it working. I now have created a fork of that library - dubbed 'libaltsvg' - under my altcanvas project.<br /><br />What I have achieved so far is complete isolation of GUI from the application logic code. I have coded two samples apps - A music player and A virtual keyboard for handhelds - using this new GUI framework. As you can see in the following demo video, the GUI look-n-fill can be changed by merely changing the input SVG filename. In this framework the app logic gets simplified as well. The code for the two apps can be found in <a href="http://code.google.com/p/altcanvas/source/browse/trunk/libaltsvg/player.c?r=551">player.c</a> and <a href="http://code.google.com/p/altcanvas/source/browse/trunk/libaltsvg/keyboard.c?r=554">keyboard.c</a>.<br /><br /><a href="http://blip.tv/file/1299872"><br />high-res version on Blip.tv</a><br /><br /><object height="344" width="425"><param name="movie" value="http://www.youtube.com/v/HPVaMBqdXTI&amp;hl=en&amp;fs=1"><param name="allowFullScreen" value="true"><embed src="http://www.youtube.com/v/HPVaMBqdXTI&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" height="344" width="425"></embed></object><br /><br /><br />The complete source code can be found <a href="http://code.google.com/p/altcanvas/source/browse/trunk/libaltsvg/">here</a> in altcanvas repository.<br /><br />The demo above is prepared on my desktop, however I have tested these on my n810 as well. Of course, the animation effects are too much for it to handle. But it works decent at minimum frame rates. I will post packages for n810 diablo in next couple of days.<br /><br />To put this in perspective: this framework lets you do on your desktop/mobile, what Adobe flash lets you do on the web (and on mobiles too) - with an added benefit of coding in C (and python or other popular languages, once I get their bindings ready). There are some closed source projects for doing vector graphics based GUIs for mobile devices (<a href="http://www.ikivo.com/">ikivo</a>, <a href="http://www.bitflash.com/">bitflash</a>). But I haven't found any open source initiatives so far. Let me know for sure if you have.<br /><br />If you are attending OSiM or Maemo summit next week in Berlin, then look for me. I will be happy to give a demo.<br /><br /><span style="font-weight: bold;">Update</span> (Sep 12):<br />A package for trying the Inkface demo on Nokia n810 is available now. Download the <a href="http://altcanvas.googlecode.com/files/inkface_0.0.1_armel.deb">.deb file</a>.<br /><span style="font-family:courier new;">[Note that the keyboard/music player are not fully functional apps. They are proof-of-concept apps for showing Inkface GUI framework benefits.]</span><br />I will be flying tommorrow afternoon for Germany. If any of you guys are in OSiM or Maemo summit, I will be glad to meet. After I come back from the trip, I will work on further improvements to this project. Till then... have fun!!!<span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=1efcbeb454e5a00cbeb11ef8a1d93d7e0ee9e609e60&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/1efcbeb454e5a00cbeb11ef8a1d93d7e0ee9e609e60/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=1efcbeb454e5a00cbeb11ef8a1d93d7e0ee9e609e60&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/1efcbeb454e5a00cbeb11ef8a1d93d7e0ee9e609e60/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jayesh Salvi &lt;jayeshsalvi@gmail.com&gt;</author>
            <category>feed:0d3ed10193588edfe41285c9c902da78</category>
            <pubDate>Sun, 07 Sep 2008 22:50:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-1efcbeb454e5a00cbeb11ef8a1d93d7e0ee9e609e60</guid>
        </item>
        <item>
            <title>Flickr uploads from n810</title>
            <link>http://jyro.blogspot.com/2008/04/flickr-uploads-from-n810.html</link>
            <description><![CDATA[
Finally I am done with new version of publishr for Nokia n810. Check out the demo video.<br /><br /><object height="355" width="425"><param name="movie" value="http://www.youtube.com/v/hhgwP8HcNUo&amp;hl=en"><param name="wmode" value="transparent"><embed src="http://www.youtube.com/v/hhgwP8HcNUo&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"></embed></object><br /><br />You can install from <a href="http://altcanvas.googlecode.com/files/altpublishr-maemo_0.6.deb">here</a>. Check out the project <a href="http://code.google.com/p/altcanvas/">page</a>.<span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=1efcbeb4244c178cbeb11ef8a1d93d7e0ee9e609e60&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/1efcbeb4244c178cbeb11ef8a1d93d7e0ee9e609e60/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=1efcbeb4244c178cbeb11ef8a1d93d7e0ee9e609e60&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/1efcbeb4244c178cbeb11ef8a1d93d7e0ee9e609e60/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jayesh Salvi &lt;jayeshsalvi@gmail.com&gt;</author>
            <category>feed:0d3ed10193588edfe41285c9c902da78</category>
            <pubDate>Tue, 22 Apr 2008 00:36:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-1efcbeb4244c178cbeb11ef8a1d93d7e0ee9e609e60</guid>
        </item>
        <item>
            <title>OSiM USA 2008 - Day 2</title>
            <link>http://jyro.blogspot.com/2008/03/osim-usa-2008-day-2.html</link>
            <description><![CDATA[
The second day of the conference was awesome.<br /><br />As I said at the end of my last post, I was expecting more interesting sessions on second day. But I had even more fun than expected. Most enjoyable sessions to me were the 2 demos - one by Soonr and another by Matthew from OpenedHand.<br /><br />I asked many presenters about what sort of business model do they envision for open source application developers, and I didn't get any conclusive answer from them. However I found partial answer to my question in the demo from Soonr (and also from the talk with funambol yesterday). In short, Soonr allows users to save their data (docs, contacts, etc.) in the cloud (an account with them) and lets them access it using their cell phone or desktops. It customizes this data to suite the browser's capabilities (downsize powerpoint slides etc.). Basically it has the same benefits as having mobile versions of all Google/Yahoo services. However Soonr makes the process seamless. I liked the idea of how they handle the stolen cell phone use-case. If the user looses his cell phone, he can configure his account to disallow access from that cell phone.<br /><br />I particularly liked the OpenedHand presentation because it was the only hardcore technical presentation in the entire conference. Matthew Allum (CEO, founder of OpenedHand), demonstrated the Clutter GUI his company is working on. The presentation was impressive. I have almost never attended a presentation where the slide show hasn't been done using PowerPoint. I suppose I might have seen OpenOffice presentations, but those were clearly not flashy. Matthew however gave presentation on his Ubuntu laptop and his slides had more fascinating effects than any PowerPoint slides I had ever seen. When I asked him at the end of the session about which software he used, he said that it's one his own little scripts. I know now where to look for, while preparing my next presentation... Back to "<a href="http://clutter-project.org/">Clutter</a>". If the phone has hardware support for graphics acceleration then Clutter gives all the snappy effects that you see in modern iPhone-like phones. See it for <a href="http://o-hand.com/work/oss/clutter/">yourself</a>. I have dowloaded and built the Clutter from o-hand's svn repository and played with many examples myself. It's very well structured source code and easy to build. Matthew's demo was done on an iPod-touch, but I heard it will also be able to run in upcoming GTA02 version of Openmoko phone.<br /><br />Among all the people I met at conference, I enjoyed talking to <a href="http://flors.wordpress.com/bio/">Quim Gil</a> the most. He is the product manager of Maemo project and I have read him on mailing lists from time to time. The discussions we had were very educational for me. I had many questions on Maemo (some of them naive and impractical), but Quim was nice enough to answer all of them with enthusiasm. I am a software engineer by profession and have worked with bunch of smart people; but never have I had such a frank discussion with as senior a person as a product manager. I think that is why we call it "Open" source. Thanks to Quim, Matthew and Hal (Funambol), I left the conference with an inspired spirit.<br /><br />I was very excited about hearing Sean Moss-Pultz, but I got little disappointed when he couldn't make it to the conference. However <a href="http://blip.tv/file/238456">Michael</a> <a href="http://www.socallinuxexpo.org/blog/2008/02/03/interview-with-michael-shiloh-of-openmoko/">Shiloh</a> gave very informative session on Openmoko. I got to handle the GTA02 that he passed among the audience. It was nice to see it, before I actually buy it in next few months.<br /><br />There were couple of panel discussions on how web 2.0 is different from or similar to mobile 2.0. Among a lot of arguments and opinions I found <a href="http://www.funambol.com/blog/capo/">Fabrizio</a>'s (Funambol CEO) comment very curious. It's well known that mobile browsers are lagging in AJAX and flash support as compared to desktop, which impedes the access to web 2.0 from mobile phones. With iPhone's browser interface and n810's microb engine that goal is looking within reach. However according to Fabrizio, mobile 2.0 will be made up with native apps connected to the web, rather than a fancy browser. I have always liked this idea personally even on desktops. But only time will tell how the web will unfold on the phone in our hands.<br /><br /><a href="http://jaaksi.blogspot.com/">Ari Jaaski</a>'s presentation in the morning was as per expectations. <a href="http://wirelessinprogress.blogspot.com/">Carolyn Lewko</a> did very good job of hosting today's sessions. <a href="http://www.andreas.gr/en/starthere.html">Andreas Constantinou</a> also had many insightful comments during various sessions. Dan Morril's Android presentation was also nice. I would have liked to ask him about <a href="http://jyro.blogspot.com/2008/01/openmoko-android-and-great-hacking-post.html">difficulties</a> in porting android to other platforms because of the closed source binaries at the core of android, but then I changed my mind. My hunch is, Google will at least provide pre-compiled binaries for various platforms in future, even if they won't open source everything. Let's see. I hope someday I will be able to run android on OpenMoko and Nokia tablets.<br /><br />Overall, this was a successful beginning of the US chapter of OSiM. Congratulations to the organizers. I hope there will be increased participation from the developer community <a href="http://www.osimconference.com/newt/l/handsetsvision/osim/index.html">next time</a>. After all, the Open source phenomenon is nothing without the Geeks in the Garage. If big corporations are to involve more in open source, they should get to meet face to face with the real innovators. Conferences like this can play key role in that.<span class="net_nemein_favourites">0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=1efcbeb3f258b26cbeb11ef8a1d93d7e0ee9e609e60&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/1efcbeb3f258b26cbeb11ef8a1d93d7e0ee9e609e60/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=1efcbeb3f258b26cbeb11ef8a1d93d7e0ee9e609e60&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/1efcbeb3f258b26cbeb11ef8a1d93d7e0ee9e609e60/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Jayesh Salvi &lt;jayeshsalvi@gmail.com&gt;</author>
            <category>feed:0d3ed10193588edfe41285c9c902da78</category>
            <pubDate>Thu, 13 Mar 2008 22:47:00 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-1efcbeb3f258b26cbeb11ef8a1d93d7e0ee9e609e60</guid>
        </item>
    </channel>
</rss>
