As an Assistant Professor, I'm teaching Symbian OS at the University of Applied Sciences in Hagenberg, Austria. My company "Mopius" is developing mobile software with a special focus on Symbian OS.
mopius | 01 September, 2008 11:27
It will certainly be interesting to have technology from Dolby integrated into phones, like it was demonstrated at the CTIA Wireless in 2008. However, there is no precise information about future roadmaps or products.
What the students Stefan Damm and Arnold Ahrer from the Mobile Computing-department of the University of Applied Sciences in Hagenberg (Austria) created is a small solution to enable real surround sound through mobile phones - called Mobile Surround Sound.
It works by using four different mobile phones, which have to be placed into the corners of the room. Essentially, the phones are turned into speakers, albeit with a bit more intelligence than the usual speaker. A central control PC is connected via WLAN to the phones and is able to control them in real time.
Once all phones are connected, the PC starts the sound on all phones at the same time. The user can now move the sound source on the graphical interface of the server. This automatically adjusts the volume of the different speakers, thus leading to the impression that the sound is moving around in the room.
Also great to put your phones to good use if you've already got too many of them ;-)
The application was developed by Stefan and Arnold as a small project for the Interaction Technology course during the summer semester. It is written in Java (Server) / Java ME (Client) and is available for free (open source).
mopius | 26 August, 2008 18:18
![]() |
| Auto Call Back can help you to save money. |
On the other hand, many friends and relatives have minute-based plans, which can be rather expensive if they're calling to other operators.
Rationally, it'd be the best if I call someone with a minute-based plan back and don't accept his call. In this scenario, nobody of us pays anything (extra). Obviously, it's a bit of work - you have to discard the call, go to the call history and call back.
Already two semesters ago, two students (Dominik Brandlberger and Daniel Haslinger) developed a solution to this called "Auto Call Back" (why always invent strange names if it can be that simple?). The whole call-back process is automated by the application.
The result after one semester is a prototype and no commercial application - after all, both didn't have any serious Symbian OS development experience before and the whole issue turned out to be not so easy.
Apparently, you can't easily cancel calls that you don't own through the public CTelephony-APIs of S60 3rd Edition-phones - it only seems to work if you accept them first and immediately cancel them. However, this means that the caller already has to pay up to one minute, no matter how short the call was. Therefore, the application now cancels the calls through simulating the red key. The disadvantage here is that the mailbox has to be turned off for rejected calls.
But how does the app know for which contacts to do it? After the first initial experiments with an own database, the best solution turned out to put all those contacts into a special group. This also allows the user to easily manage the call-back contacts through the normal contacts-app of the phone; the call-back app doesn't have to re-invent the wheel.
The prototype is available for free, but of course not yet ready for real-world usage. It lacks many features and is by far not bug-free. Also, you need to sign it yourself through the Open Signed-process from Symbian Signed.
If anyone is clueless what application to develop next, I'd be very interested in getting a finished and polished application that can do exactly what the prototype can do. Or is there already anything around on the web that I didn't find?
mopius | 05 July, 2008 12:22
![]() |
| CrystalMe explores offering all your private data to the public any time. |
The only issue was: it was difficult to come up with an idea. What is the unique advantage of hosting a web site on a mobile device? What can you do with it that would not be possible otherwise? What’s the real advantage compared to using a standard server PC or to simply providing the data from the phone through a small Java ME / Python / C++ / etc. application?
Take a look at the current status of the web, or maybe even the whole world. Everyone tries to guard his private data and is concerned about losing control over it, with governments and other companies constantly trying to accumulate as much information about you as possible.
On the other hand, especially younger people love to share their lives with social networks like Facebook, LinkedIn or many others. Who has not heard the stories about bosses finding out stuff about possible job candidates beforehand – stuff that those people would rather not like their boss to know?
The mobile web server is about sharing with the world, about offering information to the global internet. Today, the mobile device is your personal assistant that knows about many parts of your life. Your calendar, your contacts, your pictures, your position, ...
This led to the project we called “Crystal Me”. Think about Facebook and take the whole idea one step further. Total surveillance. Always available through the mobile web server.
|
| The user data presentation on the web of a very early development version. |
- The phone doesn’t get a GPS lock -> the user is probably indoors.
- The phone is moving in a regular pattern -> the user is probably walking.
- According to the phone calendar, there is a meeting in a few minutes -> the user is going to the meeting.
- The contact person that’s added to the meeting is from the other gender and it’s evening -> well, could be a date.
As you can see, there is a lot that you can reveal without any further knowledge just by combining the various bits of information that are available to you.
The research project from Manuel Riegler attempts to investigate the total loss of privacy. How far can you go about revealing your life? How can you combine the available data to generate useful predictions about the current state of the user?
Right now, the project is still in its early stages. A very early prototype that was mainly built to get to know the technology is available through Nokia Mosh and was now chosen as the winner of the Forum Nokia Mobile Web Server Challenge.
But that’s not the end of the project – in total, it will continue for one year, and Manuel will also write his Master’s thesis about the research that went into Crystal Me.
Keep an eye on the project page at Symbianresources.com!
mopius | 16 June, 2008 18:55
![]() |
| pyWuzzler - accelerometer-controlled table soccer on your phone. |
Austria is currently one of the host countries of the Euro 2008, the UEFA European Football Championship. Naturally, soccer is one of the biggest topics in our country at the moment, even though our chances of winning the tournament are, well, not so high.
To compensate for this, Benjamin Gmeiner and Yen-Chia Lin, two students of the Mobile Computing department of the University of Applied Sciences in Hagenberg (Austria), have developed a new application called “pyWuzzler”.
In short, it’s a table soccer game on a S60 phone, which you control through the accelerometer. After all, Austria won the world championship in table soccer in the year 2006, something that won’t happen too soon for traditional soccer.
The whole frenetic game might be a bit too difficult to play on a phone. Therefore, the students have reduced it to a head-to-head match of the two attacking players against the goalkeeper (controlled by an artificial intelligence). Score as many goals as you can within two minutes!
How to score a goal? It’s intuitive, just by turning your phone. Change the inclination of the phone to move the attacking players (red) to the right and left. Turn the phone to trigger a shot. The movement of the ball is based on a small physics engine to simulate accurate movement. With this control scheme, you can even perform tricks like in a real table soccer match, as can be seen in the YouTube video.
pyWuzzler is available for free from symbianresources.com. The source code is published under the Apache Licence.
mopius | 18 March, 2008 17:08
![]() |
| Play all the games you want on your mobile phone using mobiPad. |
There have been several attempts at building dedicated gaming controllers for mobile phones. One recent example is the Zeemote JS1, which is a small Bluetooth joystick that you can easily take with you. Another controller more closely simulates a traditional gamepad layout.
While these solutions might be good, there are some logical issues that might be problematic in real life:
All of those three issues are solved by the new mobiPad application developed by the students Alexander Erifiu and Mario Grammer at the University of Applied Sciences in Hagenberg (Austria) at the department of Mobile Computing.
In a nutshell, mobiPad allows controlling your entire phone with the Nintendo Wii™ Remote. This includes all games that you might have installed, as well as the rest of the phone like the media player. Essentially, the Wiimote is turned into a high quality wireless controller for your phone.
Tests have shown that it’s not the best way to simulate digital keys (pressed or not pressed) using analogous motions of the WiiMote. As a consequence, you will usually control the games using a traditional d-pad. In contrast to the predecessor WiiConnect / WiiRider (which allowed controlling a motorcycle game by using the Wiimote as a virtual handle of a motorbike – free download at symbianresources.com, the new mobiPad dropped support of motion control in favour of utilizing all keys as well as the d-Pad of the Wii Remote for optimal control of every game.
Another very interesting aspect is the recent ascent of touch screen dominated phones. A touch screen makes it impossible to play mobile games that have not been specifically designed for it. This situation is true for most of the currently available Java ME games, and already applies to most of the SonyEricsson UIQ-based phones – the keypad does not feature a joystick and the buttons are difficult for gaming due to their two-letter-input method. While this is a great feature, it just isn’t optimal for mobile games. Through mobiPad, you can play any standard game on those phones as well, no matter if they have QWERTY-keys or no keyboard at all!
![]() |
| Grizzle Dizzle is a free Java ME-based Bluetooth multiplayer-game that was also developed by Alexander Erifiu, Mario Grammer and Kristin Ließ. |
Alexander and Mario have released mobiPad as Freeware (donations are welcome), you can download it from their dedicated web site http://www.mobi-pad.com/. If you're searching for a new game to play using the Wii Remote, try Grizzle Dizzle, which was created by the same developers and Kristin Ließ, who did the wonderful graphics!
mobiPad is available for S60 3rd Edition and UIQ 3.x. The current version (1.0) is Symbian Signed and has been tested very thoroughly, but due to the nature as a non-commercial research project, it might not be 100% bug-free. Please inform the developers of any issues you might encounter. Future versions might also include the possibility to define a custom key mapping. This mostly depends on your feedback!
mopius | 04 February, 2008 14:28
Everyone who has spent at least a few hours developing in C++ for Symbian OS will know about Symbian OS system error and panic codes. No doubt one of the most “famous” is the KERN-EXEC 3 (null pointer exception). But what if you encounter an E32USER-CBase 71? What is the error -5? Nobody can know all the codes by heart, so you have to look them up:
![]() |
| The new PanicLookup-Plug-in allows comfortably searching panic and system error codes. |
Unless you are a perfect developer with centuries of experience, you will regularly experience errors codes. Therefore, the idea is obvious – an integrated error and panic code lookup tool for the Carbide.c++ IDE would be a considerable timesaver.
PanicLookup-Plug-in
Wolfgang Damm and Andreas Pum, two “Mobile Computing”-students from the University of Applied Sciences in Hagenberg, have just finished a plug-in for Carbide.c++, which allows fast and efficient lookup of error codes.
Quite some time was spent on optimizing the integration, in order to maximize the efficiency. For example, the plug-in automatically parses the debug output for panic codes – you just have to switch to the plug-in window to read the description, which is in turn directly taken from the latest Symbian OS 9.3 system panic reference.
Features
Additionally, the plug-in allows manual lookup, featuring specialized auto-completion. Once you entered the first few letters of the panic category, you can jump to enter the number by pressing TAB. The standard Symbian OS error codes can be retrieved by searching for “Error -5” or in the other direction by entering “KErrNotSupported”.
By default, the devices do not display the error codes so that end-users are not confused. To enable error display, copy an empty ErrRd-file to the C:Resource-folder of your phone through the pkg-file of your application. It’s even easier if you just install a small ErrRd-SIS file, which creates this file for you.
Download
The plug-in along with documentation and installation instructions can be downloaded for free from symbianresources.com. Of course, the developers would like to hear your feedback, so don’t hesitate to comment here or email them if you find it useful or if you have any ideas on how to further improve the plug-in!
![]() |
| For additional comfort, the plug-in automatically parses the debug output and instantly displays the description, which was taken right from the latest SDK documentation. |
mopius | 30 January, 2008 00:33
A short summary: ShakerRacer allows you to control a real RC car with the accelerometer of the N95. This means that you can turn and accelerate simply by tilting your phone. Read more at the previous Forum Nokia blog post.
![]() |
| Close-up of the modded RC car that can be controlled by the accelerometer. |
And we got countless emails asking for the source code.
Now it’s finally ready – we have just released the source code along with some documentation. You can download it for free at symbianresources.com! So (nearly) nothing can stop the fun anymore.
Especially with the latest version of ShakerRacer, it is very easy to control the car – and of course it’s a lot of fun. The great thing is that you don’t have to explain the concept to anyone. It’s just a natural way to drive.
We demoed ShakerRacer at an information exhibition for pupils interested at studying. Obviously, it drew a lot of attention when a small car races around on the floor and someone just tilts his phone. During the development phase, the car lost both bumpers due to some serious crashes – luckily, there was only a single small crash with one of the visitors thanks to the new speed limit mode :)
Some more information
![]() |
| The most natural way to control the car turned out to be the landscape mode. |
The Python application now uses the official Nokia Sensor-API by default. This allows using the mobile client with the Nokia 5500, N95 (Firmware 20+), N95 8GB, N93i and the N82. For the N95 with older firmware, you can reconfigure the code to still use the very nice aXYZ Python-module from Cyke64.
Some more pictures as well as the documentation and the source code are available from symbianresources.com.
mopius | 16 January, 2008 15:41

