Symbian Programming

Finally updated for 3rd edition! All the examples and documents below until the '1st/2nd edition' header have been updated for 3rd edition.

Much of the code is directly from the Jaiku S60 client as is dual-licensed GPL and MIT. The whole Jaiku client source code is hosted on Google Project Hosting at http://code.google.com/p/jaikuengine-mobile-client/

During the development I've come across some problems and tricks that have taken non-trivial time to resolve. I thought I'd share my experiences with you. The code in the following pages is in the public domain unless specifically noted to be otherwise (GPL). There may be some daily experiences in my blog as well.

Additionally, we have used a number of other features that you might be interested in, but I haven't had the time to write up. Here are links to the relevant source files, though, which illustrate how to do these things (note that these links are to the 'main' file for each feature, you'll have to read around to get the full picture). The code is dual-licensed GPL and MIT.

1st/2nd edition documents

I've now also added a collection of smaller articles/notes in a FAQ style that I've taken from e-mail and newsgroups replies I've sent. The material over at errorhandling.org might also be of interest.

I have been developing some software for the Symbian platform in our Context research project, more specifically for Nokia's Series 60 platform, editions 1 and 2. Most of the code and examples should work on anything from a 7650 to an N70, inclusive.

All of our code is dual-licensed under MIT and GPL v2. The whole system provides examples of how to use a lot of the features in Symbian, and how to use a lot of non-public APIs. You can read some instructions and download the code from http://www.cs.helsinki.fi/group/context/latest/, but don't ask me for help. If it breaks you get to keep both pieces :-).

Additionally, we have used a number of other features that you might be interested in, but I haven't had the time to write up. Here are links to the relevant source files, though, which illustrate how to do these things (note that these links are to the 'main' file for each feature, you'll have to read around to get the full picture. I'll try to make this easier to use if I figure out how). You'll probably have to look at the compilation instructions for ContextPhone to get all this working. This code is GPL: you cannot use it as is under another license, but you can see how the APIs are supposed to be used, and model your own code after that.


Mika Raento, mikie(at)iki.fi
Last update 2006-06-18.

You are visitor number since 2004-01-29. Counter by Web-Counter.