Saturday, March 14, 2009

SMS Transport for GSoC 2009

It is my first time volunteering to mentor students for the Google Summer of Code 2009. The Sahana Free and Open Source Software community has been taking part in GSoC since 2007. This year Google has offered 10 slots to begin with; meaning 10 student will be provided summer funding to develop code for Sahana. There were 34 applicants with project ideas for Sahana.

One of my initial ideas had been to develop a SMS transport that mimics IP where data can be exchanged between a mobile client and a server (database). This is to address the problem faced by emergency coordinators in communicating field data to central levels and receiving information during the response stage of a crisis. Network congestion is a fact during the peak or initial stages of a crisis. Hence, voice channels are the first to shut down. Other means such as GPRS signals are not always up to par and in most cases would be weak in covering remote location that are in the periphery of the footprint of cellular towers. However, SMS that works on weak signal strength, a store-and-forward communication technology, even though may not send the information in real time, would eventually get the data across to the terminal devices.

Presently Sahana, a web browser application, reliant on Internet connectivity for data exchange, is developing a class of mobile phone and personal data assistant hand-held device applications to operate in the field. These hand-held devices are handy effective tools in data collection and reception. Although GPRS exists as means for providing connectivity, given the question on reliability, it is important that a redundant or alternate channel for transferring information is in place, if Sahana applications are to be effective across available communication network platforms.

The problem that this project promises to solve is to develop an SMS transport layer that can communicate with the Sahana applications during times of need. This proposal outlines the goals and design of the envisaged software object that will work as a general protocol to support all Sahana modules for networking with hand-held terminal device applications.

The Sahana community has definitely selected the student who has provided some original ideas and proven skills to develop the client and server side components. Some aspects that the developer must keep in mind are compressing the strings to minimze on SMS tariffs are multifold relative to GPRS, sequencing the SMS pages to ensure they are chained back at both server and client sides. Some thoughts such as use of binary XML has been suggested to structure the server calls or client requests and data exchange between the Sahana clients and Sahana servers.

I'm excited to mentor the student in developing this component as part of GSoC2009 for Sahana.