2 ポイント 投稿者 GN⁺ 2024-11-15 | 1件のコメント | WhatsAppで共有
  • 新しい長期記憶を作るのが難しい母親が一人で過ごしている間も、家族の状況や予定を継続して確認できるように作られた常時表示のE-inkボード
  • ハードウェアには BOOX Note Air2 Series を使用。Webブラウザ、自動起動ページ、非発光画面、家庭になじむ外観、数フィート離れても読めるサイズという要件に合っていた
  • ソフトウェアは、メッセージ表示用のBoardページと作成用のComposeページに分かれており、Boardは外側フレームと内側ページの構成で、ネットワーク障害やリモート更新に備える
  • データは JsonStorage の単一JSONオブジェクトに保存し、ComposeはPOSTで保存、Boardは5分ごとにGETで取得するシンプルな構成を維持
  • 2022年11月12日の設置後、2年間にわたって実生活で役立ち、最新メッセージの維持と低い操作要求が混乱を減らす重要な条件となった

母親の状態と実際のニーズ

  • 2022年6月、長時間の手術の副作用により、母親に永続的な前向性健忘が生じた
    • 新しい長期記憶をそれ以上作れなくなった
    • 何かを聞いたり見たりしても、たいてい数分後には覚えていない
  • 医療関係者には認知症に似て見えることがあるが、このケースは認知症ではない
    • 認知症が進行性の疾患である一方、この記憶障害は安定した状態である
    • 治療法はない
  • 母親はいまもアパートで一人暮らしをしており、子どもたちがどこにいて無事なのかについて、低いレベルの不安を常に感じている
    • この不安は、子どもたちへ非常に頻繁に電話やメッセージを送ろうとする行動につながる
  • 既存のリマインダーは長く機能しなかった
    • 紙のメモはなくなったり、すぐに古い情報になったりする
    • 子どもたちが電話をしても、5分後にはまた心配する
    • テキストメッセージは一度読んだ後に再びスクロールして見返さないため、実質的には消えた情報になる

ディスプレイの設計目標

  • 目標は、アパート内に設置された目立たない常時表示デバイスで、子どもたちが短いメッセージを残し、母親が継続して見られるようにすることだった
  • ディスプレイの条件は次のとおりだった
    • 数か月間、点灯し続けられること
    • 子どもたちが短いメッセージを簡単に投稿でき、差し替えられるまで表示され続けること
    • 眼鏡なしでも読めるほど十分に大きく、読みやすいこと
    • 起動や閲覧のための操作が不要で、触れても動作が壊れないこと
    • ネットワーク障害に強いこと
    • 夜に光らないこと
    • ハードウェアのハックが不要であること
    • 起動するとすぐにメッセージを表示すること
    • サブスクリプションサービスや独自アプリストアに依存しないこと
    • 価格が高すぎないこと
    • 家の中で不自然に見えないこと

BOOX Note Air2の選択

  • 条件に合うデバイスとして BOOX Note Air2 Series が選ばれた
    • 当時の価格は US$500 で、商用小売ディスプレイ向けの画面よりはるかに安かった
    • 手書き端末および電子書籍リーダーとして販売されているが、実用的なWebブラウザを備えている
    • 数フィート離れた場所からでも読めるほど画面が大きい
  • 購入前の最大の不確実要素は、Webブラウザを自動起動し、指定したスタートページを表示できるかどうかだった
    • デバイス到着後、どちらの機能も可能であることを確認した
  • 物理的な外観は、過度にテクノロジー製品らしくはなく、E-ink画面は鮮明で読みやすかった
    • 画面更新速度は気が散らない程度だった
    • デフォルトでオンになっていたバックライトはオフにできた
  • 小さな金属スタンドを使い、写真立てのように見えるよう配置した

