Programming, mobile phones, and other digressions

11Dec09

A lot has happened between now and the previous year. My interest in programming died when uni started, though it has been rekindled after buying a new mobile phone. My old Nokia 1100 finally gave up; its battery wavered in status between full and empty despite lengthy sessions of charging.

I now have a Nokia 6760 Slide. What a clumsy name. Why didn’t they just call it Nokia 6760 or Nokia Slide. I suppose whatever marketing executive who decided on the name thought that just having the name was too dehumanizing for a device so intimately connected with our daily lives. Still, tacking on “Slide” doesn’t make it any more cool than the other 182387 models that Nokia releases. Reification is dangerous.

What set off my interest again was the possibility of programming for the phone. Before buying the new phone I had a very old-fashioned view of what a mobile phone did: it called people, and nothing else. These days mobile phones seem to do everything except your tax return. (There’s probably someone writing a tax return app for Iphone as I type this.)

There are a number of ways of programming on the phone. It’s a Nokia phone, and it runs the Symbian operating system, Version 3 Feature Pack 2 to be totally exact. Two main resources are Forum Nokia and the developer section of the Symbian website. For this make of phone, the choices are C++, Python, Java, Flash Lite and web widgets. The only two that I have looked at in detail is Python S60 (PyS60) and Java ME (Micro Edition).

My interest began in Python because I had previous experience with it. I could remember a lot of Python despite not having used it in months. I was very excited when I was playing around with it; I made a significant amount of progress on the L Game program which I tried to write last year. I gave up when I realised how time-consuming and laborious it would be to manually rotate every square that makes up each counter in the L game. There’s got to be an easier way to do this, I said.

My initial excitement with Symbian faded when I came to realise that the world’s most popular operating system, operating on a phone made by the world’s most popular mobile phone manufacturer, was not very friendly with developers, especially amateur hacks like me. The Symbian OS itself seems to receive a large measure of hatred for being complex. Programming in Python for the S60 edition of Symbian might be fun, but I’m a bit disappointed seeing that few apps are written in it. This is probably due to a variety of reasons, such as the limitations of Python S60 API and hassles with packaging .sis files.

Now I’m experimenting with Java ME, also known as J2ME. It’s Java on your phone, except it’s missing some classes from standard Java. Plenty of apps seem to be written in it, mostly games. Java ME has less capabilities than Python S60, but it has the benefit of being able to run on many more phones, not just by Nokia. If your phone is relatively new, say 1-2 years, it likely has Java on it. While you won’t be able to access GPS through Java, it has its own advantages, such as a class specifically designed for games.

I actually did not know Java before encountering this. I’m learning Java because of it, which is quite nice. 🙂 (The reason for learning, not Java I mean. Java is horrible and mean and bullies me with its muscly curly braces and sneaky semi-colons.) And now I am experimenting with Processing and Mobile Processing. I have a lot of good things to say about those two projects, far more than can be contained by a single blog post. So that’s all for now, hehe.

Advertisements


%d bloggers like this: