Slashdot Mirror


Python For Nokia Series 60 Phones Now Available

Python for Series 60 has been released on the Forum Nokia website. The release notes included in the package seem to give a fairly realistic image of the current status, and the demo apps and documentation seem to be quite good. The supplied documents even hint that there might be an OpenGL-API in the future. Alas, the emulator package seems to be for Windows only, as are the required S60 SDKs.

20 comments

  1. Porting VMs to Symbian by Gopal.V · · Score: 1

    How hard is porting a VM to Symbian ...

    I work on a VM myself, would it be possible to port it to Symbian easily (has 500k footprint on ARM) ?.

    And where's the Source dude !!.. I want Nokia to OpenSource it. Where I work, there are guys with p800i smartphone , if they had released sources, I could have taken a shot at building it for Ericsson (maybe that's why they haven't).

    1. Re:Porting VMs to Symbian by Joutsa · · Score: 2, Informative

      Basically, Symbian makes everything hard.

      There is some kind of ported standard C library, but it is both lacking and buggy. Also, when using the C library, there are only two symptoms when something goes wrong: either the application crashes or the entire phone crashes. If the software runs differently on PC emulator and the phone, you're pretty much out of luck. Standard C++ is of course a dream far away. Ported STL exists but it has its own set of troubles.

    2. Re:Porting VMs to Symbian by gl4ss · · Score: 1

      depending on how you have built the vm the port will be easy or extremely hard. (iirc some people have built python for symbian independently of nokia. however, the system/gui libraries are the thing that makes it really worthwhile! so, even if you had source you'd have to go through a lot to get it into being really usable on an uiq device like the p800, or even series80 or series90 from nokia).

      there's some symbian specific things that make porting sometimes hard(even things like how you allocate the memory matter!). also to note is that it's a lot easier to get stuff running on the 'emulator'(which is really building windows executables basically underneath).

      I recommend poking around forum.nokia.com if you're intrested in series60 development, uiq has different ui kit but the big symbian hurdles that you'll run into while porting will be the same(and stuff like graphics drawing and keypad reading is pretty easy if that vm of yours is game oriented, biggest hurdles then would be how you're allocating memory and symbian heap issues).

      --
      world was created 5 seconds before this post as it is.
    3. Re:Porting VMs to Symbian by gl4ss · · Score: 1

      *If the software runs differently on PC emulator and the phone, you're pretty much out of luck*

      well. that's where experience comes into play.. and is basically the reason why solid symbian knoweledge could land anyone a job right now(because it is kinda hard).

      --
      world was created 5 seconds before this post as it is.
  2. great news by DrSkwid · · Score: 2


    I was going to try jython
    (although like many things hadn't got round to it)

    My Nokia 6600 has BSD socket support (which I believe was a first - though naturally I'm prepared to be wrong and no doubt if anyone knows better I will find out soon enough)

    The downside of the 6600 is the "no true networking via bluetooth" crippling. I've tried GNUbox but gave up after no luck.

    I hope the python socket API is present.

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    1. Re:great news by khanyisa · · Score: 1

      If you read the release notes, socket support is present:

      socket.py: Adapted to work with the native sockets on the platform

      - getservbyname and getaddrinfo consult a small fixed table instead of an external service map file. Only few services are supported

      - socket method setblocking raises an exception, since only blocking mode is supported in this release. Support for non-blocking mode is in development and should be available in the near future.

    2. Re:great news by Anonymous Coward · · Score: 0

      rta. are you mad?

      yes, i shoulda

    3. Re:great news by gl4ss · · Score: 2, Informative

      not sure about 'bsd socket support' but socket support is in other s60 phones as well.

      as for the gnubox.. tried to do it with these instructions yet? http://www.cs.helsinki.fi/u/mraento/symbian/bt-ap. html

      --
      world was created 5 seconds before this post as it is.
  3. How much RAM? by Karma+Farmer · · Score: 2

    How much physical RAM does Python require? Could its heap be squeezed onto something small like the GBA (32K RAM, comparatively unlimited ROM)?

    1. Re:How much RAM? by Anonymous Coward · · Score: 0

      No chance would it fit in 32k. Not even close.

    2. Re:How much RAM? by RevAaron · · Score: 1

      How much physical RAM does Python require? Could its heap be squeezed onto something small like the GBA (32K RAM, comparatively unlimited ROM)?

      The GBA has more RAM than that. It has 32 KB that is so-called "in-chip Work RAM", but according to these specs it also has 256 KB of on-chip work RAM. I'm not sure what the difference is, but I'm sure it can be worked with. After all, people have a gimped-out version of Linux (uClinux) running on the GBA, I'm sure a gimped out port of Pippy could work.

      Pippy, you say? While you really couldn't run full-blown, real-deal Python, you could run Pippy, which is a much pared down version of Python for Palm OS. According to the Pippy README, "modern" POS devices have 256 KB of RAM. It may say 16 MB on the box, but that is storage, not heap. If it can be done on POS, it should be doable on the GBA. With the resources of the GBA, Lua would probably be a better fit, though.

      It also would probably be possible to have a game pack that had more RAM, and then use it to extend the GBA's RAM, perhaps 8 MB. The GB can address 32 MB total. So, between RAM and storage, you could get a lot in a cart that the GBA could access.

      Then... you right a hybrid multi-key/chording keyboard using the buttons on the GBA so you can program it on the device! Or, you could just do what's easier all around and buy a PDA. Even a cheap, older Pocket PC would do. I can run Python+Tkiner, Python+win32, Perl/Tk- not just CLI perl, but a GUI and all- on my old iPAQ 3650. It owns, even.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  4. Phone should use Parrot by Anonymous Coward · · Score: 1, Funny

    but the phone would be obsolete before Parrot would be able to run on it. Also, it would need 30M of RAM just to run Parrot.

  5. Hecl by DavidNWelton · · Score: 1

    Very much a work in progress, but I've written a scripting language called Hecl in Java. It is small enough (40k at the moment) to run on my Nokia 3100, which isn't a Symbian phone.

  6. Too bad this didn't make it to the front page... by jplauril · · Score: 3, Insightful
    ...since I suppose most people never read the articles that are posted just to some subsection.

    But anyway, I'm one of the developers in this project, so if you have any questions or comments then post away and I'll try to answer.

  7. Re:Too bad this didn't make it to the front page.. by ultrabot · · Score: 1

    But anyway, I'm one of the developers in this project, so if you have any questions or comments then post away and I'll try to answer.

    What's the probability of getting a version based on Python 2.4? Genexps might be very handy in a memory-starved phone environment...

    --
    Save your wrists today - switch to Dvorak
  8. Symbian development for the rest of us by yemir · · Score: 1

    No S60 SDK or Windows box is required. Just write your code with emacs and bluetooth it over to the phone.

  9. Excellent! by tunah · · Score: 1

    Been waiting for this for a while. You don't seem to need windows to play around with it, you can get the installer files for your phone as a zip file, and get an interactive python on your phone. It seems you can also send .py files across via bluetooth and python will pick them up. (Can't test this yet, I broke my bluetooth adapter...)

    --
    Free Java games for your phone: Tontie, Sokoban
  10. Re:Too bad this didn't make it to the front page.. by jplauril · · Score: 2, Interesting

    The probability of moving to Python 2.4 is high, but no definite schedule has been decided yet. Sometime next year, probably.

  11. UI widget "emulator" and PyExpat now available by jplauril · · Score: 2, Informative

    The nice people at HIIT have made a wxWidgets implementation of the Python for Series 60 appuifw UI widget API, so now you run the same UI code on your desktop machine and on your phone, without needing the Symbian emulator. The code is not quite complete yet, but a lot of stuff _is_ supported. They also released their PyExpat port, which is a good example of how to extend Python for Series 60.

  12. Re:Too bad this didn't make it to the front page.. by Anonymous Coward · · Score: 0

    Just trying to install it in my 3650 phone but I cannot realize how much free memory I need in my phone to install it. I have about 600KB free but, at the end of the install stage, it reports a "not enough space on disk" (which disk?) error.

    Thanks!