Glossary of Key Terms



An app, short for “application,” is any kind of computer software that allows a user to accomplish a particular task. Some examples of apps you may be familiar with are those designed for Web browsers, like the Yahoo Toolbar, or for devices like the Google Android and iPhone, which include Fandango and Yelp. Within RapidSMS, the term app is used slightly differently. These apps (or bundles of code) generally cannot function on their own, but when combined (registration app, group app and message blast app) can accomplish complicated tasks. RapidSMS apps can be found in the App Directory on Github.


Bandwidth is a measure of available or consumed data communication resources expressed in bit/s or multiples of it (kbit/s, Mbit/s etc). Many applications designed for developed countries are too heavy for the limited bandwidth in developing countries. Specialized applications often need to be developed to thrive in these low bandwidth environments.


A client is a program that allows users to access information stored on another device. Client software sends requests to and receives data from remote programs called servers. For example, Mozilla Thunderbird and Microsoft Outlook are clients used to access email stored on a server like Gmail or Yahoo Email.

Community Health Workers (CHWs)
Community Health Workers (CHWs), also called Village Health Workers (VHWs) or Village Health Teams (VHTs), are community members who are trained to provide basic medical care within their communities. Although their roles are different from place to place, they are often volunteers and perform preventative (instead of curative) services. In many developing countries, CHWs combat critical shortages of doctors, nurses and other professional health workers.


Data Packets
Data Packets provide a method for transferring information by dividing it into smaller blocks. The advantage of data packets is that a user utilizes limited network resources when transferring data (this differs from “circuit-switched data” which must have an open connection and uses resources even when idle). Today, most data on the Internet and cell phone networks travels in data packets. See Phone Scoop.

Used in the technical context of software development, this includes all of the activities that make a software system ready to be used. It refers to the overall process of setting up the hardware (server, modems, mobile gateways, etc.), developing, testing and installing software — essentially getting everything up and running.

Developers (sometimes just called Devs) are software programmers who write code for RapidSMS. They create new customizations or products from the RapidSMS platform to achieve unique goals. Developers are the technologically-inclined people who are key to an organization’s ability to implement RapidSMS.


EDGE (Enhanced Data rates for GSM Evolution)
EDGE (Enhanced Data rates for GSM Evolution) is a faster version of GSM (link to GSM definition below) mobile phone technology. It provides a more than three-fold increase in both capacity and performance of GSM/GPRS networks by introducing more sophisticated methods of coding and transmitting data. EDGE can be used for any packet-switched application and creates a broadband Internet-like experience for the mobile phone user.

Early Infant Diagnosis (EID)
Early Infant Diagnosis (EID) seeks to identify HIV-infected children during the first few months of life in order to begin treatment before a child becomes sick. Health and nutritional monitoring of children using RapidSMS improves EID.


A framework such as RapidSMS can be described as the building blocks of an application or an abstraction of a code. Frameworks have a generic behavior and developers can selectively override or add new elements to that foundation code to customize it for a particular use. Frameworks eliminate some of the tedious writing of an application from scratch, but developers must first learn the structure of the framework before editing it.

Free Software
Free Software, or software libre, is software that can be used, studied, modified and redistributed with little or no restriction.


G3 or 3rd Generation/3G (officially International Mobile Telecommunications-2000 (IMT-2000)) is a family of standards for mobile telecommunications defined by the International Telecommunication Union. Services include wide-area wireless voice telephone, video calls and wireless data in a mobile environment. Compared with its predecessors 2G and 2.5G services, 3G allows simultaneous use of speech and data services and higher data rates. Thus, 3G networks enable network operators to offer users a wider range of more advanced services while achieving greater network capacity.

Google Android
Android is a mobile operating system using a modified version of the Linux kernel. It was initially developed by Android Inc., which was later purchased by Google and is now owned by the Open Handset Alliance.. It allows developers to write managed code in the Java language, controlling the device via Google-developed Java libraries.

GPRS (General Packet Radio Service) is a data service for GSM cellular carriers. GPRS added a packet capability to GSM. GPRS data transfer is typically charged per megabyte of traffic transferred, while data communication via traditional circuit switching is billed per minute of connection time, independent of whether the user is actually using the capacity or is in an idle state. SMS transfer over GPRS is much faster than over GSM.

GPRS Modem
A GPRS modem is a GSM modem with additional support for GPRS data transmission.

Global System for Mobile communications (GSM)
Global System for Mobile communications (GSM) is the most popular standard for mobile phones in the world. Its promoter, the GSM Association, estimates that 80 percent of the global mobile market uses this standard. Its ubiquity makes international roaming commonplace between mobile phone operators, enabling subscribers to use their phones in many parts of the world. GSM differs from its predecessors in that both signaling and speech channels are digital, and thus is considered a second generation (2G) mobile phone system.


Implementers are the individuals or organizations who utilize a customization of RapidSMS in one of their field projects. The implementer does not necessarily write the RapidSMS code but must work closely with the software developer in the design, testing and implementation of RapidSMS in the field. See Field Guide to Implementation.

