Skip to content

Labeling

The labeling view: read-only input cards showing the record, and the output form beside them.The labeling view: read-only input cards showing the record, and the output form beside them.

The record you are judging is on one side; the form you fill in is on the other. Both layouts come entirely from the config — see Cards.

Key Action
Next record
Previous record
Enter Next record
+ Next unfinished record
+ Previous unfinished record

Enter is ignored where it already means something — inside a textarea, on a focused button, or while a dropdown is open — so it never fires twice.

The shift-arrow pair is how you sweep up leftovers: work through the file quickly, skipping anything that needs thought, then jump between just the gaps.

A record is complete when every required output field holds a value that passes its own rules. Nothing else counts — how many fields you touched is irrelevant.

Required-ness defaults sensibly and can be overridden per field:

  • fields you answer (user, session) are required by default,
  • fields the app provides (copy, timestamp) are not,
  • an explicit "required": true or false always wins.

Three states show in the progress bar:

State Meaning
unlabeled You have not entered anything on this record.
partial You have started, but a required field is missing or invalid.
complete Ready to export.

Values are checked as you enter them, against the constraints the config declares — length, range, whether a number is whole, whether a choice is one of the permitted ones.

An invalid value is flagged inline on the field. It does not block you from moving on; it blocks the record from being complete, which means it goes to *-remaining rather than *-output when you export.

Sometimes a source cell cannot be read as the type the config declares — the text abc in a column declared number, say. MLabel does not refuse the file over it. The cell shows as empty with a note attached, and you carry on. The value is preserved verbatim in *-remaining if the record ends up there.

This is deliberate: a labeler cannot fix the source data, so a bad cell is information rather than a task.

Everything is saved continuously, keyed to the config and input file you have open. You can quit at any point. See Sessions and resuming.

Press Done, or ⌘/Ctrl+Enter. You do not have to complete every record first — see Exporting for what lands where.