All About Symbian - News from the Symbian Ecosystem...

Programming your smartphone: Mobile Python

Published by Steve Litchfield at 9:38 UTC, November 15th 2007

As something of a dabbler in PyS60, Nokia's open source port of the Python programming language to S60, I was excited to see the arrival of a proper book on the subject. "Mobile Python" takes a tutorial approach, leading you from the ubiquitous 'Hello World' right through to phone-controlled robotics and multi-player online games. It's a heady and sometimes uneven ride, but Mobile Python does manage to get across a lot of information while simultaneously firing the imagination of anyone who ever wanted to write an application for their S60 phone.

"Juergen Scheible, one of the authors of Mobile Python, new from Wiley, has been a leading evangelist for PyS60 since its inception, so he makes the natural lynchpin here. Ville Tuulos is a new name to me, but there are plenty of others from the Python and Symbian worlds who also seem to have made contributions here.

Mobile PythonMobile Python's subtitle is 'Rapid Prototyping of Applications on the Mobile Platform', but as with the earlier book on OPL, which had a similar title, a substantial number of Python programs will end up being THE applications, not just prototypes. It's important to get your head around the sheer power of PyS60 - about 20% through the book, there's a ten line code example that's a fully working SMS Inbox search tool. In ten lines! The richness of the Python language and the PyS60 modules thus make writing a book teaching it all something of a challenge."

Read on

Categories: Hardware, Miscellaneous, Developer
Platforms: Series 60, General, S60 3rd Edition

News Discussion

Unregistered
This book looks very interesting and I will probably buy it, but I was wondering if someone familiar with PyS60 knew if it has a module to aid in using the accelerometer for an appication.
slitchfield
There isn't a module for this yet, but I'd place good money on it arriving in due course....
Unregistered
Does anyone know if it's actually possible to develop/code directly on a nokia S60 phone? Rather writing and compiling on a desktop PC.
Using a fold out bluetooth keyboard, and your phone, can you program on the go?
there are a few packages available for PocketPC development on the device itself, it would be great if there was something like this on the nokia's.
Unregistered
I do code editing on the go in Python. The Python for S60 implementation runs Python code against the run time interpreter. You just need something to edit the .py files on the phone. Luckily, someone has done a Python indenting editor for S60 called PED.

Try this: http://discussion.forum.nokia.com/fo...d.php?t=108617

http://homepage.rub.de/Arkadiusz.Wahlig/Ped/
Unregistered
You are asking for AccelerometerPlugin for PyS60 ?
Nokia has published the sensor module for using accelerometer from Python since 16 October 2007 (before the buzz about accelerators in N95 !) but it works actually with the following models : N82 , 5500 , N95 8GB , N93i 20.0.084 (XYZ axes)
N95 classic (only with X and only 4 values : right , left , top , bottom) like RotateMe from Samir


For full support for this one you have to use AcceleratorPlugin from NRC plus the aXYZ module (that I have developped since 13 November 2007 (before you wrote this article :-) More than 70 downloading in 3 days !
You can download it at sourceforge search about pyed or search discussion about aXYZ on the Python Forum Nokia DiBO
You can ie use your N95 for making Lightsaber in PyS60 and look at Cube example
at the DiBo

Sorry I can post links because I haven't got enough posts (10) :(

Cyke64
Unregistered
Yes, I've written quite a bit of Python on my N93, you just need a good editor, such as EasyEdit, and a copy of the API doc in a useful format (mobipocket for example). As Steve said, Python might be quite intimidating at first for people from a C/Basic/OPL) background, and I found the best way was to start from a working example and tweak it bit by bit. The ease of internet connectivity alone pays its bus fare - http post/get is simple, for example, so if you have a monster server sitting at home you can use it for beefy processing effort, bulk storage and serving up files in convenient formats, etc.

BTW the callback to detect the auto-rotation of the screen on the N93 when you do the old Rubik's Cube maneouvre doesn't seem to work, you have to poll for it instead.
jukkaeklund
In case you want have a web server in the phone to serve Python stuff, you know where to find it :)
cyke64
Quote:
Originally Posted by Unregistered View Post
Yes, I've written quite a bit of Python on my N93, you just need a good editor, such as EasyEdit, and a copy of the API doc in a useful format (mobipocket for example). As Steve said, Python might be quite intimidating at first for people from a C/Basic/OPL) background, and I found the best way was to start from a working example and tweak it bit by bit. The ease of internet connectivity alone pays its bus fare - http post/get is simple, for example, so if you have a monster server sitting at home you can use it for beefy processing effort, bulk storage and serving up files in convenient formats, etc.

BTW the callback to detect the auto-rotation of the screen on the N93 when you do the old Rubik's Cube maneouvre doesn't seem to work, you have to poll for it instead.
What do you mean by poll it ?

Cyke64
pintofale
@cyke64

By 'poll' I mean check the 'size' method of your 'canvas' to see if it's (320,240) or (240,320). This is fine if you're constantly refreshing the screen, like Nokia do in their 'ball' example.

I did notice some other sizes but I think this is do do with a delay between re-orienting the screen and switching (back) to 'full screen' mode, which is a python VM problem and not visually noticeable.

Full thread: 9 Comments / Post New Comment

Copyright Notes || Contact Us || Privacy Policy (Ellie)