Calibrezi
Oturum için bir referans konumu belirlersiniz.
Duruş ve odak seansları Geliştirme aşamasında prototip
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.
AirPosture
Oturum için bir referans konumu belirlersiniz.
Sistem, o referansa göre yönelim değişimini izler.
Gizli bir sinyal, kalıcı bir sapmaya dikkat çekebilir.
Zamanlayıcılı çalışma oturumları ve mola anları.
Kalibrasyona göre, hareket verilerini kullanarak geri bildirim.
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
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.
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.
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.
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.
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.
İ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
Keşiften uygulamaya
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
Müşteri verisi veya atfedilen ticari sonuçlar olmadan bir kullanım senaryosu.
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.
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.
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ı
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.
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.
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ımLongeVita, alışkanlıkları ve kişisel sağlık bilgilerini düzenlemek için bir prototiptir.
Geliştirme aşamasında prototipMegaforms, sesli yanıt ve transkripsiyon dâhil, sohbet biçimli formlarla yanıt toplamayı araştırır.
Geliştirme ve gösterimlerBize 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.