Webソフトウェア構成

  • サイトは2つのページで構成される
    • Boardページ: メッセージを表示する画面で、E-inkデバイスが起動するとこのページを表示する
    • Composeページ: 子どもたちがメッセージを作成して保存する画面
  • Boardページは長期稼働、障害対応、リモート更新のために、外側フレームと内側ページに分かれている
    • 外側フレームは内側ページを包む薄いシェルとして機能する
    • 毎時ちょうどに内側ページを再読み込みし、潜在的なソフトウェア変更を反映する
    • ネットワークが切れて内側ページを再読み込みできなければ、1時間後に再試行する
    • 信頼性のため、外側フレームにはロジックを非常に少なくし、外部依存をなくした
  • 内側ページは実際のメッセージを表示する
    • 5分ごとに簡単なWebサービスへメッセージデータを要求する
    • ロジックは少しだけ含め、依存関係は可能な限り減らした
  • デバイスで問題が起きても実質的にデバッグが難しいため、vanilla HTML/CSS をできるだけ使用した
    • JavaScriptは少量だけ使用した
    • フレームワークや他のライブラリは使用していない
  • ComposeページはシンプルなWebフォームとして作られた
    • 外出中でもメッセージを書けるよう、スマートフォン画面でうまく動作するよう設計された
    • 小さなWebアプリマニフェストを通じて、スマートフォンのホーム画面にアイコンとして保存できる
  • サイト全体は非常に小さく、ビルド工程はなく、サービス部分を除けば静的ファイルで構成される

画面デザインと文字サイズの処理

  • E-inkの焼き付きの可能性を減らすため、Boardページはメッセージが表示される位置をランダムに変える
    • 日付や時刻のような他の視覚要素も、左右の位置を交互に使う
    • 1つのピクセルが常にオンにならないようにする意図である
  • メモのテキストには手書き風の印象を与えるため、Architect’s Daughter フォントを使用した
    • このフォントはE-inkディスプレイでうまく機能する
    • ラベルには Open Sans を使用した
  • メッセージは1、2語の場合もあれば複数文の場合もあり、単一の文字サイズでは対応しにくかった
    • 折り返されるテキスト要素が切れないように文字サイズを自動で最大化する純粋なCSSの方法は見つからなかった
  • 小さなJavaScript関数で文字サイズの最大化を実装した
    • テキストを visibility: hidden で見えなくする
    • 非常に大きなサイズから表示を試す
    • テキストがすべて収まるサイズが見つかるまで、少しずつ小さい文字サイズを試す
    • 適切なサイズを見つけた後、再び表示する

データ保存サービスと設置

  • 表示するデータは少量のテキストだけなので、JsonStorage がプロジェクトに合っていた
    • 単一のJSONオブジェクトに現在のメッセージ群のテキストとメタデータを保存する
    • ComposeページはPOSTリクエストで保存する
    • BoardページはGETリクエストでデータを取得する
  • 当初は無料ティアを使っていたが、その後月額US$1の基本ティアを支払うようになった
    • そのティアは現在、月額US$5に見えると付け加えている
  • ソフトウェアを数週間かけて作成し、長時間稼働テストを行った
    • Booxディスプレイは予想以上にうまく動作し、常時オンのように見えた
  • 2022年11月12日、母親のアパートにデバイスを持って行って設置した
    • 電源を入れ、Wi-Fiに接続した
    • 新しい環境で動作するか確認するため再起動した
    • 当初は浴室のカウンターを考えていたが、母親が寝室を好んだため窓枠に置いた
  • 母親は設置直後からディスプレイを気に入った

