I’m convinced that thanks to Python for S60v3 my idea is possible
By Stefan Constantinescu on Tuesday, December 26th, 2006 at 12:05 AM PST In Ideas and rants
For those who want to read the complete idea check it out here
Here is a summary: Whenever you need something from your phone: a picture you just took, a calendar entry, your todo list, etc. Instead of having to sync up with your PC you run this little application on your phone, which locks the keys on your phone, but now you can go to ANY PC, enter in a URL and bam you have one website that allows you to access, modify, delete any piece of information stored on your device. Basically remove the syncing part, turn your phone into a webserver. Once your finished you turn off this application either from the website or from the phone directly and get back to your business.
I wrote about the latest releases of Python for S60, but I never really checked it out since I’m not a developer. Today I downloaded the reference pdf and gave it a good once over. I’m utterly convinced that it’s possible to write such an application.
For Contact manipulation read page 41, ToDo manipulation page 48, Calendar Page 50, file system commands page 9. That PDF gives me hope that what I have in my head can be implemented, especially before 2008. I just wish I had access to some Nokia (NYSE: NOK) developers who want to work on this in their spare time.
PS: It’s not "my" idea, I don’t want to make money off this, I just want to see it come to fruition as a consumer and passionate user.
UPDATE: Found this with some googling
Being able to run Apache on a mobile phone is rather interesting in itself but still not much more than a quirk unless it can be accessed from a browser outside the device itself. Our target was to make it possible to access a webserver running on a mobile phone, equipped with a standard operator SIM, from any browser on the Internet, at any time.
Initially we utilized a Bluetooth PAN network but although that already is useful – it provides for the possibility of accessing functionality on the phone using a big screen and proper keyboard – it is quite limited compared with what access over the cellular network would imply.
Providing access to a mobile phone from the Internet is not straightforward, as operators typically employ firewalls that prevent access from the Internet to phones inside that firewall. By implementing a custom gateway we could circumvent that limitation and we are now able to provide a webserver on a mobile phone with a global URL than can be accessed from any browser. In a sense, the mobile phone has now finally become a full member of the Internet.
Source: Nokia Research <– Just read the whole page, too much content to copy+paste


Yep, the “racoon” project and misleadingly named “contacts browser plugin” project are close to what you describe.
Too bad they haven’t been able to get the CBP working on v3 yet. It’s apparently a limitation in pyS60 related to the limitations of what you can run with a self-signed sis. (Hello, nokia? Time to release an officially signed sis of pyS60)
IMHO, Python is a pretty easy language to learn. However, it’s quite frustrating to use on the phone, because Nokia cherry-picked the APIs that they implemented in their version. In some extremely frustrating cases, it seems that they stripped out code merely to make the binary smaller (Yes, I read the code). As an occassional python coder, I don’t want to deal with nokias stripped down python variant. It makes me either have to re-implement code that I have already been using, or I have to go dig through the unix python sources for the code I need. Give me the fullest version of python you can, or go away.
BTW, notice the dearth of python applications out there for pyS60?
I doubt we will see much more. So much promise in pyS60, and it’s going to die just like the Perl implementation for S60.
BTW, have you heard any rumors of a firmware update for E60?
haven’t heard anything about e60 firmware upgrades
how much did nokia strip?
This is an absolutely brilliant idea. I was intrigued when I first read about racoon a few months ago but never considered the possibilities you just described. I’m with you and I want it bad!!
Stefan,
Your idea for a personal webserver on a smartphone is a pretty good idea. I do think that in order to have your internet accessible smartphone act as a webserver your cell phone carier would have to allow connections to the machine. Most internet service providers (at least in the US) won’t allow you to set up a publicly accessible webserver without paying a higher fee (they argue that you’ll use more bandwidth). In technical terms your ISP/Mobile Provider would have to open port 80 which I doubt they leave open. Also as noted in this lifehacker article:
http://www.lifehacker.com/software/top/ask-lifehacker–host-my-web-site-at-home-160945.php
your upload speed from your phone will be exceedingly slow (think back to you 28.8 modem).
I think it would be much easier to set up your personal server with a hosting service (possible offered by nokia) that aggregates all your personal information through zimbra, google calendar/docs, and possibly flickr or something to upload your photos. And then you slave your phone to it (which is like blackberry connect or activesync) or better yet just access it through a specially designed for mobiles personal website so that you don’t need to do any syncing.
The way Racoon (Nokia Research code name for the Symbian port of apache) works it that there is an intermediate gateway that establishes a solid connection.
Now slow upload doesn’t matter, the fancy ajax crap would be hosted at Nokia, the actual RAW data: SMS, Contacts, etc. is stored on the phone itself. You don’t need a lot of bandwidth to transfer those small amounts of information.
I don’t think you understand the idea I’m trying to push. I’m going to try and do some sort of podcast to clarify.
I’m not sure how much they stripped… I do know that they stripped enough to require a moderate to high level of rewrite when porting applications from full python to pyS60.
And here’s something to think about. Who is going to want to learn Nokia’s variant? The current main choices for programming on Symbian phones is native C (fast but only runs on a single platform) and J2ME (slower, but runs on all J2ME compliant devices).
PyS60 offers a platform slower than native code, but can run on only S60 devices. Who is going to choose this? If they at least implemented a fuller set of the API, you could at least leverage the substantial python open source programs already written.
Anyway, that’s my vent after having attempted to port some python and figured out that it would be just as easy to write them from scratch in J2ME.g