Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 36 Next »

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.

Question ID and Case Property Naming

Have descriptive and consistent naming for your Question IDs and case properties. They are used in data exports and when doing case configuration.  

  • Descriptive: Use something like date_of_birth not dob.  CommCare allows for long names if you want to be descriptive.  Another person should be able to looks at your names and understand the data. 

  • Consistent: 

    • Be consistent with casing (i.e. always use lower case) 

    • Use the same name for the same question in different forms and the same case property name in different forms

    • User underscores instead of spaces (as spaces are not allowed)

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 menu names.

  • Names should clearly describe what the 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

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. 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.  

Case Properties

  • Saving and loading of case properties into the form is an important aspect of case management

  • In the event that you are saving and/or loading case properties into specific hidden values, consider organizing those hidden values into question groups called ''save'' and ''load'' respectively. This will help you stay organized with the movement of case properties. 

Multimedia

Before deciding to include multimedia in your application, think carefully through what the goal of multimedia will be in your application.  Some applications may not need multimedia (pure data collection or advanced users who don't need support).

Images

  • Local Images: Use a local illustrator so that images appear local to the area.

  • Unique Images: If images are being used for low-literate user support, try make each image unique.  This will be less confusing.  

  • Test Images: Test images! Images you may understand may be confusing to beneficiary or user.  For example, a digital thermometer picture may not be understood by all your users.  

Data

If data is important for you application, design your questions and case properties accordingly.  Thinking through what you want in the data will help inform the application.  

  • If using case exports, add indicators you care about to the case (either by calculating them in forms or just saving some form questions to the case)

  • Depending on what you need to track, decide on subcases for children, referrals, etc. vs. storing all data in a single case type

  • Test your exports!  While building the app, test the exports to make sure that you're capturing data you need and nothing that isn't essential  For example, date that form is filled out and user ID is automatically captured. 

CommCare Settings

  • Turn on CommCare Sense Mode For most applications, this will result in a simpler user experience for low literate users.  Some advanced features may be hidden (ex. Saved/Incomplete forms on CommCare Android)

  • Turn on Two-Way Sync:  This will let ensure that if cases are reassigned, the user will be able to load them on their phone. 

  • Setup Daily/Weekly Sync: If you're using case sharing, make sure you have daily or weekly sync on your phones so that users have a fresh version of any cases. 

  • Set Text Input for Java Phones: Set to Native for non-english typing or full screen for QWERTY.  

  • For Java Phones, set CommCare version to the latest available (indicated by a *)

Language Support

  • For multilingual applications make sure each of the following is translated:

    • Question labels/display text in a form

    • Names of forms and modules

    • Any information displayed in the case list and detail (including ID mapping)

    • User Interface translations (Translate the CommCare User Interface) for your language.  Common language (ex. back, form is loading) should be updated.

  • Set the default language of your application before creating your released build.  Drag and drop the languages and put the default language at the top.  

  • No labels