App Design Best Practices

SKIP AHEAD TO 
Introduction
Checkboxes, Dropdowns and Radios
Forms vs Quick Pages
Testing Advanced Logic with Statements

 

Introduction


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


Screen_Shot_2019-08-14_at_10.43.31.png
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:

Checkbox
When the user should be able to select more than one option
Dropdowns
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
Radios
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.

Logic_showing.png

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.

Printing_using_para.png

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.

Screen_Shot_2019-08-14_at_11.20.31.png

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.

Screen_Shot_2019-08-14_at_11.20.55.png

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