eriksmartt.com>Selected Archives

NewsForge: Nokia releases Python for S60 source code

There's a new NewsForge article up about Python for S60 with a few quotes from yours' truly: "Nokia releases Python for S60 source code."

I chatted with Mr. Feller on the phone a couple weeks ago while he was prepping the article. I wasn't given the chance to review it, so I'll post my comments here since the article didn't sit well with me.

Paragraph 1: "Nokia released the source code for its Python for S60 mobile phone platform [...] in hopes of open source software developers creating new applications for it." That's not really how I would put it. Sure, the motivation for releasing PyS60 originally was to let other people play with it, but it didn't need to be open for that.

Paragraph 3: I'm not sure what a "custom library for mobile-specific functionality" actually refers to. I would say that there are a number of custom libraries for mobile-specific functionality, such as sending and receiving SMS, taking pictures, using Bluetooth and GPRS connectivity, etc. Furthermore, the port includes a custom module for utilizing the native GUI.

Paragraph 4: This comes from a question about application portability, as in, whether Python applications written for PyS60 will run elsewhere. The point here was that portability has been a goal, and in most areas it is working; However, not all of the Python Standard Library is included in the PyS60 release (a decision made to control the installed footprint) and not all of the standard library modules are currently compatible. (Not to say that those modules couldn't be made to work in the future.) Furthermore, just as Nokia has platform-specific modules, so do other platforms, and if you're using those modules your code won't be portable.

Paragraph 5: The short summary: The PyS60 team is still using the Forum Nokia Discussion Boards for the project, and the opensource.nokia.com site is being used to describe it. The project description may or may not move to the SourceForge site -- those details are still being worked out.

Paragraph 7: Python has plenty of openness without Nokia's participation, and I don't expect "more openness" in the industry from this one event. However, I do hope that other device manufacturers looking at dynamic languages for their devices will consider Python and will consider collaborating on common APIs for mobile functionality to encourage portability. By being open, Nokia is demonstrating the intention to collaborate and to support community-defined standards.

Paragraph 11: Please bear in mind that "intention" and "reality" aren't the same just yet. This has been stated before, but currently, the open source (1.3.1) release is a snapshot of the project as of Q4'05, and the project has seen continued development internally to ensure compatibility with the next version of Symbian. The ultimate goal is to use a single, open development environment, but it's going to take baby steps to get there.

Paragraph 12: I'm not really sure where to begin with that one. It has quotes, so I guess I said that... just doesn't sound like me. Anyway... the points here are: (1) I generally don't see people noticing this, but Nokia is a huge supporter of open standards, and (2) I don't know what other licensee's of S60 "see", but with PyS60 being open, they certainly have an opportunity to utilize the runtime in their own devices and to add their own device-specific functionality.

Final paragraph... Wow. So here's the thing -- PyS60 doesn't actually add any new functionality to S60, it just exposes it via a language that is generally seen as more approachable and productive. It's not going to change the mobile phone ecosystem and shake the industry just yet; And it doesn't make your phone "more useful", per say. If you're the kind of person who likes to hack code and play with your electronic toys, then sure, there's a chance that having a Python terminal on your phone will make you enjoy it more, but this is really about software development and demonstrating the maturity and capabilities of modern handsets. The S60 platform was already usable and open -- that's why the Python port was even possible.