İçeriğe atla
megapromotingHadi konuşalım
Ürünler AirPosture

Duruş ve odak seansları Geliştirme aşamasında prototip

Oturduğunuz şekilde dikkat için bir mola.

AirPosture, duruş ve odaklanma projemiz, uyumlu kulaklıklardaki hareket sensörlerinin kullanımını araştırır. Başın konumu, bir çalışma oturumu sırasında kişisel bir kalibrasyona göre raporlanır.

  1. 1Calibrare
  2. 2Orientarea capului
  3. 3Semnal de atenție
Schemă explicativă ·AirPosture

AirPosture

Bilgiden yapılmış işe.

01

Calibrezi

Oturum için bir referans konumu belirlersiniz.

02

Observi

Sistem, o referansa göre yönelim değişimini izler.

03

Revii

Gizli bir sinyal, kalıcı bir sapmaya dikkat çekebilir.

Nerede faydalı olur.

Focus

Zamanlayıcılı çalışma oturumları ve mola anları.

Duruş farkındalığı

Kalibrasyona göre, hareket verilerini kullanarak geri bildirim.

Cihazlar üzerinde araştırma

Kulaklıklar, telefon ve masaüstü uygulamaları arasındaki etkileşimleri araştırıyoruz.

AirPosture bir prototiptir. Baş yönelimi ölçümü omurganın bir teşhisi değildir ve işleyiş, donanıma ve uyumlu cihazlarda doğrulamaya bağlıdır.

AirPosture ayrıntılı olarak

Bu proje ile neler yapabilirsiniz.

AirPosture, AirPods’taki hareket sensörlerini tek bir şey için kullanır: çalışma oturumunun başında sizin kalibre ettiğiniz bir konuma göre başınızın ne kadar aşağı indiği. Sapma sürerse, size belirgin olmayan bir titreşim gelir. Uygulamanın geri kalanı, molalı bir odak zamanlayıcısıdır.

Omurgayı ölçmez ve bunu denemez de. AirPods başın yönelimini verir — pitch, roll, yaw — omuzlar, göğüs kafesi veya sırt eğriliği hakkında hiçbir şey vermez. Sırtı düzken başı öne eğilmiş biri ile sırtı eğriyken bakışını yukarı telafi eden biri bu sensör için aynı görünür. Uygulama bunu açıkça söyler, çünkü yararlı bir araç ile sahte bir vaat arasındaki fark budur.

01

AirPods’tan gelen akış

Kulaklıklardaki sensörleri açığa çıkaran Apple arayüzü `CMHeadphoneMotionManager` kullanır. Durum (quaternion, pitch, roll, yaw), dönüş hızı, yerçekimi, ivme ve verileri hangi AirPod’un gönderdiğini belirten `sensorLocation` sağlar. Ölçülen hız yaklaşık 25 Hz’dir. Bir bekçi köpeği akışı her saniye denetler: 2,5 saniyeden uzun süredir yeni bir örnek gelmemişse bağlantıyı yeniden başlatır ve nedenini söyler.

02

Hızlı ya da rehberli kalibrasyon

Hızlı seçenek üç saniye sürer: dik durursunuz, uygulama pitch medyanınızı kaydeder. Rehberli seçenek, nötr, çene aşağı, bakış yukarı, sola dönüş, sağa dönüş olmak üzere üçer saniyelik beş aşamadan oluşur ve tahmin etmek yerine kulaklık modeliniz için pitch işaretini öğrenir, ardından eşikleri gerçek hareket genliğinize göre yeniden hesaplar. Kalibrasyon raporu ayrıca neden zayıf çıktığını da söyler: çok az örnek, başın hareket etmesi, dizüstü bilgisayarın yer değiştirmesi, yukarı ya da aşağı yönde çok az hareket.

03

Üç eşik ve bir ek süre

Kalibrasyona göre 7° altı düz demektir. 7° ile 13° arası kaymadır. 13° üstü üç saniye tutulursa haptik uyarıyı tetikler. Diğer yönde dördüncü bir eşik de vardır: 10° üstü, uygulamanın tavana bakışı kötü bir duruşla karıştırmaması için “baş yukarı” demektir. Sinyal üstel olarak α = 0,15 ile yumuşatılır; böylece normal bir baş hareketi hiçbir şeyi tetiklemez.

04

Odak oturumları ve yormayan alarmlar

5, 15, 25, 45 veya 60 dakikalık zamanlayıcı; başlatma, duraklatma ve sıfırlama ile. Duruş alarmının bildirimler arasında varsayılan 300 saniyelik bir bekleme süresi vardır, AirPods bağlantısının kesilmesinde 90, takip akışının bozulmasında 120 — tek bir olay ekranı dolduramaz. Oturum sonunda, iyi duruş yüzdesi, alarm sayısı ve örnek sayısı raporlanır.

05

macOS eşlikçisi ve laboratuvar modülleri

