Une constellation qui grandit à mesure que tu parles
Le 22 mai, l'écran d'accueil de XNeuronal a cessé de montrer une orbe de démonstration, identique pour tout le monde, pour dessiner la mémoire réelle de la personne qui parle : un point par souvenir, une forme par catégorie, une couleur par domaine de vie, dès le premier souvenir. Le même jour, les fiches ont appris à afficher leur mise en forme, et « qu'est-ce que j'ai la semaine prochaine ? » est passé de huit requêtes à une seule.
Le soir, Léa raconte sa journée
Léa a pris une habitude. Le soir, la vaisselle faite, elle pose son téléphone contre la tasse, appuie sur le bouton, et raconte. « J'ai déjeuné avec Sami, il change de boulot en septembre. Jeudi, contrôle technique à huit heures, il faut que je pense à la carte grise. Et ma mère a rappelé pour l'anniversaire de papa, c'est le 14. » Elle ne trie pas, elle ne range pas. Elle parle à quelqu'un qui écoute, qui répond, et qui s'en souviendra.
Jusqu'au 22 mai, pendant qu'elle parlait, le milieu de l'écran montrait une orbe. Une belle orbe, quatorze itérations pour trouver son point d'équilibre, qui pulsait doucement au repos et s'agitait un peu à l'écoute. Mais c'était la même orbe pour Léa que pour quelqu'un qui venait d'installer l'application et n'avait encore rien dit. Elle ne savait rien de Sami, ni du contrôle technique, ni du 14. Elle était une démonstration : ce à quoi ressemble une application qui écoute, en général.
Sa mémoire, la vraie, existait ailleurs. Dans les réglages, une page « Constellation » dessinait chaque souvenir comme un point, chaque lien comme un fil, et on pouvait la faire glisser, la pincer pour zoomer, toucher un point pour ouvrir sa fiche. C'est là, une semaine plus tôt, que chaque point avait reçu une forme selon sa catégorie. Une carte soignée, à trois écrans de profondeur, que personne n'ouvrait le soir en racontant sa journée.
Sortir la carte des réglages
En milieu de journée, le 22 mai, cette carte est montée sur l'écran d'accueil. Pas une copie simplifiée : le même composant que la page des réglages, dans un carré qui prend toute la largeur, centré un peu au-dessus du milieu pour laisser de la place au fil de conversation.
Deux différences avec la version des réglages. La première : elle ne réagit à aucun geste. Pas de glissement, pas de pincement, pas de toucher sur un point. Sur l'accueil, la constellation est un fond, pas une carte à parcourir ; le seul geste de cet écran reste le bouton pour parler. La seconde différence, c'est qu'elle bouge, et on y revient.
Une décision accompagnait cette montée : la constellation ne remplaçait l'orbe qu'à partir de vingt souvenirs actifs. Le raisonnement semblait sain : trois points isolés feraient pauvre pour quelqu'un qui débute, alors que l'orbe est jolie tout de suite. Pour ne pas afficher l'orbe pendant les deux cents millisecondes où l'application ne sait pas encore combien de souvenirs elle a, un drapeau était posé sur le téléphone au premier franchissement du seuil, et les démarrages suivants allaient droit à la constellation, même si des suppressions ramenaient sous les vingt.
Ce seuil n'a pas passé la soirée. Mais avant de dire pourquoi, il faut dire ce qu'on voit.
Une carte qui respire
La page des réglages dessinait une constellation immobile. Sur l'accueil, l'immobilité aurait fait plante verte. Le 22 mai a donc écrit un mode animé, dont chaque paramètre a été choisi pour que ça vive sans distraire.
Chaque point dérive. Pas un tremblement : une lente courbe ouverte, obtenue en donnant à chaque point deux fréquences légèrement différentes en largeur et en hauteur, entre cinq et douze secondes par cycle. Deux points ne suivent jamais le même chemin, et aucun ne revient exactement à son départ. L'amplitude est assez grande pour que l'œil perçoive le mouvement, pas assez pour que deux souvenirs se chevauchent.
Chaque halo respire, de dix-huit pour cent autour de sa valeur, à un rythme propre à chaque point, entre deux et quatre secondes. Les rythmes sont volontairement dispersés : si tous les halos respiraient ensemble, la constellation aurait un battement visible, et un battement, ça se regarde.
Et chaque souvenir s'allume, de temps en temps. Toutes les dix à vingt-cinq secondes, selon le point, une bouffée d'un quart d'opacité en plus et de huit pour cent de taille, montée et descente en douceur sur un dixième du cycle. Jamais un flash : une pensée qui s'éclaire un instant, pas un stroboscope. Les fils entre les points ont été redessinés en deux traits superposés, un large et translucide derrière, un fin et net devant, pour qu'ils aient l'épaisseur d'un fil et non celle d'un cheveu. Et l'ensemble inhale et expire de deux et demi pour cent toutes les trois secondes, comme l'orbe le faisait.
Un détail compte plus que les autres : tout est déterminé par l'identifiant de chaque souvenir, rien n'est tiré au hasard. La trajectoire de Sami, le rythme de sa respiration, l'instant où il s'allume, sont les mêmes d'un jour à l'autre. La constellation ne se rebat jamais les cartes.
Quand Léa appuie sur le bouton, des ondes d'écoute s'ajoutent autour de la carte. Quand des bulles de conversation occupent l'écran, la constellation s'efface aux trois quarts pour qu'on lise les bulles. Vingt-quatre images par seconde, un rythme choisi pour rester fluide avec quelques centaines de points redessinés à chaque image.
Où se place chaque souvenir, et pourquoi
La disposition n'est pas décorative. Elle dit quelque chose de la mémoire.
Deux anneaux. À l'intérieur, ce qui compte maintenant : les souvenirs qui sont dans l'étage de travail de la mémoire, ceux dont l'importance est haute, et ceux qui sont des carrefours, reliés à beaucoup d'autres. À l'extérieur, le reste. Chaque point a un angle fixe, avec un léger jeu pour que l'anneau ne ressemble pas à un cadran d'horloge. Le rayon de l'ensemble grandit avec la racine carrée du nombre de souvenirs : une mémoire de cent souvenirs n'est pas dix fois plus large qu'une de dix, elle est plus dense.
La taille d'un point grandit avec le nombre de fois où on en a parlé, avec son importance, et avec son rôle de carrefour. Un souvenir répété, reconnu comme le même et renforcé au lieu d'être recréé, grossit. Un souvenir dit une fois reste petit.
La couleur du halo dit le domaine de vie. Ambre pour la famille, bleu pour le travail, rouge pour la santé, vert pour les amis, jaune pour l'argent, orange pour la maison, cyan pour ce qu'on apprend, violet pour soi. Gris quand l'application ne sait pas. La forme du cœur dit la catégorie : cercle plein pour un fait, cercle cerclé de blanc pour une personne, losange pour un événement, hexagone pour un mémo, triangle pour une tâche, petit losange creux pour un rappel, étoile pour un sujet. Et les fils, ceux que la mémoire écrivait depuis le début, relient ce qui se rapporte : bleu clair pour la plupart, rouge quand un souvenir en corrige un autre, orange en pointillés quand l'un remplace l'autre.
Elle grandit pendant que tu parles
Le point essentiel tient en une ligne de code, mais c'est celle qui change ce que Léa voit.
La constellation de l'accueil se recharge à deux moments précis : dès que la réponse de l'assistant est posée dans le fil, avant même que la voix ait fini de la lire, et à nouveau quand la voix se tait. C'est le déclencheur qui fait déjà bouger le compteur de souvenirs en haut de l'écran au moment de la bulle, pas six secondes plus tard. Elle se recharge aussi quand on revient dans l'application, et un souvenir supprimé disparaît de la carte à l'instant.
Alors le soir de Léa change de nature. Elle dit Sami, et un cercle cerclé de blanc apparaît, vert, dans l'anneau extérieur. Elle dit le contrôle technique de jeudi, et un losange se pose, avec un triangle à côté pour la carte grise, et un fil entre les deux. Elle dit le 14, et un losange ambre s'allume. Pendant qu'elle raconte, sa mémoire se dessine devant elle, et le lendemain soir, les points de la veille sont toujours là, à leur place, avec leur rythme.
L'écran d'accueil n'est plus l'image d'une application qui écoute. C'est l'image de ce que Léa lui a dit.
L'après-midi : un plantage, puis la fin du seuil
Deux heures et demie après la montée de la constellation, l'application plantait au lancement pour tous ceux qui en bénéficiaient. La cause tient au moteur d'affichage, qui exige qu'un composant déclare le même nombre de petits états internes à chaque rendu. Le calcul des animations avait été placé après la ligne qui dit « s'il n'y a aucun point, ne dessine rien ». Au premier rendu, la mémoire n'était pas encore chargée : sortie anticipée, calcul jamais déclaré. Au rendu suivant, les points étaient là, le calcul était déclaré, et le moteur comptait un état de plus qu'avant. Il a refusé, et l'application est morte à l'écran de lancement. La correction a tenu en quelques lignes déplacées ; c'est le genre de défaut qui ne fait aucune erreur à l'écriture et empêche l'application de s'ouvrir.
À dix-huit heures, le seuil de vingt souvenirs a été retiré, avec le drapeau qui le mémorisait et l'orbe de démonstration elle-même. Trois raisons. Le drapeau, censé éviter un clignotement au démarrage, en produisait un autre : à froid, l'application montrait parfois la mauvaise chose pendant qu'elle le relisait, et si le seuil avait été franchi au cours d'une autre session, l'écran restait bloqué sur la démonstration bien après. Ensuite, l'orbe statique ne se dessinait plus correctement, et la personne qui utilise l'application a demandé qu'on la retire. Enfin, la raison qui avait justifié le seuil s'est retournée : trois points clairsemés sur un écran calme ne font pas pauvre. Ils disent « ta mémoire prend forme », ce qui est précisément ce qu'on veut dire à quelqu'un qui commence.
Depuis, la constellation s'affiche dès le premier souvenir. Avant lui, l'espace reste vide et calme, et se remplit quand la mémoire se remplit. L'orbe n'a pas disparu de l'application : elle reste, en petit, au bas de l'écran pendant que l'assistant parle, comme cible à toucher pour l'interrompre. Mais au centre de l'accueil, il n'y a plus rien qui soit pareil pour tout le monde.
Des étoiles autour des mots
Le même après-midi, une gêne plus ancienne a été réglée. Quand l'assistant rédige une fiche, il écrit avec une mise en forme légère : des titres, du gras, des puces. Un petit lecteur maison savait l'afficher, mais seulement dans deux endroits, la fiche de type mémo et le résultat d'une recherche. Partout ailleurs, le détail d'une fiche, les listes de rappels, de tâches et de mémos, la boîte de réception, la liste de la mémoire, le texte s'affichait brut. Léa ouvrait la fiche de Sami et lisait des étoiles autour de « septembre ».
Deux chemins ont été tracés. Le corps de la fiche, quand on l'ouvre, passe désormais par le lecteur : les titres sont des titres, le gras est gras. Les lignes de liste, tronquées à deux ou trois lignes, ne peuvent pas accueillir une mise en forme ; elles passent par un nettoyeur qui retire les symboles et les préfixes de bloc, dièses, tirets, numéros, en gardant les mots. Le même nettoyeur sert aux libellés lus par le lecteur d'écran, et à la boîte de confirmation qui cite le souvenir avant de le supprimer : elle ne cite plus les étoiles.
Le lecteur a gagné trois styles en ligne au passage : l'italique, le code en ligne sur une petite pastille grise, utile pour un nom de fichier ou une commande, et le surlignage, sur un marqueur ambre doux, comme un surligneur sur du papier. Il reste volontairement limité à ce que l'assistant produit ; ce n'est pas un lecteur complet, et il n'a pas vocation à le devenir.
« Qu'est-ce que j'ai la semaine prochaine ? »
La journée avait commencé, le matin, par une question de Léa qui avait mal tourné : son planning de la semaine. La réponse avait pris plus de deux minutes. Les journaux montraient pourquoi : pour une question, l'assistant avait lancé huit recherches en parallèle dans la mémoire.
Ce n'était pas un caprice du modèle, c'était un outil mal exposé. Le service qui interroge la mémoire savait depuis longtemps filtrer par fenêtre de dates, et la base avait un index dédié, trié par échéance, qui rend cette requête quasi instantanée. Mais ces deux filtres n'avaient jamais été déclarés dans la description de l'outil que le modèle voit : de son point de vue, ils n'existaient pas. Il lui restait deux mauvais choix, tout récupérer et filtrer lui-même, ou chercher par le sens, ce qui compare la question à cinq cents candidats et ne comprend rien à « la semaine prochaine ». Deuxième défaut : même avec une fenêtre de dates, les résultats revenaient triés par date de dernière mention. L'index les livrait dans l'ordre chronologique ; un tri explicite l'écrasait, et le modèle devait remettre les jours dans l'ordre de tête, au risque de se tromper.
Le matin a déclaré les deux bornes de la fenêtre dans l'outil, avec la consigne de la calculer précisément : « cette semaine », c'est d'aujourd'hui à dimanche minuit ; « ce week-end », de samedi à dimanche ; « ce mois », du premier au dernier jour. Quand une fenêtre est demandée, les résultats reviennent dans l'ordre des dates. Et le serveur écrit désormais un avertissement dans ses journaux dès qu'un même tour déclenche plus de trois recherches, pour repérer une régression avant qu'elle coûte deux minutes à quelqu'un.
Trois minutes plus tard, un second correctif, parce que l'assistant lui-même avait expliqué ce qu'il avait fait : plusieurs requêtes sur la fenêtre de la semaine, une pour les événements, une pour les tâches, une pour chaque sorte de rappel, puis un récapitulatif reconstruit jour par jour. Là encore, c'était structurel. L'outil n'acceptait qu'une catégorie à la fois ; même la demande la plus disciplinée devait tirer quatre requêtes pour être complète. Depuis, la catégorie accepte une liste, et un planning est une seule requête : événements, tâches et rappels, dans l'ordre, d'un coup.
La consigne donnée à l'assistant a été réécrite dans le même sens. La voie préférée pour un planning est l'affichage direct, où le serveur fait la requête lui-même et montre la liste du moment, celle qui, depuis le même jour, laisse une vignette sous la réponse et s'ouvre fiche par fiche. La fenêtre reste stricte : pas de débordement sur les jours voisins, même si l'assistant y sait des choses intéressantes. S'il pense que le contexte manque, il le propose en fin de réponse, « tu veux que je te liste aussi la semaine suivante ? », et n'y va jamais de lui-même.
Ce qui reste ouvert
La constellation de l'accueil ne se touche pas. Pour ouvrir la fiche de Sami depuis un point, il faut encore passer par la page des réglages. C'est un choix pour l'instant, pas une limite technique.
Vingt-quatre images par seconde avec quelques centaines de points, c'est le plafond visé. Une mémoire de plusieurs milliers de souvenirs n'a pas encore été dessinée sur un téléphone modeste. Les amplitudes, les fréquences, les seuils qui placent un point à l'intérieur ou à l'extérieur sont des réglages à l'œil, pas des mesures, et ils seront revus en regardant de vraies mémoires vivre.
L'avertissement sur les recherches multiples est un signal dans les journaux, pas une barrière : il prévient, il n'empêche rien. Et le lecteur de mise en forme restera petit, tant que l'assistant n'écrit que ce qu'il sait lire.
Pour Léa, ce que le 22 mai a changé se voit sans qu'on l'explique. Elle raconte sa journée à quelqu'un qui écoute, qui répond, et qui s'en souvient ; et pendant qu'elle parle, l'écran ne lui montre plus une démonstration. Il lui montre ce qu'elle a confié, en train de prendre forme.