Interactive Voice Response (IVR)
Interactive Voice Response (IVR) product is an interactive technology that allows a computer to detect voice and keypad inputs. IVR technology is used extensively in telecommunications, but is also being introduced into automobile systems for hands-free operation. Current deployment in automobiles revolves around satellite navigation, audio and mobile phone systems. In telecommunications, IVR allows customers to access a company’s database via a telephone touchtone keypad or by speech recognition, after which they can service their own inquiries by following the instructions. IVR systems can respond with pre-recorded or dynamically-generated audio to further direct users on how to proceed. IVR systems can be used to control almost any function where the interface can be broken down into a series of simple menu choices. In telecommunications applications such as customer support lines, IVR systems generally scale well to handle large call volumes.


Java is a programming language originally developed at Sun Microsystems (now a subsidiary of Oracle Corporation) and released in 1995 as a core component of Sun Microsystems’ Java platform. The language derives much of its syntax from C and C++ programming languages but is simpler. Java applications are typically compiled to bytecode, which means they can run on any Java Virtual Machine (JVM) regardless of computer architecture. Java is general-purpose and is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers “write once, run anywhere.” Java is considered by many as one of the most influential programming languages of the 20th century, and is widely used from application software to web application.

Java enabled phones
Java enabled phones are mobile phones capable of running applications written in the Java programming language. Although most new mobile phones are already Java enabled, platforms like JavaRosa provide Java capability on older mobile phones.

JavaRosa is an open source platform for data collection on mobile devices. At its core, JavaRosa is based on the XForms standard — the official W3C standard for next-generation data collection and interchange. JavaRosa is written in Java Mobile Edition (J2ME), and supports a wide array of devices, from top-end smartphones and PDAs with large screens and abundant memory, to low-end devices like the Nokia 6085 and 2630. Making JavaRosa usable on low-resource devices is one of the project’s highest priorities. See JavaRosa.


Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Its development is one of the most prominent examples of free and open source software collaboration. Linux can be installed on a wide variety of computer hardware, ranging from embedded devices such as mobile phones, smartphones and wristwatches to mainframes and supercomputers. Linux is predominantly known for its use in servers.


mHealth, or mobile health, is a new term used to describe medical and public health practices supported by mobile phones and other mobile devices.

Mobile Gateway (SMS Aggregators)
Mobile Gateway (SMS Aggregators) allows SMS text messages to be sent and received by email, Web pages or other software applications like RapidSMS. They establish direct connections through telecom providers that transform data in other media (email, applications, etc.) into GSM mobile network data or vice versa, that can then be transmitted as an SMS text message. A Mobile Gateway (SMS Aggregators) can be negotiated directly with telecom providers, but third party companies like Clickatell also offer these services.

Mobile Gateway (Direct to Mobile)
A Direct to Mobile Gateway is a device with built-in wireless GSM connectivity. It allows SMS text messages to be sent and/or received by email, from Web pages or from other software applications. Direct To Mobile Gateways are different from SMS Aggregators because they are installed on an organization’s own network and connect to a local mobile network. The connection to the mobile network is made by acquiring a Subscriber Idendity Module (SIM) card from the mobile operator and installing this in the gateway. Typically Direct To Mobile Gateway appliances are used for low to medium volume messaging.

MUAC (Mid-Upper Arm Circumference)
MUAC (Mid-Upper Arm Circumference) is the circumference of the left upper arm, measured at the mid-point between the tip of the shoulder and the tip of the elbow (olecranon process and the acromium). MUAC is used for the assessment of nutritional status and is a good predictor of mortality. In many studies, MUAC predicted deaths in children better than any other anthropometric indicator. The advantage of MUAC was greatest when the period of follow-up was short. The MUAC measurement requires little equipment and is easy to perform even on the most debilitated individuals. Although it is important to give workers training in how to take the measurement, the correct technique can be readily taught to minimally trained health workers and community-based volunteers. It is therefore suited to screening admissions to feeding programs during emergencies. MUAC is recommended for use with children between six and fifty-nine months of age and for assessing acute energy deficiency in adults during famine. In May 2009, WHO and UNICEF issued a joint statement on WHO child growth standards and the identification of severe acute malnutrition in infants and children. To reflect this, a new standard MUAC tape (S0145620 MUAC, Child 11.5 Red/PAC-50) is now available.

Multimedia Messaging Service (MMS)
Multimedia Messaging Service (MMS) is a standard way to send messages that include multimedia content to and from mobile phones. It extends the core SMS (Short Message Service) capability which only allows text messages up to 160 characters in length. The most popular use of MMS is to send photographs from camera-equipped handsets, although it is also popular as a method of delivering news and entertainment content including videos, pictures, text pages and ringtones.


Open Data Kit (ODK)
Open Data Kit (ODK) is a suite of tools to help organizations collect, aggregate and visualize their data. The ODK aims to create open source and standards-based tools which are easy to try, implement, modify and scale. ODK tools are used all over the world and ODK Collect is the most popular.

Open Source
Open source is an approach to design, development, and distribution offering practical accessibility to a product’s source (goods and knowledge). Open source software (OSS) can be defined as computer software for which the human-readable source code is made available under a copyright license (or arrangement such as the public domain) that meets the Open Source Definition. This permits users to use, change and improve the software, and to redistribute it in modified or unmodified form. It is very often developed in a public, collaborative manner.

