The Where R U? project is supposed to let people figure out where their friends are by sending an SMS using a special format. The mobile phone that receives this special SMS will need the Where R U client installed and a bluetooth GPS connected. The phone will recognize the SMS, then fetch the phones location from the GPS, and send this information to a server using the XML-RPC protocol. The server will then fetch a map based on the GPS information, and send this back to the user who wanted the information in the first place. The server is supposed to be able to send information back to the user in several different formats. This might be as an MMS, to an email address, og maybe post the information as an RSS feed. Click on the figure below to see the information flow in the Where R U project.
The mobile client is an application that can be installed on a series 60 mobile phone. The application will be written in the Python programming language using Python for Series 60. The mobile phone is required to install Python for Series 60 before the Where R U application. When started, the application will listen on the inbox of the phone for incoming messages. Once a message is received, the application will scan the message to see if it has the correct format for Where R U messages. If so, the application will connect to the GPS and fetch information from it, and send this information to a server. The message will be sent as an XML-RPC message using HTTP as transfer mechanism.
The server application will receive XML-RPC messages from Where R U clients, and do whatever these messages tells the server to do. The server will fetch a map from an online WMS based on the GPS coordinates it receives, and it will send the image to the user who asked for the information. The different formats that the server will support is not yet decided, but some ideas are MMS, mail and RSS. The server application will most likely be implemented using the PHP programming language.
This report will contain information about how I went about to do the Where R U project. The report will be a typical scientific paper containing information such as: Introduction, Methods, Results and Discussion (IMRaD) along with some other information.
So far most of the work has just been to test out the different parts of Python for Series 60.
I have tested out the Inbox module that lets an application listen on the inbox for incoming messages. The application intercepts the message before the mobile phone tells the user that it has received a message. Because of that the application can do this part without the interaction of the user (if the application is configured in such a manner).
I have also made some attempts to connect to the bluetooth GPS but this requires interaction from the user, so more work will be done on this part so that the application can work without any interaction. I have however managed to fetch information from the GPS.
Regarding posting information to an external server from the phone, a python xmlrpc library will be used. To send the message the user must connect the mobile phone to the net, and this part requires interaction from the user. Some tests have been made and I have sucessfully sent XML-RPC messages from the mobile phone to a simple XML-RPC server implemented using PHP.
In other words, most of the parts of the client has been tested, so now I just have to put them together.
No work has been done on the server application yet. I have however made a small implementation of an XML-RPC server using PHP for testing purposes.
Some parts of the project report has been started. The portfolio 2 assignment in the Forskning, skriving og publisering course will work as a starting point for the final report, although it has to be reorganized. The portfolio 2 assignment can be found here. The living report for this project will be found on this blog as soon as it is started.
As stated above, the parts of the application will have to be put together in one piece of software. More work will be put in trying to make the application as silent as possible (i.e. no interaction from the user is required). There are some parts of the application that this might not be possible with, such as connecting the phone to the net, but there are some parts that I have made by now that can be made more silent).
The application should also include some options that users can set. The most important option might be to enable the user of the phone to decide on who will be allowed to request information using the Where R U application. This might be as simple as just defiing a list of phonenumbers that can request information.
The format of the SMS must be set as well. The format should be as easy as possible. Some examples:
- "whereru mms"
- This would send the answer as an MMS back to the user containing a map.
- "whereru email@example.com"
- This would send a mail to firstname.lastname@example.org along with the map.
Those are just examples. As stated, the format has not yet been decided.
As stated, no work has been done on the server application yet. The application will be an XML-RPC server that will receive messages from Where R U clients, and send information to the user that wanted the information.
A living version of the document must be uploaded to this blog, and continuous work will be made to it.
A powerpoint presentation has been made to present the Where R U application. It can be downloaded here.