İkinci bir hedef vardır, `AirPostureMac`: menü çubuğu, gösterge panoları, 3D sahne, tanılama, sağlık geçmişi ve akustik bir laboratuvar. Yerelde derlenir, ancak bitmiş bir ürün değildir. Aynı depoda üç ayrı araştırma iOS uygulaması da durur — yürüme, mülakatta yanıt dinamiği ve bir ear-EEG test düzeneği — her biri kendi onboarding’iyle, hepsi donanım üzerinde doğrulanmamış.

Veri ve çalışma

Sisteme ne girer. Ne doğrulanmalıdır.

Her şey cihazda kalır
AirPods’tan gelen açı ve duruş epizotları ile ham hareket, uygulamanın veri politikasında `localOnly` olarak işaretlenmiştir. Baş duruşu için standart bir HealthKit türü yoktur ve politika, yönelimi adım, stand time ya da yalnızca bir yere sığdırmak için var olan başka bir türe dönüştürmeyi açıkça yasaklar.
Koda yazılmış saklama süresi
Ham örnekler 14 gün sonra, saniyelik agregalar ve olaylar 365 gün sonra, uygulamanın Application Support dizinindeki bir SQLite veritabanında silinir. Ayrı tutulan postür geçmişi, 30 saniyede bir örnekle 90 gün saklanır. İstek üzerine tam silme de vardır.
HealthKit yalnızca okumada
Nabız, HRV, SpO₂, solunum, uyku, hareketlilik ve ses maruziyeti, postür geçmişiyle zaman açısından eşleştirilebilmesi için sizin izninizle HealthKit’ten okunur. Uygulama bunları yazmaz ve üretmez: onları ölçebilecek biyolojik sensöre sahip değildir.
Neye izin gerektirir ve neden
Hareket ve fitness — kulaklıklardaki sensörler için. Kamera — yalnızca gövde için görsel doğrulamayı etkinleştirirseniz. Mikrofon — yalnızca ses özellikleri için. HealthKit — yalnızca yukarıdaki okumalar için. Bildirimler — duruş uyarısı ve oturumun sonu için. Motion izni reddedildiğinde, uygulama tam olarak bunu ve nerede etkinleştirileceğini söyler; bozuk görünmez.

Keşiften uygulamaya

AirPosture ile bir projeyi nasıl hazırlıyoruz.

01

Kulaklıkları doğruluyoruz

AirPods Pro, AirPods 3 ve daha yenileri, AirPods Max veya H1/H2 çipli Beats. AirPods 1 ve 2 gerekli sensörlere sahip değildir ve hiçbir zaman çalışmayacaktır. Kullanılabilirlik modele göre varsayılmaz, çalıştırma sırasında doğrulanır.

02

Kişiye göre kalibre ediyoruz

Beş aşamalı yönlendirilmiş kalibrasyonu çalıştırıyor ve kalite raporunu okuyoruz. Yukarı-aşağı genliği çok küçükse veya baş çok fazla hareket ettiyse, kalibrasyon tekrarlanır — kişisel eşikler bundan türetilir, bu nedenle zayıf bir kalibrasyon sonrasında gelen her şeyi bozar.

03

Eşikleri ayarlıyoruz

7°, 13° ve üç saniyelik tolerans başlangıç noktasıdır, fiziksel bir sabit değil. Yönlendirilmiş kalibrasyon bunları sınırlı aralıklara kaydırır — öne eğilme için 5° ile 9° arasında, kamburlaşma için 10° ile 18° arasında — kişinin gerçek genliğine göre.

04

Konforu test ediyoruz

Rahatsız eden bir uyarı kapatılır, dolayısıyla kimseye yardımcı olmaz. Beş dakikalık aranın çalışma biçiminize uygun olup olmadığı ve titreşimin diğer insanların yanında yeterince sade olup olmadığı kontrol edilir.

Netleştirilmesi gereken sorular.

Hangi kulaklıklarla çalışır?

AirPods ile. Kulaklıklardaki hareket sensörlerini yaklaşık 25 Hz’de sunan Apple arayüzü `CMHeadphoneMotionManager` kullanır. AirPods Pro, AirPods 3 ve daha yenileri, AirPods Max ve H1 veya H2 çipli Beats ile çalışır. AirPods 1 ve 2 gerekli sensörlere sahip değildir. Diğer kulaklıklar bu verileri sağlamaz.

Omurga sağlığını ölçer mi?

Hayır, ve bunu denemez bile. Tek bir şeyi ölçer: oturumun başında sizin kalibre ettiğiniz bir konuma göre başın ne kadar eğildiğini. 7° altı dik demektir, 7° ile 13° arası öne eğilmedir ve 13° üstü üç saniye tutulursa hafif bir titreşim tetikler. 10° üstünde yukarı doğru ise “baş yukarıda”dır, sorun değildir. Hepsi bu.

Neden App Store’da değil?

