Planet maemo: category "feed:736fd93d132ea943eb9b90a383721181"

Andrea Grandi

I don't know if it's just a case or if I'm the only one who had these problems, but I'll report them anyway, maybe somebody had my same problem and we could try to prepare a proper bug report to make the Maemo team fix them.

Infinite boot loop after upgrade

First of all I have to say that before upgrading to PR 1.1.1 I checked if I had enough space on the rootfs. I only had 27 Mb and so I decided to remove some unused applications, deleted some *.deb in /var/cache/apt/archives and disabled extras repositories. Of course I also did a backup of all my configuration. After the cleaning operation I had near 60 Mb free on rootfs, enough to install the upgrade.

I closed all running applications, started the application manager and began the upgrade. After the upgrade was completed, the device did a reboot... then another one, then again, again.... until I had to remove the battery to stop it.

Conclusion: I had to re-flash the device with the latest image to make it work again.

mafw-dbus-wrapper taking all the CPU

I was watching a video (using subtitles) and after some minutes the whole UI became unresponsive. Strange because I already did this before without having any problem. I tried to check the problem using "top" utility from terminal and I saw that there was a mafw process (mafw-dbus-wrapper) that was taking 80-90% of CPU. My fault is that normally there are at least 3-4 , mafw-dbus-wrapper processes and I didn't check which one was causing the problem. Anyway I made a screenshot, just in case it can help.

I hope this short report can be useful to help Maemo team to fix or at least investigate what happened. Just leave a comment or contact me if you need more informations.

Categories: Linux
Andrea Grandi

Maemo 6 (Harmattan) UI Screenshots

2010-02-16 01:41 UTC  by  Andrea Grandi

Nokia has published a demo application for N900, available in extras-devel repository, that shows a preview of Maemo 6 (Harmattan) user interface. Here there are some screenshots of the demo:

Demo application main window

Question dialog

Text entry dialog

Progress indicator

Information banner

Event banner

You can find more pictures in my Flickr album. Please note that installing this demo will also install Qt 4.6.2 on the N900 and about 52 Mb are required.

Categories: Linux
Andrea Grandi

Being one of the developers who received the discount to buy a N900, during these days I contacted the DDP customer care to have more informations and details. I'll publish here both my original question and the official reply.

1) The price of N900 is 250€ and I've read of people who paid it this price. Anyway here you say that the VAT is not included:
so it should costs 300€ not 250€, right?

The VAT applies only for Finnish developers, for the others the price is the price they see in the eStore, no VAT is added to that.

So, all non-finnish european people, will pay 250€ for the N900.

2) How much time can I wait before ordering it? In this moment I'm in Valencia (Spain) and I won't come back to Italy before Christmas. I'd like the order to be shipped to my home in Italy (I registered as italian user and I want italian keyboard layout), but I'd like to wait to order it, because since there's no warranty and I need to tell you about any problem within a week, if I order it now I will be able to check it only at the end of december when I'll come back to Italy.

I guess this should not be a problem.

This part is not confirmed yet, since Quim told us to hurry up to buy it.

3) How many devices can I buy at that price? Here you say I can buy two:
but here you say I can buy one:

I don't want two devices, but another friend of mine, who help me in a project for the Maemo Community, would like to be able to buy one for the same price (he wasn't able to get the discount because his karma is still low).

As far as I know, you can only purchase 1x device per person, regarding MAEMO N900.

4) Where can we find the new firmware? In the FAQ you say: DDP does not flash devices. It's ok, I can do it, but there's no public firmware for N900 at the moment.

To update N900, can possibly be using NSU. Nokia software updater.

5) Is it possible to have a device with localized keyboard (for example italian one) ?

All N900 will have EURO variant, Italian language is one option.

Note: even these replies come from the official customer care, I don't assume any responsability if they shouldn't be all exact. If you have any doubt, please contact them directly at

Categories: Maemo (EN)
Andrea Grandi

Quim Gil just confirmed the UX hackfest in Barcelona for 4, 5, 6 december:

