Join Now

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.

Mobile Surround Sound

mopius | 01 September, 2008 11:27

3D Sound on current mobile phones might mainly be a marketing gag – like the sound effects found on Nokia phones like the N95. It certainly does sound nice to have your ringtones swirl around and it works surprisingly well. But of course, it’s just simulated surround with two small speakers that are close together.

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).

Automatically Calling Back Saves Money

mopius | 26 August, 2008 18:18

Auto Call Back
Auto Call Back can help you to save money.
Starting with today, I'm now also on one of the hugely popular all-inclusive phone tariff plans. In Austria, every operator currently has a plan with a certain number of minutes (usually 1000 or more) included - essentially, a flat rate for around €19/month.

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.

Automatic 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?

Abandon your Privacy

mopius | 05 July, 2008 12:22

CrystalMe explores offering all your private data to the public any time.
CrystalMe explores offering all your private data to the public any time.
When Nokia released the Mobile Web Server, we were always thinking, “There is more to this technology than is initially visible”. Just think about it – you carry a whole, dynamic web server around with you all the time. It offers full access to the device and all the data contained on it. You can essentially turn the mobile user from an information consumer to the source of new information, not only in the sense of sending out SMS and making calls, but providing data to everyone on the world, without any restrictions.

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?

Sharing your data

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.

Accumulating data

The user data presentation on the web of a very early development version.
The user data presentation on the web of a very early development version.
Through the intelligent use of sensor data, you can find out a lot more about the user than you might think. An example?

-    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.

Crystal Me

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!

Euro 2008? -> Table Soccer on your phone!

mopius | 16 June, 2008 18:55

pyWuzzler - accelerometer controlled table soccer
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.

Mobile Game Controllers: Problem Solved!

mopius | 18 March, 2008 17:08

MobiPad
Play all the games you want on your mobile phone using mobiPad.
The article „Ten plausible things that would be really cool on N-Gage“ recently suggested that a Bluetooth game controller should be released for mobile phones. It’d greatly increase the way you could play your games.

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:

  • Some controllers require a specific SDK in order to use them on the phone – currently, not many games support such proprietary SDKs, making the adoption of those controllers some kind of a hen-and-egg problem.
  • You have to buy extra hardware that you can only use for mobile phone gaming. Most likely, only very few will consider themselves as hardcore phone gamers to go into a shop and buy gaming hardware that they can only use for their phone.
  • Compared to game controllers for game consoles, the controllers for mobile phones are selling at much lower volumes. As prices usually go down with volume, you’ll not get the same bang for your buck / the same build quality for a dedicated mobile game controller.

mobiPad

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!

Summary & Download

Grizzle Dizzle
Grizzle Dizzle is a free Java ME-based Bluetooth multiplayer-game that was also developed by Alexander Erifiu, Mario Grammer and Kristin Ließ.
Getting back to the start of the posting, you can see how this solution solves the issues with dedicated mobile game controllers described above:

  • You don’t need an SDK for using the Wii Remote to play games. Just start mobiPad and connect it to the WiiMote. The application will be active in the background and transform the wireless control input into simulated key input.
  • The Wii Remote is of course no specific mobile game controller. Use it at home for your console, put it into your rucksack when you’re planning to travel and want to have a better gamepad with you.
  • Due to the enormous experience of Nintendo producing game controllers and the huge volumes, the build quality of the controller is great and the price tag is good considering this.

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!

Efficiency Boost - New Carbide.c++ Panic Lookup Plug-In

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:

  1. The PanicLookup-Plug-in also supports manual search of panics as well as standard Symbian OS error codes.
    The new PanicLookup-Plug-in allows comfortably searching panic and system error codes.
    Of course, the panics are documented in the SDK-doc. But accessing it means going through the start menu to open the SDK doc and then navigating through a huge hierarchy of the index to get to the list: Symbian OS v9.x -> Symbian OS reference -> System panic reference -> KERN-EXEC -> ... go through a long list to find your code... The search function will list the codes as well, but somewhere hidden in lots of results. Error codes are even more difficult to find.

  2. The famous NewLC Symbian OS Error Codes-list. This has been one of my favourite pages since I started Symbian OS development. A very comprehensive list, containing almost all codes.
    However, you have to start the browser, fire up the bookmark or search in Google for something like “Symbian error codes” and then search the error on the page. Additionally, it does not list the panic codes.

  3. Similar lists are of course available at the Forum Nokia Wiki. But it has the same restrictions as the previous list, requiring you to fire up the browser and get to the relevant page somehow.

  4. Some Excel-spreadsheets are floating around the web from time to time. They’re nice, but who really wants to fire up Excel just for looking up an error? Again, no panic codes included.

  5. There’s a Python-tool that allows easily looking up the error codes on the command line. But you have to remember it, fire up the command prompt and enter some command to fire up the tool (which you have to remember, again). Again, only error codes and no panics.

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!

The PanicLookup Carbide.c++ Plug-in automatically prints the full error description for any panic reported by the emulator.
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.

