Exportformaat
Exporteren, onderdeel van Deskami Plus, schrijft dezelfde registratie per minuut weg die Deskami op je Mac bewaart. Er wordt niets toegevoegd, geschat of ingevuld. Deze pagina beschrijft wat er in het bestand staat.
Afspraken
- Een lege cel in CSV, of
nullin JSON, betekent niet gemeten. Een0betekent gemeten, en het was nul. - Kolomnamen zijn in elke taal Engels en liggen vast; ze veranderen alleen samen met een nieuwe
export_version. - De bestanden zijn UTF-8. CSV is kommagescheiden, met een kopregel.
- Tijden staan in UTC volgens ISO 8601, zoals
2026-09-28T07:41:00Z. Datums zijnYYYY-MM-DD: de kalenderdag waaronder de minuut is vastgelegd. - Decimalen gebruiken een punt, nooit een scheidingsteken voor duizendtallen. Booleans zijn
trueenfalse. - Er is één rij voor elke minuut waarin Deskami iets vastlegde, en geen rij voor minuten waarin het niets vastlegde.
Minuutkolommen
De CSV heeft deze kolommen, in deze volgorde; in JSON vormen dezelfde velden elke minuut. De naam tussen haakjes is de kolom in het ruwe databasebestand.
minute_utc— tijd. Het begin van de minuut, in UTC. (minute_utc, in Unix-seconden)local_day— datum. De kalenderdag waar deze minuut bij hoort, in de tijdzone waarin de Mac op dat moment stond. Die ligt vast zodra hij geschreven is; een latere wisseling van tijdzone verschuift hem niet. (day_key)setup_id— geheel getal. De opstelling die in gebruik was: een camera plus een schermindeling. In JSON staan de opstellingen ondersetups. (profile_id)seconds_at_desk— 0 tot 60. Seconden dat de camera je in deze minuut zag. Metcamera_offop false betekent 0 dat de camera aan stond en je niet zag. (present_s)posture_deviation— getal, 0 of meer. Hoe ver je hoofd en schouders onder je eigen referentie zaten, gemiddeld over de minuut, als veelvoud van de toen geldende drempel voor een herinnering: 0 bij de referentie, 1 bij de drempel. Leeg als je houding niet gemeten werd. (posture_dev)posture_peak— getal, 0 of meer. De hoogste waarde van dezelfde maat binnen de minuut. (posture_peak)distance_deviation— getal, 0 of meer. Hoeveel dichter je gezicht bij het scherm was dan bij je referentie, op dezelfde schaal, afgeleid uit de afstand tussen je ogen in het beeld. (distance_dev)blinks— geheel getal. Knipperingen, geteld terwijl de ogen gemeten konden worden. Leeg als dat niet kon. (blinks)incomplete_blinks— geheel getal. Knipperingen waarbij het oog op het smalste moment niet ver genoeg dichtging. Leeg als er geen oordeel mogelijk was. (incomplete_blinks)head_pitch_degrees— getal. Gemiddelde voor- of achteroverkanteling van het hoofd in graden, zoals de camera die doorgeeft: ten opzichte van de camera, niet van je referentie. (head_pitch)confidence— 0 tot 1. Gemiddelde betrouwbaarheid van de gezichtsdetectie. (confidence)light— 0 tot 1. Gemiddelde helderheid van het gezichtsgebied, van 0 donker tot 1 licht. Niet de kamer. (light)eyes_measured— boolean. De ogen konden in deze minuut minstens één keer gemeten worden. Bij false zijnblinks,incomplete_blinkseneye_observed_secondsleeg. (eye_valid)eye_observed_seconds— 0 tot 60. Seconden dat de ogen echt waargenomen zijn. Knipperingen per minuut isblinks× 60 ÷eye_observed_seconds. (eye_observed_s)look_aways— geheel getal. Voltooide blikken in de verte, de 20-20-20-gewoonte. Leeg als wegkijken niet gemeten werd. (gaze_breaks)camera_off— boolean. De camera stond deze minuut uit: je had hem uitgezet, een andere app gebruikte hem, of de toestemming was ingetrokken. De camerakolommen zijn dan leeg; de app- en activiteitskolommen kunnen nog gevuld zijn. (camera_off)declared_break— boolean. Je had Deskami laten weten dat je pauze had. De minuut telt als weg van het bureau, wat de camera ook zag. (declared_break)front_app— tekst. De bundle-ID van de app die het grootste deel van de minuut op de voorgrond stond, zoalscom.apple.Safari. Leeg als die meting uit stond, het scherm vergrendeld was of er niets op de voorgrond stond. Nooit een venstertitel. (app_id)app_switches— geheel getal. Hoe vaak de app op de voorgrond in deze minuut wisselde. (app_switches)active_seconds— 0 tot 60. Seconden waarin het toetsenbord of de muis in de voorafgaande 15 seconden was aangeraakt. Alleen de tijd sinds de laatste gebeurtenis wordt gelezen, nooit de toetsen. Leeg als die meting uit stond. (active_s)call_seconds— 0 tot 60. Seconden waarin een bel-app op de voorgrond stond, of één app de microfoon en de luidspreker tegelijk open had. Leeg als dit niet gemeten werd, ook in elke minuut die is vastgelegd voordat Deskami dit mat. (meeting_s)
JSON
Het JSON-bestand is één object. Het begint met een kop: export_version, app_version, exported_at, time_zone (op het moment van exporteren), database_schema_version, range (kind, from, to) en setups (id, camera_name, created_at).
Daarna volgt days, één object voor elke vastgelegde dag in de periode. Elke dag heeft zijn eigen overzicht, minuten en herinneringen:
local_dayenminutes_at_desk, de som vanseconds_at_deskgedeeld door 60.breaks: periodes van 5 minuten of langer weg van het bureau en korter dan 2 uur, tussen twee periodes aan het bureau. Tijd met de camera uit telt voor geen van beide.posture_fine_minutes(posture_deviationonder 1) enposture_attention_minutes(1 of hoger).blink_rate: knipperingen per minuut over de tijd dat de ogen waargenomen werden;nullbij minder dan een minuut waarneming.incomplete_blink_ratio:nullals te weinig knipperingen beoordeeld konden worden.reminders_by_signal: getoonde herinneringen, geteld per signaal.minutes: de minuutkolommen hierboven, één object per minuut.reminders: één object per herinnering, mettime_utc,local_day,setup_id,signal(posture,distance,blink,incompleteBlinkofgaze),build_up_seconds(tijd boven de drempel vóór de herinnering),recover_seconds(tijd tot je er weer onder zat;nullals het meten eerder stopte),asked(of de vraag over je referentie getoond werd) enanswer(nullals die niet gesteld werd, anderstrueoffalse).
De PDF is geen tabel: het is het overzicht zelf — het dagoverzicht, de week of de maand — op één pagina afgedrukt, precies zoals het op het scherm staat. Elk getal erin is het getal op het scherm.
Het ruwe bestand
Instellingen › Algemeen › Gegevens › Toon in Finder laat history.sqlite zien, naast history.sqlite-wal en history.sqlite-shm. Terwijl Deskami draait, kunnen de nieuwste minuten nog in het -wal-bestand staan; kopieer alle drie de bestanden, of stop Deskami eerst. Verwijder je ze terwijl Deskami draait, dan begint het binnen een paar seconden een nieuwe, lege registratie. Exporteren schrijft altijd een volledige momentopname. Wat de database bevat, staat op de privacypagina.