SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
How to RapidSMS
 written and edited by the RapidSMS community




                                                  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




                        This work is licensed under a                                       Photographs are licensed under a
Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.   Creative Commons Attribution-Share Alike 2.0 Generic License.
Table of contents
Introduction                                     Factors in detail
    What is RapidSMS?                       4        Context                                    19
    Coded in Country                        4        Motivation                                 20
    Built to scale                          5        Behavior                                   21
    Flexible for your needs                 5        Critical mass                              22
    Free and open source                    6        Sustainability                             23
                                                     Awareness                                  24
Getting Started                                      Expense                                    25
    When is RapidSMS appropriate?           7        Usability                                  28
    When is RapidSMS not appropriate?       8        Quality                                    30
    Milestones & Timelines                  9        Support                                    31



Factors for success                              Building a good team
    Interrelated factors                    12       What to look for in programmers            33
    Framework for thinking                  14       What to look for in project managers       33
    RapidSMS Project Evaluation Worksheet   15
    Agile planning                          16   Topic Guides
                                                     Documenting your project                   34
                                                     Partnering with mobile service providers   38


                                                     More information                           39

                                                     Annex 1: Example training materials        40
                                                     Annex 2: Equipment                         47
What is RapidSMS?                                                  Coded in Country
RapidSMS is a SMS-based (text message) framework that              RapidSMS framework was created by programmers
manages data collection, complex workflows, and group              working directly on actual project implementations with
coordination using basic mobile phones -- and can present          end users -- not by an isolated software firm working from
information on the internet as soon as it is received.             specifications.

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

RapidSMS code is freely available under the New BSD license:
anyone may modify and redistribute the code.

Software developers from Senegal, Mali, Nigeria, Kenya,
Uganda, Canada, UK, and USA have contributed to the growing
codebase.

Nearly 200 software developers and implementers discuss
RapidSMS on the RapidSMS mailing-list. The list’s online
archives are a great way to become familiar with RapidSMS.

More information for software developers can be found on the
project wiki and documentation site.




                                                             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 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




                                                  7
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.




                                                    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


Phase 2: hiring & developing
• Assessment of local software developer/technical capacity
• Identify local project manager and/or administrator
• Establish partnerships with mobile operators (if necessary)
• Collect baseline data
• Hiring of local technical support/software developers
• Software development/customization and testing cycles
• Training of implementer and/or partner staff
• Training of end users

Phase 3: launching & documenting
• Produce technical and non-technical project documentation (ongoing but should be finalized and shareable
  here)
• System improvements (additional features, improvements to website portion, optimization)
• Assessment of how findings from phase 2 could improve phase 3 and beyond
• System administration/upkeep
                                                    9
Factors for success
A successful RapidSMS project requires excellence in concept design, implementation, and
participation. These three elements are not mutually exclusive -- they all overlap one another.




                                                        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 project’s
                                                          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



              context          culturally appropriate, socially acceptable, exploits available
                               technologies, builds on existing relationships and practices

              motivation       provides a shortcut (saves time and/or effort), builds personal or
                               professional reputation, encourages peer/community pressure

              behavior         similar to existing workflow/practices, easy to understand, or desirable
                               enough to incentivize change. adequate training.

              critical mass    sufficient participation in order to get value from system. early
                               adopters/influencers to promote peer learning

              sustainability   mechanisms to measure/evaluate usage and desired behaviors.
                               adequate training and motivation to reinforce participation

              awareness        promotion by formal and informal channels,
                               local training capacity and local project manager

              expense          ongoing costs are acceptable to users, implementer, and partners.
                               local system administrator to maintain system

              usability        minimal training requirements, actions are as natural as possible.
                               training materials are concise and appropriate for low literacy

              quality          functions reliably, gives constructive feedback to errors. local software
                               developer(s) for bug fixes and new features

              support          help and supplementary training is readily available from formal
                               (implementer) and informal (peer) channels
technical
                                                 13
Framework for thinking

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 project’s 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 today’s date
to the lower-right corner.




                                                   14
