DeskamiUn petit company a l’escriptori

Format d’exportació

L’exportació, que forma part de Deskami Plus, escriu el mateix registre minut a minut que el Deskami guarda al teu Mac. No s’hi afegeix res, no s’estima res i no s’omple cap buit. Aquesta pàgina descriu què hi ha al fitxer.

Convencions

  • Una cel·la buida al CSV, o null al JSON, vol dir sense mesurar. Un 0 vol dir mesurat, i era zero.
  • Els noms de les columnes són en anglès en tots els idiomes i són fixos; només canvien juntament amb una export_version nova.
  • Els fitxers són en UTF-8. El CSV està separat per comes i té una fila de capçalera.
  • Les hores són en UTC i en format ISO 8601, com ara 2026-09-28T07:41:00Z. Les dates són YYYY-MM-DD: el dia del calendari en què es va registrar el minut.
  • Els decimals porten punt, mai separador de milers. Els booleans són true i false.
  • Hi ha una fila per cada minut en què el Deskami va registrar alguna cosa, i cap fila per als minuts en què no va registrar res.

Columnes dels minuts

El CSV té aquestes columnes, en aquest ordre; al JSON, els mateixos camps formen cada minut. El nom entre parèntesis és la columna al fitxer de base de dades en brut.

  • minute_utc — hora. L’inici del minut, en UTC. (minute_utc, en segons Unix)
  • local_day — data. El dia del calendari al qual pertany aquest minut, a la zona horària on era el Mac en aquell moment. Es fixa en escriure’s; un canvi posterior de zona horària no el mou. (day_key)
  • setup_id — enter. El lloc de treball en ús: una càmera més una disposició de pantalles. Al JSON, els llocs de treball es llisten a setups. (profile_id)
  • seconds_at_desk — de 0 a 60. Segons en què la càmera et va veure en aquest minut. Amb camera_off a false, 0 vol dir que la càmera estava encesa i no et va veure. (present_s)
  • posture_deviation — nombre, 0 o més. Fins a quin punt el cap i les espatlles et quedaven per sota de la teva pròpia referència, de mitjana al llarg del minut, com a múltiple del llindar d’avís vigent en aquell moment: 0 a la referència, 1 al llindar. En blanc quan no es va mesurar la postura. (posture_dev)
  • posture_peak — nombre, 0 o més. El valor més alt de la mateixa mesura dins el minut. (posture_peak)
  • distance_deviation — nombre, 0 o més. Quant més a prop de la pantalla tenies la cara que a la teva referència, a la mateixa escala, llegit a partir de la separació dels ulls a la imatge. (distance_dev)
  • blinks — enter. Parpellejos comptats mentre es podien mesurar els ulls. En blanc quan no es podien mesurar. (blinks)
  • incomplete_blinks — enter. Parpellejos que, en el seu moment més tancat, no es van acostar prou a tancar-se del tot. En blanc quan no es podien valorar. (incomplete_blinks)
  • head_pitch_degrees — nombre. Inclinació mitjana del cap en graus, tal com la dona la càmera: respecte a la càmera, no a la teva referència. (head_pitch)
  • confidence — de 0 a 1. Confiança mitjana de la detecció de la cara. (confidence)
  • light — de 0 a 1. Brillantor mitjana de la zona de la cara, de 0 fosc a 1 clar. No la de l’habitació. (light)
  • eyes_measured — booleà. Els ulls es van poder mesurar com a mínim una vegada en aquest minut. Quan és false, blinks, incomplete_blinks i eye_observed_seconds queden en blanc. (eye_valid)
  • eye_observed_seconds — de 0 a 60. Segons en què es van observar de debò els ulls. Els parpellejos per minut són blinks × 60 ÷ eye_observed_seconds. (eye_observed_s)
  • look_aways — enter. Mirades lluny completades, el costum 20-20-20. En blanc quan no s’estava mesurant si miraves lluny. (gaze_breaks)
  • camera_off — booleà. La càmera estava apagada durant aquest minut: la vas apagar tu, la tenia una altra app o es va retirar el permís. Llavors les columnes de la càmera queden en blanc; les de l’app i l’activitat poden estar plenes igualment. (camera_off)
  • declared_break — booleà. Vas dir al Deskami que feies un descans. El minut compta com a temps lluny de l’escriptori, hagi vist el que hagi vist la càmera. (declared_break)
  • front_app — text. L’identificador de paquet (bundle identifier) de l’app del davant durant la major part del minut, com ara com.apple.Safari. En blanc quan aquella lectura estava desactivada, la pantalla estava bloquejada o no hi havia res al davant. Mai un títol de finestra. (app_id)
  • app_switches — enter. Quantes vegades va canviar l’app del davant en aquest minut. (app_switches)
  • active_seconds — de 0 a 60. Segons en què s’havia tocat el teclat o el ratolí en els 15 segons anteriors. Només es llegeix quanta estona fa de l’últim esdeveniment, mai les tecles. En blanc quan aquella lectura estava desactivada. (active_s)
  • call_seconds — de 0 a 60. Segons en què hi havia una app de trucades al davant, o una mateixa app tenia oberts alhora el micròfon i l’altaveu. En blanc quan no es va mesurar, inclosos tots els minuts registrats abans que el Deskami comencés a mesurar-ho. (meeting_s)

JSON

El fitxer JSON és un sol objecte. Comença amb una capçalera: export_version, app_version, exported_at, time_zone (la del moment de l’exportació), database_schema_version, range (kind, from, to) i setups (id, camera_name, created_at).

Després ve days, un objecte per cada dia registrat dins el període. Cada dia porta el seu propi resum, els seus minuts i els seus avisos:

  • local_day i minutes_at_desk, la suma de seconds_at_desk dividida per 60.
  • breaks: estones de 5 minuts o més, i de menys de 2 hores, lluny de l’escriptori, entre dues estones a l’escriptori. El temps amb la càmera apagada no compta ni a favor ni en contra.
  • posture_fine_minutes (posture_deviation per sota d’1) i posture_attention_minutes (1 o més).
  • blink_rate: parpellejos per minut durant el temps en què es van observar els ulls; null amb menys d’un minut d’observació.
  • incomplete_blink_ratio: null quan es van poder valorar massa pocs parpellejos.
  • reminders_by_signal: avisos mostrats, comptats per senyal.
  • minutes: les columnes dels minuts descrites més amunt, un objecte per minut.
  • reminders: un objecte per avís, amb time_utc, local_day, setup_id, signal (posture, distance, blink, incompleteBlink o gaze), build_up_seconds (temps per sobre del llindar abans de l’avís), recover_seconds (temps fins a tornar per sota; null quan la mesura es va aturar abans), asked (si es va mostrar la pregunta sobre la teva referència) i answer (null quan no es va preguntar; si no, true o false).

PDF

El PDF no és una taula: és el resum mateix — el resum del dia, la setmana o el mes — imprès en una pàgina exactament com es veu a la pantalla. Cada número que hi surt és el número de la pantalla.

El fitxer en brut

Configuració › General › Dades › Mostra al Finder et porta a history.sqlite, al costat de history.sqlite-wal i history.sqlite-shm. Mentre el Deskami està obert, els minuts més recents poden ser encara al fitxer -wal; copia els tres fitxers, o surt primer del Deskami. Si els esborres mentre el Deskami està obert, en pocs segons comença un registre nou i buit. L’exportació sempre escriu una instantània completa. El que conté la base de dades és a la pàgina de privadesa.