<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.7.6(BH)" -->
<rss version="2.0"    xmlns:georss="http://www.georss.org/georss/"
>
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Henri Bergius: category &quot;desktop&quot;</title>
        <description>Motorcycle Adventures and Free Software from Henri Bergius</description>
        <link>http://bergie.iki.fi/blog/</link>
        <lastBuildDate>Wed, 23 May 2012 10:07:21 +0000</lastBuildDate>
        <generator>FeedCreator 1.7.6(BH)</generator>
        <language>en</language>
        <managingEditor>henri.bergius@iki.fi</managingEditor>
        <item>
            <title>Open Advice</title>
            <link>http://bergie.iki.fi/blog/open_advice/</link>
            <description><![CDATA[
<p><img src="http://bergie.iki.fi/static/1/1e171b06217a15871b011e1bc5b5d4704468fc08fc0_openadvice-small.jpg" border="0" alt="Open Advice cover" title="Open Advice" style="float:right;margin-left:10px;" />I seem to have not blogged about this, but <strong><a href="http://open-advice.org/">Open Advice</a></strong>, our book on <em>Free and Open Source Software: what we wish we had known when we started</em>, was published last month.</p>
<p>The book was edited by <a href="http://www.lydiapintscher.de/book.php">Lydia Pintscher</a> and includes essays from <a href="http://open-advice.org/author.html">42 authors</a>, many of whom you'll recognize if you tend to go to FOSS conferences. The <a href="http://lwn.net/Articles/481222/">LWN book review</a> concludes:</p>
<blockquote>Open Advice is a book that will be helpful to those who are new to FOSS, but, because of the individual voices, styles, and tones, it doesn't read like a "how to". It could even be recommended to those who aren't necessarily interested in contributing, but are curious about what this "free software thing" is all about. It is, in short, a great book for a variety of audiences and the (mostly) two or three page essays make it easy to read, while the anecdotes and recollections personalize it. The authors, editor, and everyone else who helped should be very pleased with the result. Readers will be too.</blockquote>
<p>I probably shouldn't give the ending away, but my essay on cross-project collaboration, a subject I've <a href="http://bergie.iki.fi/blog/on_cross-project_collaboration/">also blogged about</a>, ends with:</p>
<blockquote>Good luck with breaking down the project boundaries! In most cases it works if your ideas are good and presented with an open mind. But even if you do not find a common ground, as long as your implementation solves the use case for you it has not been in vain. After all, delivering software, and delivering great user experience is what counts.</blockquote>
<p>The book is licensed under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>, and is available as free download in <a href="http://open-advice.org/Open-Advice.epub">ePub</a>, <a href="http://open-advice.org/Open-Advice.mobi">mobi</a> and <a href="http://open-advice.org/Open-Advice.pdf">PDF</a> formats, and <a href="http://www.lulu.com/shop/lydia-pintscher/open-advice/paperback/product-18889265.html">as paperback from Lulu</a>. The book sources are <a href="https://github.com/lydiapintscher/Open-Advice">available on GitHub</a>, patches welcome!</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>52.490002 13.4212</georss:point>
            <category>business</category>
            <pubDate>Mon, 19 Mar 2012 10:51:12 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e171b17152429471b111e1a582e78e1e97125b125b</guid>
        </item>
        <item>
            <title>Hacker-nomadism</title>
            <link>http://bergie.iki.fi/blog/hacker-nomadism/</link>
            <description><![CDATA[
<p>I <a href="https://github.com/bergie">build software</a> for a living. This means creating the new generation of Content Management interfaces in the <a href="http://www.iks-project.eu/">IKS Project</a>, developing custom client applications at <a href="http://nemein.com/en/">Nemein</a>, and building the first cloud-based record label at <a href="http://musickickstarter.com/">Music Kickstarter</a>.</p>
<p>As my office is where <a href="http://bergie.iki.fi/blog/11-macbook_air-the_best_computer_i-ve_ever_had/">my laptop</a> is, none of this work is particularly tied to a physical location. And  as much of the work is communicating, I end up spending quite a lot of  time <a href="http://www.dopplr.com/traveller/bergie">traveling</a> between meetings and conferences.</p>
<p>For this my previous home town of Helsinki, Finland wasn't quite  ideal. From an European perspective, Finland is an island. And so I've  accumulated airmiles instead of being able to travel more comfortably (and  productively) on the <a href="http://www.rfi.it/cms/v/index.jsp?vgnextoid=8cf40c85eb02b110VgnVCM1000003f16f90aRCRD">European railway network</a>.</p>
<p>I've previously dabbled with living in other <a href="http://bergie.iki.fi/blog/part-time_istanbullu/">locations like Istanbul</a> and Saint Petersburg, but this time I hope the move will be more  permanent: in the beginning of this month we packed our stuff, got rid of <a href="http://bergie.iki.fi/blog/time_to_pack/">the Helsinki flat</a> and hopped on a plane to <a href="http://en.wikipedia.org/wiki/Berlin">Berlin</a>.</p>
<p><img src="http://bergie.iki.fi/static/1/1e16f8ea1c662f46f8e11e1bfb55fc7b79894649464_berlin-bears.png" border="0" alt="berlin-bears.png" title="berlin-bears.png" /></p>
<p>The modern world makes this easy: my whole library fits on a Kindle  and music collection on Spotify, version control and testing happens in  the cloud, and banking and invoices are on the web. And thanks to EU  there is minimal red tape in setting yourself up anywhere in Europe.</p>
<p>My current setup is such: I'm traveling with about two weeks' worth of clothes, my trusty work laptop, and tablet with an <a href="http://en.wikipedia.org/wiki/Asus_Eee_Pad_Transformer_Prime">amazing 18 hour battery life</a>.  Accommodation happens in furnished, short-term rental apartments, and  Internet comes from an old N900 serving as a WiFi access point via  prepaid 3G.</p>
<p>While Berlin has <a href="http://co-up.de/">excellent co-working spaces</a>, I'm currently sharing office with <a href="http://www.contentcontrol-berlin.de/">Content Control</a>,  the local Midgard shop. Though at the time of writing my office is  temporarily relocated to the nearby Hasenheide park where there is a  nice sunny spring day.</p>
<p><img src="http://bergie.iki.fi/static/1/1e16f8ef8fdea6a6f8e11e1b19243e3378f8ab58ab5_hasenheide-park-hacking.png" border="0" alt="hasenheide-park-hacking.png" title="hasenheide-park-hacking.png" /></p>
<p>I'm still planning on popping into Helsinki every now and then. With  Air Berlin, the travel cost and distance is almost the same as if I  lived in the Finnish city of Tampere (yeah, VR is expensive). Once the  snows there melt, I'll also ride my motorcycle over.</p>
<p>If things work out, I may be eventually able to say: <em><a href="http://en.wikipedia.org/wiki/Ich_bin_ein_Berliner">ich bin ein Berliner</a></em>. This city is quite amazing - the amount of cultural activities and hacker meetups probably beats any other place in Europe right now. If you're around, ping <a href="http://twitter.com/bergie">me</a>!</p>
<p>And if Berlin doesn't work, then there are lots of other interesting places for a working nomad...</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>52.490002 13.4212</georss:point>
            <category>desktop</category>
            <pubDate>Fri, 16 Mar 2012 17:40:39 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e16f8f256adb626f8f11e198f1570eec0a20b220b2</guid>
        </item>
        <item>
            <title>Open Mobile Linux, this Saturday in FOSDEM</title>
            <link>http://bergie.iki.fi/blog/open_mobile_linux_this_saturday_in_fosdem/</link>
            <description><![CDATA[
<p>As mentioned in the earlier <a href="http://bergie.iki.fi/blog/call_for_presentations-open_mobile_linux_at_fosdem_2012/">call for presentations</a>, we're running a <a href="http://fosdem.org/2012/schedule/track/open_mobile_linux_devroom">track on Open Mobile Linux</a> in FOSDEM this Saturday. <a href="http://fosdem.org/2012/schedule/room/aw1120">Room AW1.120</a> at the ULB campus in Brussels. From the CfP:</p>
<blockquote>
<p>Our primary goal is to facilitate meetups, collaboration and awareness  between different projects and communities within Open Mobile Linux and  provide a place to present directions, ideas and your projects  themselves.<br /><br /> By Open Mobile Linux we mean any open source  projects revolving around typical non-desktop/server Linux, such as  handsets, tablets, netbooks or other creative uses. Examples of such  projects could be <a href="http://qt.nokia.com/">Qt5</a>, <a href="http://merproject.org/">Mer</a>, <a href="https://meego.com/">MeeGo</a>, <a href="http://www.android.com/">Android</a>, <a href="http://en.wikipedia.org/wiki/WebOS">webOS</a>, <a href="http://plasma-active.org/">Plasma Active</a>, <a href="https://www.tizen.org/">Tizen</a>, <a href="https://wiki.mozilla.org/B2G">Boot to Gecko</a>, <a href="http://shr-project.org/trac">SHR</a> and other related efforts.</p>
</blockquote>
<p>There are several exciting things happening in this space, including the recently announced <a href="http://www.slashgear.com/spark-plasma-active-7-inch-tablet-revealed-set-to-take-on-android-30211264/">Spark tablet</a>, open sourcing of <a href="http://arstechnica.com/gadgets/news/2012/01/hp-publishes-webos-enyo-framework-under-open-source-apache-license.ars">webOS's Enyo framework</a> and <a href="http://talk.maemo.org/showthread.php?t=82019">continuing interest in the Maemo</a> platform. Saturday's program includes:</p>
<ul><li><a href="http://fosdem.org/2012/schedule/event/mer_and_what_you_can_do_with_it">Mer ... and what you can do with it</a> (David Greaves, 11:30-12:00)</li>
<li><a href="http://fosdem.org/2012/schedule/event/openmoko_freerunner_present_and_future">Openmoko Freerunner - Present and Future</a> (Niels Heyvaert, 12:00-12:30)</li>
<li><a href="http://fosdem.org/2012/schedule/event/towards_accelerated_uis_on_mobile_linux_qt5">Towards Accelerated UI's on Mobile Linux With Power of Qt5</a> (Saija Eteläniemi, 12:30-13:00)</li>
<li><a href="http://fosdem.org/2012/schedule/event/tizen_and_the_future_of_community">Intro to Tizen and the Future of the Community</a> (Dawn Foster, 13:00-13:30)</li>
<li><a href="http://fosdem.org/2012/schedule/event/buildroot_flexible_building_of_a_custom_embedded_system">buildroot: flexible building of a custom embedded system</a> (Arnout Vandecappelle, 13:30-14:00)</li>
<li><a href="http://fosdem.org/2012/schedule/event/deep_dive_into_kde_mobile_development">Deep Dive into KDE Mobile development on N9/N950</a> (Laszlo Papp, 14:00-14:30)</li>
<li><a href="http://fosdem.org/2012/schedule/event/community_qt_apps_repository">Community Qt apps repository - way forward</a> (Jukka Eklund, 14:30-15:00)</li>
<li><a href="http://fosdem.org/2012/schedule/event/maliit_the_open_mobile_text_input_project">Maliit - the open mobile text input project</a> (Jon Nordby, 15:00-15:30)</li>
<li><a href="http://fosdem.org/2012/schedule/event/nemo_mobile">Nemo Mobile - How to contribute to the project</a> (Marko Saukko, 15:30-16:00)</li>
<li><a href="http://fosdem.org/2012/schedule/event/intro_to_qtonpi_project">Introduction to the QtOnPi project</a> (Rajiv Ranganath, 16:00-16:30)</li>
<li><a href="http://fosdem.org/2012/schedule/event/syncevolution_update">An update on PIM storage and sync: SyncEvolution</a> (Patrick Ohly, 16:30-17:00)</li>
<li><a href="http://fosdem.org/2012/schedule/event/os_in_the_mobile_app_stores">OS in the Mobile App Stores</a> (Thomas Bonte, 17:00-17:30)</li>
<li><a href="http://fosdem.org/2012/schedule/event/rygel_mobile_dlna">Rygel: Free and Open Mobile DLNA</a> (Jens Georg, 17:30-18:00)</li>
</ul><p>If there are any last-minute announcements or happenings that people want to discuss, we may be a ble to squeeze in a talk or two. Contact <a href="mailto:carsten.munk@gmail.com">Carsten</a> about this.</p>
<p>Also, if you want to chat other things (like <a href="http://phpcr.github.com/">PHPCR</a> or <a href="http://createjs.org/">CreateJS</a>), I'll be around the whole weekend including the <a href="http://fosdem.org/2012/beerevent">beer event</a>. Drop me <a>an SMS</a>.</p>
<p>Looking forward to seeing as many of you there as possible!</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>60.1632 24.9277</georss:point>
            <category>desktop</category>
            <pubDate>Thu, 02 Feb 2012 08:55:37 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e14d7bacade7584d7b11e1a0e5ffab0d83f6f9f6f9</guid>
        </item>
        <item>
            <title>Using CoffeeScript for GNOME development</title>
            <link>http://bergie.iki.fi/blog/using_coffeescript_for_gnome_development/</link>
            <description><![CDATA[
<p>In <a href="http://cannonerd.wordpress.com/">Suski's blog</a> I saw <a href="http://cannonerd.wordpress.com/2011/12/14/gnome-and-javascript/#comment-112">a question</a> on whether developing GNOME apps would be possible in <a href="http://coffeescript.org/">CoffeeScript</a>. The answer is yes. I wrote a quick example <a href="https://twitter.com/bergie/status/100116112649355264">back in Desktop Summit</a>:</p>
<pre># GObject Introspection APIs are available from imports.gi.Modulename<br />Gtk = imports.gi.Gtk<br /><br /># For GNOME 3.2+ this should be Gtk.init null, 0<br />Gtk.init 0, null<br /><br />win = new Gtk.Window<br />    type: Gtk.WindowType.TOPLEVEL<br />win.set_border_width 10<br />win.connect "destroy", (widget) -&gt;<br />    Gtk.main_quit()<br /><br />button = new Gtk.Button<br />    label: "Hello, world"<br />button.connect "clicked", -&gt;<br />    button.set_label "Bar"<br />win.add button<br /><br />button.show()<br />win.show()<br /><br />Gtk.main()</pre>
<p><a href="http://live.gnome.org/Gjs">Gjs</a> doesn't run CoffeeScript directly, so you need to convert this before running:</p>
<pre>$ coffee -c window.coffee <br />$ gjs window.js</pre>
<p>You should see something similar to:</p>
<p><img src="http://bergie.iki.fi/static/1/1e127ff79e185ba27ff11e1ba9bc75aa947665f665f_gjs-coffee-example.png" border="0" alt="gjs-coffee-example.png" title="gjs-coffee-example.png" /></p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>47.809502 13.055</georss:point>
            <category>desktop</category>
            <pubDate>Fri, 16 Dec 2011 16:04:16 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e127ff9aa5e51627ff11e186bea967a20cfaecfaec</guid>
        </item>
        <item>
            <title>Call for presentations: Open Mobile Linux at FOSDEM 2012</title>
            <link>http://bergie.iki.fi/blog/call_for_presentations-open_mobile_linux_at_fosdem_2012/</link>
            <description><![CDATA[
<p>At <a href="http://fosdem.org/2012/">FOSDEM 2012</a> we will have a <a href="http://fosdem.org/2012/devrooms_for_2012">devroom</a> related to <em>Open Mobile Linux</em>. Our primary goal is to facilitate meetups, collaboration and awareness between different projects and communities within Open Mobile Linux and provide a place to present directions, ideas and your projects themselves.<br /><br /> By Open Mobile Linux we mean any open source projects revolving around typical non-desktop/server Linux, such as handsets, tablets, netbooks or other creative uses. Examples of such projects could be <a href="http://qt.nokia.com/">Qt5</a>, <a href="http://merproject.org/">Mer</a>, <a href="https://meego.com/">MeeGo</a>, <a href="http://www.android.com/">Android</a>, <a href="http://en.wikipedia.org/wiki/WebOS">webOS</a>, <a href="http://plasma-active.org/">Plasma Active</a>, <a href="https://www.tizen.org/">Tizen</a>, <a href="https://wiki.mozilla.org/B2G">Boot to Gecko</a>, <a href="http://shr-project.org/trac">SHR</a> and other related efforts.<br /><br /> We have the room AW1.120 with 74 seats, a video projector (VGA), wireless internet on Saturday 4th February for a total of 8 hours.<br /><br /> The format we will be utilizing is <a href="http://en.wikipedia.org/wiki/Lightning_Talk">lightning talks</a> of length 15 minutes with 10 minutes of questions, 5 minute changeover to next speaker. Our goal is about 15 talks during the day.<br /><br /> The motivation is that after each talk, you and your project will be visible to the rest of the Open Mobile Linux community and further deeper discussions into your topic with your peers can continue outside the devroom.</p>
<p>Please send a short biography and an abstract for your talk to <a href="mailto:carsten.munk@gmail.com">carsten.munk@gmail.com</a> by Dec 31st 2011, and we'll get back to you at latest January 7th.</p>
<p>We're also grateful for volunteers helping to run the devroom. Contact Carsten if you're interested.</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>47.809502 13.055</georss:point>
            <category>desktop</category>
            <pubDate>Wed, 14 Dec 2011 09:46:57 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e126388fecbab4263811e19e0dff56c9d520002000</guid>
        </item>
        <item>
            <title>Where is the future for openness in mobile?</title>
            <link>http://bergie.iki.fi/blog/where_is_the_future_for_openness_in_mobile/</link>
            <description><![CDATA[
<p>These are tough times for fans of open mobile environments. Android is <a href="http://www.zdnet.com/blog/google/google-android-30-honeycomb-open-source-no-more/2845">less and less open</a>, Symbian <a href="http://symbian.nokia.com/blog/2011/04/04/not-open-source-just-open-for-business/">was closed again</a>, HP <a href="http://www.wired.com/gadgetlab/2011/08/hp-webos-tablet-touchpad">stopped making webOS devices</a>, and now Intel <a href="https://meego.com/community/blogs/imad/2011/whats-next-meego">abandoned MeeGo</a> to work with Samsung and operators instead. So, what is the community to do?</p>
<p>One option is to follow the lead of the big companies, hoping that <a href="https://www.tizen.org/">Tizen</a> works, or that Google again sees the benefit of working with others in the open.</p>
<p>The other is to take the matters in our own hands. There is precedent for this. Much of early Linux activity came from the efforts of the community, not on the initiative of corporate interests. And there have been <a href="http://wiki.openmoko.org/wiki/Main_Page">OpenMoko</a> and <a href="http://wiki.maemo.org/Mer">Mer</a>, the latter an attempt to make a fully open version of Nokia's Maemo environment, suspended when <a href="http://mer-project.blogspot.com/2010/02/mer-project-just-bunch-of-redshirts.html">MeeGo promised to bring the same benefits</a>.</p>
<p>Well, now <a href="http://lists.meego.com/pipermail/meego-dev/2011-October/484215.html">Mer is back</a>.</p>
<p><img src="http://bergie.iki.fi/static/1/1e0ede7a7914e20ede711e09b9da90a21eb97ea97ea_mer-400.jpg" border="0" alt="mer-400.jpg" title="mer-400.jpg" /></p>
<p>The goals for <a href="http://www.merproject.org/">Mer</a> align pretty well with what the community would need:</p>
<ul><li>To be openly developed and openly governed as a meritocracy</li>
<li>That primary customers of the platform are device vendors - not end-users.</li>
<li>To provide a device manufacturer oriented structure, processes and tools: make life easy for them</li>
<li>To have a device oriented architecture</li>
<li>To be inclusive of technologies (such as MeeGo/Tizen/Qt/EFL/HTML5)</li>
<li>To innovate in the mobile OS space</li>
</ul><p>There have also been some other invitations to new potential homes for the community, ranging from <a href="http://blog.jospoortvliet.com/2011/09/meego-and-opensuse-invitation.html">openSUSE</a> to <a href="http://losca.blogspot.com/2011/10/from-meego-to-tizen-debian.html">Debian</a>.</p>
<p>It will be interesting to see how this works out. But whatever we as a community do, we should ensure we look at <a href="http://bergie.iki.fi/blog/open_source-free_software-what_we_need_is_open_projects/">more than just licensing</a>.</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>60 24</georss:point>
            <category>desktop</category>
            <pubDate>Mon, 03 Oct 2011 17:53:42 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e0ede8a212ffd8ede811e098785935b0ecf71ef71e</guid>
        </item>
        <item>
            <title>GObject Introspection is coming to Node.js</title>
            <link>http://bergie.iki.fi/blog/gobject_introspection_is_coming_to_node-js/</link>
            <description><![CDATA[
<p><a href="https://live.gnome.org/GObjectIntrospection">GObject Introspection</a> (GIR) is a way to create automatic bindings to <a href="http://developer.gnome.org/">GNOME libraries</a> for various different programming languages. I've written before about the <a href="http://bergie.iki.fi/blog/php_and_gobject_introspection/">benefits of bringing GIR to PHP</a>, and now it seems something similar is happening on <a href="http://nodejs.org/">Node.js</a>.</p>

<p><a href="https://github.com/creationix/node-gir">node-gir</a> has been written by <a href="https://github.com/creationix">Tim Caswell</a>, with help from <a href="https://github.com/swick">Sebastian Wick</a> and <a href="https://github.com/piotras">Piotr Pokora</a>.</p>

<p>I've been following the progress for a while, and today, during a flight from Helsinki to Salzburg, I was finally able to open a <a href="http://www.midgard-project.org/midgard2/">Midgard</a> repository connection with it. The API still is a bit weird, and lacks support for <a href="http://shinetech.com/thoughts/thought-articles/139-asynchronous-code-design-with-nodejs-">the asynchronous nature</a> of Node, but those will hopefully change soon. Quick example:</p>

<pre><code>var Midgard, gir, config, mgd;
gir = require("../gir");
gir.init();
Midgard = gir.load("Midgard");
Midgard.init();

// Use a local SQLite database file
config = new Midgard.Config();
config.__set_property__("dbdir", __dirname);
config.__set_property__("dbtype", "SQLite");
config.__set_property__("database", "midgard");

// Open connection to the database
mgd = new Midgard.Connection();
if (!mgd.__call__("open_config", config)) {
    console.error("Failed to open connection");
    process.exit();
}
</code></pre>

<p><a href="https://github.com/creationix/node-gir">node-gir is being developed on GitHub</a> if you want to lend a hand or try it out. To build it, run <code>npm install</code> and you should be able to run the <a href="https://github.com/swick/node-gir/tree/master/examples">code examples</a>.</p>

<p>Having GIR support for Node would make it a full-fledged GNOME environment, and mean that there would be proper GObject Introspection in all three major JavaScript runtimes - <a href="https://live.gnome.org/Gjs">SpiderMonkey</a>, <a href="https://live.gnome.org/Seed">JavaScriptCore</a> and <a href="https://github.com/creationix/node-gir">V8</a>. And this way GNOME JavaScript developers could also utilize the wealth of <a href="https://github.com/joyent/node/wiki/modules">existing Node.js modules</a>.</p>
]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>60.163898 24.9289</georss:point>
            <category>desktop</category>
            <pubDate>Mon, 12 Sep 2011 00:27:13 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e0dcd5f5cffabedcd511e098e2996b57000c6e0c6e</guid>
        </item>
        <item>
            <title>Embrace and extend</title>
            <link>http://bergie.iki.fi/blog/embrace_and_extend/</link>
            <description><![CDATA[
<p>I'm getting worried about Google. Long one of the champions of <a href="http://www.mozilla.org/about/manifesto.en.html">the open web</a> alongside Mozilla, the rise of <a href="http://www.facebook.com/">social networking silos</a> and the <a href="http://www.apple.com/iphone/apps-for-iphone/">app economy</a> seem to have scared them. And like any scared organism, they lash out.</p>

<p>Many of their plans to make web competitive against native development environments are good, there is indeed much to improve in the stack. But what I'm uneasy with is the unilateral way they go about it, preferring "big reveals" and post-facto standardization instead of <a href="http://www.wired.com/wired/archive/3.10/ietf.html">the open conversation</a> that built most of the Internet we have today. This is not the way <a href="http://bergie.iki.fi/blog/on_cross-project_collaboration/">to collaborate</a>.</p>

<p>Consider some of their recent efforts:</p>

<ul><li><a href="http://www.chromium.org/spdy/spdy-whitepaper">SPDY</a>, a protocol to replace HTTP which Web is built on. Currently only supported by Chrome, which uses it to talk to several Google services</li>
<li><a href="http://www.2ality.com/2011/09/google-dart.html">Dart</a>, their JavaScript-killer which recently surfaced through a <a href="http://news.ycombinator.com/item?id=2980267">leaked email</a></li>
<li><a href="http://manu.sporny.org/2011/false-choice/">Microdata and Schema.org</a> that seek to replace last ten years of semantic web development with a spec cooked up by couple of big vendors in secret</li>
</ul><p>These - together with <a href="http://en.wikipedia.org/wiki/Web_SQL_Database">WebSQL</a>, <a href="http://code.google.com/p/nativeclient/wiki/NativeClientInGoogleChrome">NaCl</a>, <a href="http://www.webmproject.org/">WebM</a> and <a href="http://code.google.com/speed/webp/">WebP</a> - mean that Google has active efforts to replace practically every layer of the web (except HTML itself) with something of their own design.</p>

<p>The way all of these were introduced bears strong reminders of how Microsoft tried to <a href="http://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish">embrace, extend, and extinguish</a> the web in late 90s. That period brought horrors like ActiveX and the awful, unkillable IE6. Though, for the sake of fairness, it also brought us XmlHttpRequest which was the enabler of the AJAX revolution.</p>

<p>Google's new technologies may end up being beneficial for web developers, but they also threaten to fragment the platform. After all, as the competition in the <a href="http://bergie.iki.fi/blog/why_the_tablet_form_factor_is_winning/">"post-PC"</a> space heats up, the competitors are unlikely to embrace Google's extensions of the web stack. That would be a loss to all.</p>

<p><a href="http://brendaneich.com/">Brendan Eich</a>, the original author of JavaScript <a href="http://news.ycombinator.com/item?id=2982949">comments on Hacker News</a>:</p>

<blockquote>
  <p>So "Works best in Chrome" and even "Works only in Chrome" are new norms promulgated intentionally by Google. We see more of this fragmentation every day. As a user of Chrome and Firefox (and Safari), I find it painful to experience, never mind the political bad taste.</p>
  
  <p>Ok, counter-arguments. What's wrong with playing hardball to advance the web, you say? As my blog tries to explain, the standards process requires good social relations and philosophical balance among the participating competitors.</p>
  
  <p>Google's approach with Dart is thus pretty much all wrong and doomed to leave Dart in excellent yet non-standardized and non-interoperable implementation status. Dart is GBScript to NaCl/Pepper's ActiveG.</p>
</blockquote>

<p><em>Disclaimer: I've been a long-time fan of many of Google's services, and have visited some of their offices a few times. I like the company. Which is exactly why I'm so concerned about this unilateral approach at standards. I am also involved in some standards processes through the IKS Project.</em></p>
]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>60.163898 24.9289</georss:point>
            <category>desktop</category>
            <pubDate>Sun, 11 Sep 2011 23:14:02 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e0dccbbd08e7aedccb11e0a500e7540c8d14af14af</guid>
        </item>
        <item>
            <title>Why the tablet form factor is winning</title>
            <link>http://bergie.iki.fi/blog/why_the_tablet_form_factor_is_winning/</link>
            <description><![CDATA[
<p>The press is writing a lot about a "post-PC ecosystem" these days, and while many dismiss tablets as simple toys, I think the world of computing is undergoing a major shift. Tablets may not be good for writing, but they are good, probably better than PCs for a lot of other things. And it turns out, people want to be doing these other things.</p>
<p>MG Siegler from TechCrunch has <a href="http://techcrunch.com/2011/09/02/post-pc-has-nothing-to-do-with-windows/">a great post on the subject</a>:</p>
<blockquote>
<p>...I’ve been trained over time to think that the traditional PC is the way to do these things whether it’s for work or play. That’s simply not true. The tablet form factor is so. much. better. when you don’t have to do an excessive amount of typing. And during downtime, when I use a computer like a more regular human being, I’ve found that’s often...</p>
<p>Computing is changing. That’s just about the most obvious statement ever. We’ve been seeing this for years with the rise of the smartphones. But <em>traditional</em> computing is changing as well. As in, people are abandoning PCs for these newer devices. And this will keep happening.</p>
</blockquote>
<p>My experience conforms with this. I rarely use my laptop outside of the work context of <em>writing code</em>, instead preferring to use the tablet with its great ergonomics, portability and long battery life. On some of my previous trips I noticed that already more than half of people sitting in airport lounges use a tablet instead of a laptop. Not bad for a product category that has existed in a mainstream manner for less than two years. <a href="http://bergie.iki.fi/blog/the_universal_communicator/">Nokia's internet tablets</a> blazed the trail years earlier, but were never marketed outside the geekdom.</p>
<p>Now, much of the attention in the tablet world has been focused on the couple of platforms that are winning in popularity, and therefore have most of the apps. But regardless of how well Apple and Google play their cards, <a href="http://www.asymco.com/2011/07/06/the-post-pc-era-will-be-a-multi-platform-era/">the post-PC world will be a multiplatform one</a>.</p>
<p>About a week after I got my webOS-powered TouchPad, HP went and <a href="http://www.wired.com/gadgetlab/2011/08/hp-webos-tablet-touchpad">killed the product</a>. Yet this hasn't made the device useless. As <a href="http://paulrouget.com/e/mobilewebapps/">Paul Rouget recently found out</a>, <em>as long as you have a good browser, your device will be relevant</em>.</p>
<blockquote>
<p>Some people can't or don't want to use Native Apps. Because their phones don't have Apps, or because there is just no good Apps for what they want to do, or because, well, because they don't need to...</p>
<p>While in the Western world we were looking at Apple bringing pretty Apps in an expensive device, in the Eastern world, Opera was bringing a working web browser to all the existing devices.</p>
</blockquote>
<p>This is the big opportunity for free software to remain relevant in an environment of highly-locked devices. Much of the web already runs on free components, and by using the web as <a href="http://bergie.iki.fi/blog/the_universal_runtime/">a universal runtime</a> we can bypass almost any platform restrictions. <a href="http://www.paulgraham.com/road.html">As Paul Graham wrote</a> back in 2001, <em>no one can break web applications without breaking browsing</em>.</p>
<p>The world of publishing is starting to understand this. Their revenue models can't take the heavy control that vendors like Apple imposes, and so <a href="https://read.amazon.com/about">Amazon's Kindle</a> is a web app, and <a href="http://apps.ft.com/ftwebapp/">so is Financial Times</a>. That<em> "Next year HTML5 will replace native apps" is the new "Next year will be the year of Linux on the desktop"</em> is <a href="https://twitter.com/jonlech/status/110598881049452545">already a Twitter joke</a>, but there is certainly some movement in this direction. And interestingly, the Linux desktop is actually <a href="http://blogs.gnome.org/xan/2011/08/31/web-application-mode-in-gnome-3-2/">becoming more web-savvy</a> and <a href="http://www.jonnor.com/2011/04/introducing-maliit-on-screen-keyboard-in-gnome-3/">touch-friendly</a>.</p>
<p>There are clearly sweet spots for something to be a web app, or for it to be a native application. Similarly, there are different situations where tablets will be the appropriate tool, and where PCs are. The tablet context will be more like this:</p>
<p><img src="http://bergie.iki.fi/static/1/1e0d7d53922345ed7d511e0af7669d1946e55d455d4_tablet-breakfast.jpg" border="0" alt="tablet-breakfast.jpg" title="tablet-breakfast.jpg" /></p>
<p>Than this:</p>
<p><img src="http://bergie.iki.fi/static/1/1e0d7d2eeae653ed7d211e0ad084b49cc799d7c9d7c_ipad-workstation.jpg" border="0" alt="ipad-workstation.jpg" title="ipad-workstation.jpg" /></p>
<p>The heavy lifting is a better fit for a system designed for that. As Steve Jobs said, <a href="http://lirneasia.net/2010/06/the-pc-is-a-truck-steve-jobs/">the PC will be the truck</a>.</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>47 13</georss:point>
            <category>desktop</category>
            <pubDate>Mon, 05 Sep 2011 15:30:31 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e0d7d3fd72dc0cd7d311e0943acb88fa4c7a467a46</guid>
        </item>
        <item>
            <title>Nemein and Infigo merge to create a digital agency focused on web and mobile</title>
            <link>http://bergie.iki.fi/blog/nemein_and_infigo_merge/</link>
            <description><![CDATA[
<p>Yesterday the contracts were signed to acquire <a href="http://infigo.fi/en/">Infigo</a> as part of <a href="http://nemein.com/en/">Nemein</a>. Infigo, is a consulting company focused on mobile development and web using open source tools. You'll probably at least know their CTO, <a href="http://bergie.iki.fi/blog/on_usb_fingers_and_world_news/">Jerry of the USB finger fame</a>.</p>
<p>Even in the <a href="http://bergie.iki.fi/blog/ten_years_of_nemein/">ten years of history</a> of our company this is quite a significant move - it allows us to combine Nemein's traditional expertise on content management with Infigo's mobile offerings. As smartphones and tablets are becoming popular, more and more services we build will have a mobile element, which is now easier with lots of in-house expertise.</p>
<p>This also means more focus on the interplay between the <a href="http://www.midgard-project.org/">Midgard</a> content repository, <a href="https://github.com/bergie/noflo">NoFlo</a> workflows, <a href="http://nodejs.org/">Node.js</a> and <a href="http://symfony.com/">Symfony</a> web services, and mobile applications built in <a href="http://qt.nokia.com/">Qt</a>.</p>
<p><img src="http://bergie.iki.fi/static/1/1e0d55317b0f154d55311e0a7e177ab46dbbff1bff1_nemein-infigo.jpg" border="0" alt="nemein-infigo.jpg" title="nemein-infigo.jpg" /></p>
<p><a href="http://infigo.fi/en/page/company/team">Petri Rajahalme</a> (with me in the photo) will be the CEO of the merged company, and I will focus on leading the R&amp;D efforts.</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>47 13</georss:point>
            <category>business</category>
            <pubDate>Fri, 02 Sep 2011 11:15:37 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e0d554e2c051e0d55411e0807513cb0e9005fb05fb</guid>
        </item>
        <item>
            <title>Some notes from Desktop Summit 2011</title>
            <link>http://bergie.iki.fi/blog/some_notes_from_desktop_summit_2011/</link>
            <description><![CDATA[
<p>As usual, <a href="https://desktopsummit.org/">Desktop Summit 2011</a> has been a lot of fun. I've been to most of the GUADEC and aKademy free desktop events in the past few years, but this was the first time I didn't give a talk. Even that way, it was definitely worth spending a week in Berlin.</p>

<p>While much of the corporate involvement around the desktops has evaporated through some recent events, this seems to have given the developers lots more creative freedom. I've seen many very promising concepts from both communities.</p>

<p>Here are some things that happened during the week:</p>

<ul><li>The <em><a href="http://lists.midgard-project.org/pipermail/dev/2011-August/003045.html">roadmap for Midgard</a></em> to become closer to the JCR specification solidified, including a reasonably good plan on backwards compatibility</li>
<li>We published the first version of <a href="https://github.com/midgardproject/GICR">GICR</a>, generic <em>Content Repository interfaces for GObject</em>. Midgard will probably be the first project to implement them, but we hope others will follow. It'd be a great fit for <a href="https://live.gnome.org/Design/Apps/Documents">GNOME Documents</a>, among other things</li>
<li>The project to replace our own PHP frameworks with <em><a href="http://symfony.com/">Symfony2</a></em> continued by implementing the <a href="https://github.com/bergie/MidgardMidcomCompatBundle">MidCOM compatibility layer</a> that will allow Midgard1 web applications to be run in the new environment</li>
<li>My work on the <em><a href="https://github.com/bergie/noflo">NoFlo</a> flow-based programming tool</em> got some positive attention and interest. Still lot of stuff to do</li>
<li>We at <a href="http://nemein.com/">Nemein</a> co-sponsored the <em><a href="https://live.gnome.org/Hackfests/Introspection2011">GObject Introspection hackfest</a></em>. <a href="https://live.gnome.org/GObjectIntrospection/">GIR</a> is important for bringing GNOME libraries to new environments like scripting languages and the web</li>
<li><em>Lots of ice cream</em> got eaten. I think it will be fair if I stay out of next year's deathmatch and focus on coaching ;-)</li>
</ul><p>Tomorrow back to Helsinki for a week, then onwards to <a href="http://froscon.de/">FrOSCon</a> and Salzburg...</p>
]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>52 13</georss:point>
            <category>desktop</category>
            <pubDate>Thu, 11 Aug 2011 16:18:35 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e0c435907f6482c43511e099d39b5f70ba56dc56dc</guid>
        </item>
        <item>
            <title>Desktop Summit, and some thoughts on Flow-Based Programming</title>
            <link>http://bergie.iki.fi/blog/desktop_summit_flow-based_programming/</link>
            <description><![CDATA[
<p>Like many, I'm currently in Berlin for <a href="https://desktopsummit.org/">Desktop Summit</a>, the combined conference of the GNOME and KDE communities. It is a lot of fun to see all the familiar faces, and talk about the different projects going on!</p>
<p><img src="https://www.desktopsummit.org/sites/www.desktopsummit.org/files/DS2011banner.png" border="0" alt="DS2011banner.png" /></p>
<p>Now, one of the things I've talked about with people is <a href="https://github.com/bergie/noflo">NoFlo</a>, my new tool that brings <em>Flow-Based Programming</em> to <a href="http://nodejs.org/">Node.js</a>. What is that? <a href="http://en.wikipedia.org/wiki/Flow-based_programming">Wikipedia explains</a>:</p>
<blockquote>Flow-based programming (FBP) is a programming paradigm that defines applications as networks of "black box" processes, which exchange data across predefined connections by message passing, where the connections are specified externally to the processes. These black box processes can be reconnected endlessly to form different applications without having to be changed internally. FBP is thus naturally component-oriented.</blockquote>
<p>Basically the idea here is to simplify managing the control flow of software: what data goes where, what happens then, etc. with the goal of making software more understandable. With NoFlo you can go and peek under the hood of a running piece of software, see where data is going to, and even rewire some connections if you want to.</p>
<p>The project is still in reasonably early stages, but it is already used in at least one real-life deployment. Here are some sneak peeks:</p>
<p><img src="http://bergie.iki.fi/static/1/1e0c03da3d93d7ec03d11e0ad7493d9595d183c183c_noflo-shell-small.png" border="0" alt="noflo-shell-small.png" title="noflo-shell-small.png" />:</p>
<p><img src="http://bergie.iki.fi/static/1/1e0c03dc1eb3d1cc03d11e0853e692a724efbc6fbc6_noflo-gui-small.png" border="0" alt="noflo-gui-small.png" title="noflo-gui-small.png" /></p>
<p>If you're interested, follow the progress on <a href="https://github.com/bergie/noflo">my GitHub repo</a>, or subscribe to the <a href="http://groups.google.com/group/flow-based-programming">Flow-Based Programming mailing list</a>.</p>
<p>In the spirit of Desktop Summit, it would be interesting to talk how these workflows would fit into the concept of a free software desktop.</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>60.318298 24.9667</georss:point>
            <category>desktop</category>
            <pubDate>Sat, 06 Aug 2011 15:09:59 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e0c03e26f9f734c03e11e09d297190c4fed31bd31b</guid>
        </item>
        <item>
            <title>PHP and GObject Introspection</title>
            <link>http://bergie.iki.fi/blog/php_and_gobject_introspection/</link>
            <description><![CDATA[
<p><a href="https://live.gnome.org/GObjectIntrospection">GObject Introspection</a> is one of the hidden jewels of the <a href="http://developer.gnome.org/platform-overview/stable/">GNOME stack</a>: you write a library in C or <a href="http://en.wikipedia.org/wiki/Vala_%28programming_language%29">Vala</a>, and it becomes automatically available to <a href="https://live.gnome.org/GObjectIntrospection/Users">a wide variety</a> of languages and runtimes, including <a href="https://live.gnome.org/PyGObject">Python</a>, <a href="https://live.gnome.org/Gjs">JavaScript</a>, <a href="https://live.gnome.org/JGIR">Java</a> and <a href="http://blogs.kde.org/node/4444">Qt</a>.</p>

<p>Now I would like to bring GObject Introspection to PHP. Why?</p>

<p>For many years we in the <a href="http://www.midgard-project.org/">Midgard</a> community have been using GNOME infrastructure on the web server side, by building our persistence layer on top of GObjects, and providing <a href="http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/">D-Bus notifications</a> when content changes. So far this has been done with our own <a href="https://github.com/midgardproject/midgard-php5">custom PHP extension</a>.</p>

<p>I believe a common PHP extension providing GObject Introspection support would make more sense, as it wouldn't just benefit our own community, but also support efforts like <a href="http://gtk.php.net/">php-gtk</a>.</p>

<p><a href="http://github.com/indeyets">Alexey Zakhlestin</a> already <a href="https://github.com/indeyets/gobject-for-php">started a project</a> for this a while back, but unfortunately has been unable to finish it. Because of this, <a href="http://nemein.com/en/">we</a> would be willing to sponsor anybody interested in making the <a href="https://github.com/indeyets/gobject-for-php">gobject-for-php</a> extension work.</p>

<p>Benefits for the GNOME community:</p>

<ul><li>New supported development language and a large community of potential contributors</li>
<li>The possibility of making the GNOME stack relevant in web space. Just think of Telepathy or GStreamer in a web app</li>
</ul><p>Benefits for the PHP community:</p>

<ul><li>Access to the rich collection of GNOME libraries, many which may be useful when building web applications</li>
<li>Being able to use your PHP skills to build GNOME applications and bring them to interesting environments like <a href="http://www.ubuntu.com/ubuntu">Ubuntu</a> and <a href="http://cordiahd.org/">Cordia</a></li>
</ul><p>Benefits for the Midgard community:</p>

<ul><li>No need to maintain our own custom PHP extension</li>
<li>A more generic GObject Introspection extension has better chances of being included into Linux distributions and being available on hosting providers</li>
</ul><p>Let <a href="http://nemein.com/en/people/bergie/">me</a> know if you are interested. We're coming to the <a href="https://desktopsummit.org/">Desktop Summit</a> with <a href="http://blogs.nemein.com/people/piotras/">Piotras</a>, so for example that is a great opportunity to talk more about this.</p>
]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>60 24</georss:point>
            <category>desktop</category>
            <pubDate>Tue, 26 Jul 2011 12:15:01 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e0b780e2d102b6b78011e0975ef93144fab6d5b6d5</guid>
        </item>
        <item>
            <title>Understanding MeeGo</title>
            <link>http://bergie.iki.fi/blog/understanding_meego/</link>
            <description><![CDATA[
<p><em>Disclaimer: I'm a software developer with a background in Nokia's Maemo mobile Linux ecosystem. I've built both software and community services for it. As a Maemo enthusiast, I've also been following MeeGo with interest, and am helping to build some of the project infrastructure there as well. But I do not speak with the authority of the MeeGo project, and what is written below is my personal view into what MeeGo is.</em></p>

<p>After the recent <a href="http://sf2011.meego.com/">San Francisco MeeGo Conference</a> there has been surprisingly much negative reporting about MeeGo, mostly centered at <a href="http://www.latestnewsin.com/meegos-state-of-development-was-an-oh-shit-moment-for-nokia/">Nokia's MeeGo story</a>. While Nokia's strategy changes are unfortunate, much of the reporting around it appears to come from misunderstanding what MeeGo is about.</p>

<p>Many see MeeGo just as <em>Android without Java</em>, but it is much more, as I'll explain here.</p>

<h2>Industrial Linux</h2>

<p>MeeGo is much more than just handsets or tablets. It is an attempt at creating a standardized industrial Linux distribution that can be used anywhere from in-vehicle infotainment devices to TVs to, indeed, handsets.</p>

<p>It is a true open and collaborative environment, managed by <a href="http://www.linuxfoundation.org/">Linux Foundation</a>. The <a href="https://meego.com/about/governance">governance model</a> is there to ensure that MeeGo stays a vendor-neutral platform that anybody can build their products on top.</p>

<p>Many device segments have very long development, and especially usage times. For this MeeGo has a predictable release schedule of a major release every six months, and <a href="https://meego.com/about/roadmaps">a roadmap</a> kept by the Technical Steering Group.</p>

<p>If MeeGo succeeds in this, you will be using it in your TV, in your car stereo, and at the back of an airline seat. But in most of these situations you won't be able to know that it is MeeGo. It is simply there to make building products faster and cheaper for the manufacturer.</p>

<h2>Openness</h2>

<p>As I argued in my earlier piece <a href="http://bergie.iki.fi/blog/open_source-free_software-what_we_need_is_open_projects/">Open Source? Free Software? What we need is Open Projects</a>, being an open platform is much more than just the licensing terms of the code. There needs to be transparency into the development process, a clear procedure on how to participate and much more. And of course licensing has to be such that the participants can actually use the results in whatever they're doing.</p>

<p>For this, most of <a href="https://meego.com/about/licensing-policy">MeeGo is licensed</a> under permissive terms, like the GNU LGPL and BSD-style licenses.</p>

<p>But indeed, the other aspects of openness are more important. With MeeGo you can see every commit happening on Gitorious, and you can see the bugs and features being worked out in a public Bugzilla.</p>

<p>MeeGo as a project is still quite young, and many participants are still learning how to work in the open. This has lead to <a href="http://lwn.net/Articles/444567/">some issues in project transparency</a>. But hopefully those are now getting resolved.</p>

<h2>User Experience</h2>

<p>MeeGo allows anyone to build their own user experience on top of the platform. Actually, this is expected of any serious manufacturer. Sure, there are some reference UXs available, including Tablet, Handset and Netbook, but none of these are quite product-ready, and are not necessarily even intended to be.</p>

<p>Because of this it is quite funny to see reviews of the reference UXs. They're not the ones most devices will run, though obviously some manufacturers or community members are going to use them anyway. A full MeeGo product will look and feel like something completely different.</p>

<p>This is not like Android manufacturers adding their own skins. With MeeGo anybody has the full freedom to build a complete user experience that suits their device, branding and other goals. The whole platform has been built to allow this sort of differentiation, without a risk of fragmenting the ecosystem. I'll explain the fragmentation question soon.</p>

<p>Actually, the freedom of defining your own user interface is big enough that both Android and WebOS could theoretically be rebased on top of MeeGo to be just different MeeGo UXs. Obviously they would need to allow running MeeGo-compliant Qt applications in addition to ones written for them directly, but that is minor detail. WebOS already ships Qt, so it isn't even that far from this. Similarly, KDE or GNOME could run as MeeGo UXs.</p>

<h2>Compliance</h2>

<p>At the core of MeeGo there is <a href="http://wiki.meego.com/Quality/Compliance">a set of compliance rules</a>. Being Open Source, anybody can take MeeGo, modify it, and run it on their devices. But only if their implementation passes MeeGo compliance it can be called MeeGo.</p>

<p><em>Device Compliance</em> is a set of rules that ensures any MeeGo-compliant software can run on a particular device. <em>Application Compliance</em> similarly ensures an app can be installed and run on any MeeGo-compliant device.</p>

<p>Both of these sets of compliance rules have automated tests that anybody can run. So, between non-compliant MeeGo-related software there may be fragmentation, but anything branded MeeGo (and therefore compliant) must be fully compatible.</p>

<h2>App Stores and business models</h2>

<p>MeeGo is an open source project, not a company. This means it comes without strings attached, compliance rules aside. There are no limitations on the business model of a MeeGo device manufacturer, no mandatory online services or app stores to enable, and no royalty payments.</p>

<p>With this, each vendor can decide what they want to enable their users to do with the device. An embedded device might have no concept of installable applications, a tablet might come with the vendor's own app store.</p>

<p>For those who do not want to go through trouble of building their own developer ecosystems and app stores, there are some generic solutions available in the MeeGo sphere:</p>

<p>Intel's <a href="http://www.appup.com/applications/index">AppUp</a> is a "white label" app store. This means that a device manufacturer, or even retailer or operator can get an instance of AppUp with their own branding and a revenue sharing deal with Intel. Developers submit software only once and it will be available on all the different branded AppUps.</p>

<p>On the more open side, there is also the upcoming <a href="http://wiki.meego.com/MeeGo_Apps">MeeGo Community Apps</a>, a fully community driven "store" of free software written for MeeGo. It comes with its own, OCS-compatible client application, a web frontend, and clear set of <a href="http://bergie.iki.fi/blog/application_quality_assurance_in_linux_distributions/">crowdsourced app quality assurance</a> processes. The similarly handled Maemo Downloads has served over 80 million downloads for the Nokia N900, so the user and developer interest is clearly there.</p>

<h2>The future of MeeGo</h2>

<p>At this early stage of the project it is hard to make predictions, but there are many things MeeGo gets right. I think it has a bright future ahead of it, especially in more specialized devices. There the shared infrastructure and clear development schedule give manufacturers substantial advantages in both development time and cost.</p>

<p>Product development times in the embedded sector are quite long, and it may well take years before we'll see MeeGo in a airline multimedia system. But if the project shows the necessary durability and longevity, this will eventually happen. Now many of those systems run on customized Linux distributions that their manufacturers have to spend quite a bit of money to maintain. MeeGo removes that problem, and allows easier collaboration through the compliance rules.</p>

<p>As for consumer devices like tablets and handsets, that area mostly requires there to be a vendor that wants to properly differentiate itself from the grey masses of the Android ecosystem. MeeGo provides all the necessary tools on both systems side and user interface development to make that happen.</p>

<p>Currently there are many different ideas floating around on how to build user experiences on connected devices. There is the "wall of apps" approach of iPhone, there are the fully cloud-connected WebOS and Android approaches, and now Microsoft is also starting to enter the game with their own ideas.</p>

<p>I don't think the "post-PC" world is yet complete. What MeeGo gives is a fast way to build products differentiating from that crowd. It just needs companies who are willing to go for it.</p>

<p>The next couple of years will be quite interesting.</p>
]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>42 -77</georss:point>
            <category>business</category>
            <pubDate>Sun, 05 Jun 2011 03:58:17 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e08f280b5a502e8f2811e0af0885b702a2a1fea1fe</guid>
        </item>
        <item>
            <title>Going to San Francisco</title>
            <link>http://bergie.iki.fi/blog/going_to_san_francisco/</link>
            <description><![CDATA[
<p>This weekend, after <a href="http://falsyvalues.com/">Falsy Values</a>, I will be flying to San Francisco for a couple of weeks. There are some conferences:</p>
<p>
</p><ul><li><a href="http://sf2011.meego.com/">MeeGo Conference</a>, May 23-25</li>
<li><a href="http://aloha-editor.org/wiki/Aloha_Editor_Dev_Con_SanFrancisco_11">Aloha Editor dev con</a>, June 6-8</li>
</ul><div>However, as there is quite some time between these two events, it would be interesting to meet cool people and/or projects. So if you're in the area, drop <a href="http://bergie.iki.fi/">me</a> a note.</div>
]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>60 24</georss:point>
            <category>desktop</category>
            <pubDate>Tue, 17 May 2011 16:33:36 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e080a369ddedf680a311e08dc09325a9e447b447b4</guid>
        </item>
        <item>
            <title>Openwashing</title>
            <link>http://bergie.iki.fi/blog/openwashing/</link>
            <description><![CDATA[
<p>Somehow I had missed <a href="http://www.readwriteweb.com/archives/how_to_spot_openwashing.php">this term being coined</a>:</p>
<blockquote>The old "open vs. proprietary" debate is over and open won. As IT infrastructure moves to the cloud, openness is not just a priority for source code but for standards and APIs as well. Almost every vendor in the IT market now wants to position its products as "open." Vendors that don't have an open source product instead emphasize having a product that uses "open standards" or has an "open API."<br /><br />"Openwashing" is a term derived from "<a href="http://en.wikipedia.org/wiki/Greenwashing">greenwashing</a>" to refer to dubious vendor claims about openness. Openwashing brings the old "open vs. proprietary" debate back into play - not as "which one is better" but as "which one is which?"</blockquote>
<p>Especially Google seems to be <a href="http://www.meegoexperts.com/2011/03/honeycomb-open-source-move/">doing this</a> quite a bit. If you want to be open, <a href="http://bergie.iki.fi/blog/open_source-free_software-what_we_need_is_open_projects/">work in the open</a>. This is the only way to ensure <a href="http://bergie.iki.fi/blog/on_cross-project_collaboration/">acceptance</a> and <a href="http://bergie.iki.fi/blog/why_make_your_projects_properly_open-sustainability/">sustainability</a> for your code.</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>47 13</georss:point>
            <category>business</category>
            <pubDate>Thu, 05 May 2011 16:31:33 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e07735237b915a773511e0b42df1943179916d916d</guid>
        </item>
        <item>
            <title>11&quot; MacBook Air: the best computer I've ever had</title>
            <link>http://bergie.iki.fi/blog/11-macbook_air-the_best_computer_i-ve_ever_had/</link>
            <description><![CDATA[
<p>A while ago I blogged about my <a href="http://bergie.iki.fi/blog/gnome3_on_ubuntu_natty-the_first_impressions/">impressions on running Ubuntu Natty and GNOME3</a> on my <a href="http://www.apple.com/macbookair/">MacBook Air</a>. As I've gotten some questions about the laptop itself, I decided to write something about it.</p>
<p>Simply put, the 11" MacBook Air is the best computer I've ever had. I've always appreciated small and light laptops as I <a href="http://www.dopplr.com/traveller/bergie">travel quite a bit</a>, but this one takes portability to a completely new level. The laptop weights only a kilogram, and is small enough to fit pretty much any bag. And it is pretty:</p>
<p><img src="http://bergie.iki.fi/static/1/1e071b17632db3071b111e09d42ef63fbf46c4b6c4b_macbook_air_3_2.jpg" border="0" alt="macbook_air_3_2.jpg" title="macbook_air_3_2.jpg" /></p>
<p>Funnily enough, it has a slower processor than my previous work laptop (1.4 GHz vs. 1.6 GHz), but the fast SSD makes a huge difference. Pretty much anything I do on the device feels faster. It appears <a href="http://brooksreview.net/2011/04/mba-qs/">Brooks Review agrees</a>:</p>
<blockquote>...my MacBook Air is the best Mac I have ever owned — hands down — no contest. I have had everything from the fabled 12″ Powerbook G4 to a pimped out Mac Pro — the MacBook Air takes the cake here. It is incredibly fast for 95% of everything that I do and the screen resolution is amazing give the small footprint of the machine. The size and weight of the machine still amazes me every time I touch it.</blockquote>
<p>Battery life is also <a href="http://osxdaily.com/2010/10/30/macbook-air-2010-battery-life/">quite good</a>, with Linux giving me about 3-4 hours per charge. This could obviously be better, and I dream of the 10+ hours an Arm processor would give.</p>
<h2>Why Linux?</h2>
<p>Why do I run Linux on the system? First of all, I appreciate the <a href="http://fsfe.org/about/basics/freesoftware.en.html">software freedom</a>. I also love the predictable release cycles that Ubuntu and GNOME give me: every six months there is a new release with a set of features announced early on. And since <a href="http://nemein.com/en/">we</a> deploy our software <a href="http://bergie.iki.fi/blog/nemein_is_going_to_ubuntu_server/">on Ubuntu</a>, my own development environment has automatically the same set of packages and versions available. Midgard, Node.js, etc. are <a href="http://cloudhead.io/2011/04/18/why-osx-doesnt-cut-it/">all available from the repositories</a>.</p>
<p>I also like GNOME's <a href="http://gnome3.org/">focus on simplicity</a>. Unlike OS X, the user interface has very few unnecessary elements, and the desktop itself has been designed to let me focus on the task at hand, minimizing distractions.</p>
<p>Installing Ubuntu on the system is <a href="http://askubuntu.com/questions/10561/how-to-install-on-a-macbook-air-3-2-without-an-external-cd-drive">not exactly trivial</a>, but after a bit of setup everything works as it should: suspending, wireless, webcam, everything. And boot times are also pleasantly fast. Compared to previous Ubuntu versions, network acquisition after resume is also very fast, comparable to OS X.</p>
<h2>Gripes</h2>
<p>As said, battery life could be better. Ten hours would give me trouble-free working environment when traveling, as now I often have to prioritize when to use the computer and for what in fear that no power outlet is available.</p>
<p>I also hate the display adapters Apple forces us to buy and carry around. I give a lot of presentations, and this is another piece of equipment to accidentally leave home. Why not just go VGA or HDMI?</p>
<p>In both of these aspects the similarly compact <a href="http://en.wikipedia.org/wiki/Nokia_Booklet_3G">Nokia Booklet</a> would've been better. Unfortunately it has been a while since that "business netbook" was released and there has been no word of newer versions.</p>
<p>Another gripe is related to the stability of the <a href="https://launchpad.net/~gnome3-team/+archive/gnome3/+packages">GNOME3 PPA release</a> for Natty. There are some regressions compared to stock Ubuntu. I hope that will be eventually fixed now that <a href="http://www.ubuntu.com/ubuntu">Natty is officially out</a>. Shame that Canonical wanted to <a href="http://unity.ubuntu.com/">do their own thing</a> instead of going with GNOME.</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>60 24</georss:point>
            <category>desktop</category>
            <pubDate>Thu, 28 Apr 2011 16:32:48 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e071b5274156f671b511e083fea500cbd866ba66ba</guid>
        </item>
        <item>
            <title>GNOME3 on Ubuntu Natty: the first impressions</title>
            <link>http://bergie.iki.fi/blog/gnome3_on_ubuntu_natty-the_first_impressions/</link>
            <description><![CDATA[
<p>So, <a href="http://gnome3.org/">GNOME3</a> was released last week. I was then <a href="http://wiki.iks-project.eu/index.php/IKSDevelopersWorkshopSaarbr%C3%BCcken">away in Saarbrucken</a>, working on some linked data stuff, and so didn't have the courage to upgrade. But today I took the leap and installed both <a href="http://www.ubuntu.com/testing/natty/beta">Ubuntu Natty beta</a> and <a href="https://launchpad.net/~gnome3-team/+archive/gnome3/+packages">GNOME3 from the PPA</a>. Now my <a href="http://www.apple.com/macbookair/">11" MacBook Air</a> finally has the setup I originally intended for it.</p>
<p><img src="http://bergie.iki.fi/static/1/1e0652eeaac22f8652e11e09cc78353a203ee5bee5b_gnome-shell.png" border="0" alt="gnome-shell.png" title="gnome-shell.png" /></p>
<p>As <a href="http://arstechnica.com/open-source/reviews/2011/04/ars-reviews-gnome-30-a-shiny-new-ornament-for-your-linux-lawn.ars">Ars Technica says</a>, GNOME3 feels very solid for a first release. Some first impressions:</p>
<ul><li>Window management by dragging them to the edges is very handy</li>
<li>Notifications allow me to focus on the things I'm doing at the moment, but still allow for easy conversations when I want them</li>
<li>Finding, launching and managing applications is easy. <em>Apple key -&gt; type some characters -&gt; enter</em> starts an application</li>
<li>Wake-up from suspend and acquiring wireless are very snappy, though I guess this is mostly thanks to Natty and not the desktop</li>
<li>The monochrome top bar is beautiful and has the necessary functionalities. I don't really miss the panel applets</li>
<li>In general the desktop stays out of the way and lets me focus on what I'm working on</li>
</ul><div>Then the weird stuff:</div>
<div>
<ul><li>The window decorations are humongous, especially as they have very little use in the window management paradigm. This really hurts the usable vertical space</li>
<li>I really miss the <a href="http://www.webupd8.org/2010/11/ubuntu-1104-desktop-will-get-global.html">global menus from Unity</a>. Though with modern applications I might be even happier with no menus at all</li>
<li>The system font looks a bit squished, but I guess that is because of my X settings</li>
<li>I haven't figured out how to remove the unnecessary accessibility menu from the top bar</li>
</ul><p>Anyway, great work from the team! I hope the annoyances can be fixed in due course, and I'm looking very much forward to hacking with Midgard and the <a href="https://live.gnome.org/Gjs">JavaScript-based desktop</a>.</p>
<div><img src="http://bergie.iki.fi/static/1/1e0653510e58760653511e0967dc962051ed2c7d2c7_gnome3-about.png" border="0" alt="gnome3-about.png" title="gnome3-about.png" /><br /></div>
</div>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>60 24</georss:point>
            <category>desktop</category>
            <pubDate>Tue, 12 Apr 2011 18:22:15 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e06531cb244ef8653111e092d031f70ca5ce97ce97</guid>
        </item>
        <item>
            <title>The beginning of a JavaScript journey</title>
            <link>http://bergie.iki.fi/blog/the_beginning_of_a_javascript_journey/</link>
            <description><![CDATA[
<p>While PHP remains my primary programming language for <a href="http://blog.liip.ch/archive/2011/02/24/why-we-stick-to-php.html">various reasons</a>, my recent projects have involved quite a bit <a href="http://bergie.iki.fi/blog/vie_decoupled_content_management_moves_forward/">of JavaScript development</a>. And I have to say I like it: the event-driven paradigm is quite elegant, closures are a joy to work with, and tools like <a href="http://nodejs.org/">Node.js</a> and <a href="http://jquery.com/">jQuery</a> really open up the possibilities of the language.</p>
<p>But there is one weakness in the JS ecosystem: as things are just now picking up, the amount of information on especially making larger applications is quite sparse. To help solving this issue, I decided to start a new blog dedicated to what I learn in that space.</p>
<p>Like my <a href="http://universalruntime.tumblr.com/post/4340045330/universalruntime">earlier piece</a> on the importance of the language, the blog is called <a href="http://universalruntime.tumblr.com/"><strong>The Universal Runtime</strong></a>.</p>
<p>If you run into interesting tutorials on JavaScript, or are doing something cool in the space, let me know!</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>60 24</georss:point>
            <category>desktop</category>
            <pubDate>Sun, 10 Apr 2011 19:51:27 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e063abec0349a863ab11e08273f919d316b1d9b1d9</guid>
        </item>
        <item>
            <title>On cross-project collaboration</title>
            <link>http://bergie.iki.fi/blog/on_cross-project_collaboration/</link>
            <description><![CDATA[
<p>There is currently quite stern discussion going on between <a href="http://blogs.gnome.org/bolsh/2011/03/07/has-gnome-rejected-canonical-help/">GNOME</a>, <a href="http://www.markshuttleworth.com/archives/654">Canonical</a> and <a href="http://aseigo.blogspot.com/2011/03/collaborations-demise.html">KDE</a> about collaboration on the free desktop. Angry words have been written, and I believe much of the tension arises from the situation with MeeGo. Suddenly many developers and projects feel much more marginalized than what the future looked like, <a href="http://bethesignal.org/blog/2011/02/11/elopocalypse-nokia-chooses-microsoft/">pre-112</a>. Hopefully cooler heads will prevail before the <a href="https://www.desktopsummit.org/">Desktop Summit</a>, and we can again have beers and discuss things together.</p>
<p>Cross-project collaboration is hard. I know. For many years I've been pushing for <a href="http://bergie.iki.fi/blog/geoclue_0-12_is_out-location_awareness_over_d-bus/">location-awareness</a> across desktops, for <a href="http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/">using shared content repositories</a> instead of application-specific file formats or databases, and most recently for having a common client-side <a href="http://bergie.iki.fi/blog/decoupling_content_management/">data representation and manipulation layer</a> on content management systems. Some of these ideas have moved forward. Some others, less so.</p>
<p>What is important to remember is that each project has their own use cases, user experience goals and set of selected technologies to build on. If a collaborative approach you propose doesn't fit those, it is highly unlikely that the project will adopt it. And there is nothing wrong with that.</p>
<p>Instead of looking at the failures, we should think of the ways cross-desktop collaboration has moved forward. Here are some examples:</p>
<ul><li><a href="http://www.freedesktop.org/wiki/Software/dbus">D-Bus</a> is pretty much everywhere now. A common way to handle signalling and API calls between processes is a big step</li>
<li><a href="http://telepathy.freedesktop.org/wiki/">Telepathy</a> provides a great real-time communications system on all desktops</li>
<li>All projects seem a lot more UX-focused nowadays. Great examples are <a href="http://afaikblog.wordpress.com/2011/03/01/where-did-the-buttons-go/">window management</a> in GNOME Shell, <a href="http://techbase.kde.org/Projects/Silk">web integration</a> in KDE, and better handling of <a href="http://design.canonical.com/2011/03/quit/">quitting applications</a> and <a href="http://design.canonical.com/2011/03/introducing-overlay-scrollbars-in-unity/">scrolling in them</a> in Unity. These ideas are easy to transfer between projects</li>
<li>There is work ongoing on <a href="http://blogs.gnome.org/hughsie/2011/01/24/application-installer-miniconf-trip-report/">unifying application installers</a> between distributions. <a href="http://www.freedesktop.org/wiki/Specifications/open-collaboration-services">Open Collaboration Services</a> is also useful here</li>
<li><a href="http://wayland.freedesktop.org/">Wayland</a> shows great promise for simplifying the graphics layer on Linux desktops</li>
</ul><p>So, if you want to get a specification accepted between projects, how to go about it?</p>
<p>First of all, you should communicate early and clearly the use cases your specification aims for. And then there should be a reference implementation available, not only as a library, but also as something already integrated in your UX.</p>
<p>If you want projects to actually use your reference implementation instead of building their own, then it is important to remove as many obstacles from adopting it as possible:</p>
<ul><li>Use permissive licensing and try to avoid copyright assignments or other requirements potential users would find onerous</li>
<li>Host the project <a href="http://bergie.iki.fi/blog/why_make_your_projects_properly_open-sustainability/">on neutral ground</a>. For web projects, Apache is quite a good home. For desktop projects, Freedesktop is probably the best option</li>
<li>Use technologies that don't impose too many constraints. Libraries should be quite low-level, or provide D-Bus APIs that can be used with any system</li>
<li>Avoid technology-specific dependencies. For example, KDE has found <a href="http://freedesktop.org/wiki/Software/GeoClue">GeoClue</a> hard to adopt because it uses GNOME-specific settings interfaces</li>
<li>Talk with the other guys. If you're from the GNOME project, go to aKademy and give a talk, and if you're a KDE developer, go and talk in GUADEC. IRC isn't bad here either</li>
<li>Finally, accept that not everybody will use your implementation. But if they at least implement the same ideas, then collaboration is still possible.</li>
</ul><p>And even if your ideas haven't been adopted by other projects, as long as your implementation solves the use case for you it hasn't been in vain. After all, delivering software, and delivering great user experience is what counts.</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <georss:point>60 24</georss:point>
            <category>desktop</category>
            <pubDate>Fri, 11 Mar 2011 13:08:48 +0000</pubDate>
            <guid>http://bergie.iki.fi/midcom-permalink-1e04be0b43a22544be011e0bc5febc251b60df90df9</guid>
        </item>
    </channel>
</rss>