RapidSMS Project Evaluation Worksheet
score:

              context          culturally appropriate, socially acceptable, exploits available
                               technologies, builds on existing relationships and practices

              motivation       provides a shortcut (saves time and/or effort), builds personal or
                               professional reputation, encourages peer/community pressure

              behavior         similar to existing workflow/practices, easy to understand, or desirable
                               enough to incentivize change. adequate training.

              critical mass    sufficient participation in order to get value from system. early adopters/
                               influencers to promote peer learning

              sustainability   mechanisms to measure/evaluate usage and desired behaviors.
                               adequate training and motivation to reinforce participation

              awareness        promotion by formal and informal channels,
                               local training capacity and local project manager

              expense          ongoing costs are acceptable to users, implementer, and partners. local
                               system administrator to maintain system

              usability        minimal training requirements, actions are as natural as possible.
                               training materials are concise and appropriate for low literacy

              quality          functions reliably, gives constructive feedback to errors. local software
                               developer(s) for bug fixes and new features

              support          help and supplementary training is readily available from formal
                               (implementer) and informal (peer) channels
date:
                                                 15
Agile planning

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 Nigeria’s 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?

Be mindful and respectful of different frames of reference,
local gender roles, traditional customs, and religious
practices when designing your project.

This kind of understanding comes from relationships,
real experiences, and empathy -- spend plenty of time
observing, asking, talking, and trying. Better yet, your
team should focus on co-creation by including individuals
intimately familar with the project’s context.

Map existing relationships among people and
organizations and take advantage of them. Think of how
these relationships can be facilitated and strengthened by
faster information flows.




                                                            19
Motivation                                                           shortcut      saves user time or money or reduces
                                                                                   travel



Users must be motivated to participate in your
RapidSMS project. Unfortunately, altruism is not                     recognition   boosts users social standing among
enough to ensure adequate participation.                                           coworkers or community

Strategies for designing a project that will provide
additional incentives and motivation to your users are
outlined on the next page.
                                                                     competition   peer or community pressure
                                                                                   encourages participation




                                                                     new skills    users gain valuable skills, such
                 Example                                                           as new phone, math, or language
                                                                                   competencies
                 For an inventory survey project in Ethiopia,
                 implementers sent a text message to all of
                 the data collectors praising the individual
                 data collector who had sent in the most             reward        user is compensated (with money,
                 text messages during the first week. The                          airtime credits, or similar)
                 next week, data collectors sent many more
                 messages containing valuable data -- as
                 they competed to be “#1” for the week.




                                                                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

How many users must participate for the implementer
to gain value from the overall system? How can you
design differently so your critical mass is smaller?

Do users depend on other users’ participation? Can
these dependencies be avoided?

Minimize disruption to your users’ normal routine and
avoid additional burden (workload, time, etc).

Identify ‘champions’ or ‘power users’ that are
competent and enthusiastic. How can you reward
and empower these users to encourage their peers to
participate?




                                                        22
Sustainability

How will you measure and evaluate usage?

If second-order effects are expected (behavior change, improved
efficiency, etc), how can these be measured?

Training and motivation must be thorough enough so users will
continue to participate after the ‘honeymoon’ phase following
project deployment.

Training materials must be readily available and as simple as
possible.




                                                           23
Awareness
                                                             Example

                                                             For a nutrition surveillance project in
                                                             Malawi, implementers printed “cheat
                                                             sheets” of instructions for each user.
Expect users to forget everything from their training        Cheat sheets were printed 4 per page and
session.                                                     then laminated. Several weeks later, a
                                                             surprising number of users still carried their
Make supplementary materials easily available.               “cheat sheets” -- because their size and
                                                             durable lamination made them excellent
Consider posters or laminated cards that explain
                                                             fans!
how to use RapidSMS.

Provide a phone number for a local trainer or
schedule supplementary training.

Send reminder messages when you are expecting
data submissions to prompt participation.




                                                        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

pre-paid SIM                       basic consumer SIM


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


shortcode                          unlike a normal phone number (‘longcode’) which is fully-qualified, a shortcode is
                                   a special number (usually 5 or 6 numbers long) unique within a particular network.
                                   for a large project, the same shortcode must be acquired on all of the major mobile
                                   networks you intend to support. often, a third-party vendor must be contracted to
                                   coordinate these shortcodes so they can be used seamlessly

                                                           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

                   bulk-rate SIM         small-to-medium scale users and implementer network operator’s
                                         projects                                    corporate sales
                                                                                     department

                   reverse-billing SIM   small-to-medium         implementer            network operator’s
                                         scale projects where                           corporate sales
                                         users must not incurr                          department
                                         charges

                   toll-free SIM         medium-to-large         donated by network     network operator’s
                                         scale projects where                           CSR department or
                                         users most not incurr                          foundation
                                         charges


                   shortcode             large scale projects    implementer or         network operator’s
                                                                 donated by network     CSR department,
                                                                                        foundation, or senior
                                                                                        management as well
                                                                                        as a thrid party vendor




                                                   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 data in text




                           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



                                                              arbitrary delimiters      users may use unexpected
                                                                                        characters to separate data fields




                                                         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 RapidSMS’s
                                                                         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.

