Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page outlines recommendations for designing and building useful CommCare applications. These are compiled from collective experience in app construction and are only recommendations. Individual projects could vary substantially and the overall best practice is to go through extensive user testing and piloting to identify and correct language, media, or work flows that are confusing.

...

To test your Question IDs, choose "export form contents" under Tools to view all questions in your form.   

Naming Conventions:

...

Menus and Forms

Users will navigate the application using form and module menu names.

  • Names should clearly describe what the module menu or form does 
  • They should be short names (fit on one line of the phone's screen)
  • Use the same name for forms with similar functions (ex. registration in different modules)

...

Case management is what makes CommCare uniquely useful for front line workers. Some important things to consider:

 Case List 

...

  • Show properties that will help user find the case they want
  • Add sorts(Case List Sorting) and hidden properties to help user search for the item they want
  • It is possible to have several case properties displayed in the case list, but should consider the device type you are using. Phones have smaller screen sizes, and therefore will be able to display fewer properties in the case list, whereas tablets have a more space on the screen to show more properties. In general, 3 to 4 properties is a good number to display in the case list. 

Case Detail

  • Can show more properties than case list.  
  • Add properties that will help user make sure they've picked the right case
  • Add properties that will help user before opening a form for the case 
  • Use the Format option to display case properties correctly for the user Date Formatting,etc. ) See Case List and Case Detail Configuration.
  • Use ID Mapping if displaying any case properties that store item values.  This will make sure friendly text is shown.  

...

  • Take advantage of calculations in forms to minimize errors. For example, if you are asking for a birth date, add a label afterwards that shows the calculated age. This may highlight an error in date entry if the age appears different than what the user expected.

  • Use labels to force the user to stop and verify their information. You can add a label that shows the user data they entered and encourages them to verify if it is correct (see Common Logic and Calculations ).

  • Use groups to prevent writing the same display logic (and having to update it) for related questions. Groups also make it easier to manage large forms in the designer (see the Beginner's Guide)
  • Consider including a success/you're done with the form label as your last question. This can be particularly useful on J2ME phones by giving the user an opportunity to correct any errors and make it clear to the user that the form is ending..
  • Don't try to do too much in one form. If you make a simple form that is easy to use it has a higher probabilty of success than a complex one that tries to tackle too much.

...