Calibrezi
Stabilești o poziție de referință pentru sesiune.
Postură & sesiuni de focus Prototip în dezvoltare
AirPosture, proiectul nostru de postură și focus, explorează folosirea senzorilor de mișcare din căști compatibile. Poziția capului este raportată la o calibrare personală, în timpul unei sesiuni de lucru.
AirPosture
Stabilești o poziție de referință pentru sesiune.
Sistemul urmărește schimbarea orientării față de acea referință.
Un semnal discret poate atrage atenția asupra unei abateri persistente.
Sesiuni de lucru cu timer și momente de pauză.
Feedback relativ la calibrare, folosind date de mișcare.
Explorăm interacțiuni între căști, telefon și aplicații desktop.
AirPosture este un prototip. Măsurarea orientării capului nu este un diagnostic al coloanei, iar funcționarea depinde de hardware și de validarea pe dispozitive compatibile.
AirPosture în detaliu
AirPosture folosește senzorii de mișcare din AirPods pentru un singur lucru: cât de mult ți-a coborât capul față de o poziție pe care o calibrezi tu la începutul unei sesiuni de lucru. Când abaterea persistă, primești o vibrație discretă. Restul aplicației este un timer de focus cu pauze.
Nu măsoară coloana și nici nu încearcă. AirPods dau orientarea capului — pitch, roll, yaw — și nimic despre umeri, torace sau curbura spatelui. Un cap coborât cu spatele drept și un spate curbat cu privirea compensată în sus arată la fel pentru acest senzor. Aplicația spune asta în față, pentru că e diferența dintre un instrument util și o promisiune falsă.
Folosește `CMHeadphoneMotionManager`, interfața Apple care expune senzorii din căști. Livrează atitudine (quaternion, pitch, roll, yaw), viteză de rotație, gravitație, accelerație și `sensorLocation` — care AirPod trimite datele. Ritmul măsurat este de aproximativ 25 Hz. Un câine de pază verifică fluxul în fiecare secundă: dacă nu a mai venit nicio probă de peste 2,5 secunde, repornește conexiunea și spune de ce.
Varianta rapidă durează trei secunde: stai drept, aplicația reține mediana pitch-ului tău. Varianta ghidată are cinci faze de câte trei secunde — neutru, bărbie în jos, privire în sus, rotire stânga, rotire dreapta — și învață semnul pitch-ului pentru modelul tău de căști în loc să-l ghicească, apoi recalculează pragurile după amplitudinea ta reală de mișcare. Raportul de calibrare spune și de ce a ieșit slabă: prea puține probe, capul mișcat, laptopul mutat, mișcare prea mică sus sau jos.
Sub 7° față de calibrare înseamnă drept. Între 7° și 13° e alunecare. Peste 13° ținut trei secunde declanșează alerta haptică. Există și un al patrulea prag, în cealaltă direcție: peste 10° în sus înseamnă „cap ridicat”, ca aplicația să nu confunde o privire spre tavan cu o postură proastă. Semnalul e netezit exponențial cu α = 0,15, ca o mișcare normală a capului să nu declanșeze nimic.
Timer de 5, 15, 25, 45 sau 60 de minute, cu pornire, pauză și resetare. Alerta de postură are un răgaz implicit de 300 de secunde între notificări, deconectarea AirPods 90, iar degradarea fluxului de tracking 120 — un singur eveniment nu poate umple ecranul. La final, sesiunea raportează procentul de postură bună, numărul de alerte și numărul de probe.
Există un al doilea target, `AirPostureMac`: bară de meniu, tablouri de bord, scenă 3D, diagnostic, istoric de sănătate și un laborator acustic. Se compilează local, dar nu este un produs finisat. În același depozit stau trei aplicații iOS separate de cercetare — mers, dinamica răspunsului în interviu și un banc de test ear-EEG — fiecare cu onboarding propriu, toate nevalidate pe hardware.
Date și funcționare
De la explorare la implementare
AirPods Pro, AirPods 3 și mai noi, AirPods Max sau Beats cu cip H1/H2. AirPods 1 și 2 nu au senzorii necesari și nu vor funcționa niciodată. Disponibilitatea se confirmă la rulare, nu se presupune din model.
Rulăm calibrarea ghidată în cinci faze și citim raportul de calitate. Dacă amplitudinea sus-jos e prea mică sau capul s-a mișcat prea mult, calibrarea se repetă — pragurile personale se derivă din ea, deci o calibrare slabă strică tot ce vine după.
7°, 13° și cele trei secunde de grație sunt punctul de plecare, nu o constantă fizică. Calibrarea ghidată le mută în intervale mărginite — alunecare între 5° și 9°, cocoșare între 10° și 18° — după amplitudinea reală a persoanei.
O alertă care enervează se oprește, deci nu ajută pe nimeni. Se verifică dacă răgazul de cinci minute e potrivit pentru felul în care lucrezi și dacă vibrația e suficient de discretă în prezența altor oameni.
Cu AirPods. Folosește `CMHeadphoneMotionManager`, interfața Apple care expune senzorii de mișcare din căști, la aproximativ 25 Hz. Merge cu AirPods Pro, AirPods 3 și mai noi, AirPods Max și Beats cu cip H1 sau H2. AirPods 1 și 2 nu au senzorii necesari. Alte căști nu oferă aceste date.
Nu, și nici nu încearcă. Măsoară un singur lucru: cât de mult s-a înclinat capul față de o poziție pe care o calibrezi tu la începutul sesiunii. Sub 7° înseamnă drept, între 7° și 13° e alunecare, iar peste 13° ținut trei secunde declanșează o vibrație discretă. Peste 10° în sus e „cap ridicat”, nu o problemă. Atât.
Din cauza distribuției, nu a codului. Aplicația compilează, trece 160 de teste și se instalează și pornește pe simulatorul iPhone, dar `DEVELOPMENT_TEAM` este gol în specificația proiectului, deci nu s-a construit niciodată o versiune semnată pentru un telefon real. Până când asta se rezolvă și fluxul de senzori se verifică pe AirPods fizice, rămâne un prototip — și îl numim așa.
Nu. `CMHeadphoneMotionManager` nu are un mod de fundal propriu, iar iOS suspendă aplicația când iese din prim-plan. Există un truc obișnuit — redarea unui sunet silențios ca să ții procesul viu — și l-am exclus deliberat: contrazice regula 2.5.4 din ghidul de review Apple. Sesiunea rulează cu aplicația deschisă. Un „coach de toată ziua” ar cere altă arhitectură și o discuție cu App Review.
Fluxul continuă — `sensorLocation` spune care AirPod trimite datele, iar aplicația are scenarii de captură pentru ambele, doar stânga și doar dreapta. Dar `sensorLocation` nu dovedește că respectiva cască e chiar în ureche, iar tranziția ambele → stânga → dreapta → ambele nu a fost verificată pe hardware real. Este pe lista de nevalidat, nu pe cea de funcționează.
Rămân pe telefon. Politica de date a aplicației le marchează `localOnly`, iar probele brute se șterg automat după 14 zile, agregatele după un an. Nu se scriu în HealthKit — nu există tip standard pentru postura capului, iar aplicația nu le convertește forțat în pași sau altceva ca să încapă. Există și ștergere totală.
Nu. Am analizat ambele întrebări și le-am scris răspunsul în documentația proiectului. Un scan cerebral nu e posibil cu hardware-ul și interfețele publice AirPods, iar un „detector de minciuni” nu are bază științifică suficientă — cerința a fost reformulată în observarea dinamicii răspunsului, care descrie ce se vede, nu emite un verdict de adevăr.
Exemplu ilustrativ
Un scenariu de utilizare, fără date de client sau rezultate comerciale atribuite.
Pui AirPods, deschizi aplicația, alegi 25 de minute și stai drept trei secunde cât durează calibrarea. Aplicația reține mediana pitch-ului tău ca referință.
La ~25 Hz, fiecare probă e netezită exponențial (α = 0,15) și comparată cu referința. Sub 7° — verde. Între 7° și 13° — galben, fără alertă. Peste 13° ținut trei secunde — vibrație. Cronometrul răgazului pornește: următoarea alertă de postură nu poate veni mai devreme de cinci minute.
La final vezi procentul de timp petrecut în postură bună, numărul de alerte și numărul de probe. Nimic nu pleacă de pe telefon; probele brute se șterg după 14 zile.
Ce este necesar:AirPods cu senzori de mișcare (Pro, 3+, Max sau Beats H1/H2), iPhone cu iOS 17 sau mai nou, aplicația în prim-plan și permisiunea Mișcare și fitness acordată. Nu funcționează pe simulator — acolo interfața nu returnează date.
Posibilități de colaborare
Explorarea unui pilot pentru obiceiuri și feedback personal. Datele individuale nu devin implicit instrumente de evaluare a angajaților.
Definim un pilot în jurul unui proces real: utilizatori, date, integrări, costuri și criterii de acceptare. Extinderea urmează după evaluarea rezultatului.
Stabilim cerințele de accesibilitate, găzduire, protecție a datelor și interoperabilitate. Orice conexiune cu servicii AGE sau STISC necesită validarea eligibilității, accesului și aprobărilor.
Acestea sunt scenarii de adaptare, nu declarații despre contracte sau parteneriate existente. Funcțiile propuse se confirmă în domeniul de lucru al proiectului.
Discută un pilotLongeVita este un prototip pentru organizarea obiceiurilor și a informațiilor personale de sănătate.
Prototip în dezvoltareMegaforms explorează colectarea de răspunsuri prin formulare conversaționale, inclusiv răspunsuri vocale și transcriere.
Dezvoltare & demonstrațiiPovestește-ne despre procesul tău. Împreună stabilim ce merită construit, ce putem conecta și cum verificăm rezultatul.