Python Framework for Symbian Series 60 phones

1 2 3 4 5 >

Wednesday 25 April 2007


The thesis comes to its end. Last Friday I presented my working in front of a full room at university, which is not that common and it cheered me up :) So if one you you guys that were there read this, thanks again for coming! I should get photographs and maybe also the video of it if it not too bad ;)

I added today some screen shots of the mobile client to give you an idea of the final beta product that work on 2nd and 3rd edition devices (tested on Nokia 6600 and N93).

So I'm now trying to terminated the thesis report as soon as possible. If agreed with my laboratory, I'll try to publish the report as well.

Friday 6 April 2007


The user administration on the phone works now and is ready. For this I had to create a list box for displaying the products:


I had to make some modifications on the list base class which will be documented soon in the new documentation version.

I had difficulties with the server side that for some reason send UTF-8 or ISO-8859-1 randomly on request response. It broke the XML parsing, so some more verifications where needed from that side.

I also lost much time debugging the jsp services with Jori. The port from Linux to Windows 2000 added lots of errors that mostly where calling executable with wrong path for resizing pictures for example, wrong URL printed on the XML files, wrong XML tag given in the documentation...

Now on the client side I had to recode some part also. After solving the encoding problem I had difficulties to send too long requests with HTTPConnection object. The work around is to create a temporary XML files on the RAM disk and then upload this XML file for each request. Since the file data is sent as base64 string, it fixes all encoding problem and request length difficulties.

I had to recode the previous public part, i.e: the list of services where you don't need to login. It was working but let say that it was kind of a spaghetti design. The good point of taking Symbian C++ course is that you have to stick on designing method and it finally simplify the task quite much. I now try to stick as much as I can on MVC (Model View Controller) design for the classes. It is not always possible to perfectly stick on it but... try the best. Here is a picture from Wikipedia:

MVC diagram

I'm now about to terminate the programming part of the project. I just have to do some more hand user testing and catch/reproduce some different scenario cases that could shout errors and/or freeze the application, like network loss...

Tuesday 6 February 2007


There has been some good improvements on the last weeks. First of all the unofficial recompiled version of PyS60 (cycke64) with the corrected font bug with the text object on canvas. I forgot the name of the developer that found the solution. I'll mention him when I find.

With the fix bug, I'm been able to test the client on the N91 with the WiFi. So nothing to modify in the code and everything works like a dream :) The only problem is when the connection fails, it is not properly cleaned and it will not prompt the dialog for selecting the access point again, but the wrong access point remains. So I have to find a wait to catch the exception and clean it properly.

On the 24th of January, one of the best thing happened to me: I received a nice email from the NOKIA Forum announcing me that I've been selected to be part of the 22 new Forum NOKIA Champions (FNC). A nice adventure starts for that also and it will for sure help me to gain a consequent knowledge on Symbian. So I'm proud to display the following logo:


Also I made a new module containing a C++ wrapper to the native wait dialog. It's usage is:

import e32
from dialog import wait
dlg = wait(u"Hello Wait note :)")

And for 3 seconds you'll see:

  • 2nd Edition:

Wait Dialog 2nd edition

  • 3rd Edition:

Wait Dialog 3rd edition

I'm now working on the progress bar wrapper.

With the client we investigated operation on the server and we can now login, get the useful URL for the user and retrieve some XML files. We are still having difficulties with the server because there's an error while trying to retrieve user articles list. We are now working on that.

Friday 12 January 2007


Yesterday a new beta release PyS60 was released. One of the most wished functions (camera.start_finder, camera.stop_finder) were added. I quickly recoded the API camera class. The image is as fluent as a C++ application! I'm just searching now a way to set flash, zoom, exposure, white balance, position controls like it used to be in take_photo.

I'll check the doc to see if any significant enhancement would be valuable for the framework.

I also started to work on the thesis report and succeed to set up a LaTeX environment. I'm training with the syntax and decided to use LaTeX to write my report. This language has serious advantages and will make me save some precious time.

Friday 5 January 2007


For the last month, I finished implementing the UI and create the new lists needed for the product services. I also went further in the API by creating new classes for retrieving data from the server like files... There is now a download and a memory manager to get the data with keeping an eye on the available resources.

Christmas holidays and the last few days have been spent by documenting the code and testing it on a NOKIA 6600 and the 2nd edition SDK.

There is a little break in the development because the server as been down for 2 weeks now. I'm hoping to have it working next week to test the product services and start coding the user interface.

Also I took the decision to share the UI modules since some guys where interested in and it doesn't reveal anything about the server. Let see if I get some feedbacks, maybe ideas to make it better... Who knows! I also compiled a separated doc for the UI modules shared (I couldn't share them all).

I should start writing the report any soon after checking the UML sheets and update them with some new content.

1 2 3 4 5 >