Covers best practices for designing an application from individual questions to the overall workflow, as well as important design processes like collecting user feedback.

Learning ObjectiveThe learner should be able to:Link to Resources
Design a workflow that is understandable by users and meets program requirements
  • Employ User-Centered Design to understand any existing workflows
  • Use the CommCare Worksheet or other application design views to describe and develop an overall application structure

Application Planning

Application Design

Collect, analyze, and use user feedback
  • Pilot early designs and prototypes with users to collect feedback
User Testing
Use appropriate project and application settings
  • Ensure that project settings are set appropriately
  • Recognize or be able to find information on all major Application Settings

Advanced Application Settings

Project Space Settings

Use Question Design best practices
  • Use descriptive, consistent Question IDs
  • Develop question labels that are clear and fit on the screen
  • Use appropriate validation conditions with helpful, actionable validation messages
  • Determine the best question type to use for each question (ex. interger vs decimal vs text)
  • Ensure that question types are appropriate for the selected device (no GPS questions for feature phones)
  • Minimize the use of text input type questions
Question Design
Use Form Design best practices
  • Use and test Display Conditions
  • Cluster related questions using Question Groups
  • Use hidden values to help users with calculations
Form Design
Use Case Management best practices
  • Use descriptive case types
  • Design case list and details to show useful information, use the best format available, and work well on the selected device
Case Management Design
Use appropriate multimedia where helpful
  • Incorporate multimedia for questions where useful
  • Ensure that media files work well on the selected device
  • Use icons and audio to guide users through an application
Multimedia Design
Ensure that the application is designed to collect data that is relevant for both reporting and for the user
  • Use hidden values to calculate data required for exports or reporting
App Design for Reporting