Installing & Customizing

Software programmers can begin customizing RapidSMS by first installing the Ubuntu server operating system and then installing the RapidSMS code. A handy installation tutorial is available for help.

While GSM modems and a dedicated server are generally necessary for actual field implementations, the downloadable RapidSMS code comes with an HTTP back-end and an HTTP tester app. You can send messages and see the responses using the app.

For additional assistance, please visit our Technical Support page. When you are ready to start coding, please see our Writing Your First App guide and visit our Contribute page to see how to give back to the community.

Systems Admin or IT staff wanting to download, configure and deploy preconfigured applications

As the RapidSMS community grows and more preconfigured applications are coded, this will increasingly become an option. However, while experienced IT staff should be able to set up RapidSMS, at this time preconfigured applications are limited.

Whats in a deployment?

Once requirements have been generated (see Field Guide to Implementation in the Getting Started section for more information), its time to prepare software for deployment.

One method might be to task your software programmers to create a single app to fulfill all of your requirements. While this will get the job done, we recommend that you review existing apps and deployments in case portions of code can be reused — and so others may reuse your code for other deployments.

A RapidSMS deployment should not be thought of as a single piece of software, but rather as a collection of several pieces of software that work together to fulfill the requirements of a deployment. Each deployment requires specific, custom functionality, but general functionality often needed for SMS services can be easily shared and reused.

rapidsms-deployment-chart

For example, a supply tracking deployment and a youth community deployment may both need a way for users to register their locations and display information on the web. So, the same user registration app can be used in both deployments — without modifying or writing new code. Likewise, the features of webui, locations, and logger apps are also easily shared. These deployments begin to diverge with the addition of more specialized apps: inventory and messaging, in the case of supply tracking; and smsforum and poll in our youth community deployment. While these apps are not shared among our example deployments, these apps are freely available and general enough for use in other deployments. In our example, only the bednets and moderation apps were created specifically for these deployments. All other functionality had been developed already for other deployments and is freely available in the RapidSMS app ecosystem. Finally, if our new moderation app might be useful in other deployments, we can make it available for others to reuse and modify in the same fashion.