Skip to content

kobotoolbox/enketo-literacy-test-widget

Repository files navigation

Literacy Test Widget

To add this widget to your Enketo Express installation see this guidance.

Works on all regular (non-minimal) "select multiple" questions with the "literacy" appearance. It cannot be used in conjunction with other appearances. It works with all themes, but the Grid Theme is likely most suitable.

Note that this widget is a custom hack for which we cannot device a proper sane XForm syntax. It is therefore not suitable for inclusion in the common Enketo tools and the ODK XForms specification.

Very basic usage information

  1. Evaluator clicks Start;
  2. Reader starts reading;
  3. Evaluator clicks any words (not checkboxes) that the reader cannot read, marking them with strikethrough;
  4. Some duration (the "flash time") elapses;
  5. Evaluator sees yellow screen;
  6. Evaluator clicks the check box to indicate how far the reader has progressed, i.e. what was the last word read when the yellow "flash" screen appeared;
  7. Yellow screen goes away; evaluator continues clicking words the when the reader struggles;
  8. Reader finishes (or gives up, or exceeds some maximum amount of time¹);
  9. Evaluator clicks Finish;
  10. Evaluator then clicks the final word read by the reader, which is then highlighted in red.

¹ The evaluator just needs to know the maximum time and click finish once that elapses. It's not a setting stored in the form.

ℹ️ The collected data has to go through formpack to make sense (see kobotoolbox/formpack#145), so try an XLSX export when testing instead of looking at the table view (or any other view in the KPI UI).

There's a sloppy screencast of this available (internally only—sorry!).

How it works

From the formpack code that processes the responses generated by this widget:

Like a [regular select_multiple field], but with extra parameters
prepended that do not correspond to choice values. In the submission, the
parameters are submitted as a space-separated list of integers, nulls and
word values, e.g.
    5 45 99 null null null null null null null 1 4 5 6
The fields are:
    1    Word attempted at flash point
    2    Time taken for whole exercise
    3    Total words attempted
    4-10 Reserved for possible future parameters (set to null until then)
    11-  Values of words read incorrectly (as in a typical multiple select)

The working specification used during development is also available to view at https://docs.google.com/document/d/13wJoBKqOn3quBLiCqox9kBq00oaV7yKIJqNi7VRNhcs/edit.