example Terms of Reference




                                                   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

http://www.jokkoinitiative.org                                Illustrate the challenges you are facing, your
http://projectmwana.posterous.com                             problem solving approach, and offer a forum to
http://www.childcount.org/category/blog/                      ask questions or get involved.

                                                              The following pages present a few examples of
                                                              problem illustration, screen shots, and solution
                                                              diagrams.




                                                         34
35
36
37
Partnering with mobile service providers

Meet early, meet often

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.

Don’t start a large-scale project without an agreement. Don’t set a launch date for a project until you have
personally sent and received messages via the facilities defined in the agreement.

Link to example agreement?




                                                      38
For more information or guidance
Links to projects, downloads, and more:
http://rapidsms.org

Technical / Implementation: Evan Wheeler: ewheeler@unicef.org

Management / Partnership / Organizational:
Erica Kochi: ekochi@unicef.org and Christopher Fabian: cfabian@unicef.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

Shared Phone Use
By Jan Chipchase and Indri Tulusan


                                                    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

2027082            Distribution point: 1, 2, or 3
          D. Point 2

20270823           Mobilization team: 1, 2, 3 or 4
            M. Team 3
                        43
Distribution example

Leni (203507)


                     In the evening , after the day's distribution,
                     the DP supervisor of distribution point 1
                     finalizes form I-7a and texts:



DP supervisor                llin nets 2035071 926 74 68 60

                     Automatic confirmation SMS to DP supervisor:

                     Thanks, Abimbola. We confirm nets distribution data for
                     Leni ward, DP 1: distributed=926 nets, expected=74 nets,
                     actual=68 nets, discrepancy=60.




                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

                                                                 llin receive from 20 to 2037 11111 200 317

                                         200

  Kano (20)                             Waybill
                                                                         Kura (2037)
                                        (11111)
2000 - 200 = 1800                                                             117 + 200 = 317
                                                                45
Net card example
                   Ward supervisor verifies & signs form I-4a
                   (atfer the mobilization team leader from

Kuru (203005)      team 3 of distribution point 1 arrives in the
                   evening), and texts:

                           llin net cards 20300513 10 5783 621

                   Automatic confirmation SMS to ward supervisor.

                   Thanks, Abimbola. We confirm net card distribution data
                   for Kuru ward, DP 1, MT 3: settlements=10, people=5783,
                   netcards=621.



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:

                          llin net cards 20300521 13 6459 684

                  Automatic confirmation SMS to ward supervisor.

                  Thanks, Abimbola. We confirm net card distribution data
                  for Kuru ward, DP 2, MT 1: settlements=13, people=6459,
                  netcards=684.



                   Repeat for remaining mobilization teams
                  46
Annex 2: Equipment

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 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.

Más contenido relacionado

Similar a Howtorapidsms20 april2010

Creating High Performance Big Data Applications with the Java Persistence API
Creating High Performance Big Data Applications with the Java Persistence APICreating High Performance Big Data Applications with the Java Persistence API
Creating High Performance Big Data Applications with the Java Persistence APIDATAVERSITY
 
MBaas - Mobile Backend as a Service presented by Rinish KN, CTO, RapidValue S...
MBaas - Mobile Backend as a Service presented by Rinish KN, CTO, RapidValue S...MBaas - Mobile Backend as a Service presented by Rinish KN, CTO, RapidValue S...
MBaas - Mobile Backend as a Service presented by Rinish KN, CTO, RapidValue S...RapidValue
 
Efficiency in Action The Power of Rapid Application Development Tools.pdf
Efficiency in Action The Power of Rapid Application Development Tools.pdfEfficiency in Action The Power of Rapid Application Development Tools.pdf
Efficiency in Action The Power of Rapid Application Development Tools.pdfBitCot
 
