App Design Best Practices

Checkboxes, Dropdowns and Radios
Forms vs Quick Pages
Testing Advanced Logic with Statements



This article covers how to most effectively use Checkbox's wide variety of features when:

  • Multiple features can be used for the same purpose
  • You need to test advanced logic


Checkboxes, Dropdowns and Radios

Figure 1: Checkbox, Dropdown and Radio fields in a Form

Checkboxes, Dropdowns and Radios in Forms all allow the user to select from multiple answer options.

The following table describes when it is ideal to use one of these over the others:

When the user should be able to select more than one option
When the user should be able to select only one option, and there are more than 5 options. With longer lists of options, the Dropdown search bar becomes useful
When the user should be able to select only one option, and there are 5 or less options. With shorter lists of options, it is most convenient to make all options immediately visible


Testing Advanced Logic with Statements

Because advanced logic in Merge, Filter and Comp blocks runs in the background, it can be difficult to test whether the logic has been correctly configured.

Form pages with paragraphs can be used to make the running of the logic visible and easy to proofread, as shown in the examples below.

Note: To make this testing process faster, the Start page should be moved to right before the advanced logic is being executed.

Conditions dependent on the content of a Computation cell

Consider the following situation:

  1. A Comp cell, COMP#_A1, contains a dynamic reference, {{TXT#}}.
  2. If COMP#_A1 == "Apple", one path of the App will be followed. If COMP#_A1 == "Orange", a different path will be followed.


Figure 2: Different pathways depending on the value of COMP4_A1

To see whether COMP#_A1 is correctly storing only either "Apple" or "Orange", a paragraph containing the {{TXT#}} reference in COMP#_A1 can be added prior to the conditional paths. Alternatively, you can also show the variable COMP#_A1 to check the value.


Figure 3: Paragraph in Form page displaying the variable TXT10


Dynamic references to a Merge or Filter Output Set

Consider the following situation:

  1. A List has been created in an App's background through a Merge or Filter Output Set.
  2. That List is being referenced in a later Text field, Table, Merge Input Set or Filter List.


Figure 4: Table containing a Merge Output Set dynamic reference, {{LIST13}}

To test whether the Merge or Filter Output Set has rendered correctly, a Statement containing a {{LIST#}} dynamic reference to the Output Set can be added before the relevant section of the App.


Figure 5: Statement page added to test whether {{LIST13}} is rendering correctly