Monday, May 30, 2011

Weekly report: 5/25 - 5/31

The goals for this week were to:

  • Figure out if there was a "mid-way" solution between using a smart phone to receive/send all sms messages, and whatever industrial solutions American Idol and the like uses.
  • Continue researching, corresponding with people to ensure that our solutions will work. Finding out what similar solutions are already out there.
  • Get started on smart phone development: Symbian, Blackberry, etc.
  • Research the plausibility of a facebook app
Most of my time was spent with the first part, and I've made a lot of progress in that area. Essentially I learned that in order to do what we want, the only options are to use a smartphone as we previously learned, to use a commercial SMS gateway, and to use a GSM modem connected to your computer. (Good link summarizing that is here.) The latter two options are described below:

SMS Gateway

This option was the more expensive one, closer to the "American Idol"-like solution. It involves basically having another company take care of the technical details. I contacted a bunch of companies offering these services:

twilio - doesn't deliver sms to destinations outside US / Canada

textghana.com - sent email, no response

smsjunction - they responded: "As of now don't have stable coverage for Ghana"

routomessaging - sent email, no response

ozeki.hu - They claim to be the largest provider of sms gateways. They have a great api guide. They responded to my email by recommending their product "Ozeki NG SMS Gateway".
They also have great guides on how to set up gsm modems:
http://www.ozekisms.com/index.php?owpn=101
http://www.ozekisms.com/index.php?ow_page_number=201

Ozeki is by far the best of these that I've found. However, even if we went with them we are still required to purchase the required hardware (a GSM modem, computer to run software, SIM card from compatible Ghanaian service provider, etc). Furthermore, their pricing is set up for extremely large traffic clients (the cheapest is for 5 messages / minute, for about $850 USD+any separate fees the Ghanaian service provider charges).

GSM Modem

Since we'd have to purchase the hardware anyway, the mid-range solution would be to either write our own software to communicate with the GSM modem, or find something free out there. There are some good resources I've found and studied for implementing our own solution:

receive and send from gsm using visual basic:
http://www.codeproject.com/KB/cs/SMS.aspx

tutorial about gsm:
http://www.developershome.com/sms/GSMModemIntro.asp

But I first tried to find something that already existed. Fortunately something like that exists and is highly acclaimed. Frontlinesms seems almost custom made for us, just check out their mission statement:
A lack of communication can be a major barrier for grassroots non-governmental organisations (NGOs) working in developing countries. FrontlineSMS is the first text messaging system created exclusively with this problem in mind.
By leveraging basic tools already available to most NGOs — computers and mobile phones — FrontlineSMS enables instantaneous two-way communication on a large scale. It’s easy to implement, simple to operate, and best of all, the software is free. You just pay for the messages you send in the normal way.
Their software is free, and has been used by tons of other groups in order to establish sms services in 3rd world countries. I found one person who is using frontlinesms in Ghana, and I contacted him to get experiences and to find out his success rate (no response yet). Finally, the frontlinesms website claims the following uses are implemented already in Ghana:

  • Helping citizens monitor elections
  • Fundraising for charity football matches
  • Interaction with audiences in radio broadcasts
  • Tracking students returning to secondary education using surveys
  • Providing automated responses regarding drug authenticity
  • Communication with microfinance clients about their loans
  • Allowing people to report human rights violations or other incidents
  • Empowering local communities to express and convey their opinions

The cost to implement this would be considerably less: we just need the hardware, and need to pay for whatever monthly Ghanaian service provider charges there are.

Implementation


To get this to work, we first need a GSM modem. This can be a phone that allows sending and receiving of AT commands, or (more reliably) a dedicated modem. We need the intersection of devices which:

  • Work in Ghana
    • According to this website, almost all Ghanaian service providers support GSM 900.
    • I asked MTN Ghana, and they responded that to use their SIM cards, we need a phone that has "the frequency bandwidth of 1800/900".
  • Work in America - this is for testing purposes. As long as we have an unlocked device (one that allows us to use sim cards from different service providers; I emphasize because popular modems such as the T-Mobile Jet are locked to T-Mobile), every known US service provider supports at least GSM 900.
  • Work with a T-Mobile SIM card - this is again for testing purposes.
  • Work with the software we decide to use
  • Can handle a reasonable load (this rules out all old phones)
Several devices fit all of these requirements, namely the recommended modems at the top of the Ozeki list I linked. Only one of these, the "HUAWEI E220 3G WWAN HSDPA UTMS USB MODEM 7.2M", is USB (the others are serial) and so I placed an order for one, it should arrive in the next few days.

Until then I'm trying to get used to the frontlinesms software, and have started testing it using my own phone as a modem.

Other Stuff

Haven't gotten around to the facebook and smartphone app stuff yet. However my initial research with the smartphone apps do not bring optimism: the development environments for android, iphone, symbian, and blackberryOS are too different to easily create a unified solution. Learning, developing, and testing for all of them may be too implausible for this summer.

No comments:

Post a Comment