As part of the
afore-mentioned down time, I've also been spending some time messing around with Python on Symbian OS. I bought a Nokia E71 last year with the hope of writing some apps for it (well, that was the ostensible reason :) I finally got 'round to doing some hackery now.
One of the surprising things I've found is that lack of a stop-clock/timer by default on the Nokia phones. Or maybe, I never found it. In any case, I decided to code one myself in Python. Being a script junkie (Perl being my choice of poison), I'd always wanted to check out Python, and its functional programming features. I didn't get to use much of the functionality of the language, but it was a fun effort nonetheless.
You can get the app I created
here. Dependencies include Python for S60 v.1.4.5, and an extension to it called Miso, which provides access to some of the underlying hardware - I used the phone vibrator in my code, as notifications. I've included the following files in the archive -
PythonForS60_1_4_5_3rdEd.sis
PythonScriptShell_1_4_5_3rdEd.SIS
miso-1.97-s60_30_py1_self.sisx
timer.0.2_v0_2_0.sis - The actual application. Bluetooth it to your phone, and install.
timer.py - the source, if you want to mock my coding :D
You will require a S60 Edition 3, feature pack 1, device at least to run the app.
What does the app do? Two things - a timer feature, where you can set the number of minutes you want it to count down, at the end of which, the app will buzz once. Second, a stop-clock type feature, where you set the total number of minutes to count up to, and every two minutes the app buzzes. The buzz-interval is currently hard-coded, though making that user configurable shouldn't be a big deal. You can also pause, resume and completely halt a running timer/stop-clock.
Let me know if it works for you, and of course, feel free to mess with the source.
Mobile app development - Quite fun actually. The Python API's are fairly extensive, from what I see, and one should be able to write some fun stuff for these devices. I'm not a software engineer, so I couldn't compare the effort involved to developing on other platforms. However, some general observations - Nokia needs to make getting information easier! There are at least 3 websites where one can get information on the Python for S60 implementation. Though, it seems that
forum.nokia.com is the go-to place, this is not very obvious for first-timers. You can also check out this
wiki. Documentation, too, is fairly extensive, but it was only after a fair amount of hunting that I found
this. Finally, I use Emacs for my code development, but I'm sure that Eclipse would be better for programming larger projects.
Cross-posted at
AMusings