Wow, what a week. Still a little bit jet-lagged from last week’s return from Singapore, but finally got a chance to really dig into this project. I now have my basic tool set installed, I have a repeatable work flow that works for me, I located some foundation documentation that explain things to beginners like me that seem to be common knowledge among the experienced Python developers, and with the help of some of the experts on the discussion boards I worked through an application structuring issue that didn’t seem to be common knowledge among those working with PyS60 on 3rd Edition devices.
I apologize for not posting threads all through this process, but I really needed to just keep my head down and work things through for a while. Python on S60 appeals to me because everybody tells me how easy it is. Well, it’s been a lot of years since I’ve personally coded anything, and between years of work on the marketing side of technology and a bit of foggy-brain syndrome from the travel, I really struggled for a few days to get traction. I know me, and posts during this time were likely to come across as, well, less than useful. More like whining. And of no use to the wider community at all.
Now that I’ve gotten to the other side of that struggle, I agree with the experts who say how easy and fun PyS60 can be. This morning, when I got my first script running, taking pictures, and recording audio, I actually said out loud "this is fun!". PyS60 has converted my N93 from a great device that does what Symbian and Nokia software engineers decided it should do, to a platform that I can make do what I want it to do. That's the fun part.
Now that I understand some of the basics the experts sometimes forget to tell a newcomer about, I hope I can communicate them to others who want to play.
Let me start with the details of the development environment I have set up for myself.
First, I needed a Python emulator for S60 / N93. That begins with the
Symbian/C++ SDK appropriate for my device. The N93 is a S60 3
rd Edition device (not Feature Pack 1 or Feature Pack 2). If you are unsure about yours, check the
device specs.
AFTER installing the C++ SDK, I downloaded and installed the Python SDK appropriate for my device
from here. In this case all 3
rd Edition devices are created equal – no SDK difference between 3
rd Edition, Feature Pack 1, or Feature Pack 2. The only choice was compiler tool chain – I chose ARMV5.
Follow the release notes that tell you to unzip the files from the Python SDK into the same directory chosed for the C++ SDK.
Then launch the emulator, and you’ll see Python as an application available under “Installat.” on the main grid. Choose Options/Run script and you’ll see some sample python scripts that ship with the SDK.
Launch the emulator and select the installations folder.

Then you can run the Python interpreter.
Tip: the sample scripts you see when running the interpreter in the emulator provide the key to using the emulator for your Python development. Use PC Search to find all the places the script ball.py is found on your machine. You’ll find one directory that looks something like c:Symbian9.1S60_3rd_MREpoc32winscwcpython . If you place your python script file in that directory, you’ll be able to run it in the emulator.
Tip: there are more sample files in the Python SDK than you will see in the emulator. Whereever you extracted the SDK zip file, look for the srcextrasexamples folder. Lots of good stuff there. Especially if you’re new to PyS60 and trying to get your head around the way UI works on S60 vs. the way UI works on other platforms, check out the three GUI examples.
I will post in the next couple of days details of the workflow process (including how to set up a bluetooth remote control to execute scripts on a real device), links to some critical documents, and finally the first code from this project.
BTW, those who have been following this project from the beginning may wonder what N95 is doing in the title. This blog receives a fair amount of search engine referrals from people looking for ways to hack their devices. Because the N95 is such a hot device right now, it is a popular search keyword. And because what I’m doing for my N93 applies to people interested in their N95, I want to welcome them along for the ride.
.