Professional Documents
Culture Documents
Verson 0.7
15 April 2010
Acknowledgements
Thanks to UNICEF, Dimagi, Millennium Villages Project, ThoughtWorks, Tostan Inter-
national, and the entire RapidSMS community.
Special thanks to IDEO, IDDS, and McKinsey & Co. for guidance and inspiration.
2010 Evan Wheeler All photographs 2009 Evan Wheeler unless otherwise noted
Some rights reserved Some rights reserved
More information 39
So far RapidSMS has been customized and deployed with The resulting software is practical, flexible, and simple
diverse functionality: remote health diagnostics, nutrition enough to meet real world needs.
surveillance, supply chain tracking, registering children in
public health campaigns, and community discussion. RapidSMS is not constrained to any particular kind of
mobile device: any mobile phone that can send and
RapidSMS was designed to be customized for the receive text messages can interact with RapidSMS.
challenges of governments, multilateral, international-
and non-government organizations, and development End users never need a specific device or to install
practitioners: working effectively in spite of geographical any software on their phone. RapidSMS is focused on
remoteness of constituents, limited infrastructure (roads, commonly available, existing infrastructure to allow for
electricity), and slow data collection (due to paper-based replicability and scalability.
records, slow courier systems, etc).
4
Built to scale Flexible for your needs
RapidSMS is built for robustness and high availability. There is no single tool or mobile application that can be
RapidSMS is designed for horizontal and vertical universally applied to fit all project and stakeholder needs.
scalability. RapidSMS is designed for easy integration with existing
workfows and other software systems. RapidSMS can easily
Horizontal scalability is the ability to be easily replicated export data to excel for further analysis, query existing
or expanded into other domains. The modular nature databases, and communicate with other software systems.
of RapidSMS functionality is designed to allow a single
deployment to be used for a variety of purposes. The RapidSMS community strongly advocates for an
For example, a system that initially collects nutrition atmosphere of collaboration with other effective platforms,
indicators can easily add capabilities to collect food and a concerted effort to ensure interoperability.
inventory data to give a more comprehensive view of a
complex environment. RapidSMS is the first platform to implement SPOMC, a
standard protocol for the interoperability of SMS software
Vertical-scalability is the ability to effectively handle developed by members of the Open Mobile Consortium.
increasing workload. If a product cannot meet the
demands of a growing population of users, it will be
limited in its value and reliability. RapidSMS was
designed to efficiently process vast amounts incoming
and outgoing messages to large numbers of users.
Projects successfully demonstrated at a local level
can easily and confidently be deployed at a national or
regional levels.
5
Free and open source
6
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 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
7
When is RapidSMS not appropriate?
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.
8
Milestones & Timelines
Phase 1: planning & scoping
Desk review - research similar initiatives and project context (network coverage, phone ownership)
Initial scoping & feasibility - technical and subject experts meet with partners, mobile providers, and end-
users to formulate management, expense, system, and training plans
Agreement with management, mobile providers and partners on timeline, budget and rollout
Secure necessary equipment
Implementation
Participation
Concept design
10
Excellence in concept design means the project is feasible; excellence in implementation means
the project is sustainable; and excellence in participation means the project is desired by its
intended users.
sustainability
desireability
feasibility
Each project has its own balance of desirability, sustainability, and feasibility. For example, low
literacy (a component of feasibility) can be offset by a highly-motivating service such as an
unprecedented way to stay in contact with their relatives (a component of desirability).
11
Interrelated factors
awareness critical mass
quality
sustainability support
motivation
expense
Many factors influence a projects
sustainability, desirability, and
desireability feasibility.
behavior
training
usability feasibility
context
competency
literacy
All of the interrelated factors must be considered. Each is described on the following page, and are arranged
beginning with factors requiring mostly programmatic expertise (knowledge of project focus such as logistics or
nutrition) and ending with factors requiring mostly technical expertise (whether from a software developer or nutrition
expert, for example).
Please keep in mind that often each factor requires a combination of programmatic and technical input for success.
12
programatic
critical mass sufficient participation in order to get value from system. early
adopters/influencers to promote peer learning
The previous page and following worksheet are intended as a thought exercise to help guide the
development of your RapidSMS project. All of these factors are interrelated, but try to think about
each separately -- this will help to identify weaknesses and areas that need more attention.
Does your project plan and implementation strategy cover all of these factors? How well? Do you
understand your projects context and intended users well enough?
On the next page, consider each factor with respect to your current project plan and implementation
strategy. Get your colleagues to do complete the page independently and then compare.
For each factor, assign a score (or weight) between 1 (lowest) and 5 (highest). Also add todays date
to the lower-right corner.
14
RapidSMS Project Evaluation Worksheet
score:
critical mass sufficient participation in order to get value from system. early adopters/
influencers to promote peer learning
expense ongoing costs are acceptable to users, implementer, and partners. local
system administrator to maintain system
How can you adapt your project plan and implementation strategy to score higher? Who can you
consult for advice regarding certain factors?
Are there certain factors that cannot be improved? Not all factors need to have a high score, but most
should be three or above.
If a certain factor cannot be improved, can you improve other factors to promote overall success?
Each time you revise your project plan and implementation strategy (and at least every week) fill out
another copy of the sheet without looking a previous scores. How much do your scores change? Why
have they changed?
16
Bags of blank paper forms for a bednet distribution capaign in Nigerias Kano state -- and two RapidSMS developers
explaining the internet-accessible data sent to RapidSMS during the campaign.
17
Factors in detail
The following pages describe factors in more detail, pose questions, and offer strategies for improving
your project plan and implementation strategy.
18
Context
Understand the cultural, social, and technological
setting of your project -- and make sure your project is
compatible. Do your intended users own or have access
to mobile phones? If so, do they have regular access to
electricity to charge their mobiles?
19
Motivation shortcut saves user time or money or reduces
travel
20
Behavior
Minimize disruption and additional burden. Map Example
existing workflows and dataflows to find the best
opportunity for RapidSMS. Try to minimize any For a nutrition surveillance project in
additional workload, especially for users that may Malawi, Health Surveillance Assistants
already be overworked and underpaid. (HSAs) in rural clinics sent data points to
RapidSMS in the same order that the data
The intended interactions your users will have with points appear on the paper forms that
the HSAs had been using -- which made
RapidSMS must be simple and easy to understand. If
the SMS format easy to understand and
one user cannot easily explain what to do and why explain.
to do it to another user, the interaction is too complex.
Think about the least amount of data that can be
actionable. Example
For example, why ask for number of new patients For a bednet distribution project in Nigeria,
and current stock level if only the stock level data is door-to-door teams distributed vouchers
essential and actionable? Use only data from paper that were redeemed the following week
for bednets. A supervisor summed the
forms that are already being used -- but not every total numbers of vouchers issued by all
piece of data. of the teams under his or her supervision
and sent this data each day. If each team
What data is most valuable when it is known by others were to send their own data, the totals for
rapidly -- and can be acted upon rapidly? individual neighborhoods would be known
-- but dozens of additional people would
require training. So, less-specific data
was collected so that training time and
coordination expenses could remain lower.
21
Critical mass
22
Sustainability
23
Awareness
Example
24
Expense
Out-of-pocket expenses for end users are a serious threat to motivation. Requiring users to maintain airtime
balance and pay for each text message -- even if they are reimbursed -- will significantly affect participation.
Be sure to design a project with enough social or shortcut motivations to offset this disadvantage.
Better yet, arrange for reverse-billing or free/toll-free numbers so users never need to pay for using your
service.
25
solution description
post-paid SIM (AKA contract SIM) consumer contract SIM, usually billed monthly for charges incurred during the
previous month. may require a long-term subscription agreement
bulk-rate SIM special SIM optimized for bulk SMS, intended for commercial customers. may be
available as pre-paid or post-paid. lacks ability to dial or receive voice calls, but incurs
a discounted rate for sending and receiving SMS
reverse-billing SIM special SIM where all charges incurred sending to or dialing the SIM are billed to the
SIM rather than the caller/texter. so, users sending messages to this SIM do not incur
any charges on their own SIM -- these charges are billed to the reverse-billing SIM.
depending on the network, users may need to maintain a minimum balance on their
SIM, even though the balance is not debited when they send to the reverse-billing
SIM
toll-free SIM same as above, except network operator absorbs all costs
26
time/negotiation solution applicability who pays who to talk to
requirements
pre-paid SIM testing users and implementer normal retail channels
post-paid SIM short-term pilots, small users and implementer normal retail channels
scale projects
27
Usability
Even though a user may own a phone, there are many levels of Tip
competency that affect how much interaction they may successfully
perform with RapidSMS. Usage of your RapidSMS system should
be simple enough so that one user can
Most mobile owners competency is being contactable -- if their explain it to another in a single sentence
phone rings, they will answer. such as:
type the clinic number from this poster and
then each of the numbers from this form in
Not as many mobile owners are familiar with more complicated uses
the same order
of their phone -- uses that require significant amounts of training
to develop competency. For example, if your users have never sent
a text message, it will require intensive training for them to become
competent sending structured text messages containing data.
28
Mobile phone competencies
sending text
competency /
training needs receiving text
flashing / beeping
making calls
contactable
popularity / familiarity
29
Quality
Be sure to allow time for frequent, sufficient testing misspellings locations and names may have
of your RapidSMS project throughout the development many possible spellings --
process. If the system does not behave or respond as especially if local languages are
anticipated, users may believe they made a mistake rarely written in print
even if a software error or poor design is at fault.
free-form comments expect users to direct questions or
Unexpected behavior will lower your users confidence say thank you to RapidSMS
in themselves and RapidSMS -- at a detriment to
project participation.
character substitutions numeral 1 is often easier to type
on a mobile handset than letter l
Misspellings, unexpected words, and malformed data
must be handled and responded to with descriptive,
helpful messages -- and every message should
data order sometimes data points may be
receive a response. submitted out-of-order
30
Support
Readily available training materials must be concise and clear, with Tip
limited textual explanations. Use icons when possible so materials are
easy to understand. If you are using a GSM modem, enable call
forwarding on the SIM card to local training
Resources for informal and formal help or support staff. Sometimes users may call
the phone number intended for submitting
System status inquiries - users should know what to do if the system SMS -- which may disrupt RapidSMSs
ability to send and receive text messages
is not responding promptly. Training material should include a phone
-- even if another phone number has been
number to call with questions or to report problems. provided for inquiries. By enabling call
forwarding for the SIM card in the modem,
Local software developers and systems administrator are available for the risk of disrupted SMS functionality is
troubleshooting and/or improvements, if necessary. avoided -- and confused users calls are
answered by knowledgable staff.
31
Building a good team
32
What to look for in programmers What to look for in project managers
When evaluating candidates, experience working When evaluating candidates, experience working with
with RapidSMS in a similar context is by far the RapidSMS in a similar context is by far the most important
most important quality. quality.
RapidSMS software is complicated and poorly Also, look for experience working with private sector
documented. No amount of programming talent technologists (especially mobile operators), training end
or mobile experience is more valuable than users, and documenting projects (photos, blogs, etc).
having experience programming, training, and/
or deploying a RapidSMS project with similar [link to example TOR]
requirements in a similar environment.
33
Documenting your project
Blogging -Try to document your project throughout Link your blog to a photo site such as Flickr or
the development and deployment process. This Picasa - Visuals - whether photos or screenshots
makes it easier for partners to stay abreast and build can be very powerful, so try to take plenty.
interest (it also helps to have material to draw from
when writing a project report or summary). examples:
RapidSMS Mauritania (nutrition)
examples: RapidSMS mapping in Uganda
34
35
36
37
Partnering with mobile service providers
Even with plenty of enthusiasm, delivery of operational technologies from mobile service providers can take a
long time. Internal processes and discussions among a providers CSR (Corporate Social Responsibility) staff,
foundation staff, and technical staff may last for months. Allow plenty of time before your project goes into
production and be persistent.
Dont start a large-scale project without an agreement. Dont set a launch date for a project until you have
personally sent and received messages via the facilities defined in the agreement.
38
For more information or guidance
Links to projects, downloads, and more:
http://rapidsms.org
Further reading
Human-Centered Design Toolkit : A Free Toolkit for NGOs and Social Enterprise.Developed by IDEO with
IDE and Gates Foundation
Getting Real : The smarter, faster, easier way to build a successful web application. By 37Signals
39
Annex 1: Example training materials
40
41
42
Example of location codes
20 State: 01 - 37
Kano
2027 LGA: 01 - 44
Kura
202708 Ward: 01 - 15
Kurun Sumau
Leni (203507)
In the evening , after the day's distribution,
the DP supervisor of distribution point 1
finalizes form I-7a and texts:
Automatic confirmation SMS to DP supervisor:
44
Example stock transaction
Automatic SMS to LGA warehouse: Automatic SMS to state warehouse:
Notice: 200 bales LLIN are enroute to Kura Notice: 200 bales LLIN are have been
from Kano (waybill 11111). received at Kura (waybill 11111).
Automatic confirmation SMS to state Automatic confirmation SMS to LGA
warehouse manager: warehouse manager:
Thanks, Abimbola. We confirm issuing of Thanks, Evan. We confirm receipt of 200
200 bales from Kano to Kura, waybill=11111, bales from Kano to Kura, waybill=11111, Takai
Kano stock balance=1800 bales stock balance=317 bales
Once waybill 11111 is on truck and warehouse Upon arrival once warehouse stock sheet
stock sheet entry is written, state warehouse entry is written, LGA warehouse manager
manager texts: texts:
llin issue from 20 to 2037 11111 200 1800
200
Automatic confirmation SMS to ward supervisor.
Ward supervisor
Ward supervisor verifies & signs form I-4a
(atfer the mobilization team leader from
team 1 of distribution point 2 arrives in the
evening), and texts:
Automatic confirmation SMS to ward supervisor.
46Repeat for remaining mobilization teams
Annex 2: Equipment
The two most popular scenarios are presented in this section, as well
as the specific components that must be procured.
GSM modem(s)
Server
Securely hosted with reliable electricity (or connected to a UPS unit). 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- Tip
end desktop workstation)
Internet connection to allow remote access for updating, troubleshooting, Often it is cheaper to send text messages
to numbers on the same mobile network
etc. Ensure that ports 22 (ssh), 9418 (git), and 80 (http) are not blocked by
than sending from one mobile network
a firewall. When possible, a static IP is more desireable than a dynamic IP to another. RapidSMS can have multiple
address. GSM modems attached to the same
Linux operating system (latest version of Ubuntu is recommended) software system. Although additional
modems are an additional expense, users
GSM modem(s) may be more inclined to participate if they
are able to send within their own mobile
one for each major mobile network
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.