Nokia N900 assistance
February 7, 2010 5:12 AM   Subscribe

Any advice for a novice on writing simple programs for the Nokia N900?

I have an N900 and really enjoy it. The flexibility of the device is amazing. I am not a programmer and have ZERO experience in any programming language. I would really like to figure out how I can modify my phone by writing snips of code that could add some simple functionality. For example, I would like to be able to swap icons for different applications.

So my question is: Where should I begin? Should I focus on learning any part of a particular programming language (i.e., python) or just focus on something much more basic that I can build upon. Any advice is appreciated.
posted by zerobyproxy to Technology (6 answers total) 1 user marked this as a favorite
Love the spirit and hate to dissappoint you, but I don't think there's a quick way for you to do so since you are a novice in programming. People with a degree in computer science have to spend more than a day to get some easy thing to work if they're not familiar with a device.

As a starting point, the developer page at Nokia has some information on the phone's capabilities as well as documentation and tutorials.

In general you might want to try running a Java application on the phone (but it seems the N900 platform does not support Java). Java is a broadly used language, with lots of tutorials etc. Alternatively, how about building something that runs on the web and is accessible from the phone's browser? There's a lot more help on web apps available on the web and many more people know how to do this. Bear in mind that this will not give you access to the phone itself, e.g. changing icons.
posted by oxit at 5:52 AM on February 7, 2010

Have you been to the forums? There are a few threads there addressing some of how to start out with Python.

I'm learning on my N900, too.
posted by fake at 8:06 AM on February 7, 2010

I just spent a couple of days toying with an N900. The quality of documentation is mixed and things are greatly complicated by the fact that the Maemo environment is in heavy flux (there is still a lot of info on the pre-N900 versions around, then there's Maemo 6, which apparently won't run on the N900, and the entire switch of UI toolkits that's justin progress). I also had a terrible experience with the development VM you can download somewhere (outdated & badly configured for a beginner), and recently heard about the install script for the latest Nokia SDK messing up somebody's system, so my first impression of N900 development was pretty terrible.

For your icon switcheroo, there's probably no programming required, that's just configuration files. Learning to write your own application in Python is not exactly rocket science, but you'll not only have to learn the programming language, but also how to use the UI toolkit, which I imagine is a bit of a stretch if you've never had to deal with this kind of thing before (I'm a programmer with a decade of experience and know Python pretty well, but I spent the better part of a day throwing together a simple UI in Python because I didn't know anything about Gtk+/Hildon before that).

A big plus is that there's a lot of Python applications out there, and they're "open source" by the nature of things, so there's plenty of sample to code to dig through. There's also iPython and other interactive stuff so that you can just experiment on the "Python shell" to figure things out.

Even if you don't know any proper programming, one of the amazing things about the N900 is how closely it resembles a "normal" Linux system, so knowing your way in and out of a Linux system helps a lot (for example, you can get a pretty nice overview of what's going on on the phone by just watching what flies by on DBUS, which gives you a way to hook into many events using simple shell scripts).
posted by themel at 8:35 AM on February 7, 2010

I have an n900 and have played with getting a few things going on it.

I have got the VM setup up setting up each element by hand. It's a bit of a game.

Python is the way to go.

There is a tutorial on learning python and learning how to get stuff going on the n900.
posted by sien at 12:21 PM on February 7, 2010

All good advice. I am checking out all of the links above and am now thinking that I should put Ubuntu on my Asus EEE so that I can benefit from multiple interfaces with Linux. That'd definitely make me more comfortable with the OS.

posted by zerobyproxy at 3:05 PM on February 7, 2010

Someone just posted a tutorial related to this question. It's out there, but good for the future.
posted by fake at 9:52 AM on March 5, 2010 [2 favorites]

« Older Getting voice recordings from QuickVoice on iPhone...   |   Rice: how to creatively cook with it Newer »
This thread is closed to new comments.