Come abbiamo creato OneLimit: il progetto secondario di uno sviluppatore-papà

OneLimit Team

Ogni progetto secondario nasce da un problema che non riesci a toglierti dalla testa. Per OneLimit, il problema era questo: i miei figli avevano dei limiti giornalieri di tempo davanti allo schermo. Li rispettavano. Eppure passavano molto più tempo sugli schermi di quanto volessi.

Mi ci è voluto un tempo imbarazzante per capire perché. Avevano 90 minuti sullo Switch. Un'ora sulla PS5. Un'ora e mezza sull'iPhone. Un'altra ora sull'Xbox. E del tempo anche sul Windows PC. Cinque limiti separati, cinque sistemi separati - tutti configurati, tutti applicati, tutti funzionanti esattamente come previsto. Il totale era molto più alto di quanto avessi intenzione. Lo avevo impostato io. Semplicemente non avevo fatto la somma.

Quello è stato il momento in cui OneLimit è nato come idea. Ci è voluto un altro anno perché diventasse un'app.

La cosa che continuavo a cercare e che non esisteva

Il mio primo istinto è stato che qualcuno doveva averlo già risolto. Sono uno sviluppatore - so come cercare. Ho passato qualche serata a cercare un'app che mi permettesse di impostare un unico limite giornaliero di tempo davanti allo schermo valido su più dispositivi e piattaforme. Ho trovato un sacco di strumenti per una sola piattaforma. Ho trovato app di monitoraggio che ti davano report ma non applicavano nulla. Ho trovato alcune soluzioni hardware che erano eccessive per la nostra situazione.

Quello che non riuscivo a trovare era qualcosa di semplice: un solo numero, tutti gli schermi, applicato automaticamente. Sembrava una cosa ovvia da desiderare. Non esisteva.

Così ho iniziato a chiedermi se potevo costruirla io.

Cosa ha reso tutto questo tecnicamente difficile

La prima cosa che ho dovuto capire era perché nessuno l'avesse ancora costruita. La risposta: ogni piattaforma chiude i dati del proprio controllo parentale dietro le proprie API, con il proprio modello di autenticazione e il proprio insieme di restrizioni su cosa possono fare le app di terze parti.

Apple ScreenTimeKit è il più potente ma anche il più restrittivo. È un framework proprietario che dà alle app capacità legittime di gestione del tempo davanti allo schermo a livello di sistema operativo. Per usarlo, la tua app deve essere configurata con le entitlement giuste, e queste entitlement non vengono concesse automaticamente - Apple verifica cosa ci stai facendo. L'applicazione è reale: gira a livello di sistema operativo ed è davvero difficile da aggirare.

PlayStation Family Management espone un'API attraverso il PlayStation Network che consente alle app autorizzate di leggere i dati sul tempo di gioco e di gestire gli account familiari. Sony l'ha costruita principalmente per la propria app, ma l'API è accessibile. La sfida è realizzare un'integrazione affidabile, basata su polling, che tenga i dati sincronizzati senza martellare l'endpoint.

Nintendo Switch Online espone in modo simile i dati dell'account e del controllo parentale attraverso un'API utilizzata dall'app ufficiale Nintendo Switch Parental Controls. Capire come funziona attraverso il reverse engineering (legalmente, osservando il traffico dell'app ufficiale) è stato uno dei problemi più interessanti da risolvere.

Microsoft Family Safety fornisce un'API per gestire il tempo davanti allo schermo su Xbox e Windows PC. Di tutte le integrazioni con le console, quella di Microsoft è la più strutturata - è un'API documentata con un OAuth corretto, e copre sia le console Xbox sia i Windows PC tramite lo stesso account.

Nessuna di queste API è stata progettata per dialogare con le altre. Usano flussi di autenticazione diversi, formati di dati diversi, limiti di frequenza diversi. Costruire OneLimit ha significato fare da ponte tra di esse - estrarre i dati sul tempo da ciascuna, mantenere uno stato unificato del budget e propagare le azioni di applicazione verso ogni piattaforma.

Le parti che mi hanno sorpreso

Mi aspettavo che il lavoro sulle API fosse difficile. Non mi aspettavo che la UX fosse più difficile.

L'integrazione tecnica è davvero complessa, ma una volta che funziona, funziona. L'interfaccia - come comunichi davvero "ti restano 45 minuti, su tutti i tuoi dispositivi" a un bambino di 9 anni in un modo che risulti equo e comprensibile - ha richiesto molte più iterazioni di quanto avessi previsto.

