Getting Started

The following section has information for government agencies, UN affiliated organizations and NGO/CBOs interested in implementing their own RapidSMS project.

Because one size does not fit all, the RapidSMS framework was designed to be customized for specific use-cases. While there are increasingly preconfigured applications being created for RapidSMS, most field programming will continue to benefit from applications designed specifically to meet the needs and demands of their stakeholders.

The technology behind RapidSMS is the simple part. However, deploying RapidSMS successfully as a key component of larger communications or data collection systems takes careful planning and good coding. It is generally recommended that a field program manager with RapidSMS implementation experience work closely with software developer(s) to ensure applications are appropriately designed the first time around.

When is RapidSMS appropriate?

When you need a large-scale (enterprise) solution

  • Collected data can be accessible to many people in many locations via the internet
  • Thousands of users can interact with your system simultaneously

When you need a customizable solution

  • Certain actions can be triggered in specific circumstances
  • RapidSMS can integrate with existing software tools and services

When you need a robust solution

  • Thousands of users can interact with your system simultaneously
  • Collected data is constantly available via the internet

When your end users only have very basic phones (text/voice)

  • End users do not need “smartphones” or Java-enabled phones or computers to interact with RapidSMS

When you want a scalable solution

  • A single RapidSMS system can handle one village or one country RapidSMS can use GSM modems for small volumes and can integrate with mobile network operators or 3rd party solutions for large volumes.

When is RapidSMS not appropriate?

Implementing organization lacks technical and software development expertise

  • Experience with command line tools and server administration is necessary for installation and configuration
  • Experience with object oriented programming is necessary for customization

Implementing organization cannot procure necessary equipment

  • In most cases, physical access to a low-end server is needed (can be an old desktop PC). Internet connectivity for the server is necessary for email functionality and the website portion of RapidSMS (internet connection should not be behind a restrictive firewall so programmers can update remotely and so automatic backups of data can occur).
  • A GSM modem (with a non-prepaid SIM card) or an arrangement with a mobile network operator or 3rd party vendor is necessary to send and receive text messages.

End users have data-enabled mobile phones and constant internet connectivity

  • Internet-based (rather than SMS-based) solutions may be more appropriate in these situations

Implementing organization does not have enough time for proper negotiations or planning

  • RapidSMS is designed for long-term large-scale projects with specialized needs, which necessitate negotiations with mobile network operators and lots of planning.

Hardware Basics

There are many different ways and combinations of equipment that can be used to deploy a RapidSMS project — and the wide variety of requirements and contexts of different projects means that there is no one-size-fits-all recommendation. The two most popular scenarios, as well as the specific components that must be procured are:

Server

  • Securely hosted with reliable electricity (or connected to a UPS unit) and good cell phone coverage. You will need physical access to the machine to install the modems.
  • Server does not need to be a recent or powerful computer (can be a low-end desktop workstation)
  • Internet connection to allow remote access for updating, troubleshooting, etc. Ensure that ports 22 (ssh), 9418 (git), and 80 (http) are not blocked by a firewall. When possible, a static IP is more desireable than a dynamic IP address.
  • Linux operating system (latest version of Ubuntu is recommended)
  • A routine backup system with external hard drive, USB or RAID drives is recommended.

GSM modem(s)

  • One for each major mobile network model that is compatible with RapidSMS (see http://wiki.github.com/adammck/pygsm/). Multitech MTCBA-G-U-F4 is recommended.
  • SIM card for each modem — may need to place a call from a handset to activate the card, depending on the network.
Tip: Often it is cheaper to send text messages to numbers on the same mobile network than sending from one mobile network to another. RapidSMS can have multiple GSM modems attached to the same software system. Although additional modems are an additional expense, users may be more inclined to participate if they are able to send within their own mobile network.

For more information and detail, download the How To RapidSMS Guide or see the RapidSMS Documentation.

Analysis and recommendations for action are key in this and there needs to be someone dedicated to doing this and brining forward recommendations to the country office.