Koddan değil, dağıtımdan dolayı. Uygulama derleniyor, 160 testi geçiyor ve iPhone simülatöründe yüklenip başlıyor, ancak `DEVELOPMENT_TEAM` proje tanımında boş, bu yüzden gerçek bir telefon için hiçbir zaman imzalı bir sürüm oluşturulmadı. Bu düzeltilip sensör akışı fiziksel AirPods üzerinde doğrulanana kadar bir prototip olarak kalır — ve biz ona öyle diyoruz.

Arka planda, tüm gün çalışır mı?

Hayır. `CMHeadphoneMotionManager`ın kendi arka plan modu yoktur ve iOS, uygulama ön plana çıkmadığında onu askıya alır. Yaygın bir hile vardır — işlemi canlı tutmak için sessiz ses çalmak — ve biz bunu bilerek dışarıda bıraktık: Apple inceleme kılavuzundaki 2.5.4 kuralıyla çelişir. Oturum, uygulama açıkken çalışır. Bir „tüm gün koçu” için başka bir mimari ve App Review ile bir görüşme gerekir.

Yalnızca tek bir kulaklık takılıysa ya da seans sırasında onu değiştirirsem ne olur?

Akış devam eder — `sensorLocation`, hangi AirPod’un verileri gönderdiğini söyler ve uygulamanın hem sol hem sağ için, yalnızca sol ve yalnızca sağ için yakalama senaryoları vardır. Ancak `sensorLocation`, ilgili kulaklığın gerçekten kulakta olduğunu kanıtlamaz ve her iki → sol → sağ → her iki geçişi gerçek donanımda doğrulanmamıştır. Bu, doğrulanmamışlar listesindedir, çalışıyorlar listesinde değil.

Hareket verilerime ne olur?

Telefonda kalırlar. Uygulamanın veri politikası onları `localOnly` olarak işaretler ve ham örnekler 14 gün sonra, özetler bir yıl sonra otomatik olarak silinir. HealthKit’e yazılmazlar — baş duruşu için standart bir tür yoktur ve uygulama onları zorla adım ya da başka bir şeye dönüştürmez. Tam silme de vardır.

AirPods beyin aktivitesini okuyabilir mi ya da yalanı tespit edebilir mi?

Hayır. Her iki soruyu da inceledik ve yanıtı proje dokümantasyonuna yazdık. AirPods’un donanımı ve genel API’leriyle bir beyin taraması mümkün değildir ve bir „yalan dedektörü” için yeterli bilimsel temel yoktur — gereksinim, neyin görüldüğünü anlatan ve doğruluk hükmü vermeyen yanıt dinamiğinin gözlemlenmesi olarak yeniden formüle edildi.

İllüstratif örnek

Ofiste 25 dakikalık bir oturum

Müşteri verisi veya atfedilen ticari sonuçlar olmadan bir kullanım senaryosu.

İlk durum

AirPods’u takarsınız, uygulamayı açarsınız, 25 dakikayı seçersiniz ve kalibrasyon sürdüğü üç saniye boyunca dik durursunuz. Uygulama, pitch medyanınızı referans olarak tutar.

Nasıl çalışır

Yaklaşık 25 Hz’de, her örnek üstel olarak yumuşatılır (α = 0,15) ve referansla karşılaştırılır. 7° altı — yeşil. 7° ile 13° arası — sarı, uyarı yok. 13° üstü üç saniye tutulursa — titreşim. Erteleme kronometresi başlar: bir sonraki duruş uyarısı beş dakikadan önce gelemez.

Rezultatul

Sonunda iyi duruşta geçirilen sürenin yüzdesini, uyarı sayısını ve örnek sayısını görürsünüz. Hiçbir şey telefondan çıkmaz; ham örnekler 14 gün sonra silinir.

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.

İş birliği olanakları

AirPosture, kuruluşunuz bağlamında.

Gönüllü esenlik programları

Alışkanlıklar ve kişisel geri bildirim için bir pilotu keşfetmek. Bireysel veriler, varsayılan olarak çalışan değerlendirme araçlarına dönüşmez.

Özel şirketler

Gerçek bir süreç etrafında bir pilot tanımlıyoruz: kullanıcılar, veriler, entegrasyonlar, maliyetler ve kabul kriterleri. Sonucun değerlendirilmesinden sonra genişleme gelir.

Kamu kurumları ve şirketleri

Erişilebilirlik, barındırma, veri koruması ve birlikte çalışabilirlik gereksinimlerini belirliyoruz. AGE veya STISC hizmetleriyle herhangi bir bağlantı, uygunluk, erişim ve onayların doğrulanmasını gerektirir.

Bunlar uyarlama senaryolarıdır, mevcut sözleşmeler veya ortaklıklar hakkında beyanlar değildir. Önerilen işlevler projenin çalışma alanında doğrulanır.

Bir pilotu konuşalım

Bir ekosistemin parçası.

Neyin daha iyi çalışmasını isterdiniz?

Bize sürecinizi anlatın. Neyin kurulmaya değer olduğuna, neyi bağlayabileceğimize ve sonucu nasıl doğrulayacağımıza birlikte karar verelim.

Hadi konuşalım