Le prime versioni dell'app erano troppo tecniche. Troppi numeri, troppi dettagli. I miei figli la guardavano e alzavano le spalle. La versione che ha effettivamente cambiato i comportamenti era molto più semplice: un anello del budget sull'app per i bambini che mostra il tempo rimanente come un conto alla rovescia visivo. Verde significa che ce n'è tanto. Giallo significa che si avvicina. Rosso significa che è quasi finito. Tutto qui. I bambini lo capiscono all'istante.

L'altra sorpresa è stata quanto contasse il momento dell'applicazione. Quando il tempo finisce, cosa succede? E come fa il bambino a saperlo prima che finisca? Azzeccare quelle transizioni - avvisare con abbastanza tempo per chiudere davvero, bloccare in modo delicato, dare una spiegazione chiara - è lì che è andata gran parte del lavoro di design.

Funzionalità nate da situazioni reali di genitorialità

Chiedi più tempo è nata da una trattativa precisa: "Posso avere più tempo?". Invece di essere una decisione estemporanea del genitore ogni volta, OneLimit consente ai bambini di inviare una richiesta direttamente dal loro dispositivo. Il genitore approva o nega con un solo tocco. Toglie il litigio dalla stanza.

Le serie (streak) sono nate dalla voglia di rendere gratificante l'autoregolazione. I bambini che restano nel loro budget giornaliero costruiscono una serie. È un incentivo semplice, ma trasforma il limite da qualcosa di imposto a qualcosa di guadagnato.

Il blocco di emergenza è nato da una situazione che sospetto molti genitori conoscano: il momento in cui un bambino sta perdendo le staffe per aver perso a un gioco e ogni minuto in più davanti allo schermo peggiora le cose. Poter bloccare istantaneamente tutti i dispositivi dal mio telefono - senza dover intervenire fisicamente e togliere qualcosa - si è rivelato davvero utile.

Il conto alla rovescia per l'ora di andare a letto dà ai bambini un periodo di transizione chiaro e visibile prima che gli schermi si blocchino per la notte. Niente interruzioni improvvise - vedono avvicinarsi l'orario e possono concludere in modo naturale.

Le pianificazioni sono nate dalla realtà del giorno di scuola contro il fine settimana. Il limite giusto di martedì è diverso da quello giusto di sabato. OneLimit ti permette di impostare budget diversi per giorni diversi, così i weekend possono avere più respiro senza che ciò diventi la norma.

Cosa abbiamo sbagliato (e corretto)

La prima versione cercava di fare troppe cose. Analisi sull'uso dei dispositivi, suddivisioni dettagliate per app, report sulle tendenze nel tempo. Tutti dati interessanti, ma non è ciò di cui la maggior parte dei genitori ha davvero bisogno sul momento. Quello che serve ai genitori è: quanto tempo è rimasto, e stasera sarà un problema? Tutto il resto è rumore.

Abbiamo tagliato molto di tutto questo. L'app attuale è più semplice delle prime versioni. È stata la scelta giusta.

All'inizio avevamo anche reso troppo difficile concedere occasionalmente del tempo extra. Il sistema era rigido in un modo che risultava punitivo - per il bambino e per noi. La vita reale non è rigida. Alcuni giorni meritano più flessibilità. Integrare eccezioni facili e valide per un giorno (senza smontare la struttura complessiva) è stato importante.

A che punto è OneLimit oggi

OneLimit è un'app vera nell'App Store. Supporta iPhone, PS5, Nintendo Switch, Xbox e Windows PC. C'è un piano gratuito che copre un bambino e un dispositivo - abbastanza per provarla e capire se l'idea di base funziona per la tua famiglia. Il piano Pro rimuove i limiti; il prezzo attuale è indicato nell'App Store.

È ancora una piccola realtà. Siamo un team minuscolo che costruisce qualcosa di cui avevamo bisogno noi stessi, per un problema che pensiamo accomuni molte famiglie. Lo slogan - "Un budget. Tutti gli schermi." - è davvero ciò che ci eravamo proposti di costruire, ed è ciò che l'app fa.

Se sei un genitore alle prese con più dispositivi e senti l'attrito dei limiti per singolo dispositivo, ci farebbe piacere se la provassi. E se hai un feedback - cose che non funzionano, funzionalità che troveresti utili, modi in cui abbiamo sbagliato qualcosa - lo leggiamo davvero e influenza davvero ciò che costruiremo dopo.

Quella parte dell'essere un piccolo team non è poi così male.


OneLimit è disponibile su iOS con supporto per iPhone, PS5, Nintendo Switch, Xbox e Windows PC. Inizia su onelimit.app.