ShakerRacer is now Open Source!

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 for ShakerRacer.
Close-up of the modded RC car that can be controlled by the accelerometer.
We have published a video of the app in November 2007 – since then, a lot of things have happened. The video at Youtube is currently at a whopping 105,000 views. The Forum Nokia Blog entry has been read 10,000+ times. We improved the code and added several new features, e.g. a speed limit mode for demonstrating the car at exhibitions.

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

How to control the car by tilting the mobile phone.
The most natural way to control the car turned out to be the landscape mode.
Keep in mind that the phone cannot simply connect to an out-of-the-box RC car, as the standard wireless remote control of a car uses some proprietary protocol and technology for communication. Only by adding a microcontroller + Bluetooth module, you can make the car understand Bluetooth and enable it to communicate with the phone. Stephan Selinger has written some short instructions on how to accomplish this, but it requires some hardware ownership as well as –knowledge.


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.

 

3D games and more – Java ME course materials available

mopius | 16 January, 2008 15:41

A few minutes ago, the last upload was finally finished and now symbianresources.com does not only feature loads of Symbian OS-related projects and tutorials, but also the course materials of the introductory Java ME course from the Mobile Computing-department of the University of Applied Sciences in Hagenberg, Austria - all available for free.

The slides and challenges are targeted at students with basic knowledge of Java and introduce the specific concepts of the Java Platform, Micro Edition. With almost 400 slides/pages, they cover quite much, but of course do not go too much into specific details that wouldn't be relevant for teaching.

Some examples of the exercises, where solutions are provided with full source code:
  • A mobile 3D car racing game framework, created with JSR 184 (m3g). Includes: the first basic steps in creating your own 3D scene with Blender, an open source 3D package written in Python, and how to display this 3D scene on a mobile phone.
  • A client for a multiplayer “Asteroids”-like game (server components and game protocol were developed by my colleague Stephan Drab).
  • Your own small game, complete with an enemy, bullets, highscores and everything you want from a game – well, almost everything, at least. Based on the boss fights of Schlabo 1, a text mode game that I wrote in QuickBasic at school many years ago.
If you’re interested, take a look at the new Java ME section at symbianresources.com.

I’ve been rather silent on the blogs lately - but now that the semester is coming to an end, you can expect more content to be released soon, including:
  1. ShakerRacer source code and hardware setup instructions
  2. Updated and improved Symbian OS course materials (@ symbianresources.com)
  3. And of course, some fascinating new student projects... I'm looking forward to the results myself :)
Some of the exercises that are part of the Java ME course materials at symbianresources.com

ShakerRacer: Real RC car controlled with the N95 acceleration sensor

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.

ShakerRacer: Control a real car in a natural way by tilting your phone!
Control a real car in a natural way by tilting your phone!
Now we wanted to take the acceleration sensor of a mobile phone to the next level and use it to control something literally “bigger” than an application that is running on the phone itself.

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... 

 

Mobile Application Prototyping with Python for S60

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.

A Case-Study of Porting Widgets to S60

mopius | 11 October, 2007 21:29

With data transfer charges for mobile devices finally going down, mobile widgets might possibly be the next big thing to conquer the mobile phone software and at the same time the attention of the users.

The case study contains a description of the solved issues when porting the "Heise News"-widget to the S60 Web Runtime.
As you might know, Nokia has just released the beta-SDK supporting widgets for the upcoming S60 3rd Edition, Feature Pack 2. This allows more seamless integration with the mobile phone than their previous Java ME-based WidSets-software.

Before this was published, an early beta had already been part of the S60 3rd Edition FP2 Beta-SDK for MIDP. This SDK supports the Web Run-Time environment for developing and testing widgets in the emulator, but does not include any further documentation.

Christian Kaar from the University of Applied Sciences in Hagenberg tested the new engine and tried to port several Apple Dashboard widgets to the S60 engine.

Even though Nokia has been a few days too fast for us with publishing their official documentation, his technical report is still very interesting to read. After an overview of widget technology, he included a case-study of porting two widgets, whereas the official documentation only points out the general issues.

You can download and read the technical report at symbianresources.com.

Wii Controller + S60 Phone = Motorcycle Game!

mopius | 01 October, 2007 22:32

Controlling a game on a mobile phone is often a bigger challenge than the game itself — with tiny buttons that are close together, playing a game can be cumbersome and inaccurate. Therefore, designers always have to adapt the games to the keyboard of mobile phones, which naturally limits the possibilities.

WiiRider
WiiRider is a motorcycle game that is controlled with the Nintendo WiiMote - connected to a S60 phone!
For gaming consoles, dedicated gaming hardware makes it possible to play complex and involving games. One of the most recent examples is the success of the Nintendo Wii. Its wireless Bluetooth controller includes great features, like motion sensors. Therefore, many projects have already tried to use it for many other things — e.g. for controlling a roboter.

WiiConnect / WiiRider is a student project by Alexander Erifiu and Mario Grammer (developed at the University of Applied Sciences in Hagenberg), which now enables you to use the controller with your S60 phone.

WiiConnect is a Bluetooth-"driver" for S60 phones. It allows using the features of the Wiimote, including the 3D accelerometer and rumble functionality. WiiConnect is very easy to use — activate Bluetooth on your phone, start the driver and you’re connected to the Wiimote. This application offers the data of the WiiMote to other applications through an internal socket connection.

