Reflectly utilizza l'intelligenza artificiale per aiutare gli utenti a strutturare e riflettere sui loro pensieri e problemi quotidiani. Invece di adottare un approccio unico e universale per la creazione di diari, Reflectly offre un'esperienza di diario personalizzata per ogni utente, incoraggiandolo a tornare spesso e a rendere la salute mentale una parte integrante della propria routine quotidiana.
Quando Reflectly è stato lanciato per la prima volta su iOS, è stato riscontrato un notevole interesse per una versione Android dell'app. Il piccolo team ha dovuto affrontare molte difficoltà nel supportare due piattaforme e nel fornire un'esperienza veloce, coerente e piacevole alla propria base utenti in crescita. Dato che Reflectly è orgoglioso del suo bellissimo design e dell'esperienza utente, era chiaro che il team aveva bisogno di trovare una nuova soluzione.
Che cosa hanno fatto
Nonostante problemi significativi, l'app Reflectly per iOS stava creando rapidamente una base utenti. Reflectly ha trascorso sei mesi a cercare di correggere l'implementazione esistente prima di decidere di abbandonare l'intero codebase e iniziare da zero.
Inizialmente, la soluzione più sicura sembrava essere quella di creare due nuove app native, ma con solo due ingegneri l'approccio non avrebbe funzionato. "Non potevamo permetterci di creare un'app per Android separata, quindi abbiamo seriamente preso in considerazione l'idea di arrestarla o abbandonarla per concentrarci sull'app per iOS", ha spiegato Daniel Vestergaard, cofondatore e CTO.
È stato allora che il team ha scoperto Flutter. "Dopo aver sperimentato con Flutter per un po' di tempo, il team si è innamorato della coerenza su più piattaforme, della ricarica a caldo stateful quasi istantaneo, degli strumenti di ottima qualità e delle prestazioni elevate della piattaforma", ha dichiarato il CTO e cofondatore Daniel Vestergaard. Il team ha apprezzato anche il "codice facile, leggibile e ben documentato" di Flutter.
A quel punto, hanno deciso di iniziare. Appena 2,5 mesi dopo che i due ingegneri di Reflectly hanno scritto la loro prima riga di codice Flutter, Reflectly 2.0 ha iniziato a essere implementato contemporaneamente per Android e iOS. In questo lasso di tempo, non solo sono stati in grado di riscrivere completamente l'app, ma sono stati anche in grado di sviluppare diverse nuove importanti funzionalità, come l'intera implementazione dell'abbonamento premium e una soluzione di gestione dello stato personalizzata.
Risultati e insegnamenti
Reflectly 2.0 ha ricevuto molti feedback positivi dagli utenti di una moltitudine di dispositivi Android e iOS diversi, molti dei quali hanno apprezzato il nuovo aspetto e design dell'app. Dopo aver rilasciato nuovamente l'app con Flutter, l'app Android Reflectly è passato da una valutazione media di 3,2 stelle sul Play Store a una media di 4,3. Inoltre, l'app è stata inclusa nell'elenco "New Apps We Love" di Apple. Il team ritiene che la valutazione bassa originale sia dovuta in gran parte ad arresti anomali, interruzioni e incongruenze estetiche, che sono stati in grado di risolvere con Flutter. "In sintesi, attribuiamo in gran parte a Flutter la valutazione media migliorata e centinaia di migliaia, forse milioni, di download Android dopo [la release di Flutter] perché ci ha consentito di mantenere l'app, stabilizzarla e avere le stesse funzionalità di iOS", afferma Vestergaard.
Poiché Flutter dipinge direttamente ogni singolo pixel, il team non si è dovuto preoccupare delle differenze di rendering tra le piattaforme. Ora possono mantenere un codebase comune, ma continuare a scrivere UI specifiche per iOS e Android ove appropriato. Ora che è in grado di dedicare tutto il suo team di sviluppo a un'unica esperienza di alta qualità, Reflectly ha riscontrato un calo del 50% dei tempi di sviluppo, che ha permesso di passare dalle release bisettimanali a quelle settimanali e di lanciare nuove funzionalità su entrambe le piattaforme contemporaneamente.
Informazioni su Flutter
Chiunque può creare, testare ed eseguire il deployment di fantastiche app per qualsiasi schermo da un unico codebase con Flutter. Inizia subito.