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

<channel>
	<title>Working at Igalia for GNOME</title>
	<atom:link href="http://blogs.igalia.com/itoral/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.igalia.com/itoral</link>
	<description>- This is the weblog of Iago Toral -</description>
	<lastBuildDate>Fri, 12 Mar 2010 14:09:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Grilo and Rygel</title>
		<link>http://blogs.igalia.com/itoral/2010/03/12/197/</link>
		<comments>http://blogs.igalia.com/itoral/2010/03/12/197/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 14:02:09 +0000</pubDate>
		<dc:creator>itoral</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/itoral/?p=197</guid>
		<description><![CDATA[After knowing about Grilo, Bastien proposed to use it as a helper library to implement Rygel&#8217;s MediaServer D-Bus API spec. This D-Bus API specifies how content providers can expose content over D-Bus that Rygel can consume and then export to the UPnP world. Although this spec was developed for Rygel in particular, it aims to [...]]]></description>
			<content:encoded><![CDATA[<p>After knowing about <strong>Grilo</strong>, <strong>Bastien</strong> proposed to use it as a helper library to implement <strong><a href="http://live.gnome.org/Rygel/MediaServerSpec">Rygel&#8217;s MediaServer D-Bus API spec</a></strong>. This <em>D-Bus API</em> specifies how content providers can expose content over <em>D-Bus</em> that <strong>Rygel</strong> can consume and then export to the <em>UPnP</em> world. Although this spec was developed for <em>Rygel</em> in particular, it aims to be generic enough so other applications could use it to consume content over <em>D-Bus</em> directly.</p>
<p>The idea is to decouple providers and consumers, this way one does not have to worry about the language they are written in and providers don&#8217;t have to be loaded in the consumer&#8217;s address space, instead they are communicated through <em>D-Bus</em>.</p>
<p>So, what could be <strong>Grilo</strong>&#8217;s role in this context? <a href="http://blogs.igalia.com/itoral/2010/02/10/grilo/">As you know</a>, <em>Grilo</em> is a pluggable framework that provides a single, high-level API to consume contents from various sources (Youtube, Jamendo, SHOUTcast, etc) which are implemented as plugins for the framework. As such, the role of <em>Grilo</em> would be that of a content provider. <strong><a href="http://blogs.igalia.com/jasuarez/">Juan</a></strong> has been working on a daemon that would use <em>Grilo</em> to get access to all the content exposed by the framework and expose it over <em>D-Bus</em> according to <em>Rygel&#8217;s MediaServer spec</em>. This will enable <em>Rygel</em> (or any other application), to get access to all this content over <em>D-Bus</em>.</p>
<p>As of today, I think only <em>Rygel</em> has implemented the consumer side of this API, but the idea is that in the future other applications like <em>Totem</em> or <em>Rhythmbox</em> would have plugins to consume it too. Also, since <em>Rygel</em> is a <em>UPnP</em> server, and it is feeding on <em>Grilo</em> through this <em>D-Bus</em> interface, it is also exposing <em>Grilo&#8217;s</em> contents to the <em>UPnP</em> world, so any <em>UPnP</em> client should be able to access these contents over <em>UPnP</em> thanks to <em>Rygel</em>. <em>Totem</em> for example, has a <em>UPnP</em> plugin already, and because of that it can consume the contents from <em>Grilo</em> through <em>Rygel</em> even when it does not implement the consumer API of the <em>MediaServer spec</em>.</p>
<p>If you are interested in more details <strong><a href="http://blogs.igalia.com/jasuarez/2010/03/12/rygel-are-you-hungry/">check Juan&#8217;s post here</a></strong>. There you will also find a screencast showcasing a <em>Grilo-powered</em> daemon that&#8217;s exposing content from various of its plugins over <em>D-Bus</em>, then <em>Rygel</em> feeding on that and exposing them over <em>UPnP</em>, and finally <em>Totem</em> consuming all the content though its <em>UPnP</em> plugin. Of course, you may ask why wouldn&#8217;t <em>Totem</em> feed on <em>D-Bus</em> directly, well just because it has the <em>UPnP</em> plugin already and not the <em>D-Bus</em> one, but it will come <img src='http://blogs.igalia.com/itoral/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>Talking about that, another thing that <strong>Bastien</strong> proposed and on which we will be working too, is a set of helper libraries to ease development of content producers and consumers. On the producer side (backends) the idea would be to hide all the <em>D-Bus</em> stuff and provide a clean, easy to use interface for exposing content to the bus (for those not wanting to deal with <em>D-Bus </em>directly), and on the consumer side (frontends), we could do the same and maybe add some extra bonus stuff, like widgets to manipulate available sources and the like.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/itoral/2010/03/12/197/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Grilo 0.1.3 released</title>
		<link>http://blogs.igalia.com/itoral/2010/03/02/grilo-0-1-3-released/</link>
		<comments>http://blogs.igalia.com/itoral/2010/03/02/grilo-0-1-3-released/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 07:17:35 +0000</pubDate>
		<dc:creator>itoral</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/itoral/?p=193</guid>
		<description><![CDATA[Check out details here.
]]></description>
			<content:encoded><![CDATA[<p>Check out details <a href="http://blogs.igalia.com/jasuarez/2010/03/01/grilo-0-1-3-released/">here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/itoral/2010/03/02/grilo-0-1-3-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grilo on Totem</title>
		<link>http://blogs.igalia.com/itoral/2010/03/01/grilo-on-totem/</link>
		<comments>http://blogs.igalia.com/itoral/2010/03/01/grilo-on-totem/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 11:31:35 +0000</pubDate>
		<dc:creator>itoral</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/itoral/?p=141</guid>
		<description><![CDATA[In my last post I mentioned I was working on a Totem plugin based on Grilo, last week I put some more effort on that and I got a beta version, you can check out some pics below:
I have also recorded an ogv video showing the plugin at work  in more detail, you can [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://blogs.igalia.com/itoral/2010/02/24/updates-on-grilo/">last post</a> I mentioned I was working on a <strong>Totem plugin based on Grilo</strong>, last week I put some more effort on that and I got a <em>beta version</em>, you can check out some pics below:</p>
<div id="attachment_162" class="wp-caption alignnone" style="width: 310px"><a href="http://blogs.igalia.com/itoral/wp-content/uploads/2010/03/totem-grilo-1.png"><img src="http://blogs.igalia.com/itoral/wp-content/uploads/2010/03/totem-grilo-1-300x195.png" alt="Browsing and playing  videos from Youtube" title="totem-grilo-1" width="300" height="195" class="size-medium wp-image-162" /></a><p class="wp-caption-text">Browsing and playing  videos from Youtube</p></div>
<div id="attachment_163" class="wp-caption alignnone" style="width: 310px"><a href="http://blogs.igalia.com/itoral/wp-content/uploads/2010/03/totem-grilo-2.png"><img src="http://blogs.igalia.com/itoral/wp-content/uploads/2010/03/totem-grilo-2-300x188.png" alt="Browseable sources" title="totem-grilo-2" width="300" height="188" class="size-medium wp-image-163" /></a><p class="wp-caption-text">Browseable sources</p></div>
<div id="attachment_164" class="wp-caption alignnone" style="width: 310px"><a href="http://blogs.igalia.com/itoral/wp-content/uploads/2010/03/totem-grilo-3.png"><img src="http://blogs.igalia.com/itoral/wp-content/uploads/2010/03/totem-grilo-3-300x225.png" alt="Searching images on flickr" title="totem-grilo-3" width="300" height="225" class="size-medium wp-image-164" /></a><p class="wp-caption-text">Searching images on flickr</p></div>
<div id="attachment_165" class="wp-caption alignnone" style="width: 310px"><a href="http://blogs.igalia.com/itoral/wp-content/uploads/2010/03/totem-grilo-4.png"><img src="http://blogs.igalia.com/itoral/wp-content/uploads/2010/03/totem-grilo-4-300x177.png" alt="Searching Guadec videos on  Youtube" title="totem-grilo-4" width="300" height="177" class="size-medium wp-image-165" /></a><p class="wp-caption-text">Searching Guadec videos on  Youtube</p></div>
<div id="attachment_166" class="wp-caption alignnone" style="width: 310px"><a href="http://blogs.igalia.com/itoral/wp-content/uploads/2010/03/totem-grilo-5.png"><img src="http://blogs.igalia.com/itoral/wp-content/uploads/2010/03/totem-grilo-5-300x178.png" alt="Browsing content from Jamendo" title="totem-grilo-5" width="300" height="178" class="size-medium wp-image-166" /></a><p class="wp-caption-text">Browsing content from Jamendo</p></div>
<p>I have also recorded an <strong><em>ogv</em> video showing the plugin at work </strong> in more detail, you can check it out <a href="http://people.igalia.com/itoral/totem-grilo.ogv">here</a>.</p>
<p>Also, I uploaded the <a href="http://gitorious.com/itoral-totem-grilo">code to <strong>gitorious</strong></a> if you feel curious about it. If you want to build the plugin from the sources check the <em>HACKING</em> file on the repository. Also, I suggest you build <strong>Grilo</strong> from the sources as well or wait for the <strong>release 0.1.3</strong> which should be coming out later today.</p>
<p>Now to the more interesting part, the good thing about <strong>Grilo</strong> is not just the plugins, it is the fact that you can interact with them with a <strong>common API</strong>. As a matter of a fact, I could now add more plugins to <strong>Grilo</strong> and those would show up in <strong>Totem</strong> without having to code anything extra, not a single line on <strong>Totem</strong> or its <strong>Grilo</strong> plugin, it would just work: you would be able to browse the new plugins if they are browseable in the <em>Browse</em> view and/or you would be able to search them if they are searchable in the <em>Search</em> view, etc.</p>
<p>The plugin is not really finished, it can still use some extra work, particularly in these areas:</p>
<ul>
<li>Localization support.</li>
<li>Proper user interface definition with GtkBuilder.</li>
<li>Settings persistence with GConf.</li>
<li>Usability tweaks</li>
<li>Review memory management, fix memory leaks, etc</li>
<li>More testing and general debugging.</li>
</ul>
<p>but all in all, it is good enough already for others to try and give feedback, so if you have any, please drop me a comment! <img src='http://blogs.igalia.com/itoral/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>That&#8217;s all for now, I am looking forward to seeing this on the upstream <strong>Totem</strong> at some point in the future, so if some <strong>Totem</strong> developer is reading this, please let me know how you feel about that.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/itoral/2010/03/01/grilo-on-totem/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Updates on Grilo</title>
		<link>http://blogs.igalia.com/itoral/2010/02/24/updates-on-grilo/</link>
		<comments>http://blogs.igalia.com/itoral/2010/02/24/updates-on-grilo/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 07:28:39 +0000</pubDate>
		<dc:creator>itoral</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/itoral/?p=129</guid>
		<description><![CDATA[Some updates on Grilo since my announcement post (in chronological order):

Juan is packaging Grilo, check details here.
We have bindings for Vala thanks to Víctor Jáquez.
Grilo 0.1.2 is released, check this post for details.
We have a plugin ranking system now. This is used when you request Grilo to resolve metadata for a particular media object and [...]]]></description>
			<content:encoded><![CDATA[<p>Some updates on Grilo since <a href="http://blogs.igalia.com/itoral/2010/02/10/grilo/">my announcement post</a> (in chronological order):</p>
<ul>
<li>Juan is <strong>packaging Grilo</strong>, <a href="http://blogs.igalia.com/jasuarez/2010/02/12/grilo-repository/">check details here.</a></li>
<li><a href="http://blogs.igalia.com/vjaquez/2010/02/13/grilo-meets-vala/">We have <strong>bindings for Vala</strong></a> thanks to Víctor Jáquez.
<li><strong>Grilo 0.1.2 is released</strong>, <a href="http://blogs.igalia.com/jasuarez/2010/02/21/grilo-0-1-2-released/">check this post for details.</a></li>
<li>We have a <strong>plugin ranking system</strong> now. This is used when you request Grilo to resolve metadata for a particular media object and there are various plugins capable of doing so (imaging for example that you have two plugins for resolving the album art or the lyrics, etc).</li>
<li>We have set up a <strong>PPA for Grilo</strong> on Launchpad, <a href="http://blogs.igalia.com/jasuarez/2010/02/23/ppa-for-grilo/">details here.</a></li>
<li>I am working on a <strong>Totem plugin</strong>, so far I got a first prototype working and I can use Grilo sources from Totem enabling me to browse and play content from all the Grilo plugins. Now I need to focus on adding a few more features and configuration options.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/itoral/2010/02/24/updates-on-grilo/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Grilo</title>
		<link>http://blogs.igalia.com/itoral/2010/02/10/grilo/</link>
		<comments>http://blogs.igalia.com/itoral/2010/02/10/grilo/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 16:43:50 +0000</pubDate>
		<dc:creator>itoral</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/itoral/?p=109</guid>
		<description><![CDATA[After working for quite some time in MAFW for Maemo I thought it was about time we exported some of the ideas to other platforms, including the desktop, of course. For those who haven&#8217;t heard of MAFW yet, you can get a good description of it  in the abstract of the talk I gave [...]]]></description>
			<content:encoded><![CDATA[<p>After working for quite some time in MAFW for Maemo I thought it was about time we exported some of the ideas to other platforms, including the desktop, of course. For those who haven&#8217;t heard of MAFW yet, you can get a good description of it <a href="http://www.grancanariadesktopsummit.org/node/219"> in the abstract of the talk I gave at GUADEC last year</a>.</p>
<p>MAFW takes care of quite a few things related to high level multimedia development, but there is one in particular I find specially interesting, which is source abstraction. Basically, MAFW defines a set of interfaces for accessing media content providers (a.k.a. Youtube, UPnP servers, local media, radio streams, podcasts, etc). in a generic way (one API to rule them all), easing a lot the effort required on the application side to write modern media players that integrate many of these services.</p>
<p>MAFW was a step forward in this regard, but probably too tied to Maemo in general and to its Fremantle iteration and the N900 in particular. I think the ideas behind MAFW about media browsing are totally valid outside Maemo, however I find its implementation and design packed with Maemo specific (or even N900 specific) choices. I guess this is ok for Nokia since Maemo is its major priority when developing software, but for those willing to export these ideas to other contexts, like me, it is not good enough. And this is is why we have created Grilo.</p>
<p>Grilo is a framework focused on making media discovery and browsing easy for application developers which has been developed following some of the good ideas behind MAFW but with a broader target in mind and adding some extra interesting features as well. In few words, Grilo provides:</p>
<ul>
<li> A single, high-level API that abstracts the differences among various media content providers, allowing application developers to integrate content from various services and sources easily.</li>
<li>A collection of plugins for accessing various media providers. Developers can share efforts and code by writing plugins for the framework that are application agnostic.</li>
<li>A flexible API that allows plugin developers to write plugins of various kinds.</li>
</ul>
<p>At the moment, even though we are still starting the work, we have a bunch of plugins already available that provide support for various kinds of services:</p>
<ul>
<li>Youtube</li>
<li>Jamendo</li>
<li>Flickr</li>
<li>Podcasts</li>
<li>UPnP</li>
</ul>
<p>We also have a simple GTK+ test user interface that allows users to browse, search and query these plugins for available media, for those who want to get a grasp on how the framework can be used from an application. We also have a Last.FM album art plugin too.</p>
<p>Grilo is LGPL and its <a href="http://gitorious.org/grilo">source code is available on Gitorious</a>. We welcome interested users and developers to check it out and provide feedback, patches or new plugins. We are still in the early stages of the framework definition and we are looking forward to incorporate new ideas into it.</p>
<p>The advantages of having a framework like Grilo are easy to spot:</p>
<ul>
<li> Less work on the application side. All the plugin development happens in the framework and application developers can focus on making good user interfaces. It is the same with GStreamer if you think about it, application developers do not have to write decoders to playback content any more, they get the decoders from GStreamer (the framework) and that eases a lot application development. Well, this is the same idea, but applied to media browsing and discovery instead of media playback.</li>
<li>Code reuse. There are many media player applications allowing users to access contents from various services. This is nice, but all this is done at the application level, which usually means that all that code cannot be directly reused in other projects. Because of that there are developers writing application specific plugins for all these services in various applications (Totem, Rhythmbox, Amarok, etc), replicating code that cannot be reused directly in other projects. If the plugins were developed on the framework side, all these developers could share efforts and write support for these services only once in the framework, making them available for all the applications using the framework for free. Every one wins.
<li> Quick learning curve. Think about it, if you want to write a media player with support for various different media content providers, you would have to learn how to deal with each one of them independently: want to add Youtube videos? go and learn about Youtube  data API, want to add music from Jamendo? go and learn about how Jamendo allows you to do that, want to provide access to your local media? Go and learn how Tracker APIs work for example, want to access UPnP servers? then go and learn about using GUPnP, and so forth&#8230; this is a lot to learn, and even more code to implement. The framework approach would ease all this, one would only have to learn only one API (the framework API) and that would enable application developers to access all these services through the framework plugins. These plugins act as adpaters for those into design patterns.</li>
</ul>
<p>I guess this post is getting long enough for now, so I&#8217;ll stop here and write more about Grilo some other day&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/itoral/2010/02/10/grilo/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>MAFW and Canola (and other Maemo Summit experiences)</title>
		<link>http://blogs.igalia.com/itoral/2009/10/19/mafw-and-canola/</link>
		<comments>http://blogs.igalia.com/itoral/2009/10/19/mafw-and-canola/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 07:41:16 +0000</pubDate>
		<dc:creator>itoral</dc:creator>
				<category><![CDATA[Maemo]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/itoral/?p=91</guid>
		<description><![CDATA[Last week I was pretty busy with various things and I did not have much time to post about Maemo Summit, but here I go:

The event itself was nice and well organized, probably one of the best events of this kind I have attended in the last years. Thumbs up for those who worked on [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I was pretty busy with various things and I did not have much time to post about Maemo Summit, but here I go:</p>
<ul>
<li>The event itself was nice and well organized, probably one of the best events of this kind I have attended in the last years. Thumbs up for those who worked on making it possible. Maybe the N800 and N770 rooms were too small, but other than that it was great.</li>
<li>Thanks to Nokia for letting us try the N900 before its launch date. So far I am very happy with the experience and I think it represents an impressive step forward from the N810. I&#8217;ll make sure to give you my feedback here and also in bugzilla.</li>
</ul>
<p>I also had a presentation about MAFW there which I hope helped some people with getting started on writing plugins for MAFW. I have to admit that I had thought of giving a very different type of presentation, more based on actual source code than slides, but anyway&#8230; I just provided insight on some key ideas around MAFW and its plugins, and then I left the source code examples (which you can grab from previous post) for those willing to get their hands dirty with the details. </p>
<p>The session was nice, I got some interesting questions/feedback during and after the session and I hope all that feedback translates into a better MAFW at some point in the future. Some highlights (in no particular order):</p>
<ul>
<li>We need the Python bindings. Andrea Grandi briefed people about this on his lightning talk. There are some parts of MAFW that are not using GObject right now and that is a source of trouble for the PyMaemo team, they could use some help from people with C and/or Python experience to give the bindings a boost, so if you are reading this and think you can help them I am sure they will be pleased to know about you <img src='http://blogs.igalia.com/itoral/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Also, I wonder if patching MAFW to be fully GObject based is still an option in Fremantle&#8230;</li>
<li>Canola wants to be more integrated with Fremantle and for that they are considering using tools like Tracker and MAFW. They could get rid of the indexer tool (Tracker would handle that) and they could get access to local content, upnp media bookmarks and radio directories for free using MAFW, they could even use MAFW&#8217;s GStreamer renderer. Also, if we get new plugins for MAFW in the future these would be  available for Canola too, etc.</li>
<li>Talking about Canola, I was not able to attend their session because it was scheduled in parallel with mine about MAFW (this is probably my only complaint about the event), but Iván Frade (Tracker) did a good job representing MAFW there, so thanks Iván <img src='http://blogs.igalia.com/itoral/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Since we are lacking the Python bindings, someone suggested that we should document our D-Bus APIs. That was indeed a good point, although I am not sure if all the APIs can be used directly that easily (there is some data serialization associated to the APIs that gather metadata information).</li>
<li>It was also interesting to see how people would like to have a bit more of control/integration with the Media Player. That&#8217;s out of the scope of MAFW itself, but I think it is an interesting point for Nokia. I guess the idea here would be to allow third party developers to write plugins for the Media Player itself, that would enable them to modify/extend the way the Media Player works. One example of this would be a ratings plugin that would show a dialog to rate a movie when it has finished (just an example). I think this could be somehow achieved using a separate MAFW-based application, but it would be easier and nicer if the Media Player itself provides some interface for developers to do things like this.</li>
</ul>
<p>I also had other interesting corridor chats with people about how one would write a Youtube source plugin for MAFW, how to integrate a Mozilla Flash renderer with Media Player, enabling applications to access additional metadata using Internet services, etc.</p>
<p>So overall I had a great time there and I think it was well worth my time. I am already looking forward to the next edition <img src='http://blogs.igalia.com/itoral/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/itoral/2009/10/19/mafw-and-canola/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Writing MAFW plugins talk @ Maemo Summit</title>
		<link>http://blogs.igalia.com/itoral/2009/10/11/writing-mafw-plugins-talk-maemo-summit/</link>
		<comments>http://blogs.igalia.com/itoral/2009/10/11/writing-mafw-plugins-talk-maemo-summit/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 08:45:31 +0000</pubDate>
		<dc:creator>itoral</dc:creator>
				<category><![CDATA[Maemo]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/itoral/?p=75</guid>
		<description><![CDATA[So here is the thing, when I was preparing this presentation I thought it would be a good idea to give the audience some actual source code of both source and renderer plugins for MAFW. Yeah, we already have some plugins in MAFW that you can look into but those are full of optimizations and [...]]]></description>
			<content:encoded><![CDATA[<p>So here is the thing, when I was preparing this presentation I thought it would be a good idea to give the audience some actual source code of both source and renderer plugins for MAFW. Yeah, we already have some plugins in MAFW that you can look into but those are full of optimizations and pack quite many features so I thought they might be a bit complicated to understand  the basics. So, I devoted a few hours to write a couple of very simple plugins (a source and a renderer), they are really simple, they only provide the most basic stuff, they are not complete,they sure have bugs, etc but the code is simple, easy to read and understand and it is full of comments to guide readers.</p>
<p>Unfortunately, 20 minutes is not a lot of time to explain what MAFW is about and go into the details of the plugins&#8217; source code. So here is the deal, do you prefer to see me showing you the code and explaining how it works, or do you prefer slides covering the basic ideas and leave the source code off the presentation?</p>
<p>In any case, you can get the pluigins&#8217; source code here:</p>
<p><a href="http://blogs.igalia.com/itoral/wp-content/uploads/2009/10/mafw-fs-source_0.0.1-0.tar.gz">MAFW Filesystem source plugin</a></p>
<p><a href="http://blogs.igalia.com/itoral/wp-content/uploads/2009/10/mafw-simple-renderer_0.0.1-0.tar.gz">MAFW Simple renderer plugin</a></p>
<p><strong>UPDATE:</strong> You can now also check out the slides here:</p>
<p><a href="http://blogs.igalia.com/itoral/wp-content/uploads/2009/10/MAFW-Maemo-Summit-09-16_9.pdf.gz">Writing plugins for MAFW (slides)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/itoral/2009/10/11/writing-mafw-plugins-talk-maemo-summit/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>MAFW at GCDS (slides)</title>
		<link>http://blogs.igalia.com/itoral/2009/07/15/mafw-at-gcds-slides/</link>
		<comments>http://blogs.igalia.com/itoral/2009/07/15/mafw-at-gcds-slides/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 08:02:05 +0000</pubDate>
		<dc:creator>itoral</dc:creator>
				<category><![CDATA[Maemo]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/itoral/?p=69</guid>
		<description><![CDATA[For those that missed the presentation, here are the slides
]]></description>
			<content:encoded><![CDATA[<p>For those that missed the presentation, here are the <a href="http://blogs.igalia.com/itoral/wp-content/uploads/2009/07/mafw-guadec-09pdf.gz">slides</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/itoral/2009/07/15/mafw-at-gcds-slides/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Desktop Summit, day 2, highlights</title>
		<link>http://blogs.igalia.com/itoral/2009/07/05/desktop-summit-day-2-highlights/</link>
		<comments>http://blogs.igalia.com/itoral/2009/07/05/desktop-summit-day-2-highlights/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 18:31:18 +0000</pubDate>
		<dc:creator>itoral</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/itoral/?p=60</guid>
		<description><![CDATA[Today I attended  a bunch of interesting talks. My highlights:

Toward GStreamer 1.0 by Jan Schmidt. One of the targets in the road to 1.0 is to provide more base classes, hopefully I&#8217;l manage to help with  this.
Profiling and Optimizing D-Bus APIs by Will Thompson. We hit some of the problems he mentioned while [...]]]></description>
			<content:encoded><![CDATA[<p>Today I attended  a bunch of interesting talks. My highlights:</p>
<ul>
<li>Toward GStreamer 1.0 by Jan Schmidt. One of the targets in the road to 1.0 is to provide more base classes, hopefully I&#8217;l manage to help with  <a href="https://bugzilla.gnome.org/show_bug.cgi?id=582569">this</a>.</li>
<li>Profiling and Optimizing D-Bus APIs by Will Thompson. We hit some of the problems he mentioned while working on <a href="http://www.grancanariadesktopsummit.org/node/219">MAFW</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/itoral/2009/07/05/desktop-summit-day-2-highlights/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MAFW at the Dekstop Summit</title>
		<link>http://blogs.igalia.com/itoral/2009/06/03/mafw-at-the-dekstop-summit/</link>
		<comments>http://blogs.igalia.com/itoral/2009/06/03/mafw-at-the-dekstop-summit/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 11:23:54 +0000</pubDate>
		<dc:creator>itoral</dc:creator>
				<category><![CDATA[Maemo]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/itoral/?p=57</guid>
		<description><![CDATA[I will be talking about MAFW, the Media Application Framework for Maemo, at the Desktop Summit in Gran Canaria. That will be a nice place to introduce MAFW to the desktop community as well as an opportunity to showcase it to those interested.
The talk is scheduled on Wednesday 8th July, for details on MAFW and [...]]]></description>
			<content:encoded><![CDATA[<p>I will be talking about MAFW, the Media Application Framework for Maemo, at the <a href="http://www.grancanariadesktopsummit.org/">Desktop Summit in Gran Canaria</a>. That will be a nice place to introduce MAFW to the desktop community as well as an opportunity to showcase it to those interested.</p>
<p>The talk is scheduled on Wednesday 8th July, for details on MAFW and the contents of the talk you can take a look <a href="http://www.grancanariadesktopsummit.org/node/219">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/itoral/2009/06/03/mafw-at-the-dekstop-summit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