How to add security in dataops and devops
How to add security in dataops and devopsHow to add security in dataops and devops
How to add security in dataops and devopsUlf Mattsson
 
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
A Guide on What Are Microservices: Pros, Cons, Use Cases, and MoreA Guide on What Are Microservices: Pros, Cons, Use Cases, and More
A Guide on What Are Microservices: Pros, Cons, Use Cases, and MoreSimform
 
Multi-Agency Multi-Media Interoperable Communication, Enabled By Redis: Paul ...
Multi-Agency Multi-Media Interoperable Communication, Enabled By Redis: Paul ...Multi-Agency Multi-Media Interoperable Communication, Enabled By Redis: Paul ...
Multi-Agency Multi-Media Interoperable Communication, Enabled By Redis: Paul ...Redis Labs
 
Microsoft Microservices
Microsoft MicroservicesMicrosoft Microservices
Microsoft MicroservicesChase Aucoin
 
How to Leverage the Cloud for Business Solutions | Strata Data Conference Lon...
How to Leverage the Cloud for Business Solutions | Strata Data Conference Lon...How to Leverage the Cloud for Business Solutions | Strata Data Conference Lon...
How to Leverage the Cloud for Business Solutions | Strata Data Conference Lon...MapR Technologies
 
Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Thoughtworks
 
Prez otm an innovative plug and play approach to maa_s_meetup_open_transport_...
Prez otm an innovative plug and play approach to maa_s_meetup_open_transport_...Prez otm an innovative plug and play approach to maa_s_meetup_open_transport_...
Prez otm an innovative plug and play approach to maa_s_meetup_open_transport_...Open Transport meetup by Kisio
 
Building DevOps in the enterprise: Transforming challenges into organizationa...
Building DevOps in the enterprise: Transforming challenges into organizationa...Building DevOps in the enterprise: Transforming challenges into organizationa...
Building DevOps in the enterprise: Transforming challenges into organizationa...Jonah Kowall
 
Best practices to build large scale web application
Best practices to build large scale web applicationBest practices to build large scale web application
Best practices to build large scale web applicationJane Brewer
 
Operational system landscape
Operational system landscapeOperational system landscape
Operational system landscapesandraduhrkopp
 
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...Bitnami
 

Similar a Howtorapidsms20 april2010 (20)

Webinar–That is Not How This Works
Webinar–That is Not How This WorksWebinar–That is Not How This Works
Webinar–That is Not How This Works
 
Creating High Performance Big Data Applications with the Java Persistence API
Creating High Performance Big Data Applications with the Java Persistence APICreating High Performance Big Data Applications with the Java Persistence API
Creating High Performance Big Data Applications with the Java Persistence API
 
MBaas - Mobile Backend as a Service presented by Rinish KN, CTO, RapidValue S...
MBaas - Mobile Backend as a Service presented by Rinish KN, CTO, RapidValue S...MBaas - Mobile Backend as a Service presented by Rinish KN, CTO, RapidValue S...
MBaas - Mobile Backend as a Service presented by Rinish KN, CTO, RapidValue S...
 
Efficiency in Action The Power of Rapid Application Development Tools.pdf
Efficiency in Action The Power of Rapid Application Development Tools.pdfEfficiency in Action The Power of Rapid Application Development Tools.pdf
Efficiency in Action The Power of Rapid Application Development Tools.pdf
 
How to add security in dataops and devops
How to add security in dataops and devopsHow to add security in dataops and devops
How to add security in dataops and devops
 
Paas intro.pptx
Paas intro.pptxPaas intro.pptx
Paas intro.pptx
 
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
A Guide on What Are Microservices: Pros, Cons, Use Cases, and MoreA Guide on What Are Microservices: Pros, Cons, Use Cases, and More
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
 
Multi-Agency Multi-Media Interoperable Communication, Enabled By Redis: Paul ...
Multi-Agency Multi-Media Interoperable Communication, Enabled By Redis: Paul ...Multi-Agency Multi-Media Interoperable Communication, Enabled By Redis: Paul ...
Multi-Agency Multi-Media Interoperable Communication, Enabled By Redis: Paul ...
 
Microsoft Microservices
Microsoft MicroservicesMicrosoft Microservices
Microsoft Microservices
 
Bar camp bigdata
Bar camp bigdataBar camp bigdata
Bar camp bigdata
 
