Amnezi hastası bir ebeveyn için E-ink ekran: MomBoard
(jan.miksovsky.com)- Yeni uzun süreli anılar oluşturmakta zorlanan annenin yalnız yaşarken ailenin durumunu ve programını sürekli kontrol edebilmesi için yapılmış her zaman açık bir E-ink pano
- Donanım olarak BOOX Note Air2 Series kullanıldı; web tarayıcısı, otomatik başlangıç sayfası, ışık yaymayan ekran, ev ortamına uygun görünüm ve birkaç adım öteden okunabilecek boyut gereksinimlere uyuyordu
- Yazılım, mesajları gösteren Board sayfası ve yazmak için kullanılan Compose sayfası olarak ikiye ayrılıyor; Board, ağ kesintileri ve uzaktan güncellemeler için dış çerçeve ve iç sayfa yapısına sahip
- Veriler, JsonStorage üzerinde tek bir JSON nesnesinde saklanıyor; Compose POST ile kaydediyor, Board ise her 5 dakikada bir GET ile alıyor ve bu basit yapı korunuyor
- 12 Kasım 2022'de kurulduktan sonra 2 yıl boyunca gerçek yaşamda faydalı oldu; en güncel mesajların korunması ve düşük etkileşim gereksinimi, kafa karışıklığını azaltan temel koşullar oldu
Annenin durumu ve gerçek ihtiyaçlar
- 2022 Haziran'ında uzun bir ameliyatın yan etkisi olarak annede kalıcı anterograd amnezi gelişti
- Artık yeni uzun süreli anılar oluşturamıyor
- Bir şey duysa ya da görse bile çoğu durumda birkaç dakika sonra hatırlamıyor
- Sağlık çalışanlarına demansa benzer görünebilir, ancak bu durum demans değil
- Demans ilerleyici bir hastalıkken, bu amnezi sabit bir durumda
- Bir tedavisi yok
- Anne hâlâ dairesinde tek başına yaşıyor ve çocuklarının nerede olduğu ve iyi olup olmadığı konusunda düşük düzeyli ama sürekli bir kaygı hissediyor
- Bu kaygı, çocukları çok sık arama ya da mesaj atma davranışına yol açıyor
- Mevcut hatırlatma yöntemleri kalıcı olamadı
- Kâğıt notlar kayboluyor ya da hızla eski bilgiye dönüşüyor
- Çocukları arasa bile 5 dakika sonra yeniden endişeleniyor
- Metin mesajları bir kez okunduktan sonra tekrar yukarı kaydırılıp bakılmadığı için fiilen kaybolan bilgi hâline geliyor
Ekran tasarım hedefleri
- Amaç, dairenin içine yerleştirilen göze batmayan, her zaman açık bir cihaz ile çocukların kısa mesajlar bırakabilmesi ve annenin bunları sürekli görebilmesiydi
- Ekran için şartlar şunlardı
- Aylar boyunca sürekli açık kalabilmeli
- Çocuklar kısa mesajları kolayca gönderebilmeli ve mesajlar değiştirilene kadar görünür kalmalı
- Gözlüksüz okunabilecek kadar büyük ve okunaklı olmalı
- Uyandırmak ya da okumak için etkileşim gerektirmemeli ve dokunulsa bile çalışması bozulmamalı
- Ağ kesintilerine dayanıklı olmalı
- Geceleri parlamamalı
- Donanım hack'i gerektirmemeli
- Açıldığında doğrudan mesajları göstermeli
- Abonelik hizmetlerine ya da kapalı uygulama mağazalarına bağlı olmamalı
- Aşırı pahalı olmamalı
- Evin içinde tuhaf görünmemeli
BOOX Note Air2 seçimi
- Şartlara uyan cihaz olarak BOOX Note Air2 Series seçildi
- O dönemde fiyatı US$500 idi ve ticari perakende ekranlar için kullanılan panellerden çok daha ucuzdu
- Yazı yazma cihazı ve e-kitap okuyucu olarak satılıyor, ancak kullanılabilir bir web tarayıcısına sahip
- Ekran, birkaç adım öteden okunabilecek kadar büyük
- Satın almadan önce temel belirsizlik, web tarayıcısının otomatik başlatılıp belirlenen başlangıç sayfasını gösterebilip gösteremeyeceğiydi
- Cihaz geldikten sonra her iki özelliğin de mümkün olduğu doğrulandı
- Fiziksel görünümü aşırı teknolojik durmuyordu ve E-ink ekran net, okunması kolaydı
- Ekran yenileme hızı dikkat dağıtmayacak düzeydeydi
- Varsayılan olarak açık olan arka ışık kapatılabiliyordu
- Küçük bir metal stand kullanılarak bir fotoğraf çerçevesi gibi konumlandırıldı
Web yazılımı yapısı
- Site iki sayfadan oluşuyor
- Board sayfası: Mesajları gösteren ekran; E-ink cihazı açıldığında bu sayfa gösteriliyor
- Compose sayfası: Çocukların mesaj yazıp kaydettiği ekran
- Board sayfası, uzun süreli çalışma, hata toleransı ve uzaktan güncellemeler için dış çerçeve ve iç sayfa olarak ikiye ayrılıyor
- Dış çerçeve, iç sayfayı saran ince bir kabuk görevi görüyor
- Her saat başında iç sayfayı yeniden yükleyerek olası yazılım değişikliklerini yansıtıyor
- Ağ kesildiği için iç sayfa yeniden yüklenemezse bir saat sonra tekrar deniyor
- Güvenilirlik için dış çerçevede çok az mantık bulunuyor ve dış bağımlılıklar kaldırılıyor
- İç sayfa gerçek mesajları gösteriyor
- Her 5 dakikada bir basit bir web servisinden mesaj verilerini istiyor
- Mantık minimumda tutuluyor ve bağımlılıklar mümkün olduğunca azaltılıyor
- Cihaz üzerinde bir sorun çıktığında hata ayıklamak fiilen zor olduğu için mümkün olduğunca vanilla HTML/CSS kullanıldı
- Yalnızca az miktarda JavaScript kullanıldı
- Framework ya da başka kütüphaneler kullanılmadı
- Compose sayfası basit bir web formu olarak yapıldı
- Dışarıdayken de mesaj yazılabilmesi için telefonda iyi çalışacak şekilde tasarlandı
- Küçük bir web app manifest ile telefon ana ekranına simge olarak eklenebiliyor
- Tüm site çok küçük, build süreci olmayan ve servis kısmı dışında statik dosyalardan oluşan bir yapı
Ekran tasarımı ve yazı boyutu yönetimi
- E-ink yanığı olasılığını azaltmak için Board sayfası mesajın gösterildiği konumu rastgele değiştiriyor
- Tarih ve saat gibi diğer görsel öğeler de sağ ve sol konumları dönüşümlü kullanıyor
- Amaç, tek bir pikselin sürekli açık kalmaması
- Not metninde el yazısı hissi vermek için Architect’s Daughter yazı tipi kullanıldı
- Bu yazı tipi E-ink ekranlarda iyi çalışıyor
- Etiketlerde Open Sans kullanıldı
- Mesajlar bazen bir iki kelime, bazen de birkaç cümle olduğundan tek bir yazı boyutu yeterli olmadı
- Satır kaydırmalı bir metin öğesinin kesilmeden sığması için yazı boyutunu otomatik olarak en büyük değere çıkaran saf CSS yöntemi bulunamadı
- Küçük bir JavaScript fonksiyonuyla yazı boyutunu maksimize etme uygulandı
- Metin
visibility: hiddenile görünmez yapılıyor - Çok büyük bir boyuttan başlayarak gösterim deneniyor
- Metnin tamamı sığana kadar giderek daha küçük yazı boyutları deneniyor
- Uygun boyut bulununca metin yeniden görünür yapılıyor
- Metin
Veri saklama servisi ve kurulum
- Gösterilecek veri yalnızca az miktarda metinden oluştuğu için JsonStorage proje için uygundu
- Mevcut mesaj kümesinin metni ve meta verileri tek bir JSON nesnesinde saklanıyor
- Compose sayfası POST isteğiyle kaydediyor
- Board sayfası veriyi GET isteğiyle alıyor
- Başta ücretsiz katman kullanıldı, daha sonra aylık US$1 temel katman ödendi
- Bu katmanın şu anda aylık US$5 göründüğü de not ediliyor
- Yazılım birkaç hafta boyunca geliştirildi ve uzun süreli çalışma testleri yapıldı
- Boox ekran beklenenden daha iyi çalıştı ve sürekli açıkmış gibi göründü
- 12 Kasım 2022'de cihaz annenin dairesine götürülüp kuruldu
- Güç verildi ve Wi‑Fi'ye bağlandı
- Yeni ortamda çalıştığını doğrulamak için yeniden başlatıldı
- İlk başta banyo tezgâhı düşünülse de anne yatak odasını tercih etti ve pencere pervazına yerleştirildi
- Anne, kurulumun hemen ardından ekranı sevdi
2 yıllık kullanımın ardından sonuçlar
- Anne, amnezisi olmasına rağmen bu ekranın var olduğunu ve ne işe yaradığını hatırlamayı başardı
- Çocuklarından gelen güncellemeleri görmeyi bekliyor
- Planlanmış bir şey söylendiğinde, bu etkinliğin MomBoard'a zaten eklenip eklenmediğini sorabiliyor
- Mesajların güncel tutulması gerekiyor
- Artık geçerli olmayan mesajlar kaldırılmazsa anne kafası karışıyor
- Denenen müdahaleler arasında, annenin ve ailenin yaşam kalitesini gerçekten artıran neredeyse tek yöntem olarak görülüyor
- Başarılı olmasının nedenlerinden biri, annenin yeni bir şey öğrenmek zorunda kalmamasıydı
- Yeni şeyleri hatırlayamadığı için yeni teknoloji ya da alışkanlık oluşturmak fiilen imkânsız
- Cihazın kararlılığı beklentileri aştı
- Bir dönem çalışmayı bırakmış gibi görünse de nedenin arızalı bir Wi‑Fi hub olduğu ortaya çıktı
- Hub değiştirildikten sonra sorunsuz çalıştı
- Yazılımın mümkün olduğunca basit tutulması ve vanilla web teknolojilerinin kullanılması hata önlemeye yardımcı oldu
- Ekran 2 yıl sonra bile hâlâ net görünüyor ve her gün mesaj göstermeye devam ediyor
- MomBoard kaynak kodu GitHub'da açık olarak yayımlandı
1 yorum
Hacker News yorumları
Birinin kişiliğini ve sevildiği hissini korumaya yardımcı olan güzel bir teknoloji kullanımı. Uzun zamandır yalnızca URL ve Wi-Fi bilgilerini ayarlayınca bir Markdown dosyasını render eden ve yaklaşık saatte bir yenileyen, duvara asılabilir bir eInk cihaz istiyordum.
Ben bir cemaat rahibiyim; etkinlik duyuruları, ibadet iptalleri, güncel dua listesi gibi amaçlarla kullanabilirim ve kullanım alanları sonsuz görünüyor. Duvara asılabilen, sağlam ve bir-iki ayda bir şarj edilmesi yeterli bir ürün olursa cihaz başına birkaç yüz dolar ödemeye razıyım.
Ben de aynı türden genel amaçlı bir eInk cihaz istiyordum ve bunun oldukça hack’lenebilir olduğu söyleniyor.
index.htmloluşturun,headetiketine saatte bir yenileyen bir meta etiketi koyun, ardından aynı klasördepython -m http.serverçalıştırın; 8000 numaralı portta tek iş parçacıklı bir web sunucusu açılır.Başka bir cihazdan
http://firstmachine:8000/adresine erişilebildiğini doğruladıktan sonra bir eInk ekran alıp bu adresi varsayılan ana sayfa olarak ayarlayın. Sonrasında yalnızcaindex.htmldosyasını değiştirmeniz ekranın güncellenmesi için yeterli olur; abonelik hizmeti veya Kickstarter olmadan, yalnızca Python’un temel özellikleri yeter.Yalnızca modül olarak da satın alabilirsiniz; bataryalı ve duvar askılı kasası olan ürünler de var. Rastgele bir web sitesine güvenmek zor gelirse çoğu model Digikey ve Mouser’da da var gibi görünüyor.
https://soldered.com/categories/inkplate/
Keşke bu yazı, annem yaşamının son 4 yılında aynı acımasız durumu yaşarken birkaç yıl önce HN’de paylaşılmış olsaydı ya da ben böyle bir fikri akıl edebilseydim. Bedeni, eski anıları ve kayda değer zekâsı büyük ölçüde yerindeydi; ama her gün birçok kez berraklık anları geliyor ve içinde bulunduğu korkunç, umutsuz durumu tamamen kavrıyordu.
Ancak birkaç saniye içinde bu düşünce ve ondan çıkan kararlar, hasar görmüş kısa süreli belleğin kara deliğinde kayboluyordu; isteseydi bile kendi yaşamına son verebilecek durumda olmazdı. Kardeşimle ben hayatını az da olsa daha iyi hale getirmek için birçok yol denedik ama gerçekten azıcık işe yarayan şey çok değildi.
Bunlardan ikisi dijital cihazlardı. SD karttaki aile fotoğraflarını sonsuz döngüde gösteren LCD dijital fotoğraf çerçevesini en çok sevmişti ve onu oldukça düzenli açık tutuyordu. Diğeri de SD karta konmuş birkaç saatlik sevdiği müziği çalan bir MP3 hoparlördü; radyo gibi yalnızca oynat/durdur ve ses düğmeleriyle kullanılabildiği için ara sıra keyif alabiliyordu. Yazara, annesine ve benzer durumda olan herkese bol şans diliyorum.
Eşim bir trafik kazasından sonra anterograd amnezi yaşadı. Bu cihazın eşimde işe yarayıp yaramayacağını bilmiyorum; muhtemelen her 10 dakikada bir cihazı yeniden keşfederdi ve her seferinde mutlu olma ihtimali vardı.
Neyse ki birkaç hafta sonra tamamen iyileşti. Böyle bir durumdaki birine bakmak muazzam sabır gerektiriyor; bunun kişide de sık sık büyük hayal kırıklığı yarattığı görülüyordu. Gerçekten de neredeyse her 10 dakikada bir böyle oluyordu.
HN yazıları arasında nadiren bu kadar derinden etkilendim. Birinin hayatını açık ve büyük ölçüde iyileştiren, güzel ve basit bir teknoloji kullanımı.
Annesinin tabletin varlığını hatırlaması kısmı, nöropatolojinin ünlü vakalarından Henry Molaison’a benziyor. Belirli bir beyin hasarı nedeniyle, asıl yazının yazarının annesi gibi yeni anılar oluşturamıyordu; ancak araştırmalar, bilinçli olmasa da bazı şeyleri hatırlayabildiğini gösterdi.
Örneğin kendisine bakan kişiyi hatırlamasa da ona karşı sıcak duygular hissediyor, bir kart oyunu oynadığını hatırlamadığını söylese de tekrarladıkça oyunu daha hızlı öğreniyordu. Tableti hatırlaması da, çocuklarının onu hatırladığı ve sevdiği hissiyle birlikte bakıldığında buna çok benzer görünüyor.
Yazıda, bunun en kötü düşmanına bile dilenmeyecek bir durum olduğu söyleniyor. “Çocuklarının nerede olduğunu, iyi olup olmadıklarını merak edip uzun zamandır haber alamadığını hissediyor” tarifiyse zamanın içinde donmuş bir insandan ziyade, bir miktar öğrenme ya da “hafıza”, zamanın geçtiğine dair bir his ve bunu açıklayacak epizodik bellek yokluğunun korkunç bir birleşimi gibi görünüyor.
Böyle sıcak duyguların, eskiden tanıdığı birini hatırlatan kişilere karşı daha güçlü olup olmadığını da merak ediyorum. “Bu hemşire bana köpeğim öldüğünde bana iyi davranan Sarah teyzeyi hatırlatıyor” gibi.
Mesaj yazı boyutunu en üst düzeye çıkarma kısmı ilginç. Mesaj bazen bir iki kelime, bazen birkaç cümle olabildiğinden tek bir yazı tipi boyutuyla başa çıkmak zor; satır kırılan metin öğesini kesilmeden otomatik olarak mümkün olan en büyük boyuta getiren saf CSS yöntemi bulamadığını söylüyor.
Sonunda JavaScript fonksiyonuyla metni
visibility: hiddenyapıp çok büyük bir boyuttan başlayarak denemiş, uygun boyutu bulana kadar küçültmüş ve sonra tekrar görünür yapmış. Bu, erişilebilirliğin yanı sıra CSS’in yerleşik özelliği olarak çok faydalı olacak bir işlev gibi görünüyor. Genel olarak iç ısıtan bir teknoloji kullanımı.CSS çizgiyi aştı; bugün olsa tamamen kaldırılması yönünde oy vermek isterdim. Bunun sert ve tartışmalı bir söz olduğunu biliyorum, ama Microsoft Word ve Aldus PageMaker ile büyümüş biri olarak masaüstü yayıncılığın 1980’lerde bile bugünkünden daha iyi olduğu söylenebilir. Çünkü web ya da teknik destek ortada yokken bile aileye ait küçük işletmelerde gerçek işler yapılabiliyordu.
Bugün arayüzleri fiilen assembly dili gibi bir şeyle yazmamızın nedenini bilmiyorum.
shape-outsideile birliktefloatın aslında nasıl çalışması gerektiğini ancak yakın zamanda öğrendim; örnek Run code snippet düğmesiyle görülebilir.https://stackoverflow.com/a/33953666
Bu küçük markup’ın bir dergi makalesi gibi aktığını görünce, tarayıcıların baştan beri bunu yapabiliyor olması gerektiği anlaşılıyor. Ama bunları Bill Atkinson gibi insan arayüzü uzmanları değil, Unix ve PC tarafındaki insanlar yaptı. Konturlu yazı tiplerine çizgi ve gölgeyi düzgün uygulamanın ne kadar uzun sürdüğüne bakmak bile, ilk web sitelerinde görsellerin üzerine metin bindirildiğinde neden Myspace gibi göründüğünü açıklıyor.
CSS,
calc()veya@mediasorguları gibi kapsayıcı öğenin boyutlarını daha iyi bilebilirse yardımcı olacak gibi. Ancak mobil ayrı ele alınmamalı; bu yüzden@medianın kendisi de tartışmalı.justifydan daha güçlü bir dizgi metaforuna ihtiyaç var ve yazı tipi boyutu kapsayıcıya göre otomatik ayarlanabilmeli.CSS’in asli günahı, herkese medyadan bağımsız, kalıplaşmış bir yerleşim aracı vermeye çalışmasıydı. Keşke Qt’nin sezgisel otomatik akışı varsayılan olsaydı ve gerektiğinde Apple Auto Layout benzeri kısıt matrisi seviyesine inilebilseydi. Bu arada ben backend geliştiricisiyim; frontend’de çok az şeyi başarmak için bu kadar çok çaba gerekmesine bakınca şaşkına dönüyorum.
font-size: "as-big-as-possible-while-still-fitting-parent-container";gibi bir şey ya da sadecefont-size: max;yeterdi.Çeşitli yöntemler var, ama
font-size: 12-18px 400px;gibi tek satırlık bir CSS çözümü olduğunu varsayarsak hepsi zahmetli geçici çözümler. Bunu otomatik yapan bir şey olsa iyi olurdu.“Artık geçerli olmayan mesajı kaldıramazsak annemizin kafası karışıyor” sorununda, her mesaja başlangıç/bitiş tarihi ve saati ekleyip bunu panonun işlemesi iyi olurdu. Önceden planlanabilir ve otomatik olarak kaybolması sağlanabilir.
Poetry clock'tan (https://www.theverge.com/23669343/ai-clock-chatgpt-poems-rhy...) esinlenerek, ebeveynleriyle iletişimi sürdürmek için bir eInk Raspberry Pi ekranı yapmış
Babası Poetry clock'u sevmemiş ama görsel üretmeyi sevmiş. Bu yüzden renkli Inky Impression 7.3'ü Raspberry Pi'ye bağlamış
Temel bir Telegram botu yapıp “karlı bir gün” gibi sesli istemler gönderildiğinde, sevdiği ressam stillerinden hangisiyle görsel oluşturulacağını sormasını sağlamış. İki stili birleştirip liste halinde gösterince sonuçlar daha güzel oluyormuş. İstemle konuya uygun rastgele bir alıntı getiriliyor, alıntı ve stil Stable Diffusion'a verildiğinde yaklaşık 30 saniye sonra ekranda yeni bir resim ve alıntı beliriyormuş
Daha sonra babası doğrudan görsel göndermenin mümkün olup olmadığını sormuş; şimdi ise her gün o günün ne olduğuna uygun bir görsel, örneğin 13 Kasım “World Kindness Day”, ve ara sıra aile fotoğrafları yüklemeyi daha çok seviyor. Annesi de babasının her gün hangi günü seçtiğini görmeyi dört gözle bekliyor
Webb'e göre yaklaşık 15 dakikada bir saat, kafiye tutturmak için zamanı düpedüz yanlış söylüyormuş. Gerçekte “two past one” iken “one past two” demesi gibi. Düzeltilebilir ama şimdilik eğlenceli bir özellik; “saat mekanizmalarında hassasiyet sapması vardır, yapay zeka mekanizmalarında ise halüsinasyon sapması vardır” ifadesi akılda kalıcı
Demans; CPU, RAM, SSD ve anakartın birlikte bozulduğu ilerleyici çoklu sistem arızasına daha çok benziyor; yalnızca anterograd amneziye bakarsak, SSD'ye yazamama arızası gibi
Tıp amatörlerinin ikisini ayırt etmekte zorlanması teknoloji amatörlerine benziyor, ama bir tıp uzmanının bunu bir teknoloji uzmanı gibi ayırt etmesi gerekir. SSD'yi yükseltemiyorsanız, CPU ve RAM ile arızalı SSD'yi telafi etmek harika bir hack. Hacker News'i neredeyse her gün kontrol etme sebebim tam da bu
Pimoroni'de düğmeli ve LED'li modeller dahil 7,3 inçe kadar birçok eInk ekran var. İstediğinizi yapabilirsiniz
https://shop.pimoroni.com/search?q=inky
Tüm Boox tabletler ve e-kitap okuyucular aslında Android çalıştırıyor. Bir web sayfasını yükleyip göstermeyi soranlar için Android'in yapabildiği her şeyi kelimenin tam anlamıyla yapabilir; ayrıca çeşitli kiosk uygulamaları ve kiosk modlu tarayıcılar da var. Oldukça pahalı Android otomasyon araçları da mevcut
Sadece modülü de satın alabilirsiniz, bataryalı ve duvara asma kasalı ürünleri de. Rastgele bir web sitesine güvenmek zor geliyorsa, modellerin çoğu Digikey ve Mouser'da da var gibi görünüyor
https://soldered.com/categories/inkplate/
Tanıtım videosundaki demoda uzun yenileme sırasında birkaç renk uzun süre yanıp sönüyor; kısa süreli belleği bu kadar devam etmeyebilecek biri için bu çok kafa karıştırıcı olabilir
[0] https://www.youtube.com/watch?v=TluopgSoSWY&t=500s
Gerçekten harika bir hikaye ve yazarın annesine iyi uyan bir şey bulmasına sevindim. Hafıza kaybı olmasına rağmen annesinin bu ekranın varlığını ve amacını hatırlar hale gelmesi, çocuklarından gelecek güncellemeleri beklemesi en ilginç kısmı
Beyin gerçekten hayranlık verici. Bunun annesine özgü özel bir eğilim mi olduğunu, yoksa benzer durumdaki başka insanlara da yardımcı olup olamayacağını bilmek güzel olurdu
[1] https://en.wikipedia.org/wiki/Henry_Molaison
[2] https://en.wikipedia.org/wiki/Repetition_priming