WiiRider is a motorcycle game, based on Java ME. The controls simulate driving with a motorcycle on a country road. You have to hold the Wiimote like the handlebar of a motorcycle. To accelerate, you symbolically open the throttle by turning the controller. Moving left or right is equally controlled by your motion – you do not have to press any buttons to play the game. To make the game more challenging, you have to evade several obstacles like cows and pigs, but you should try to collect petrol cans to fill up your energy. The goal of the game is to keep up as long as possible!

The services could also be used by other games, of course it would be great to see more games use the Wii controller using this new project. The new N-Gage platform does also looks very promising - let's hope that it will contain games that make innovative use of the mobile phone features like the camera (remember Mozzies from Siemens Mobile?) or acceleration sensors.

You can download WiiConnect / WiiRider for free from symbianresources.com - the zip-file also includes the source code of the WiiRider Java-game, so that you can develop your own games using WiiConnect!

A new way of using the mobile phone for the visually impaired

mopius | 13 September, 2007 12:04

Nowadays, more and more features are added to every new generation of mobile phones. It’d be hard to find a phone without camera, mp3 player or advanced games. However, sightless people don’t get a chance to experience these fascinating possibilities.

Prototype of the ninepoint box in use.
Prototype of the Ninepoint Box in use.
Without eyesight, there are currently only two possibilities for mobile communications:
  • Text2Speech-software: This is problematic due to the privacy requirements – it’d be hard to use in public. Also, navigation through menus is slow. Another disadvantage is that it’d be nearly impossible to put text2speech-software on top of the existing UI of mobile phones, as today’s interfaces are usually very graphical. For example, even the alarm clock application couldn’t be read by software, as the time is usually presented in a graphical way.
     
  • Special Braille PDAs: They are comfortable to use, but very big and expensive, making their daily and mobile use problematic.
Why not use the power of modern Smartphones to provide a new and better solution? A project started by Ewald Kantner at our University of Applied Sciences in Hagenberg tries to address this issue.

Ninepoint Box

Closeup of a prototype Ninepoint Box.
Closeup of a prototype Ninepoint Box.
A small, external box with several Braille components and keys for easy input connects through Bluetooth to the mobile phone. A special Python-application on a Symbian OS phone is responsible for communication and for providing the special non-graphical user interface.

The interface has to be highly optimized to be able to efficiently access the most important features of phones, like making calls, sending SMS and using the alarm clock or calculator. Python proved to be the ideal choice for these tasks as its performance is sufficient and it enables better access to the required phone services than Java ME. On the other hand, using standard C++ would be very difficult due to the vast amount of different system APIs that are involved – of course, they’re very powerful but therefore also complex.

The resulting solution is relatively cheap, easy to use and very transportable. It has been a big challenge to design the hardware and to test it with the target group, as the requirements are hard to meet. In the current status, fully working prototypes are finished and the final hardware design is on its way.

To bring this product to the market, Ewald Kantner has started his own company “Ninepoint Systems”. Currently, he is searching for investors to bring the solution to the market – which is looking forward to the solution, according to the feedback from Europe’s biggest fare for sightless people, “Sight City”.

Freeware Symbian Signed: 2 Months+?

mopius | 18 April, 2007 22:48

The Journey
New title screen of "The Journey" - now based on pure vector graphis.
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.


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):

  1. Improve the test criteria: It took me a very long time to go through the extensive test criteria document.  Especially time-consuming was the privacy dialog at the beginning, as it required a new .ini-file, a dialog, translated text, etc. It would be a lot easier if there was a reference implementation for something like that, along with the standard text translated to all major languages.

    To go even further, wouldn’t it be possible to make the criteria less strict for freeware applications, where some unpaid developer has to do everything himself? Are the privacy dialog, low memory startup, backup and restore, … really crucial to a small freeware app.?

  2. Improve the test criteria, part II: Even more time consuming has been figuring out that the backup process can’t be tested with a developer certificate. Also the AppTest Lite-tool didn’t recognize the incoming call and failed this test (along with a few similar ones).

    I had to search the internet to find “solutions” for those two common problems. As everyone will experience them, issues like that should be highlighted in the test criteria, instead of letting developers test the backup process over and over and read long documents - until they finally decide to consult some developer forums and discover that everything was correct in the first place.

  3. Improve the signing process: There should be immediate feedback that the application has been received and is starting to be processed. Then, there has to be a way to query the current status, along with a guaranteed maximum time, which should be shorter than two months :)

Summary

Screenshot of "The Journey"
"The Journey" lets you walk around in your real surroundings.
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.


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.


It might also be possible that I just had bad luck. I’d be very interesting in comments from other developers who have already gotten their freeware applications Symbian Signed – or are still waiting for it.

Mobile Morning (Plus: New S60 Text-to-Speech App!)

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.


Forget your projecting alarm clock!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!


 

HourPower reads the current time using the S60 Text-to-Speech engine.

 

 

1 2  Next»
 
 
Powered by LifeType