Extend intellisense / auto-complete to answer options

designer
(Arthur Shaw) #1

Use case: Whenever a condition is written, the designer typically needs to write that a question variable is equal to a value (e.g., b24 == 2). When this is done, designer needs to remember the variable name (made easier by the current intellitype/autocomplete functionality) and the intended target value. When memory fails or the designer is uncertain that a value corresponds to the desired answer option, they must toggle between the question where the condition is being written and the question whose value is needed for the condition. To make this process easier, it would be good if Designer’s conditions editor would show a set of values and the corresponding string labels. For example, if one types b1 ==, show 1 "yes" and 2 "no". If these values have already been defined, then Designer is simply fetching previously defined key-value pairs for the target question. If these values have not been defined, implement current approach.

Some practical limitations:

  • Only works for single-select and multi-select questions
  • Drop-down of values only triggered after certain syntactical elements. Proposal: after ==, !=, >=, <=, >, <. Ideally also after Contains(, . Bonus points if invoked where arguments expected for InList and InRange. Other methods, in my experience, are less used.
  • Shows full set of answer options in order of appearance in target question
  • Drop-down reacts to numeric input only

Some visual examples from other systems:

RStudio’s IDE:

image

1 Like
(Sergiy Radyakin) #2

this is typically solved by opening a second page of the browser on the necessary question.

(Arthur Shaw) #3

This is one one work-around, but still involves a bit of user work:

  1. Open another browser window
  2. Open the questionnaire
  3. Find the question (e.g., go to section, scroll down, etc.)
  4. Repeat step 3 for each new target question

This proposal is clearly for a convenience feature, but the pain point is so universal that I think it’s worth considering how better to address it.