mopius | 27 November, 2007 21:34
Since the API to read the data of the acceleration sensor of the N95 has been released a short time ago, a lot of applications using it have been released. Some examples are the original moving ball-application from Nokia, the light sabre or Accelerinvaders. It’s finally possible to reach a bigger target audience than a few months ago when we released CarMeter and gBoarder, which were only supported by the Nokia 5500 Sport.
![]() |
| Control a real car in a natural way by tilting your phone! |
The result is called “ShakerRacer” (thanks to Adam Montandon for this great name!). Stephan Selinger, one of our professors, bought a normal RC car for about €90 and “tuned” it. Not in the traditional way, but instead he replaced the standard remote control component with an own microcontroller and a Bluetooth-module.
Using the Python module aXYZ from cyke64, it was possible to write a small application that translates the movements of the N95 acceleration sensor to commands that can be understood by the car. This enables you to go as fast as 30 km/h by just tilting your phone!
It is a bit similar to the control scheme of games like Excite Truck for the Nintendo Wii, with the huge difference that it’s now in real life. Another idea that has a bit in common is GroundSurf where a skateboard can either be controlled by your own movements (like the Segway) or with a PDA through a Bluetooth connection – but through the stylus on a touch screen and not intuitively like it is possible with acceleration sensors.
Of course connecting the tile of the phone with a real toy car involves you as a player a lot more than the traditional controller ever could, making it a lot of fun!
If you’d like to see it in action, check out the short video that we have made available at YouTube. Enjoy! As usual, you can find more information at symbianresources.com.
James Bond would have loved it...
mopius | 22 October, 2007 15:00
Application development for mobile phones is not so easy to get into in case you use native languages. For many applications – and especially for prototypes – “simpler” languages are preferable.
The most obvious choices would be Java ME or Flash Lite, but both have their own shortcomings and limitations, which don’t always justify their use. A better choice can be using Python for S60 (PyS60), which allows development in a very efficient way and at the same time offers greatly simplified access to many lower-level features of Symbian OS phones.
If you have not yet had the time to take a closer look at Python, the technical report from Bernhard Famler from the University of Applied Sciences in Hagenberg, Austria might be very interesting for you. On a few pages, he gives an overview of what makes the programming language special, how it is integrated with S60 and how you can distribute your applications – e.g. by building stand-alone applications.
Of course, for a more detailed look, you should take a closer look at the highly recommended “Mobile Python: Rapid prototyping of applications on the mobile platform”-book by Jürgen Scheible and Ville Tuulos. It has just been released at the Symbian Smartphone Show in London – if you didn’t use this event to get your own (signed) copy or at least one of his famous book covers with your own portrait on it :-) , you should order it as soon as possible!
The technical report is freely available at symbianresources.com.
mopius | 11 October, 2007 21:29
![]() |
| The case study contains a description of the solved issues when porting the "Heise News"-widget to the S60 Web Runtime. |
mopius | 01 October, 2007 22:32
![]() |
| WiiRider is a motorcycle game that is controlled with the Nintendo WiiMote - connected to a S60 phone! |
mopius | 13 September, 2007 12:04
![]() |
| Prototype of the Ninepoint Box in use. |
![]() |
| Closeup of a prototype Ninepoint Box. |
mopius | 18 April, 2007 22:48
Currently, I’m trying to release the S60 v3-port of the location based freeware game called “The Journey”. It uses the cell ids of the mobile phone network to determine the relative movement of the player, and connects this real-world information to the virtual gaming world of a small detective story.
New title screen of "The Journey" - now based on pure vector graphis.
Back in the days when the game was initially released, retrieving the cell id had been an undocumented feature. Meanwhile, the situation has changed and it’s possible to get the id through an official API. Unfortunately, accessing it requires Symbian Signed. So I decided to go through the Freeware Symbian Signed process.
Well, this was two months ago. If you go to the game website, you’ll see the game is still not released. This is not because the game has failed the tests. The reason is that I’m still waiting for the results.
I contacted the Symbian Signed-team twice. They told me that they can’t do much as the whole process is in the hands of Cellmania. So I decided to contact Cellmania, but never got a response…
Improvements
I think that it’s great that there is an opportunity to get freeware applications signed for free. However, in my opinion there are a number of things that have to be improved (well, in case this has not already happened lately):
Developing mobile applications can be fun – as some of you might remember, I recently released HourPower, which was developed in just one day and was released the next, as it didn’t require Symbian Signed. Up to now, it has already been downloaded more than 1000 times, with many positive comments and not a single complaint. As I said, it's fun.
"The Journey" lets you walk around in your real surroundings.
For “The Journey”, the story is different. In total, I spent a week working on Symbian Signed (eating up the limited free time). While this isn’t very motivating, the fun is now really gone when I already have to wait more than two months to be finally be able to release the otherwise 110% finished application. I don’t think the quality improved so much that all this is justified.
Please don’t understand this article as a criticism to Symbian Signed in general or the team working on it at Symbian. They’re doing a great job and are quick and helpful with their responses. However, the good idea of the Freeware Symbian Signed process has to be taken further and improved in many areas.
mopius | 10 March, 2007 18:57
Yesterday, I had an especially hard time getting up in the morning. This made me think about available tools that can help – and how these can be integrated with mobile phones. After all, you hear from time to time that the alarm clock in a mobile phone is one of the “killer”-applications, so it’s justified to think about it in more detail.
After all, every single human on this planet has to get up each day. A quick calculation reveals that in an average lifespan of 80 years you have to stand up nearly 30,000 times. Nowadays there are cars that automatically help you close your door if you don’t do it properly, but there are surprisingly few products available that assist you in the morning.
The Progressive Alarm Clocks are very interesting: they monitor your sleep and wake you up in the right moment. Quite helpful. But the idea has already been around for quite some time and I still have not seen a single one of those ready for sale in a real shop. Integrating this technology into a mobile phone would certainly be a fascinating – however, judging from how long it currently takes until they’re readily available, it might still take some time till this is possible.
Let’s reduce the expectations and activate the alarm clock that can project the current time to the ceiling of your room. A lot better than looking at the small display of an alarm clock on your bedside table. It’s almost certainly just a matter of time till small projectors are integrated into mobile phones. It’ll be interesting to “misuse” the projector for greatly enhancing the built-in alarm clock.
Until then, there’s another alternative – which is (in my opinion) even better than projecting the time. If someone/something reads the time for you, you don’t even have to open your eyes. Yes, I know that clocks are available for this, but at least I don’t have one. Therefore, I decided to develop a very simple application that does just that: it speaks – and nothing more. No fancy UI, nothing. Just place the app. on a softkey of the standby screen, press the button and hear the current time.
The new application called “HourPower” is using the built-in Text-To-Speech engine of the S60 3rd Edition phones (thanks to SymbianExample for revealing how to work with this non-documented feature!). The Text-To-Speech engine is multilingual and automatically adapts to the pronunciation of various languages, depending on the current phone language. Therefore, “HourPower” makes use of the phone language setting as well (thanks to Forum Nokia Champion vin2ktalks’s article at NewLC). Currently, “HourPower” is able to talk in English, German and French (which is untested as of now; my phone doesn’t support this language). You might not get the best results if you have your phone in a different language, as the synthesizer seems to pronounce words in the local dialect of the current language – but you’re very welcome to submit extensions for your favorite languages to the open source application!
I’ve just put the application online for free at symbianresources.com, feel free to download it and to send your feedback!

Thinking about what mobile phones can do except messaging and voice calls is one of my main interests. At the department of Mobile Computing at the University of Applied Sciences in Hagenberg (Austria), I can work on those ideas every day by collaborating with students, researching and - well - thinking.