Monzo ha ridotto di oltre 9000 righe di codice e migliorato l'abbandono delle registrazioni di 5 volte con CameraX

Monzo è un'app e un servizio bancario che offre servizi finanziari digitali e solo per dispositivi mobili. La sua missione è far sì che il denaro funzioni per tutti. Per iscrivere nuovi clienti, l'app Monzo acquisisce le immagini di un documento di identità (ad esempio passaporto, patente di guida o carta d'identità) e scatta un video selfie per dimostrare che i documenti d'identità sono per il richiedente.

Cosa hanno fatto

Le prime versioni dell'app Monzo utilizzavano l'API camera2. Arresti anomali casuali e comportamenti strani su alcuni dispositivi hanno portato il 25% dei potenziali clienti a non proseguire oltre i passaggi di acquisizione dell'identificazione e video in modalità selfie.

Per affrontare queste sfide, Monzo si è affidata a CameraX, una libreria di supporto per Jetpack progettata per semplificare lo sviluppo di app per fotocamera, in modo da implementare i requisiti relativi all'acquisizione di immagini e video. Utilizzando CameraController, Monzo ha implementato l'acquisizione dell'immagine del documento di identificazione utilizzando il metodo takePicture(). Per il video selfie, sono stati utilizzati i metodi startRecording() e stopRecording(). L'azienda voleva apportare modifiche al design del flusso di iscrizione e voleva una raccolta di fotocamere più semplice che offrisse una maggiore flessibilità del design.

Risultati

L'introduzione di CameraX ha permesso a Monzo di semplificare il codice, rendendolo più sostenibile, e ha contribuito a semplificare lo sviluppo. Il passaggio a CameraX ha comportato una notevole riduzione degli arresti anomali e non si sono più registrati attivazioni casuali del flash della fotocamera. Tutto questo ha contribuito a una riduzione del tasso di abbandono nel flusso di registrazione e ha migliorato il feedback degli utenti.

La semplificazione del codice risultante dall'implementazione di CameraX ha ridotto di quasi 9000 righe di codice, incluse 6000 righe di codice dell'interfaccia utente. Oltre a semplificare la manutenzione del codice e a semplificare lo sviluppo, CameraX ha anche portato a una migliore copertura del codice nei test delle unità.

È importante sottolineare che l'impatto sul flusso di registrazione è stato significativo. Con l'introduzione di CameraX e la modifica del design del flusso semplificato, il tasso di abbandono dell'acquisizione di immagini di identificazione e della registrazione di video selfie è sceso dal 25% a circa il 5%.

"Per noi CameraX si è concentrata sulla stabilità e su un'esperienza di integrazione semplice per i nostri sviluppatori. Era la raccolta perfetta per noi: volevamo solo un modo semplice per scattare foto e registrare video. Con CameraX, il codice è più semplice e l'esperienza utente è migliore." Anastasios Morfopoulos, sviluppatore Android, Monzo

Inizia

Consulta la documentazione di CameraX per scoprire come introdurre un codice di acquisizione delle immagini più solido e semplice nella tua app o nel tuo gioco.