How to Leverage the Cloud for Business Solutions | Strata Data Conference Lon...
How to Leverage the Cloud for Business Solutions | Strata Data Conference Lon...How to Leverage the Cloud for Business Solutions | Strata Data Conference Lon...
How to Leverage the Cloud for Business Solutions | Strata Data Conference Lon...
 
Cloud strategy
Cloud strategyCloud strategy
Cloud strategy
 
Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22
 
Prez otm an innovative plug and play approach to maa_s_meetup_open_transport_...
Prez otm an innovative plug and play approach to maa_s_meetup_open_transport_...Prez otm an innovative plug and play approach to maa_s_meetup_open_transport_...
Prez otm an innovative plug and play approach to maa_s_meetup_open_transport_...
 
Building DevOps in the enterprise: Transforming challenges into organizationa...
Building DevOps in the enterprise: Transforming challenges into organizationa...Building DevOps in the enterprise: Transforming challenges into organizationa...
Building DevOps in the enterprise: Transforming challenges into organizationa...
 
Best practices to build large scale web application
Best practices to build large scale web applicationBest practices to build large scale web application
Best practices to build large scale web application
 
Operational system landscape
Operational system landscapeOperational system landscape
Operational system landscape
 
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
 
Ditas Poster v1.1
Ditas  Poster v1.1Ditas  Poster v1.1
Ditas Poster v1.1
 
SDS_Brochure_Long
SDS_Brochure_LongSDS_Brochure_Long
SDS_Brochure_Long
 

