1. Home
  2. Documentation
  3. Designing forms
  4. Appearances

Designing forms

Appearances

How the appearance column changes the way a question is drawn, which of SurveyCTO's appearances Joripo's runtime honours, and which only partly.

Joripo documentation · https://joripo.com/docs/designing-forms/appearances

On this page

The appearance column changes how a question looks or behaves without changing what it collects. Joripo's form runtime (the tester, web forms and Joripo Collect) honours SurveyCTO's appearances as listed here. ODK Collect draws the same form with its own widgets, so on ODK Collect an appearance looks as ODK draws it.

Text and numbers

AppearanceOnEffect
numbers, numbers_decimal, numbers_phonetextA numeric, decimal or telephone keypad.
multilinetextA larger text box.
show_formattedinteger, decimalThe number shown with its thousands separators ("120,000") under the box as it is typed.

Choices

AppearanceEffect
minimalA drop-down list (for a multiple-choice question the boxes stay ticked boxes: there is no pop-up on the web).
quickGoes on to the next question as soon as a choice is made.
compact, compact-2 …Choices in a grid of that many columns. quickcompact and quickcompact-2 do both.
likert, likert-min, likert-midA horizontal scale, labelled at both ends, or at the ends and the middle.
label, list-nolabelIn a field-list group, several questions sharing one list drawn as one table, with the header from the label row.
randomized, randomized(x, y), randomized(seed, x, y)Choices in a random order, optionally seeded, with the first x and last y kept in place. The order stays the same for the whole interview. Not yet compared with SurveyCTO: whether a seeded order matches SurveyCTO's exactly.
search(...)Choices from preloaded data; see Datasets and preloads.

Dates and times

A date or time question opens on the current date or time and reads the chosen value out in words, with Change and Clear.

AppearanceEffect
no-calendarThe device's own date picker instead of Joripo's calendar.
month-yearMonth and year only; stored as the first of the month.
yearThe year only; stored as 1 January.
monthPartly supported: shown as a full date picker.

Location

AppearanceEffect
(none)The location screen: the accuracy of the current reading, its coordinates, the time waited, and Record, Try again and Cancel. A poor reading must be confirmed.
mapsAdds a map of the reading (OpenStreetMap, only with a connection; offline the GPS works as usual and the screen says the map is not available).
placement-mapAlso lets the enumerator place the point by tapping the map (recorded with accuracy 0).
backgroundRecorded without showing the question in SurveyCTO Collect; Joripo shows it with a note, as SurveyCTO's web forms do.

The parameters column sets a GPS question's own thresholds, over the server's device configuration: capture-accuracy=5 records a reading by itself once it is 5 m or better, warning-accuracy=100 asks the enumerator to confirm one worse than 100 m. ODK Collect reads the same thresholds.

Media

AppearanceOnEffect
newimage, audio, video, fileCapture a new one rather than pick an existing file.
signature, drawimageA drawing pad; saved as a PNG picture.
annotateimagePartly supported: a file picker, with no drawing over the picture.

Notes and groups

AppearanceOnEffect
intronoteShown first, on the opening screen.
thankyounoteKept out of the flow and shown after the form is finished.
field-listgroup, repeatAll the group's questions on one screen, with relevance and calculations updating live and every answer checked on Next. For a repeat, each instance on one screen.
table-listgroupQuestions sharing one choice list, drawn as a table.
organizedgroupThe group's questions indented in the Go-to list. organized-closed is read the same way: the closed state is not implemented.
table, table-labeledrepeatA summary table of the instances under the repeated questions; a click on a cell goes to it.

Field plug-ins

An appearance custom-<name>(key=value, …) runs a SurveyCTO field plug-in: attach <name>.fieldplugin.zip to the form and the question is drawn by the plug-in. Joripo hosts plug-ins in a sandboxed frame with SurveyCTO's plug-in programming interface, and evaluates their parameters at the question. They run in the tester and web forms as on Joripo Collect. A plug-in that calls something only an Android phone has (make a call, open another app) works on Joripo Collect and is told "not supported" in a web form, as in SurveyCTO's web forms. ODK Collect cannot run plug-ins.

Appearances Joripo does not know

You can type any appearance. One Joripo's runtime does not use is passed through to the form unchanged (ODK Collect may use it), and the form designer says that Joripo's runtime ignores it.