Skip to content
OWLF
Esc
↑↓navigate↵open⌘Jpreview
On this page

Scales

How OWLF keeps each app's own mood and sleep steps.

A scale describes the app’s own rating steps, worst to best. OWLF never converts a 5-face scale into a 7-point one: consumers do that, and can show why.

{
  "size": 5,
  "levels": [
    { "id": "awful", "label": "awful", "position": 0, "color": "#5f6b73" },
    { "id": "meh", "label": "meh", "position": 2 },
    { "id": "chillig", "label": "chillig", "position": 3 },
    { "id": "rad", "label": "rad", "position": 4 }
  ]
}

Scale

Field Required Purpose
size Yes Number of positions: 5 for a 1–5 scale.
levels Yes At least one level.
continuous No { min, max, unit? } for sliders. Levels are then equal bands of min..max.

Level

Field Required Purpose
id Yes Unique in its scale. Entries reference it.
label Yes As the app shows it: “rad”, “7”, “Very good”.
position Yes 0..size-1, 0 = worst. Several levels may share a position, e.g. custom moods in one group.
color No #rrggbb, the app’s color for this level.
valence No The adapter’s reading of the level’s meaning, -1..1.

Mapping to another scale

Consumers map a level by valence when present, else by position / (size - 1). A scale of size 1 maps to the middle.

Set valence only when position misleads. Example: Moodnotes shows 5 faces but stores 7 values, so each of the 7 levels carries its own valence from -1 to 1.

Was this page helpful?