Should I build my new application from scratch or use one from the Exchange?
The CommCare Exchange is an app store, (like Google Play or iTunes) full of CommCare applications built by Dimagi and our partner organizations. It includes apps on a variety of subjects such as maternal and child health (MNCH), agriculture, and orphans and vulnerable child (OVC). There are a various features, each intended for a different program including complicated and complex examples of calculations, and simple case management designs. If desired, you can launch these Apps directly onto a java phone, android phone, or tablet. You can also use them as a template for creating your own. There are two ways to approach building a new application; downloading it from the exchange or building the application from scratch. Each has their own set of pros/cons.
Downloading from the Exchange
Using a pre-existing App on the Exchange, you can get a good idea of how an app is built for similar subject matter, or for existing functions that you wish to have in your application. There may already be a system in place that does what you want and you can then use this as a template. However, please note that some of these Apps include very advanced functionality that if edited, can cause the app to not work correctly. Some of these Apps were also built for specific users and their parameters may not fit your needs.
Questions to ask yourself before using an application from the exchange
- Is this the correct workflow of my field workers?
- Do I need to change the language?
- Are the images culturally appropriate?
- Is the content the same as my national guidelines and best practices?
- Am I trying to re-create complex logic that has been done elsewhere (example: BMI and malnutrition calculations for children)?
Building an App from Scratch
Building a custom, new application from scratch, allows you to define all of your own content and functionality. This "blank slate" allows you the freedom to choose your design and how your system will work. However, this may involve more personal investigation into possible functionality and best practices. We highly recommend that you first complete the CommCare Tutorial before starting to get you oriented with CommCare.
Questions to ask yourself before using an application from scratch
How much time and effort am I willing to put into this application? (the answer should be a reasonable amount, it takes a few tries to get it right)
What problem am I trying to solve? Is this different from the applications on the exchange?
What is the plan? Have I thought through the design and made decisions on what I would like to track and which questions to ask?
Do I need to develop images, audio, or video content? (this also takes a lot of time and effort)
A good place to start may be to take a look at the Demo App, which is on the Exchange. It will show you basic functionality options and give you an sneak peek into CommCare "under the hood", including app design and case management.
For more information on the Exchange, see the Exchange FAQ.
Common Changes to Apps When Downloading From the Exchange:
Translation and internationalization process - Translating the application into local languages
Multimedia in CommCare - Adding culturally appropriate multimedia
Beginner Tutorial - Adding a few basic questions to registration or follow-up forms