Howtorapidsms20 april2010

  • 1. How to RapidSMS written and edited by the RapidSMS community Verson 0.7 15 April 2010
  • 2. 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 This work is licensed under a Photographs are licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License. Creative Commons Attribution-Share Alike 2.0 Generic License.
  • 3. Table of contents Introduction Factors in detail What is RapidSMS? 4 Context 19 Coded in Country 4 Motivation 20 Built to scale 5 Behavior 21 Flexible for your needs 5 Critical mass 22 Free and open source 6 Sustainability 23 Awareness 24 Getting Started Expense 25 When is RapidSMS appropriate? 7 Usability 28 When is RapidSMS not appropriate? 8 Quality 30 Milestones & Timelines 9 Support 31 Factors for success Building a good team Interrelated factors 12 What to look for in programmers 33 Framework for thinking 14 What to look for in project managers 33 RapidSMS Project Evaluation Worksheet 15 Agile planning 16 Topic Guides Documenting your project 34 Partnering with mobile service providers 38 More information 39 Annex 1: Example training materials 40 Annex 2: Equipment 47
  • 4. What is RapidSMS? Coded in Country RapidSMS is a SMS-based (text message) framework that RapidSMS framework was created by programmers manages data collection, complex workflows, and group working directly on actual project implementations with coordination using basic mobile phones -- and can present end users -- not by an isolated software firm working from information on the internet as soon as it is received. specifications. 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
  • 5. 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
  • 6. Free and open source RapidSMS code is freely available under the New BSD license: anyone may modify and redistribute the code. Software developers from Senegal, Mali, Nigeria, Kenya, Uganda, Canada, UK, and USA have contributed to the growing codebase. Nearly 200 software developers and implementers discuss RapidSMS on the RapidSMS mailing-list. The list’s online archives are a great way to become familiar with RapidSMS. More information for software developers can be found on the project wiki and documentation site. 6
  • 7. 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 7
  • 8. 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. 8
  • 9. 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 Phase 2: hiring & developing • Assessment of local software developer/technical capacity • Identify local project manager and/or administrator • Establish partnerships with mobile operators (if necessary) • Collect baseline data • Hiring of local technical support/software developers • Software development/customization and testing cycles • Training of implementer and/or partner staff • Training of end users Phase 3: launching & documenting • Produce technical and non-technical project documentation (ongoing but should be finalized and shareable here) • System improvements (additional features, improvements to website portion, optimization) • Assessment of how findings from phase 2 could improve phase 3 and beyond • System administration/upkeep 9
  • 10. Factors for success A successful RapidSMS project requires excellence in concept design, implementation, and participation. These three elements are not mutually exclusive -- they all overlap one another. Implementation Participation Concept design 10
  • 11. 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
  • 12. Interrelated factors awareness critical mass quality sustainability support motivation expense Many factors influence a project’s 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
  • 13. programatic context culturally appropriate, socially acceptable, exploits available technologies, builds on existing relationships and practices motivation provides a shortcut (saves time and/or effort), builds personal or professional reputation, encourages peer/community pressure behavior similar to existing workflow/practices, easy to understand, or desirable enough to incentivize change. adequate training. critical mass sufficient participation in order to get value from system. early adopters/influencers to promote peer learning sustainability mechanisms to measure/evaluate usage and desired behaviors. adequate training and motivation to reinforce participation awareness promotion by formal and informal channels, local training capacity and local project manager expense ongoing costs are acceptable to users, implementer, and partners. local system administrator to maintain system usability minimal training requirements, actions are as natural as possible. training materials are concise and appropriate for low literacy quality functions reliably, gives constructive feedback to errors. local software developer(s) for bug fixes and new features support help and supplementary training is readily available from formal (implementer) and informal (peer) channels technical 13
  • 14. Framework for thinking 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 project’s 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 today’s date to the lower-right corner. 14
  • 15. RapidSMS Project Evaluation Worksheet score: context culturally appropriate, socially acceptable, exploits available technologies, builds on existing relationships and practices motivation provides a shortcut (saves time and/or effort), builds personal or professional reputation, encourages peer/community pressure behavior similar to existing workflow/practices, easy to understand, or desirable enough to incentivize change. adequate training. critical mass sufficient participation in order to get value from system. early adopters/ influencers to promote peer learning sustainability mechanisms to measure/evaluate usage and desired behaviors. adequate training and motivation to reinforce participation awareness promotion by formal and informal channels, local training capacity and local project manager expense ongoing costs are acceptable to users, implementer, and partners. local system administrator to maintain system usability minimal training requirements, actions are as natural as possible. training materials are concise and appropriate for low literacy quality functions reliably, gives constructive feedback to errors. local software developer(s) for bug fixes and new features support help and supplementary training is readily available from formal (implementer) and informal (peer) channels date: 15
  • 16. Agile planning 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
  • 17. Bags of blank paper forms for a bednet distribution capaign in Nigeria’s Kano state -- and two RapidSMS developers explaining the internet-accessible data sent to RapidSMS during the campaign. 17
  • 18. 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
  • 19. 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? Be mindful and respectful of different frames of reference, local gender roles, traditional customs, and religious practices when designing your project. This kind of understanding comes from relationships, real experiences, and empathy -- spend plenty of time observing, asking, talking, and trying. Better yet, your team should focus on co-creation by including individuals intimately familar with the project’s context. Map existing relationships among people and organizations and take advantage of them. Think of how these relationships can be facilitated and strengthened by faster information flows. 19
  • 20. Motivation shortcut saves user time or money or reduces travel Users must be motivated to participate in your RapidSMS project. Unfortunately, altruism is not recognition boosts users social standing among enough to ensure adequate participation. coworkers or community Strategies for designing a project that will provide additional incentives and motivation to your users are outlined on the next page. competition peer or community pressure encourages participation new skills users gain valuable skills, such Example as new phone, math, or language competencies For an inventory survey project in Ethiopia, implementers sent a text message to all of the data collectors praising the individual data collector who had sent in the most reward user is compensated (with money, text messages during the first week. The airtime credits, or similar) next week, data collectors sent many more messages containing valuable data -- as they competed to be “#1” for the week. 20
  • 21. 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
  • 22. Critical mass How many users must participate for the implementer to gain value from the overall system? How can you design differently so your critical mass is smaller? Do users depend on other users’ participation? Can these dependencies be avoided? Minimize disruption to your users’ normal routine and avoid additional burden (workload, time, etc). Identify ‘champions’ or ‘power users’ that are competent and enthusiastic. How can you reward and empower these users to encourage their peers to participate? 22
  • 23. Sustainability How will you measure and evaluate usage? If second-order effects are expected (behavior change, improved efficiency, etc), how can these be measured? Training and motivation must be thorough enough so users will continue to participate after the ‘honeymoon’ phase following project deployment. Training materials must be readily available and as simple as possible. 23
  • 24. Awareness Example For a nutrition surveillance project in Malawi, implementers printed “cheat sheets” of instructions for each user. Expect users to forget everything from their training Cheat sheets were printed 4 per page and session. then laminated. Several weeks later, a surprising number of users still carried their Make supplementary materials easily available. “cheat sheets” -- because their size and durable lamination made them excellent Consider posters or laminated cards that explain fans! how to use RapidSMS. Provide a phone number for a local trainer or schedule supplementary training. Send reminder messages when you are expecting data submissions to prompt participation. 24
  • 25. 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
  • 26. solution description pre-paid SIM basic consumer SIM 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 shortcode unlike a normal phone number (‘longcode’) which is fully-qualified, a shortcode is a special number (usually 5 or 6 numbers long) unique within a particular network. for a large project, the same shortcode must be acquired on all of the major mobile networks you intend to support. often, a third-party vendor must be contracted to coordinate these shortcodes so they can be used seamlessly 26
  • 27. 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 bulk-rate SIM small-to-medium scale users and implementer network operator’s projects corporate sales department reverse-billing SIM small-to-medium implementer network operator’s scale projects where corporate sales users must not incurr department charges toll-free SIM medium-to-large donated by network network operator’s scale projects where CSR department or users most not incurr foundation charges shortcode large scale projects implementer or network operator’s donated by network CSR department, foundation, or senior management as well as a thrid party vendor 27
  • 28. 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
  • 29. Mobile phone competencies sending data in text sending text competency / training needs receiving text flashing / beeping making calls contactable popularity / familiarity 29
  • 30. 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 arbitrary delimiters users may use unexpected characters to separate data fields 30
  • 31. 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 RapidSMS’s 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
  • 32. Building a good team 32
  • 33. 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. example Terms of Reference 33
  • 34. 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 http://www.jokkoinitiative.org Illustrate the challenges you are facing, your http://projectmwana.posterous.com problem solving approach, and offer a forum to http://www.childcount.org/category/blog/ ask questions or get involved. The following pages present a few examples of problem illustration, screen shots, and solution diagrams. 34
  • 35. 35
  • 36. 36
  • 37. 37
  • 38. Partnering with mobile service providers Meet early, meet often 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. Don’t start a large-scale project without an agreement. Don’t set a launch date for a project until you have personally sent and received messages via the facilities defined in the agreement. Link to example agreement? 38
  • 39. For more information or guidance Links to projects, downloads, and more: http://rapidsms.org Technical / Implementation: Evan Wheeler: ewheeler@unicef.org Management / Partnership / Organizational: Erica Kochi: ekochi@unicef.org and Christopher Fabian: cfabian@unicef.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 Shared Phone Use By Jan Chipchase and Indri Tulusan 39
  • 40. Annex 1: Example training materials 40
  • 41. 41
  • 42. 42
  • 43. Example of location codes 20 State: 01 - 37 Kano 2027 LGA: 01 - 44 Kura 202708 Ward: 01 - 15 Kurun Sumau 2027082 Distribution point: 1, 2, or 3 D. Point 2 20270823 Mobilization team: 1, 2, 3 or 4 M. Team 3 43
  • 44. Distribution example Leni (203507) In the evening , after the day's distribution, the DP supervisor of distribution point 1 finalizes form I-7a and texts: DP supervisor llin nets 2035071 926 74 68 60 Automatic confirmation SMS to DP supervisor: Thanks, Abimbola. We confirm nets distribution data for Leni ward, DP 1: distributed=926 nets, expected=74 nets, actual=68 nets, discrepancy=60. 44
  • 45. 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 llin receive from 20 to 2037 11111 200 317 200 Kano (20) Waybill Kura (2037) (11111) 2000 - 200 = 1800 117 + 200 = 317 45
  • 46. Net card example Ward supervisor verifies & signs form I-4a (atfer the mobilization team leader from Kuru (203005) team 3 of distribution point 1 arrives in the evening), and texts: llin net cards 20300513 10 5783 621 Automatic confirmation SMS to ward supervisor. Thanks, Abimbola. We confirm net card distribution data for Kuru ward, DP 1, MT 3: settlements=10, people=5783, netcards=621. 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: llin net cards 20300521 13 6459 684 Automatic confirmation SMS to ward supervisor. Thanks, Abimbola. We confirm net card distribution data for Kuru ward, DP 2, MT 1: settlements=13, people=6459, netcards=684. Repeat for remaining mobilization teams 46
  • 47. Annex 2: Equipment 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 are presented in this section, as well as the specific components that must be procured.
  • 48. 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.