10.19.09

MAFW and Canola (and other Maemo Summit experiences)

Posted in Maemo at 8:41 am by itoral

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 making it possible. Maybe the N800 and N770 rooms were too small, but other than that it was great.
  • 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’ll make sure to give you my feedback here and also in bugzilla.

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… 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.

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):

  • 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 :) . Also, I wonder if patching MAFW to be fully GObject based is still an option in Fremantle…
  • 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’s GStreamer renderer. Also, if we get new plugins for MAFW in the future these would be available for Canola too, etc.
  • 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 :)
  • 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).
  • It was also interesting to see how people would like to have a bit more of control/integration with the Media Player. That’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.

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.

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 ;)

10.11.09

Writing MAFW plugins talk @ Maemo Summit

Posted in Maemo at 9:45 am by itoral

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.

Unfortunately, 20 minutes is not a lot of time to explain what MAFW is about and go into the details of the plugins’ 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?

In any case, you can get the pluigins’ source code here:

MAFW Filesystem source plugin

MAFW Simple renderer plugin

UPDATE: You can now also check out the slides here:

Writing plugins for MAFW (slides)

07.15.09

MAFW at GCDS (slides)

Posted in Maemo at 9:02 am by itoral

For those that missed the presentation, here are the slides

07.05.09

Desktop Summit, day 2, highlights

Posted in Uncategorized at 7:31 pm by itoral

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’l manage to help with this.
  • Profiling and Optimizing D-Bus APIs by Will Thompson. We hit some of the problems he mentioned while working on MAFW.

06.03.09

MAFW at the Dekstop Summit

Posted in Maemo at 12:23 pm by itoral

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 the contents of the talk you can take a look here.

03.27.09

MAFW Test GUI now available

Posted in Maemo at 12:43 pm by itoral

Today we have added our test GUI to the garage repository (component mafw-test-gui). This is by no means a product quality application, but it is a good sandbox for testing MAFW while we work on it. Maemo developers interested in writing multimedia applications based on MAFW can use this application as a reference. If you just want to give MAFW a try, this application is a good place to start as well.

If you missed the previous posts, you can find MAFW’s repository here.

Enjoy!

UPDATE: Zeeshan just remembered me that I forgot to mention that this UI is based on gupnp-av-cp code :)

03.25.09

MAFW source code goes public

Posted in Maemo at 1:47 pm by itoral

Quim has just announced that MAFW (Multimedia Application Framework) has moved to an open development model. This means that from now on we will work directly in garage and anyone interested can browse the source code and provide feedback (and even better, patches!). I’ve been looking forward to this moment for quite some time, so I am really excited that this has finally happened. Thanks to Nokia and Quim for making this possible!

If you are planning to write or port Maemo multimedia applications for Fremantle, I suggest that you to give MAFW a try and share your experience with us, we really need your input. In that case you probably want to start by reading the documentation here.

BTW, I intend to use my blog to keep the Maemo community updated on MAFW news, so stay tuned…

Welcome Maemo!

Posted in Maemo at 9:24 am by itoral

I thought it was time I had a category for Maemo related posts only, so here it is. I expect to post some interesting news and info in the days to come, so stay tuned if you are interested!

06.27.08

New look for build.gnome.org

Posted in Uncategorized at 1:12 pm by itoral

Thanks to Frederic Peters, who’s kindly worked on providing a new design that’s more integrated with the Gnome Website look and feel, and Alejando Piñeiro, who’s been working on actually making it work with our Builbot installation.

You can check it out here. Hope you like it!

04.23.08

Better late than never: we are ready to accept new build slaves

Posted in Uncategorized at 12:10 pm by itoral

As some of you may already know we have been postponing for some time the addition of new slaves to build.gnome.org. The reason for this was that in order to allow other slaves to connect to our master we had to open a large range of ports in the firewall, fact that worried some people maintaining the server. So, I and my mate API invested some time (more than we would have liked to) trying to find a solution based on a single public port. Unfortunately, our lack of experience with the Twisted framework was a constant pain and made it a bit difficult to move forward. In the end, we managed to implement a solution which worked fine… for a while, until the TWisted beast bit us hard, yet again, with a random, low-level, indecipherable error…

So, at that moment we had to choose: either we continue working on that, maybe delaying work on the build brigade for some more weeks or months, or we find a temporary workaround to keep things moving forward. Of course, we chose to keep things moving forward ;) , so we moved the master back to Igalia with the help of Olav Vitters and enabled two slaves: the one we had in the old build.gnome.org and a new one running at Igalia. You can see the results in the gnome-buildbot web page. Of course, this means that now we can finally accept new slaves, so let us know at the build-brigade mailing list or IRC channel if you want to do so! We will be glad to guide and help you in the process.

Meanwhile, we will still try to find a solution to the ports issue, but now with a new approach, thanks to John Carr for working on this matter!

PD: Sorry to those who had offered slaves but have had to wait so long for us to get this done.

« Previous entries Next Page » Next Page »

Bad Behavior has blocked 19 access attempts in the last 7 days.