2年間使用した結果

  • 母親は記憶障害があるにもかかわらず、このディスプレイの存在と用途を覚えるようになった
    • 子どもたちからの更新を見るのを楽しみにしている
    • 予定されていることを伝えると、そのイベントをすでにMomBoardに載せたか尋ねることがある
  • メッセージは最新の状態に保つ必要がある
    • もはや当てはまらないメッセージを下げないと、母親が混乱する
  • 試した介入の中で、実際に母親と家族の生活の質を改善したほぼ唯一の方法だと考えられている
    • 成功した理由の1つは、母親が新しく学ぶ必要がなかったこと
    • 新しいことを覚えられないため、新しい技術や習慣を形成するのは実質的に不可能である
  • デバイスの安定性は期待を上回った
    • 一時期、動作が止まったように見えた期間があったが、原因は故障したWi-Fiハブだった
    • ハブを交換した後は問題なく動作している
    • ソフトウェアを可能な限りシンプルに保ち、vanilla Web技術を使ったことがバグ回避に役立った
  • ディスプレイは2年後も引き続きよく見え、毎日メッセージを表示している
    • MomBoardのソースコードはGitHubで公開されている

1件のコメント

 
GN⁺ 2024-11-15
Hacker News のコメント
  • 誰かの人格と、愛されているという感覚を守ってくれる、美しい技術の活用例だ。以前から、URL と Wi-Fi 情報だけ設定すれば Markdown ファイルをレンダリングし、1時間に1回くらい更新してくれる壁掛け型の eInk デバイスが欲しいと思っていた。
    私は教区司祭なので、行事案内、礼拝の中止、現在の祈祷リストなどに使えそうで、用途は尽きないと思う。壁に掛けられて、1〜2か月ごとに充電すればよい頑丈な製品なら、1台あたり数百ドルでも払うつもりがある。

    • 支援中だけど、おそらくその要件には https://www.kickstarter.com/projects/usetrmnl/trmnl-the-e-in... が合っていると思う。
      私も同じ種類の汎用 eInk デバイスが欲しかったし、これはかなりハック可能らしい。
    • eInk ディスプレイが、常時起動している PC と同じ LAN 上にあるなら簡単にできる。Python をインストールし、どこかに index.html を作って、head タグに1時間ごとに更新するメタタグを入れ、その同じフォルダで python -m http.server を実行すれば、8000番ポートでシングルスレッドの Web サーバーが立ち上がる。
      別の機器から http://firstmachine:8000/ にアクセスできることを確認してから eInk ディスプレイを買い、そのアドレスをデフォルトのホームページに指定すればよい。あとは index.html を直すだけで画面が更新されるので、サブスクリプションサービスや Kickstarter なしに、Python の標準機能だけで十分だ。
    • マイクロコントローラ、とくに ESP32/Arduino に慣れているなら Inkplate をおすすめする。両親向けに似た構成を作ったときに知ったもので、10インチまで複数のサイズがあり、最大6色表示のモデルもある。
      モジュールだけでも買えるし、バッテリーと壁掛けケース付きの製品も買える。見知らぬ Web サイトを信用しづらいなら、ほとんどのモデルは Digikey と Mouser にもあるようだ。
      https://soldered.com/categories/inkplate/
    • 余談だが、Hacker News の職業頻度表で教区司祭は、おそらくソフトウェア開発者の正反対の位置にありそうで興味深い。
    • https://github.com/aceinnolab/Inkycal も興味を持てるかもしれない。今は品切れのように見えるが完成品もあり、部品リストを見て自作することもできる。
  • 数年前、母が人生最後の4年間に同じ残酷な状態にあったとき、この投稿が HN に出ていたか、私がこういうアイデアを思いついていればよかったと思う。身体と昔の記憶、相当な知性はおおむね保たれていたが、毎日何度も明晰な瞬間が訪れ、自分が置かれた恐ろしく絶望的な状況を完全に理解していた。
    しかし数秒のうちに、その考えとそこから生まれた決断は、損なわれた短期記憶のブラックホールへ消えていき、望んだとしても自分で人生を終える能力すらなかっただろう。兄弟と私は、少しでも暮らしをよくしようといろいろ試したが、実際に少しでも成功したものは多くなかった。
    そのうち2つはデジタル機器だった。SD カード内の家族写真を無限ループで表示する LCD デジタルフォトフレームを母はいちばん気に入り、かなり継続的につけていた。もう1つは、SD カードに好きな音楽を数時間分入れた MP3 スピーカーで、ラジオのように再生/停止と音量ボタンだけで使えたので、ときどき楽しむことができていた。投稿者とそのお母さん、そして似た状況にいるすべての人に幸運を祈る。

  • 妻が交通事故のあと前向性健忘になった。この装置が妻に効果があったかはわからないが、おそらく10分ごとにその装置を新しく発見し、そのたびに喜んだ可能性はある。
    幸い、数週間後に完全に回復した。そういう状態の人を介護するには途方もない忍耐が必要で、本人にも頻繁に大きな苛立ちを引き起こすのが見て取れた。実際、ほぼ10分ごとにそうだった。

    • これが前向性健忘認知症の違いを示している。認知症は記憶を含む脳全体の退行だが、健忘は他の機能が正常な脳でも起こりうる。認知症患者なら、元記事の事例のように子どもにメッセージを送ることはできなかっただろう。
    • 前向性健忘の原因は正確には何なのだろうか。一時的な人もいれば永続的な人もいる理由が気になる。
  • HN の投稿の中でも珍しく深く感動した。誰かの生活を明確かつ大きく改善する、美しくシンプルな技術の活用だと思う。
    お母さんがタブレットの存在を覚えているという部分は、神経病理学の有名な症例である Henry Molaison に似て聞こえる。彼は特定の脳損傷のため、元投稿者のお母さんのように新しい記憶を作れなかったが、研究の結果、意識的ではなくても一部は記憶できることが分かっていた。
    たとえば世話をしてくれた人のことは覚えていなくても温かい感情を抱き、カードゲームをした事実は覚えていないと言いながらも、繰り返すほど早く習得した。タブレットを覚えている様子も、子どもたちが自分を覚えていて愛してくれているという感覚と合わせて見ると、とてもよく似ているように思える。

    • これは 筋肉記憶 を思い起こさせる。楽譜を意識的に覚えていなくてもピアノ曲を弾けて、手がただ何をすべきかを「知っている」ような感覚だ。面白いことに、特定のフレーズを意識して考え始めると、その能力はずっと悪くなる。
    • 記憶と学習についての私たちのメンタルモデルがどれほど間違っているかは、過大評価しにくいほどだと思う。本当にすべてを忘れるのなら、誰かに逆向きの Groundhog Day や Groundhog Hour を作って、毎日が素晴らしい一日になるよう最適化することもできるかもしれないが、実際にはまったくそうではないのだろう。
      投稿には、最悪の敵にも望まない状態だと書かれている。「子どもたちがどこにいるのか、無事なのかと不安に思い、長い間連絡を受けていないように感じる」という描写は、時間の中で凍りついた人というより、ある程度の学習または「記憶」、時間経過の感覚、そしてそれを説明するエピソード記憶がないという、ひどい組み合わせのように見える。
    • 技術を高齢者や支援を必要とする人の視点からもっと捉えるようにすれば、最終的には誰にとってもより良い技術の応用を作れるようになる気がする。
    • ある研究によると、短期記憶の転送が壊れていても、運動皮質は記憶できるらしい。少なくともミエリン化も、反復使用によって強化される記憶の一形態と見なせる。
      そうした温かい感情が、以前知っていた誰かを思い出させる人に対してより強いのかも気になる。「この看護師さんは、飼い犬が死んだときによくしてくれた Sarah おばさんを思い出させる」といった具合に。
    • 私も読みながら、いつか必要になったときに備えてすぐブックマークしようと思った。しかも見た目にも美しいし、どんな母親がこれを魅力的でないと感じるだろうか。
  • メッセージの文字サイズを最大化する部分が興味深い。メッセージが一、二語のこともあれば複数文のこともあるため、単一のフォントサイズでは対応が難しく、折り返されるテキスト要素を切れないように自動で最大サイズまで大きくする純粋な CSS の方法は見つからなかったという。
    結局 JavaScript 関数でテキストを visibility: hidden にしたうえで、非常に大きなサイズから試し、収まるサイズが見つかるまで小さくしてから再び表示したということだ。アクセシビリティだけでなく、CSS の基本機能としてあれば非常に便利そうな機能に思える。全体として心温まる技術の活用だ。

    • 1995年から Web の進化を見てきたが、90年代後半に CSS が流行し始めた頃から、実際のユースケースに合っていないと感じていた。ブラウザの WYSIWYG エディタでテーブルを使ってサイトを描いていた時代から、フロントエンド経験がどれだけあってもテキストの中央揃えにすら苦労する世界へ、委員会方式の設計が連れてきたようなものだ。
      CSS は一線を越えており、今なら丸ごと廃棄することに投票したい。強くて議論を呼ぶ言い方だとは分かっているが、Microsoft Word と Aldus PageMaker で育った身からすると、デスクトップパブリッシングは1980年代の時点でも今日より優れていたと言える。Web や技術サポートが存在するずっと前でも、家族経営の小規模事業者が実際の仕事をこなせていたからだ。
      今日のインターフェースを、事実上アセンブリ言語のようなもので書いている理由が分からない。最近になってようやく shape-outside とともに float が本来どう動くべきだったのかを知った。例は Run code snippet ボタンで見られる。
      https://stackoverflow.com/a/33953666
      この小さなマークアップが雑誌記事のように流れるのを見ると、ブラウザは最初からこういうことができるべきだったと思う。だが作ったのは Bill Atkinson のようなヒューマンインターフェースの専門家ではなく、Unix や PC 側の人々だった。アウトラインフォントにストロークや影をきちんと適用できるようになるまでどれほど時間がかかったかを見れば、初期の Web サイトで画像の上にテキストを載せると Myspace のように見えた理由が分かる。
      CSS は calc()@media クエリのように、コンテナ要素の寸法をよりよく把握できれば役に立ちそうだ。ただしモバイルを別扱いすべきでもないので、@media 自体も議論の余地がある。justify より強力な組版のメタファーが必要で、コンテナに合わせてフォントサイズを自動調整できるべきだ。
      CSS の原罪は、すべての人にメディア中立な型抜き式レイアウトツールを与えようとしたことにある。むしろ Qt の直感的な自動フローを基本にし、必要なときに Apple Auto Layout のような制約行列へ降りていく形のほうが良かったのではないかと思う。ちなみに私はバックエンド開発者で、フロントエンドであまりに少ないことを成し遂げるためにあまりに多くの労力が必要なのを見ると、あぜんとしてしまう。
    • これがまだ CSS の機能ではないことが理解できない。font-size: "as-big-as-possible-while-still-fitting-parent-container"; のようなもの、あるいは単に font-size: max; でよさそうなのに。
    • ここ数年、CSS に最も望んでいる機能の一つだ。クライアントから、見出しに文字を一つ追加しただけで次の行に回ると不満を言われ、ほかの見出しには影響させずにその見出しだけフォントを小さくできないかと何十回も聞かれた。
      方法はいくつもあるが、font-size: 12-18px 400px; のような一行の CSS 解決策があると仮定すれば、どれも面倒な回避策だ。自動で処理してくれる何かがあるといい。
    • 純粋な CSS の解決策がある: https://kizu.dev/fit-to-width/
  • 「もう適用されないメッセージを消せないと母が混乱する」という問題には、メッセージごとに開始/終了日時を入れて、ボード側で処理するとよさそうだ。事前に予約でき、自動で消えるようにできる。

    • ネットワークが一時的に切れたり、誰かがメッセージを投稿し忘れたりしても目立たないように、日付を自動入力するデフォルトメッセージを追加するとよさそうだ。
    • 同意する。あるいは「このメッセージは12時間後に期限切れ」のような期限タイマーも可能だ。
    • メッセージの日付と一緒に現在の日付も表示するとよさそうだ。
  • Poetry clock(https://www.theverge.com/23669343/ai-clock-chatgpt-poems-rhy...)に着想を得て、両親と連絡を保つための eInk Raspberry Pi ディスプレイを作った
    父は Poetry clock は気に入らなかったが、画像生成は気に入っていた。そこでカラーの Inky Impression 7.3 を Raspberry Pi に接続した
    基本的な Telegram ボットを作り、「雪の日」のような音声プロンプトを送ると、好きな画家のスタイルのうちどれで画像を作るかを尋ねるようにした。2つのスタイルを組み合わせてリストで見せると、結果がさらに良くなった。プロンプトでテーマに合うランダムな引用文を取得し、引用文とスタイルを Stable Diffusion に入れると、30秒ほど後にディスプレイに新しい絵と引用文が表示される
    その後、父は画像をそのまま直接送れないかと尋ね、今では毎日、その日が何の日かに合わせた画像、たとえば11月13日の「World Kindness Day」、そして時々家族写真を載せるほうを好んでいる。母は、父が毎日どんな日を選んだのかを見るのを楽しみにしている

    • Poetry clock は面白い。ただし記事では、ChatGPT のような AI 言語モデルにはデータをでっち上げる傾向があり、時刻を言うときもそうだと書かれている
      Webb によると、約15分に1回は韻を合わせるために時計が単に時刻について嘘をつくという。実際には “two past one” なのに “one past two” と言うようなものだ。直すことはできるだろうが、今のところは面白い特性で、「時計仕掛けには精度のドリフトがあり、AI 仕掛けには幻覚ドリフトがある」という表現が印象的だ
  • 認知症は、CPU、RAM、SSD、マザーボードが一緒に壊れていく進行性の多系統障害に近く、前向性健忘だけを取り出して見ると、SSD に書き込めない故障だ
    医学の素人が両者を区別しにくいのは技術の素人と似ているが、医学の専門家なら技術の専門家のように区別すべきだ。SSD をアップグレードできないなら、CPU と RAM で壊れた SSD を補うのは見事なハックだ。ほぼ毎日 Hacker News をチェックしている理由はまさにこういうものだ

    • 認知症と前向性健忘の違いを説明するやり方はかなり PC 中心ではあるが、それでも気に入っている
  • Pimoroni には、ボタンと LED 付きのモデルを含め、7.3インチまでの eInk ディスプレイがいくつもある。作りたいものを作れる
    https://shop.pimoroni.com/search?q=inky
    すべての Boox タブレットと電子書籍リーダーは、単に Android を動かしている。Webページを読み込んで表示することについて尋ねる人には、Android ができることは文字どおり何でもできるし、複数のキオスクアプリやキオスクモード付きブラウザもある。かなり高価な Android 自動化ツールもある

    • マイクロコントローラ、特に ESP32/Arduino に慣れているなら Inkplate をおすすめする。両親向けに似た構成を作るときに知ったもので、10インチまで複数のサイズと最大6色表示モデルがある
      モジュールだけを買うこともできるし、バッテリーと壁掛けケース付きの製品も買える。見知らぬ Webサイトを信用しにくいなら、ほとんどのモデルは Digikey と Mouser にもあるようだ
      https://soldered.com/categories/inkplate/
    • すばらしいとは思うが、「このディスプレイのリフレッシュには約40秒かかる」なら、このプロジェクトの用途には合わなさそうだ
      紹介動画のデモを見ると、長いリフレッシュの間に複数の色が長く点滅しており、短期記憶がそれほど持続しないかもしれない人には非常に混乱を招く可能性がある
      [0] https://www.youtube.com/watch?v=TluopgSoSWY&t=500s
  • 本当にすばらしい話で、投稿者が母親にぴったり合うものを見つけられてうれしい。記憶障害があるにもかかわらず、母親がこのディスプレイの存在と用途を覚えるようになり、子どもたちからの更新を待っているという部分が最も興味深い
    脳は本当に驚異的だ。これが母親だけの特殊な性向なのか、それとも似た状態のほかの人にも役立ち得るのか分かるといい