Howtorapidsms20 april2010
Upcoming SlideShare
Loading in...5

Howtorapidsms20 april2010






Total Views
Views on SlideShare
Embed Views



12 Embeds 2,607 1667 895 21 9 4 3 2 2 1 1 1 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Howtorapidsms20 april2010 Howtorapidsms20 april2010 Presentation Transcript

  • 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 Illustrate the challenges you are facing, your problem solving approach, and offer a forum to 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: Technical / Implementation: Evan Wheeler: Management / Partnership / Organizational: Erica Kochi: and Christopher Fabian: 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 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.