Comment nous avons créé OneLimit : le projet perso d'un développeur et papa
OneLimit Team
Tout projet perso commence par un problème dont on n'arrive pas à se défaire. Pour OneLimit, le problème était le suivant : mes enfants avaient des limites quotidiennes de temps d'écran. Ils les respectaient. Et pourtant, ils passaient bien plus de temps devant les écrans que ce que je souhaitais.
J'ai mis un temps embarrassant à comprendre pourquoi. Ils avaient 90 minutes sur la Switch. Une heure sur la PS5. Une heure et demie sur l'iPhone. Encore une heure sur la Xbox. Et du temps sur le PC Windows également. Cinq limites distinctes, cinq systèmes distincts, tous configurés, tous appliqués, tous fonctionnant exactement comme prévu. Le total dépassait largement mes intentions. C'est moi qui avais tout réglé. J'avais simplement oublié de faire l'addition.
C'est à ce moment-là que OneLimit est né en tant qu'idée. Il a fallu encore une année pour que ça devienne une application.
Cette chose que je cherchais et qui n'existait pas
Mon premier réflexe a été de me dire que quelqu'un avait forcément déjà résolu ce problème. Je suis développeur, je sais chercher. J'ai passé plusieurs soirées à chercher une application capable de définir une seule limite quotidienne de temps d'écran sur plusieurs appareils et plateformes. J'ai trouvé beaucoup d'outils mono-plateforme. J'ai trouvé des applis de surveillance qui fournissaient des rapports mais n'appliquaient rien. J'ai trouvé quelques solutions matérielles surdimensionnées pour notre situation.
Ce que je n'arrivais pas à trouver, c'était quelque chose de simple : un seul chiffre, tous les écrans, appliqué automatiquement. Ça semblait évident comme besoin. Ça n'existait pas.
J'ai donc commencé à me demander si je ne pourrais pas le construire moi-même.
Ce qui rendait la tâche techniquement difficile
La première chose que j'ai dû comprendre, c'est pourquoi personne ne l'avait encore fait. La réponse : chaque plateforme verrouille ses données de contrôle parental derrière ses propres API, avec son propre modèle d'authentification et son propre ensemble de restrictions sur ce que les applications tierces peuvent faire.
Apple ScreenTimeKit est le plus puissant mais aussi le plus restrictif. C'est un framework natif qui donne aux applications de véritables capacités de gestion du temps d'écran au niveau du système. Pour l'utiliser, votre application doit disposer des bonnes autorisations (entitlements), et celles-ci ne sont pas accordées automatiquement : Apple examine l'usage que vous en faites. L'application des règles est bien réelle : elle s'exécute au niveau du système d'exploitation et est sérieusement difficile à contourner.
PlayStation Family Management expose une API via le PlayStation Network qui permet aux applications autorisées de lire les données de temps de jeu et de gérer les comptes familiaux. Sony a conçu cela avant tout pour sa propre application, mais l'API reste accessible. Le défi consiste à bâtir une intégration fiable, basée sur des relevés réguliers, qui maintient les données synchronisées sans surcharger le point d'accès.
Nintendo Switch Online expose de la même manière les données de compte et de contrôle parental via une API qu'utilise l'application officielle de contrôle parental. Comprendre son fonctionnement par rétro-ingénierie (légalement, en observant le trafic de l'application officielle) a été l'un des problèmes les plus intéressants à résoudre.
Microsoft Family Safety fournit une API pour gérer le temps d'écran sur Xbox et PC Windows. De toutes les intégrations de consoles, celle de Microsoft est la plus structurée : c'est une API documentée avec un OAuth en bonne et due forme, et elle couvre à la fois les consoles Xbox et les PC Windows via le même compte.
Aucune de ces API n'a été conçue pour communiquer avec les autres. Elles utilisent des flux d'authentification différents, des formats de données différents, des limites de débit différentes. Construire OneLimit, c'était devenir le pont entre elles : récupérer les données de temps de chacune, maintenir un état de budget unifié, et propager les actions d'application des règles vers chaque plateforme.
Les éléments qui m'ont surpris
Je m'attendais à ce que le travail sur les API soit difficile. Je ne m'attendais pas à ce que l'expérience utilisateur le soit davantage.
L'intégration technique est véritablement complexe, mais une fois qu'elle fonctionne, elle fonctionne. L'interface, c'est-à-dire la façon de communiquer concrètement « il te reste 45 minutes, tous appareils confondus » à un enfant de 9 ans d'une manière qui semble juste et compréhensible, a demandé bien plus d'itérations que je ne l'avais anticipé.
Les premières versions de l'application étaient trop techniques. Trop de chiffres, trop de détails. Mes enfants y jetaient un coup d'œil et haussaient les épaules. La version qui a réellement changé les comportements était beaucoup plus simple : un anneau de budget sur l'appli enfant qui affiche le temps restant sous forme de compte à rebours visuel. Vert : il y a de la marge. Jaune : ça se rapproche. Rouge : c'est presque terminé. C'est tout. Les enfants comprennent ça instantanément.
L'autre surprise a été l'importance du moment où les règles s'appliquent. Que se passe-t-il quand le temps est écoulé ? Et comment l'enfant l'apprend-il avant que ça n'arrive ? Réussir ces transitions (avertir suffisamment tôt pour pouvoir vraiment terminer ce qu'on faisait, verrouiller en douceur, donner une explication claire) a mobilisé une bonne partie du travail de conception.
Des fonctionnalités nées de vraies situations de parents
Ask for More Time (« Demander plus de temps ») est née d'une négociation bien précise : « Je peux avoir plus de temps ? » Plutôt que ce soit une décision improvisée du parent à chaque fois, OneLimit permet aux enfants d'envoyer une demande directement depuis leur appareil. Le parent l'approuve ou la refuse d'un seul geste. Ça retire la dispute de la pièce.
Streaks (« Séries ») est née de l'envie de rendre l'autorégulation gratifiante. Les enfants qui restent dans leur budget quotidien construisent une série. C'est une incitation toute simple, mais elle transforme la limite : d'une chose imposée, elle devient une chose méritée.
Emergency lock (« Verrouillage d'urgence ») est née d'une situation que beaucoup de parents connaissent sans doute : le moment où un enfant pète les plombs après avoir perdu à un jeu, et où chaque minute d'écran supplémentaire aggrave les choses. Pouvoir verrouiller instantanément tous les appareils depuis mon téléphone, sans devoir intervenir physiquement pour confisquer quelque chose, s'est révélé véritablement utile.
Bedtime countdown (« Compte à rebours du coucher ») offre aux enfants une période de transition claire et visible avant que les écrans ne se verrouillent pour la nuit. Pas de coupure brutale : ils voient l'échéance approcher et peuvent terminer naturellement.
Schedules (« Horaires ») est née de la réalité « jour d'école contre week-end ». La bonne limite un mardi n'est pas la même qu'un samedi. OneLimit permet de définir des budgets différents selon les jours, pour que les week-ends aient un peu plus d'air sans que cela devienne la norme.
Ce que nous avons raté (et corrigé)
La première version essayait d'en faire trop. Analyses d'utilisation des appareils, détails par application, rapports de tendances dans le temps. Toutes ces données sont intéressantes, mais ce n'est pas ce dont la plupart des parents ont réellement besoin sur le moment. Ce dont un parent a besoin, c'est : combien de temps reste-t-il, et est-ce que ça va poser problème ce soir ? Tout le reste, c'est du bruit.
Nous avons beaucoup élagué. L'application actuelle est plus simple que les premières versions. C'était le bon choix.
Au départ, nous avions aussi rendu trop compliqué l'octroi ponctuel de temps supplémentaire. Le système était rigide d'une manière qui semblait punitive, pour l'enfant comme pour nous. La vraie vie n'est pas rigide. Certains jours méritent plus de souplesse. Intégrer des exceptions faciles, valables une journée (sans démanteler la structure globale), était important.
Où en est OneLimit aujourd'hui
OneLimit est une vraie application disponible sur l'App Store. Elle prend en charge iPhone, PS5, Nintendo Switch, Xbox et PC Windows. Il existe une formule gratuite qui couvre un enfant et un appareil, de quoi l'essayer et voir si l'idée de base fonctionne pour votre famille. La formule Pro lève les limites ; le tarif actuel est indiqué dans l'App Store.
C'est encore une petite affaire. Nous sommes une toute petite équipe en train de construire quelque chose dont nous avions personnellement besoin, pour un problème que partagent, selon nous, beaucoup de familles. Notre slogan, « Un budget. Tous les écrans. », c'est vraiment ce que nous nous étions fixé de construire, et c'est ce que fait l'application.
Si vous êtes parent, que vous jonglez avec plusieurs appareils et que vous ressentez la friction des limites appareil par appareil, nous serions ravis que vous l'essayiez. Et si vous avez des retours (des choses qui ne fonctionnent pas, des fonctionnalités qui vous seraient utiles, des points sur lesquels nous nous sommes trompés), sachez qu'on les lit vraiment et qu'ils façonnent vraiment ce que nous construisons ensuite.
Ça, au moins, ce n'est pas si mal d'être une petite équipe.
OneLimit est disponible sur iOS et prend en charge iPhone, PS5, Nintendo Switch, Xbox et PC Windows. Commencez sur onelimit.app.