Open Medical Record System (MRS)
Open Medical Record System (MRS) is a collaborative open source project to develop excellent software to support the delivery of health care in developing countries. It grew out of the critical need to scale up the treatment of HIV in Africa but from the start was conceived as a general purpose electronic medical record system that could support the full range of medical treatments. OpenMRS is founded on the principles of openness and sharing of ideas, software and strategies for deployment and use. The system is designed to be usable in very resource poor environments and can be modified with the addition of new data items, forms and reports without programming. It was created as a platform that many organizations can adopt and modify, avoiding the need to develop a system from scratch.


Products are branded, specialized customizations of the RapidSMS framework. ChildCount and Rapid Android are two examples of products that were created by developers in order to customize RapidSMS.

pyGSM is a Python module which uses pySerial to provide an easy interface to send and receive SMS via a GSM Modem. It was ported from RubyGSM, and provides nearly the same features.

Python is a general purpose high-level programming language. Python supports multiple programming paradigms (primarily object oriented, imperative and functional) and features a fully dynamic type system and automatic memory management, similar to that of Perl, Ruby, Scheme, and Tcl. Like other dynamic languages, Python is often used as a scripting language. The language has an open, community-based development model managed by the non-profit Python Software Foundation, which maintains the de facto definition of the language in CPython, the reference implementation.


RAID drive
A RAID (Redundant Array of Inexpensive Disks) drive is a technology that allows computer users to achieve high levels of storage reliability from low-cost and less reliable PC-class disk-drives. RAID is now used as an umbrella term for computer data storage schemes that can divide and replicate data among multiple hard disk drives.

Ready-to-Use Therapeutic Foods (RUTF)
Ready-to-Use Therapeutic foods (RUTFs) or Therapeutic Foods are foods designed for specific, usually nutritional, therapeutic purposes. RUTFs have revolutionized the treatment of severe malnutrition – providing foods that are safe to use at home and which ensure rapid weight gain in severely malnourished children. Plumpy’nut and BP-100 (a nutrient-fortified wheat-and-oat bar) are examples of a RUTF that is as effective as therapeutic milk products. Neither BP-100 nor Plumpy’nut require additional water, eliminating the need for a clean water source for proper dilution. In addition, Plumpy’nut and BP-100 do not require cooking or other preparation. Plumpy’nut costs about the same as milk powders but is easier to transport in bulk and takes up less space.


A server is a program that stores data and responds to requests from other programs, usually clients. When a server like Gmail receives a request for data from a client like Microsoft Outlook, Gmail sends the data in the form of the emails you receive in your Inbox. Additionally, a computer that primarily runs server software is often referred to as a server itself.

Short Message Service (SMS)
Short Message Service (SMS) is a communications protocol allowing the interchange of short text messages between mobile telephone services. The connection between the phenomenon of text messaging and the underlying technology is so great that in parts of the world the term “SMS” is used as a synonym for a text message or the act of sending a text message, even when a different protocol is being used.

Software programmer

See developer.

A smartphone is a mobile phone offering advanced capabilities, often with PC-like functionality. For some, a smartphone is a phone that runs a complete operating system software providing a standardized interface and platform for application developers. For others, a smartphone is simply a phone with advanced features like e-mail, Internet and e-book reader capabilities, and/or a built-in full keyboard or external USB keyboard and VGA connector. In other words, it is a miniature computer that has phone capability.


Text Messaging or Texting
Text messaging or texting is the common term for the sending of “short” (160 characters or fewer, including spaces) text messages from mobile phones using the Short Message Service (SMS).


A UPS, or Uninterruptible Power Supply, is a power source that includes a battery which will maintain power in the event of an outage to prevent data loss.

Unstructured Supplementary Service Data (USSD)
Unstructured Supplementary Service Data (USSD) is a synchronous protocol of all GSM networks and handsets. It is generally associated with real time or instant messaging phone services. There is no store-and-forward capability, as is typical of other short message protocols. Response times for interactive USSD-based services are generally quicker than those used for SMS.


Voice over Internet Protocal (VoIP)
Voice over Internet Protocol (VoIP) is a technology that allows you to make voice calls using a broadband Internet connection instead of a regular (or analog) phone line. Some VoIP services only allow calls to people using the same service, but other services may allow calls to anyone who has a telephone number – including local, long distance, mobile and international numbers. Also, while some VoIP services only work over a computer or special VoIP phone, other services allow the use of traditional phones connected to a VoIP adapter. See FCC VoIP.

Voice SMS
Voice SMS allows users to send SMS (link to definition above) messages by voice. The sender dials a command (usually “*”), then a mobile number to record and send a Voice SMS. The recipient receives a regular text SMS notifying them of their voice SMS, which they can then listen to. See Mobile Marketing Magazine.


Wireless Application Protocol (WAP)
Wireless Application Protocol (WAP) is an open international standard for application-layer network communications in a wireless communication environment. Most uses of WAP involve accessing the Web from a mobile phone.