For the past month or two, I have been tinkering with Python for Series 60. I regret that I have not had enough time to pound on it, but what I have played with has been awesome. I can parse HTML, like an adaptation from this page of Dive Into Python. When things like
from sgmllib import SGMLParser just work, I’m amazed. Hey, check that out, I’m parsing HTML on my phone. Rock!
Series 60 Python is still a research project at Nokia. There are no guarantees that it will ever see the light of day beyond limited testing. There’s only one problem: sockets. It always comes back to sockets. Don’t get me wrong, sockets are available in Series 60 Python, but you can’t do something like
urllib.urlopen(url). That little thing is keeping a lot of people from doing useful things with Series 60 Python. Part of the reason that so many people use and love Python is because it’s sort of runnable pseudocode. It’s intuitive, it makes sense, and the syntax that you think ought to work often does. Once writing a Python app for a platform becomes much harder than that, you start loosing developers quickly. So many killer mobile apps that would be awesome to code in Python involve the following steps:
- Grab a specific resource (XML, HTML, etc)
- parse the resource and do something with the data
- interpret and present the data to the user
If the first step is overly complicated, or doesn’t work as Python programmers expect it to, you’re going to loose a lot of potential developers quickly. There’s a bit of a catch 22 though: Nokia needs to be sure that Python for Series 60 is a worthwhile project, so they’ve seeded it to developers. However the developers are frustraed because they can’t just type
urllib.urlopen(url). Which came first, the useful apps taking full advantage of a connected mobile platform, or the infrastructure to do so?
It is obvious that Nokia has put a lot of time and effort in to Series 60 Python. There’s a lot beyond your standard Python distro buried in there. It would be an absolute tragedy to see this die half-ripened on the vine. Hey Nokia: you’ve done a great job so far, keep it up! Hey developers and bloggers: make some noise! Play with it. Have fun. Post your thoughts. Let them know what you think.