Vous ouvrez MushMate dans la cour du chenil, sans réseau. Jusqu'ici, « Tâches du jour » disait « Hors ligne », et la messagerie aussi — sans rien à lire. L'application annonçait pourtant que « tout reste sur ce téléphone ». C'était vrai de vos sorties, de vos pesées, de vos notes. Ce ne l'était pas de ce que l'équipe vous a demandé de faire.

Ce que vous voyez

Quand le réseau manque, Tâches du jour, Messages du chenil et la liste des modèles de tâche s'ouvrent sur la dernière lecture réussie de ce téléphone. Un bandeau le dit avec sa date : « Hors ligne · copie du 11 oct. 18:02 », et propose « Réessayer ». Si c'est le serveur qui a répondu par une erreur, le bandeau dit « Lecture impossible · copie du… » : la copie est la même, la cause est écrite honnêtement.

Les tâches du jour sont recalculées pour aujourd'hui à partir de ce que le téléphone a gardé : la corvée de ce matin n'est pas cachée par la coche de la veille. Et une tâche que vous venez de cocher sans réseau, et qui attend d'être envoyée, ne revient pas vous narguer.

Trois gestes nouveaux, partout où l'écran lit le serveur :

Ce que les autres voient, et ce qu'ils ne voient pas

Rien de neuf pour eux : vous ne publiez rien de plus. La copie est à vous : elle est rangée par compte et par chenil sur votre téléphone. Un message adressé à une personne ne se lit que par elle ; sur un téléphone partagé, la copie d'un compte ne répond jamais à un autre. Et si vous supprimez votre compte, ses copies partent avec lui.

Ce que ça ne fait pas

Ce n'est pas un miroir tenu à jour dans votre dos. La copie naît de la première lecture réussie de ce téléphone : juste après une installation, un démarrage sans réseau n'a rien à montrer, et l'écran le dit (« Hors ligne. » et « Réessayer »), sans afficher une liste vide qui ressemblerait à « rien à faire ».

Elle ne sait pas ce qui est arrivé après elle. Un rappel de carnet (un soin de chiot, une mise bas) que le serveur ne vous avait pas encore renvoyé n'y figure pas. C'est la raison de la date.

Elle n'écrit rien sans réseau. Publier, modifier ou épingler un message, créer un modèle de tâche : refusé tout de suite, comme avant. Cocher une tâche part en file, comme avant.

Les cures, les protocoles, l'historique des soins d'un chiot, les jours fermés, le Club et le suivi des sept jours restent en ligne seulement. Ce sont d'autres chantiers, avec leurs lignes de travail ; les protocoles veulent en plus pouvoir s'écrire.

Trois choix que nous avons faits

Une copie de la lecture, pas un miroir de la base. Le réflexe était de descendre ces tables sur le téléphone, comme les chiens. Mais le tableau des tâches mêle des données que le téléphone tient (vaccins, traitements, portées) et d'autres qu'il ne tient pas (les soins des chiots) : un miroir des seules corvées n'aurait pas fait marcher la carte hors ligne. Les messages privés, eux, n'ont pas leur place dans une table de chenil.

On garde ce qui a été lu, pas ce qui a été calculé. « Dû aujourd'hui » dépend de la date ; une liste gardée hier serait fausse aujourd'hui. Le téléphone garde les lignes, et refait le calcul à chaque ouverture.

Le retour du réseau relit ces lectures, il ne lance pas une synchronisation complète. Au chenil, la couverture saute et revient. Chaque retour ne doit pas coûter la descente de tout le chenil sur une batterie qui travaille déjà par -20 °C.