MomBoard, un écran E-ink pour un parent atteint d’amnésie
(jan.miksovsky.com)- Il s’agit d’un tableau E-ink à affichage permanent conçu pour qu’une mère ayant des difficultés à former de nouveaux souvenirs à long terme puisse continuer à consulter l’état de sa famille et son planning lorsqu’elle vit seule
- Le matériel repose sur un BOOX Note Air2 Series ; le navigateur web, la page de démarrage automatique, l’écran non lumineux, l’apparence domestique et une taille lisible à plusieurs pieds de distance répondaient aux exigences
- Le logiciel est divisé entre une page Board pour l’affichage des messages et une page Compose pour leur rédaction ; Board utilise une structure avec cadre externe et page interne pour faire face aux pannes réseau et aux mises à jour à distance
- Les données sont stockées dans un unique objet JSON sur JsonStorage, dans une architecture simple où Compose enregistre en POST et Board récupère en GET toutes les 5 minutes
- Après son installation le 12 novembre 2022, l’appareil s’est révélé utile pendant 2 ans en conditions réelles, et le maintien de messages à jour avec très peu d’interactions s’est avéré essentiel pour réduire la confusion
L’état de la mère et ses besoins réels
- En juin 2022, à la suite d’un effet secondaire d’une longue opération, la mère a développé une amnésie antérograde permanente
- Elle ne peut plus former de nouveaux souvenirs à long terme
- Même lorsqu’elle entend quelque chose ou voit quelque chose, elle ne s’en souvient généralement plus quelques minutes plus tard
- Pour le personnel médical, cela peut ressembler à une démence, mais dans ce cas, ce n’en est pas une
- La démence est une maladie évolutive, alors que cette amnésie est un état stable
- Il n’existe pas de traitement
- La mère continue à vivre seule dans son appartement et ressent en permanence une anxiété modérée quant à l’endroit où se trouvent ses enfants et à leur état
- Cette anxiété se traduit par des appels ou des SMS très fréquents à ses enfants
- Les rappels classiques ne tiennent pas dans la durée
- Les notes papier disparaissent ou deviennent rapidement obsolètes
- Même lorsque ses enfants l’appellent, elle recommence à s’inquiéter cinq minutes plus tard
- Une fois lus, les SMS ne sont plus reconsultés en faisant défiler l’écran et deviennent donc de fait des informations disparues
Objectifs de conception de l’écran
- L’objectif était de créer un appareil discret à affichage permanent installé dans l’appartement, sur lequel les enfants pourraient laisser de courts messages que leur mère pourrait voir en continu
- Les exigences pour l’écran étaient les suivantes
- pouvoir rester allumé en permanence pendant des mois
- permettre aux enfants de publier facilement de courts messages, affichés jusqu’à leur remplacement
- être suffisamment grand et lisible, même sans lunettes
- ne nécessiter aucune interaction pour être réveillé ou lu, et ne pas être perturbé si on le touche
- être robuste face aux coupures réseau
- ne pas émettre de lumière la nuit
- ne nécessiter aucun hack matériel
- afficher directement les messages au démarrage
- ne pas dépendre d’un abonnement ou d’un app store propriétaire
- ne pas être d’un prix excessif
- ne pas paraître déplacé dans un intérieur
Choix du BOOX Note Air2
- Le BOOX Note Air2 Series a été retenu comme appareil répondant aux critères
- Il coûtait alors 500 US$, bien moins cher qu’un écran destiné aux présentoirs commerciaux
- Bien qu’il soit vendu comme appareil de prise de notes et liseuse, il dispose d’un navigateur web tout à fait exploitable
- Son écran est assez grand pour être lisible à plusieurs pieds de distance
- Avant l’achat, la principale inconnue était de savoir si le navigateur web pouvait se lancer automatiquement et afficher une page d’accueil définie
- À la réception de l’appareil, il a été confirmé que ces deux fonctions étaient possibles
- Son apparence physique n’était pas excessivement technologique, et l’écran E-ink était net et facile à lire
- La vitesse de rafraîchissement de l’écran n’était pas assez lente pour devenir gênante
- Le rétroéclairage activé par défaut pouvait être désactivé
- Un petit support métallique a été utilisé pour lui donner l’apparence d’un cadre photo
Architecture du logiciel web
- Le site est composé de deux pages
- Page Board : l’écran qui affiche les messages, et que l’appareil E-ink montre au démarrage
- Page Compose : l’écran sur lequel les enfants rédigent et enregistrent les messages
- La page Board est divisée entre un cadre externe et une page interne afin de supporter l’exécution longue durée, la gestion des pannes et les mises à jour à distance
- Le cadre externe sert de fine enveloppe autour de la page interne
- À chaque heure pile, il recharge la page interne pour refléter d’éventuelles modifications logicielles
- Si le réseau est coupé et que la page interne ne peut pas être rechargée, il réessaie une heure plus tard
- Pour des raisons de fiabilité, le cadre externe contient très peu de logique et n’a aucune dépendance externe
- La page interne affiche le message réel
- Toutes les 5 minutes, elle demande les données de message à un service web simple
- Elle contient peu de logique et réduit autant que possible ses dépendances
- Comme il est pratiquement impossible de déboguer en cas de problème sur l’appareil, le projet utilise au maximum du HTML/CSS vanilla
- Seule une petite quantité de JavaScript est utilisée
- Aucun framework ni aucune autre bibliothèque ne sont employés
- La page Compose a été créée comme un formulaire web simple
- Elle a été conçue pour bien fonctionner sur l’écran d’un téléphone afin de pouvoir rédiger des messages en déplacement
- Une petite web app manifest permet de l’enregistrer comme icône sur l’écran d’accueil du téléphone
- L’ensemble du site est très petit, sans étape de build, et se compose de fichiers statiques en dehors de la partie service
Design d’écran et gestion de la taille du texte
- Pour réduire le risque de marquage sur l’écran E-ink, la page Board modifie aléatoirement la position d’affichage du message
- D’autres éléments visuels, comme la date et l’heure, alternent aussi entre la gauche et la droite
- L’idée est d’éviter qu’un pixel reste toujours allumé
- Le texte des notes utilise la police Architect’s Daughter pour donner une impression d’écriture manuscrite
- Cette police fonctionne bien sur un écran E-ink
- Les libellés utilisent Open Sans
- Les messages peuvent faire un ou deux mots comme plusieurs phrases, ce qui rendait difficile l’usage d’une taille de police unique
- Il n’a pas été possible de trouver une méthode pure CSS pour maximiser automatiquement la taille du texte sans couper un élément avec retour à la ligne
- Une petite fonction JavaScript a été écrite pour maximiser la taille du texte
- Le texte est d’abord rendu invisible avec
visibility: hidden - L’affichage est tenté à partir d’une très grande taille
- Des tailles de police progressivement plus petites sont essayées jusqu’à trouver celle où tout le texte tient
- Une fois la bonne taille trouvée, le texte redevient visible
- Le texte est d’abord rendu invisible avec
Service de stockage des données et installation
- Comme les données à afficher se limitaient à une petite quantité de texte, JsonStorage convenait bien au projet
- Le texte du jeu de messages courant et ses métadonnées sont stockés dans un unique objet JSON
- La page Compose enregistre avec une requête POST
- La page Board récupère les données avec GET
- Au départ, le service gratuit a été utilisé, puis le forfait de base à 1 US$ par mois a été choisi
- Il est précisé que ce forfait semble maintenant être à 5 US$ par mois
- Le logiciel a été développé pendant plusieurs semaines et testé sur de longues périodes d’exécution
- L’écran Boox a mieux fonctionné que prévu et semblait rester allumé en permanence
- Le 12 novembre 2022, l’appareil a été apporté et installé dans l’appartement de la mère
- Il a été allumé puis connecté au Wi‑Fi
- Il a ensuite été redémarré pour vérifier qu’il fonctionnait bien dans ce nouvel environnement
- Au départ, l’idée était de le placer sur le comptoir de la salle de bains, mais la mère a préféré la chambre, et l’appareil a été posé sur le rebord de la fenêtre
- La mère a aimé l’écran dès son installation
Résultats après 2 ans d’usage
- Malgré son amnésie, la mère a fini par se souvenir de l’existence de cet écran et de son utilité
- Elle attend avec intérêt les nouvelles de ses enfants
- Lorsqu’on lui parle d’un événement à venir, elle demande parfois si cela a déjà été publié sur MomBoard
- Les messages doivent rester à jour
- Si un message devenu obsolète n’est pas retiré, cela la perturbe
- C’est considéré comme presque la seule intervention tentée ayant réellement amélioré la qualité de vie de la mère et de sa famille
- L’une des raisons de ce succès est qu’elle n’avait rien de nouveau à apprendre
- Comme elle ne peut pas mémoriser de nouvelles choses, adopter une nouvelle technologie ou une nouvelle habitude est pratiquement impossible
- La stabilité de l’appareil a dépassé les attentes
- À un moment, il a semblé cesser de fonctionner, mais la cause était un hub Wi‑Fi défectueux
- Après remplacement du hub, tout a fonctionné normalement
- Le fait d’avoir gardé le logiciel aussi simple que possible et d’avoir utilisé des technologies web vanilla a aidé à éviter les bugs
- Deux ans plus tard, l’écran reste bien visible et continue d’afficher chaque jour des messages
- Le code source de MomBoard est publié sur GitHub
1 commentaires
Avis de Hacker News
C’est une belle utilisation de la technologie pour préserver chez quelqu’un sa personnalité et le sentiment d’être aimé. Depuis longtemps, je voudrais un appareil eInk mural qui, une fois l’URL et les informations Wi‑Fi configurées, rende un fichier Markdown et se rafraîchisse environ une fois par heure.
Je suis prêtre de paroisse, et je pourrais m’en servir pour des annonces d’événements, des annulations de offices, la liste de prières du moment, etc. Les usages semblent infinis. Pour un produit solide, qu’on puisse accrocher au mur et recharger tous les mois ou deux, je serais prêt à payer quelques centaines de dollars par appareil.
Je voulais moi aussi ce genre d’appareil eInk généraliste, et celui-ci semble assez hackable.
index.htmlquelque part, ajoutez dans la baliseheadune balise meta qui rafraîchit la page toutes les heures, puis exécutezpython -m http.serverdans le même dossier : cela lance un serveur web monothread sur le port 8000.Vérifiez depuis un autre appareil que
http://firstmachine:8000/est accessible, puis achetez l’écran eInk et définissez cette adresse comme page d’accueil par défaut. Ensuite, il suffit de modifierindex.htmlpour mettre l’affichage à jour : pas besoin de service d’abonnement ni de Kickstarter, les fonctionnalités de base de Python suffisent.On peut acheter seulement le module, ou bien un produit avec batterie et boîtier mural. Si vous avez du mal à faire confiance à un site web inconnu, la plupart des modèles semblent aussi disponibles chez Digikey et Mouser.
https://soldered.com/categories/inkplate/
J’aurais aimé que cet article soit apparu sur HN il y a quelques années, quand ma mère a traversé le même état cruel pendant les quatre dernières années de sa vie, ou que j’aie eu cette idée moi-même. Son corps, ses anciens souvenirs et une bonne partie de son intelligence étaient globalement intacts, mais plusieurs fois par jour elle avait des moments de lucidité où elle comprenait pleinement la situation terrible et désespérée dans laquelle elle se trouvait.
Mais en quelques secondes, cette pensée et les décisions qui en découlaient disparaissaient dans le trou noir de sa mémoire à court terme endommagée, et même si elle l’avait voulu, elle n’aurait probablement pas eu la capacité de mettre fin elle-même à sa vie. Mon frère et moi avons essayé beaucoup de choses pour lui rendre la vie un peu meilleure, mais peu ont réellement eu un certain succès.
Deux d’entre elles étaient des appareils numériques. Celle qu’elle préférait était un cadre photo numérique LCD qui faisait défiler en boucle des photos de famille depuis une carte SD, et elle l’a gardé allumé assez régulièrement. L’autre était une enceinte MP3 avec quelques heures de sa musique préférée sur carte SD, utilisable comme une radio avec seulement lecture/pause et le volume ; elle arrivait parfois à l’apprécier. Bonne chance à l’auteur, à sa mère, et à toutes les personnes dans une situation similaire.
Ma femme a souffert d’amnésie antérograde après un accident de la route. Je ne sais pas si cet appareil aurait fonctionné pour elle ; elle l’aurait probablement redécouvert toutes les dix minutes, et il est possible qu’elle en ait été ravie à chaque fois.
Heureusement, elle s’est complètement rétablie au bout de quelques semaines. Il faut énormément de patience pour s’occuper d’une personne dans cet état, et on voyait que cela provoquait aussi souvent une grande frustration chez elle. En pratique, presque toutes les dix minutes.
J’ai rarement été aussi profondément touché par un post HN. C’est une utilisation belle et simple de la technologie, qui améliore clairement et fortement la vie de quelqu’un.
Le passage où sa mère se souvient de l’existence de la tablette rappelle le célèbre cas de neuropathologie de Henry Molaison. À cause d’une lésion cérébrale particulière, il ne pouvait pas former de nouveaux souvenirs, comme la mère de l’auteur, mais les recherches ont montré qu’il pouvait tout de même se souvenir de certaines choses, même si ce n’était pas consciemment.
Par exemple, il ressentait de l’affection sans se souvenir de la personne qui s’était occupée de lui, et, tout en affirmant ne pas se souvenir d’avoir joué à un jeu de cartes, il l’apprenait plus vite à force de répétitions. Le fait qu’elle se souvienne de la tablette paraît très similaire, surtout si on le rapproche du sentiment que ses enfants se souviennent d’elle et l’aiment.
Le texte dit que c’est un état qu’on ne souhaiterait pas à son pire ennemi. La description du fait qu’elle “s’inquiète de savoir où sont ses enfants, s’ils vont bien, et a l’impression de ne pas avoir eu de nouvelles depuis longtemps” ressemble moins à une personne figée dans le temps qu’à une combinaison terrible d’un certain degré d’apprentissage ou de “mémoire”, d’une perception du temps qui passe, et de l’absence de mémoire épisodique pour l’expliquer.
Je me demande aussi si ce genre de sentiment chaleureux est plus fort envers quelqu’un qui rappelle une personne connue autrefois. Du genre : “Cette infirmière me fait penser à tante Sarah, qui avait été si gentille quand mon chien est mort.”
La partie sur la maximisation de la taille du texte des messages est intéressante. Les messages peuvent parfois ne contenir qu’un ou deux mots, parfois plusieurs phrases, donc une taille de police unique ne suffit pas ; l’auteur dit ne pas avoir trouvé de méthode en CSS pur pour agrandir automatiquement au maximum un élément de texte avec retours à la ligne sans qu’il soit coupé.
Au final, il a écrit une fonction JavaScript qui met le texte en
visibility: hidden, essaie d’abord une très grande taille, puis la réduit jusqu’à trouver celle qui convient, avant de le rendre à nouveau visible. Au-delà de l’accessibilité, cela ressemble à une fonctionnalité qui serait très utile comme fonction de base de CSS. Dans l’ensemble, c’est un usage très réconfortant de la technologie.CSS a dépassé les bornes, et aujourd’hui je voterais pour le jeter entièrement. Je sais que c’est une formule forte et polémique, mais, ayant grandi avec Microsoft Word et Aldus PageMaker, on peut considérer que la publication assistée par ordinateur était meilleure dans les années 1980 qu’aujourd’hui. Même bien avant le Web ou le support technique, de petites entreprises familiales pouvaient accomplir un vrai travail avec ces outils.
Je ne comprends pas pourquoi, aujourd’hui, on écrit des interfaces avec quelque chose qui ressemble pratiquement à de l’assembleur. Ce n’est que récemment, avec
shape-outside, que j’ai compris commentfloatétait censé fonctionner à l’origine ; on peut voir l’exemple avec le bouton Run code snippet.https://stackoverflow.com/a/33953666
Quand on voit ce petit balisage faire couler le texte comme dans un article de magazine, on se dit que les navigateurs auraient dû savoir faire cela dès le départ. Mais ils ont été conçus par des gens du monde Unix et PC, pas par des spécialistes de l’interface humaine comme Bill Atkinson. Il suffit de voir combien de temps il a fallu pour appliquer correctement des contours et des ombres aux polices vectorielles pour comprendre pourquoi les premiers sites qui posaient du texte sur des images ressemblaient à Myspace.
CSS gagnerait à mieux connaître les dimensions des éléments conteneurs, comme avec
calc()ou les requêtes@media. Cela dit, il ne faudrait pas non plus traiter le mobile comme un cas à part, donc@medialui-même est discutable. Il nous faut une métaphore typographique plus puissante quejustify, et la possibilité d’ajuster automatiquement la taille de police au conteneur.Le péché originel de CSS a été de vouloir donner à tout le monde un outil de mise en page standardisé et neutre vis-à-vis des médias. Il aurait probablement mieux valu prendre comme base le flux automatique intuitif de Qt, puis descendre, si nécessaire, vers une matrice de contraintes à la Apple Auto Layout. Pour ma part, je suis développeur back-end, et je reste sidéré par la quantité d’efforts qu’il faut déployer en front-end pour obtenir si peu.
font-size: "as-big-as-possible-while-still-fitting-parent-container";, ou simplementfont-size: max;, suffirait.Il existe plusieurs méthodes, mais si l’on imagine une solution CSS en une ligne du genre
font-size: 12-18px 400px;, toutes les autres ne sont que des contournements pénibles. Ce serait bien d’avoir quelque chose qui le fasse automatiquement.Pour le problème où “sa mère est perturbée si l’on ne retire pas un message qui ne s’applique plus”, il serait utile d’ajouter à chaque message une date et heure de début/fin, et de laisser le tableau les gérer. On pourrait les planifier à l’avance et les faire disparaître automatiquement.
Inspiré par la Poetry clock (https://www.theverge.com/23669343/ai-clock-chatgpt-poems-rhy...), j’ai fabriqué un écran eInk avec Raspberry Pi pour garder le contact avec mes parents.
Mon père n’aimait pas la Poetry clock, mais il aimait la génération d’images. J’ai donc relié un Inky Impression 7.3 couleur à un Raspberry Pi.
J’ai créé un bot Telegram basique : quand on lui envoyait un prompt vocal comme « un jour de neige », il demandait dans quel style de peintre favori générer l’image. Les résultats étaient meilleurs lorsqu’il combinait deux styles et les proposait sous forme de liste. À partir du prompt, il récupérait une citation aléatoire liée au thème, puis envoyait la citation et les styles à Stable Diffusion ; environ 30 secondes plus tard, une nouvelle image et la citation apparaissaient sur l’écran.
Par la suite, mon père a demandé s’il pouvait simplement envoyer directement des images ; désormais, il préfère publier chaque jour une image correspondant à la journée en question, par exemple le 13 novembre, « World Kindness Day », ainsi que, de temps à autre, des photos de famille. Ma mère attend avec impatience de voir quel jour mon père a choisi chaque jour.
Selon Webb, environ une fois tous les quarts d’heure, pour faire une rime, l’horloge ment tout simplement sur l’heure. Par exemple, il est en réalité « two past one », mais elle dit « one past two ». On pourrait sans doute corriger cela, mais pour l’instant c’est une caractéristique amusante, et la formule « les mécanismes d’horlogerie ont une dérive de précision, les dispositifs IA ont une dérive d’hallucination » est marquante.
La démence ressemble plutôt à une défaillance progressive de plusieurs systèmes où CPU, RAM, SSD et carte mère se dégradent ensemble ; si l’on ne considère que l’amnésie antérograde, c’est une panne qui empêche d’écrire sur le SSD.
Pour un amateur en médecine, il est aussi difficile de distinguer les deux que pour un amateur en technique, mais un spécialiste médical devrait savoir faire la différence, comme un spécialiste technique. Si l’on ne peut pas mettre à niveau le SSD, utiliser le CPU et la RAM pour compenser le SSD défaillant est un excellent hack. C’est exactement pour ce genre de choses que je consulte Hacker News presque tous les jours.
Pimoroni propose plusieurs écrans eInk jusqu’à 7,3 pouces, dont des modèles avec boutons et LED. On peut en faire ce qu’on veut.
https://shop.pimoroni.com/search?q=inky
Toutes les tablettes et liseuses Boox exécutent simplement Android. Pour ceux qui demandent s’il est possible de charger et d’afficher une page web, Android peut faire littéralement tout ce qu’Android sait faire ; il existe aussi plusieurs applications kiosque et des navigateurs avec mode kiosque. Il existe même des outils d’automatisation Android assez coûteux.
On peut acheter seulement le module, ou bien des versions avec batterie et boîtier mural. Si vous avez du mal à faire confiance à un site web au hasard, la plupart des modèles semblent aussi disponibles chez Digikey et Mouser.
https://soldered.com/categories/inkplate/
Dans la démo de la vidéo de présentation, plusieurs couleurs clignotent longuement pendant le rafraîchissement, ce qui pourrait être très déroutant pour quelqu’un dont la mémoire à court terme risque de ne pas durer aussi longtemps.
[0] https://www.youtube.com/watch?v=TluopgSoSWY&t=500s
C’est une histoire vraiment formidable, et je suis heureux que l’auteur ait trouvé quelque chose qui convienne bien à sa mère. Le plus intéressant est que, malgré son amnésie, sa mère a fini par se souvenir de l’existence et de l’utilité de cet écran, et qu’elle attend les mises à jour de ses enfants.
Le cerveau est vraiment merveilleux. J’aimerais savoir s’il s’agit d’une particularité propre à sa mère, ou si cela pourrait aussi aider d’autres personnes dans un état similaire.
[1] https://en.wikipedia.org/wiki/Henry_Molaison
[2] https://en.wikipedia.org/wiki/Repetition_priming