What is UX hackfest?
It's a three days meeting for Maemo developers, UX experts and people who want to learn about designing good user interfaces.

On 4, 5, 6 december 2009

Barcelona, Spain. The exact location has still to be confirmed, but it should be

How many people invited?
About 50 people invited (Maemo developers, UX experts, ecc....)

If you are a Maemo developer and you have good user interface designer skills, this is the place for you.

If you are a Maemo developer and you are not a UX expert, this IS anyway the place for you: you'll have the possibility to talk with experts and improve your knowledge about UI design.

Anyone interested, please join the discussion here:

Update 3/11/2009 - 16:00: a wiki page with all information has been created here:
please add your name/data to the page if you requested to join the UX hackfest.

Categories: Linux
Andrea Grandi

Giving Lightning Talks

2009-09-03 16:21 UTC  by  Andrea Grandi

lightningDuring next Maemo Summit we will have at least 2 hours (one on saturday and another one on sunday) of lightning talks, about 20 talks where people will try to explain or present something in just 5 minutes.

Last year, during Maemo Summit 2008, I did a lightning talk too and I must admit: even if I knew a lot about the subject of my talk and even if I had already done many other talks, I think it wasn't so good as I expected.

This year I've been selected again (more details will follow) to give a 5 minutes talk and with this great news the kind Dave Neary also suggested me a link with an article about some best practices when giving lightning talks. I'll try to resume the most important points, hoping this will be useful for people who is going to give a short presentation at Summit.

Go straight to the point: five minutes finish sooner than you can expect. You have to talk about the main topic of your talk within the two first minutes, else you risk to talk too much about the rest and you couldn't have the time for the most important thing.

Leave details away: people will never remember too many details explained in so little time. It's better to leave them away and put them in a more detailed blog post that you can link within your slides.

Slides: for a five minute talk you can avoid preparing slides, but if this can help you to concentrate on points you have to talk about, please prepare them. Two or three slides can be useful to introduce yourself, to write any reference of what you're talking about many other things. Another important thing, make sure your slides are ready before starting your presentation: people don't want to wait 20-30 seconds it takes to start Open Office or any other similar application.

