Once you have outlined the structure of your app, it’s time to get to building! This requires a clear understanding of how you will approach development, an outline of what functionality each version of the app will incorporate, and some key features of mobile data collection tools you’ll be sure to want to include.
Sit down and figure out how your team best works together
Plan for development
The next step is about determining how you will build your app. Keep your team organized and focused on their assigned workstreams. One app development methodology that we found can help with this is Agile (also known as Scrum). Agile’s principles of incremental development and constant iteration help ensure you are staying focused on your project priorities, and validating along the way. JIRA is a software project management software built to support agile teams and processes.
Whatever methodology you choose, make sure roles, responsibilities, and processes are very clear to the team, and that everyone agrees. Then establish mechanisms to ensure your team sticks to them.
Build a versioning plan
A tough realization for many organizations in the build phase is that not everything will always fit in the first version of your app. Think carefully about what is time sensitive or a priority and the level of effort associated with including certain criteria. You need to map out a versioning plan to identify what modules and features will be included in each version of your app.
However, versioning plans should not just be focused on what is possible to include in any particular version. Consider which features or flows make the best introduction to the tool for new users and which might be too confusing for them to take on from the start. Sometimes it makes sense to introduce a certain feature set that you know the user will be able to understand quickly and wait until they are comfortable before introducing new functionality. For instance, if your users have never had a mobile device before, it might make sense to start with text-only inputs and withhold functionality like image capture until they become more familiar with the basic functionality of the device.
Finally! Start building!
Build your outline & fill it in
Now it’s time to actually build! With the overall structure and workflow that you outlined and validated in the design phase, start integrating the more detailed content and logic into your forms. What are the unbiased questions you wrote when you designed your surveys? Add them in! Are there any documents, videos, or messages your app will need to share at certain times? Put those in, too!
Most versioning plans will start with a prototype for some initial testing. One option is to build your prototype in the data collection platform you plan to use. This approach obviously requires that you know how to build on the platform before starting the process. Alternatively, you can also use a tool like Moqups, which allows you to build interactive mockups that look and feel like a real, functioning app.
Once this prototype is designed, validate it with your end users: Does your design actually address the workflow challenges you identified during scoping? Did you understand the participant registration process correctly, or does your design have gaps?
Additional features to explore
If you are using CommCare, our form builder offers additional features beyond basics (e.g. skip logic/display conditions and validation conditions), which you might consider adding to your app for improved user experience:
In a module case list
- Registration from the case list: Make the registration form directly accessible from a case list, so the user can go from searching for a patient to registering a new one seamlessly.
- “Search Only” properties in the case list: Even if you only display a few properties on your case list, you can still search by others (e.g. District) that will be important to your program. “Search Only” properties give the user more search and filtering options without overcrowding the phone screen.
- Icons in the case list: Use conditional icons in the case list to visually highlight important information about each case.
In your forms
- Calculations in hidden values: Use hidden values (a special question type) in your form to carry out calculations that are not visible to the user. For example, calculate a patient’s age in years and months based on the date of birth question asked during patient registration, or calculate the next visit date based on today’s date.
- Define default values: Pre-load an answer to a question in your form by loading a case property, text, or a calculation into the default value field. This helps the user out by suggesting a response but allowing them to edit it in the form.
Once you’ve established a development approach, drafted a versioning plan, and taken your first steps to actually building your mobile data collection app, you have achieved a culminating step in the process. All the work up to this point has finally put a tool in your hands. Now it’s time to put it to the test.