Home > Development, Python, maemo.org > OVI Store and Python Applications

OVI Store and Python Applications

January 23rd, 2010

Maybe I’m biased. Maybe Python-based applications aren’t a large-enough sector of the application pie to warrant consideration of inclusion into Nokia’s OVI Store. If this is the rationale that Nokia is using, then I strongly disagree.

Of course as long as everything remains the same, C will be the de facto programming language for Maemo devices. As a Python programmer, I had to fight through unstable API’s, lean documentation, and several bugs to be one of the first developers to program a Python application on Maemo 5.

But it was all worth it because I was using a high-level programming language that I could use to quickly create a feature rich application. For developers wanting to program Python for the device now, all those issues are resolved.

The only advantage C has now is: the Python libraries need to be installed as dependencies by the programmer since they do not come preinstalled on the device. This may not seem like a huge issue, but it can be:

Think about it from the user’s perspective: they see two applications in the App. Manager. Both are, let’s say, desktop widgets that show you how much free space you have on your SD card. One is written in C and is 35 KB’s. The other is written in Python and is 5 MB’s. The Python one has to pull in all the Python dependencies (python, python-hildon, python-hildondesktop, python-osso, etc.) because they aren’t preinstalled on the device. Of course, most of that stuff is Optified  so it doesn’t take up any additional space on the Root FS, but it doesn’t matter. A user will install the C application because it is so much smaller.

Although that’s an issue, it’s not the biggest one. The biggest one is how does one upload an Python-based application to the OVI Store? Are those dependencies going to be available from OVI?

Right now it is fairly simple to create and upload a Python-based application to maemo.org’s software repository, because the Python libraries are uploaded there. But how about when Python developers want to upload to the premier source for Maemo 5 applications? Will there be any support for them?

It would be great if there was Python support in the OVI Store. Even better would be to push all the common Python libraries in the next SSU, leveling the playing field completely.

What are your thoughts?

No related posts.

Brent Chiodo Development, Python, maemo.org , ,

  1. vijay shan
    January 26th, 2010 at 14:57 | #1

    I totally agree with you. Python application packaging is a definite must and some guidelines as to how to package it for the ovi store will go a long way. The same goes for python on symbian too. Do post a follow up if you find anything else.

  2. January 26th, 2010 at 15:26 | #2

    I think idea of including python dependencies into base of Maemo is very good. There are plenty of Python apps out there in repositories anyway, so why not do that?

    I don’t develop any applications to Maemo (yet), but if I ever consider this, Python would be my language of choice #1.

  3. January 26th, 2010 at 17:29 | #3

    Nokia should ensure that all python dependencies can be downloaded from the Ovi Store. Ideally, all of Maemo-Extras should be “pullable” by Ovi applications; that would help any application, not just python ones. It can’t be too difficult.

    Obviously, it would be fantastic to have all basic Python libraries preinstalled, it should definitely be on the wishlist for Maemo 6, but I’d be more interested in being able to pull any package whatsoever from Maemo-Extras when installing apps from the Ovi Store.

  4. Joseph Charpak
    January 26th, 2010 at 17:56 | #4

    When Nokia moves to Maemo 6, the default framework will be qt not gtk. This will probably lead to C++ becoming the default language. Which doesn’t help Python developers any, but it means gtk based programs written in C will likely also have the multi-megabyte package sizes as the gtk based hildon framework will not be installed by default, just as qt isn’t installed by default on current maemo.

  5. January 26th, 2010 at 21:39 | #5

    I strongly agree with you!

  6. January 26th, 2010 at 22:48 | #6

    This is a problem I’m all too familiar with. I am currently pushing an application (prismic wallpaper manager) through the Ovi QA process and so far it’s been unable to pass, since it runs on python. I’ve tried just about every python dependency I can think of, and neither the test units or the Remote Device Access units are able to run python without gaining root and manually installing the dependencies.

    Hopefully this will be figured out soon.

  1. March 22nd, 2010 at 06:47 | #1