Consider any eventuality: the presentation file could be damaged (be sure to have a copy of it, better in PDF format), your laptop could have no more battery (make sure you've a copy of your slides in a USB key), aliens could take you away, ecc... (ok, this last eventuality is remote).

Concluding your talk: don't worry if you finish one or two minutes before, people won't bother about it. It's better to finish one minute before than 30 seconds later. If you want to leave an URL where people can find more details, how to contact you, put it in every slide so people will be able to take note of it from the first minute.

I hope to have resumed the most important points of the original article. If you think there are any other important things to say, please leave me a comment and I'll add them. I really hope you will enjoy Maemo Summit and its lightning talks!

Categories: Igalia
Andrea Grandi
In the last post of this series, we saw how to write a simple binding and we finished to build and install it manually. This is of course not a good way to manage the building/installation procedure. In Python we can use a library called distutils that let us to automatize the building and installing [...]
Categories: HowTo
Andrea Grandi

The PyMaemo team is pleased to announce the second beta release of PyMaemo for Fremantle!

Click to read 1370 more words
Categories: Igalia
Andrea Grandi

Making Maemo email client usable with GMail

2009-08-08 12:34 UTC  by  Andrea Grandi

I must admit, I wasn't using Maemo email client, because I did find it was simply unusable, at least with my GMail account.

I tried both POP3 and IMAP, but having about 25.000+ messages in my account, downloading just the headers was a job that the client simply couldn't manage.

Yesterday I knew about "recent mode" support in POP3, a functionality that GMail supports too. This mode allow you to download only last 30 days messages (in my case, no more than 1000)  so the client can manage them without any problem.

All you have to do to enable this mode is put the "recent:" string before the username. For example: if your username is "" you have to write "". Important: this mode only works with POP3, not with IMAP.

To conclude, let me say thank you to the kind guy who let me discover this mode. Thank you Sergio! Now there is another thing I can do with my tablet!

Categories: HowTo
Andrea Grandi


As I promised in the preceding post, I'll provide a very easy example of a python binding. Let's suppose we don't want to use the methods included in Python to sum two integer values and we want to do it in C and then call the add method from a python script. I'll write the complete source code first and then I'll explain all the parts of it.

Click to read 1018 more words
Categories: HowTo
Andrea Grandi

MAFW is a new multimedia framework that will be used in Fremantle.

The PyMaemo team is currently working on writing bindings for Python
language for this library and at the moment we've released a 0.1
version of python-mafw that you can install directly from Scratchbox

Not all the methods are implemented (you can manage the Registry and
the Playlist, but nothing more), because even if we're using codegen
to generate bindings (and it's helping us a lot), we've seen that at
least 30-40 methods have to be overridden by hand so it's taking us
more time than we expected and we're trying to organize how to
continue this work.

We would like to get feedback from python application developers and
also from C application developers that are currently using MAFW so we
can work on a "roadmap" that reflects what developers want:

  • What are the functionalities you're using in your application that you think they cannot miss in the Python binding?
  • Have you already started using MAFW or even better python-mafw to develop something?
  • What is the currently missing method/methods you would like to be implemented first?

Come on developers! We're waiting for your feedback :)

Categories: Igalia
Andrea Grandi

This summer I'm having the pleasure of working in Igalia (a spanish free software company) for a couple of months and they assigned me to an interesting project: developing Python bindings for MAFW library (a Maemo multimedia library that will be used in Fremantle release).

Having the opportunity to work both with C (yes, Python bindings are almost C code) and Python (it's a good practice to write unittest of all implemented methods) it's a good way to improve my knowledges in both languages and since I wasn't able to find much documentation about these kind of things, I'm going to share my own experiences.

What is a Binding?

A binding is a Python module, written in C language, that allows Python developers to call functions from existing C libraries from their python applications. It's just like a "bridge" from C world to Python one.

Why writing bindings?

There are a couple of reasons to write python bindings instead of writing a library in python language from scratch.

First of all I don't think is good duplicating code, so if a library already exists and it's written in C, why writing it again in another language? There's no reason. A lot of code already exist in C world and all we have to do is to create a bridge with python world.

Another good reason, in particular when a C library doesn't exist yet, is the fact that python code is slower than C code for some tasks (for example multimedia codecs). In these cases is good to implement the core library in C language and then create a python binding for it.

Coming next

As the title of this post says, this is only an introduction to the subjects I'm going to write about. If you have any particular request about any argument you would like to read, please feel free to leave me a comment. Next posts will talk about these things:

  • A simple example of binding: I'll write a simple library in C language and I'll show how to create the relative python binding, providing complete source code and an example for python developers.
  • Building and installing python bindings with distutils: I'll explain how to use distutils to build and install the binding (using the well know method "python install").
  • Defining new types: this post will be about how to write new types in C language and being able to use them from python code.
  • Using codegen to write bindings: I'll explain how to use codegen utils to automate lot of tasks, to generate the most part of binding code and how to customize the generated code using overrides.
Categories: HowTo
Andrea Grandi

I officially joined the PyMaemo team

2009-07-25 12:54 UTC  by  Andrea Grandi

This summer I'm working for 2 months at Igalia, a spanish free software company, and they assigned me the project of writing a Python binding for MAFW (a new multimedia library that will be included in Freemantle).

After few days I discovered that PyMaemo team was already working to it, so I asked to join them and they accepted me!

I really love Python language and since I think other developers love it too, I think we should provide good bindings for every library available in Maemo, so lot of developers can start writing their applications in this language.

I'll work to this project full time until the first week of september, so I hope to be able to learn a lot and to contribute as much as I can to this project.

If anyone else want to join PyMaemo team and help us to develop Python bindings, I think he will be welcome!

Categories: Igalia