In questo articolo si discuterà dello sviluppo di mobile app in ambito bancario prendendo in esame un prodotto reale, effettivamente progettato e sviluppato. L’idea è quella di rivivere la storia che ha portato al concepimento di questo progetto, partendo dalle motivazioni e dai bisogni iniziali per arrivare fino alle strategie e alle scelte intraprese, riportando anche le problematiche che spesso si incontrano nella realizzazione di un app e le differenze con il mondo web.
Introduzione
Nel marzo 2013 Phoenix Informatica Bancaria S.p.A. [1] ha rilasciato sullo store ufficiale di Apple la nuova app gratuita di InBank dedicata a tutti i clienti delle Casse Rurali Trentine e delle Banche di Credito Cooperativo associate che desiderano gestire il proprio internet banking direttamente in mobilità.
InBank App nasce con l’intento di fornire una vera alternativa nel panorama delle applicazioni mobile bancarie che si differenzi dalla classica impronta web che troppo spesso le caratterizza. L’idea alla base di questo progetto è di generare un valore aggiunto per il cliente, ottimizzando al massimo l’operatività attraverso l’esperienza utente delle mobile app e sfruttandone gli elementi distintivi.
Il nuovo prodotto va quindi a affiancarsi e a integrarsi con gli altri prodotti di banca virtuale offerti da Phoenix, in particolare con le applicazioni web InBank Web [2] e InBank Mobile [3].
Le ragioni per una app enterprise
InBank App deriva prima di tutto da un’attenta analisi di mercato dei clienti finali di Phoenix che si sono dimostrati sempre più attratti dai servizi mobile. In particolare l’analisi del prodotto mobile web della società ha fornito indicazioni importanti sulle strategie da adottare in vista dello sviluppo di una app enterprise dedicata a specifici sistemi operativi.
In linea con le tendenze del mercato generale, infatti, il numero degli utenti del canale web mobile sta dimostrando una crescita esponenziale: di fatto, solo nell’ultimo anno, il numero di accessi effettuati è decuplicato. Anche le tipologie di device sono mutate, più performanti e complete rispetto al passato, tanto è vero che tale settore è dominato dagli smartphone e dai tablet ossia da dispositivi che possono effettuare differenti azioni oltre alla classica navigazione web.
I sistemi operativi mobile e la loro diffusione
Volendo analizzare i differenti sistemi operativi, in base alle statistiche condotte sull’applicazione mobile web, Apple iOS è al primo posto, costituendo circa il 50% degli accessi, ma Android è in continua crescita con circa il 35%. Insieme iOS e Android costituiscono quindi l’85% degli accessi totali. Il restante 15% è suddiviso nei sistemi operativi degli altri vendor come RIM, Microsoft e Nokia.
L’elevata quota di mercato dei sistemi operativi di Apple e Google è sottolineata anche da alcune ricerche condotte sul mercato mondiale: in particolare l’istituto di ricerca IDC [4] lo scorso 14 febbraio ha pubblicato la lista di sistemi operativi mobile più diffusi in circolazione affermando che iOS e Android hanno raggiunto insieme l’88% del mercato (rispettivamente il 19% e il 69%, i ruoli sono quindi invertiti rispetto a quanto riscontrato in InBank Mobile). In Italia Symbian gode ancora di una ingente quota, circa il 30% secondo i dati Nielsen [5], ma ha subito un netto ridimensionamento negli ultimi due anni e la sua diffusione è in costante calo, visto che nel 2010 deteneva circa il 79% del totale. Android è il leader, raggiungendo circa il 36% mentre iOS è stabile sull’8-10%.
A fronte di queste indagini, Phoenix ha optato per la distribuzione dell’app sui SO di Apple e Google, mantenendo comunque a diposizione il proprio canale mobile web per tutti gli altri player per cui non è stata sviluppata l’app dedicata. La scelta di non pubblicare l’app per determinati sistemi operativi è legata anche alle tecnologie utilizzate in fase di sviluppo, come si vedrà in seguito, e potrebbe essere riconsiderata in seguito a variazioni importanti del mercato.
Tipologia d’uso
Il dato più importante ci viene però dato dall’uso che viene fatto di InBank su dispositivi mobile: ad ogni accesso effettuato, corrisponde almeno una richiesta del proprio estratto conto (lista dei movimenti e dei saldi del proprio conto bancario). Meno utilizzate risultano invece le funzioni per l’invio di disposizioni bancarie come i bonifici o le ricariche telefoniche.
La risorsa primaria che l’utente mobile richiede e di cui necessita sono quindi le informazioni relative ai propri conti. Ed è proprio su quest’ultimo aspetto che è stata incentrata la mission di InBank App: dare al cliente uno strumento che fornisca un accesso semplice e immediato alle proprie informazioni bancarie e che consenta all’occorrenza di inviare disposizioni alla banca.
Definizione di una strategia incentrata su UX e interazioni cross-canale
Sulla base di questi dati Phoenix ha definito delle strategie di business volte a soddisfare i bisogni e le esigenze dei propri clienti, tra cui:
- centralizzazione: fornire all’utente un unico punto dove avere a portata di mano tutte le informazioni di cui necessita;
- immediatezza: garantire l’accesso rapido a queste informazioni;
- personalizzazione: permettere all’utente di scegliere quali informazioni ricevere e come visualizzarle;
- controllo: l’utente deve sentirsi sicuro nell’utilizzare l’app;
- interattività: l’applicazione deve essere interattiva e performante nonche‘ semplice da utilizzare.
Una UX differente
Accedendo all’app ci si accorge subito di come la navigazione tipica dell’internet banking sia stata stravolta a favore dell’esperienza utente specifica di quest’ambito. La schermata principale dell’applicazione si discosta profondamente dalla classica home page web contenente l’elenco delle funzionalità messe a disposizione e che si è largamente diffusa anche sulle mobile app bancarie. InBank App cerca di differenziarsi proponendo come schermata principale la posizione globale dell’utente, ossia la visione d’insieme dei conti correnti, dei conti deposito e delle carte prepagate ad essi associati. L’utente ha quindi a disposizione uno strumento che, in maniera chiara e dettagliata, mette in evidenza la sua situazione economica in quanto dispone di un accesso online ai saldi e ai movimenti dei propri conti e e delle proprie carte, di grafici e di tabelle di sintesi.
Inoltre il cliente usufruisce di una user experience specifica volta a semplificarne la vita riducendone lo sforzo necessario per ottenere i risultati cercati, e che si avvale delle funzionalità intrinseche dei dispositivi mobile; la navigazione e l’interazione risultano quindi profondamente diverse dalla corrispondente applicazione web. Ne sono un esempio il menù di navigazione laterale a slide (in stile Facebook) o i widget dinamici utilizzati per identificare i conti o le carte prepagate e per contenere elementi di riepilogo quali grafici sull’andamento dei saldi o totalizzatori giornalieri/mensili. Anche le gesture e l’interfaccia multi-touch contribuiscono ad agevolare la consultazione delle informazioni e, più in generale, l’esecuzione delle operazioni, in quanto viene comunque data la possibilità di inviare le disposizioni base, come ad esempio i bonifici.
Figura 1 – Alcune schermate di InBank App. Da sinistra verso destra: la Posizione Globale; la lista dei movimenti con il grafico dei saldi; il menù a slide.
Notifiche push
Rimanendo in tema di funzionalità specifiche delle app, uno degli aspetti d’innovazione rispetto al canale web riguarda la possibilità per gli utenti di ricevere delle notifiche push sui movimenti effettuati e sulle variazioni dei saldi dei propri conti correnti e conti deposito. Con notifiche push si intende che tali notifiche sono inviate direttamente dal server al client nel momento in cui si generano. Il client non si deve quindi preoccupare di interrogare continuamente il server per verificarne la presenza (“polling”). In questo modo si riduce il traffico dati in rete e si risparmia sul consumo della batteria del cellulare.
L’utente può inoltre personalizzare a piacere le regole di definizione di tali avvisi che verranno elaborati in real-time dalla banca e inviati direttamente sui dispositivi dell’utente. Si tratta, peraltro, di un sistema real-time vero e proprio in quanto le notifiche vengono generate nell’istante successivo in cui vengono registrati i movimenti bancari dell’utente. Ciò è stato possibile integrando nell’infrastruttura del sistema informativo delle banche dei moduli di controllo dedicati.
Un esempio
Supponiamo ad esempio che l’utente voglia ricevere una notifica ogni qualvolta il proprio conto è in rosso. L’utente non deve far altro che creare un nuovo avviso, selezionando il conto e specificando la regola associata (in questo caso il saldo negativo). A questo punto quando sul sistema informativo della Banca verrà ricevuto un movimento che soddisfa tale criterio, verrà automaticamente inviata una notifica all’app. Interessante è la possibilità per l’utente di personalizzare il testo della notifica in modo tale da capire subito il target dell’avviso nel momento in cui viene ricevuto. In ogni caso può visualizzare i dati dettaglio tra cui anche quelli del movimento che ha generato l’alert. Inoltre la stessa notifica può essere ricevuta contemporaneamente in broadcast su tutti i dispositivi dell’utente, sul proprio smartphone piuttosto che sul proprio tablet; la logica d’interazione è quindi cross-canale e permette all’utente di non doversi legare a un determinato dispositivo e di evitare la replicazione delle impostazioni.
Figura 2 – Nelle due schermate, l’impostazione e la ricezione delle notifiche push.
Sicurezza e Internet banking
L’aspetto della sicurezza nell’internet banking è, ovviamente, di primaria importanza, e investe diversi settori che vanno analizzati, valutati e integrati in maniera sensata.
Sicurezza e UX
La tempestività e la semplicità d’uso sono un altro aspetto a cui è stato dedicato particolare interesse introducendo come nuovo strumento di accesso l’utilizzo di un PIN numerico di cinque cifre che sostituisce (a discrezione dell’utente) il classico pattern username, password ed eventuale strumento di sicurezza. Così facendo l’utente può gestire istantaneamente i propri conti ed eseguire le operazioni necessarie.
Ciò è stato pensato anche in base all’impiego che si fa dello smartphone, strumento che ci accompagna in ogni istante e luogo della nostra vita: sull’autobus, per strada, in ufficio o al bar. Rispetto al mondo desktop quindi si ha la possibilità di verificare le proprie informazioni più volte nell’arco dell’intera giornata e non c’è nulla di più semplice che farlo con un gesto relativamente semplice come può essere l’inserimento di un PIN.
Si è invece deciso di mantenere la richiesta dello strumento di sicurezza nella conferma dei pagamenti in modo da garantirne la massima affidabilità. Lo strumento di sicurezza è lo stesso utilizzato per i canali web e permette di fatto di aggiungere un secondo layer di identificazione basato sul possesso di un oggetto fisico, come ad esempio il token OTP, (OTP sta per “One Time Password” ossia una password che è valida solo per una singola transazione). In generale tutte le scelte tecniche applicate hanno coinvolto la divisione aziendale preposta alla sicurezza con cui si è cercato il connubio migliore tra usabilità dell’applicazione e tutela del cliente.
Se il dispositivo va perso o rubato
Il bisogno di avere una garanzia concreta che le transazioni bancarie siano sicure, persino quando venga smarrito il proprio dispositivo mobile, viene sottolineato anche da diversi studi tra cui quello condotto da IAB, InMobi e Viggle [6] che mostra come buona parte dei possessori di dispositivi mobile li usi effettivamente per gestire i propri servizi bancari e finanziari.
A tal proposito, e come esempio d’integrazione tra canali, in InBank Web è stata rilasciata una nuova funzione che funge da pannello di controllo per gestire le app di InBank installate su tutti i dispositivi di un utente e per aumentarne la sicurezza. Se ad esempio si smarrisce il cellulare, oppure questo viene sottratto da un malintenzionato, l’utente può in qualsiasi momento bloccare l’operatività dell’app direttamente da qualsiasi browser web. Sempre dallo stesso pannello è possibile sbloccare un’app precedentemente bloccata, disattivarla oppure modificarne le impostazioni principali.
Scelte più rigide
È interessante far notare come l’analisi di un’app di internet banking preveda una maggior rigidità nelle scelte che devono essere intraprese. Questo emerge nei diversi ambiti che riportiamo di seguito.
Sicurezza
Ci sono alcuni aspetti legati alla sicurezza che devono essere messi in primo piano e che Phoenix Informatica Bancaria deve garantire su più livelli in quanto service provider. Da questo deriva una certa difficoltà nell’applicare appieno le funzionalità avanzate che il mondo delle app mette a disposizione. Ad esempio, ci possono essere dei problemi nell’uso del riconoscimento vocale o della realtà aumentata, cioè l’anteposizione di strati informativi al contesto reale utilizzando ad esempio immagini, video o informazioni geolocalizzate. Ci si può discostare poco dalla classica ricerca dei bancomat utilizzando le funzioni di geolocalizzazione oppure dal mobile payment che esula peraltro dal contesto associato a InBank.
Evoluzione del contesto mobile
Occorre valutare con attenzione gli aspetti legati al particolare scenario in cui si opera vale a dire quello delle applicazioni mobileil quale è estremamente dinamico ed evolutivo, e in cui ogni scelta va calibrata con cura in quanto potrebbe potenzialmente rivelarsi azzardata in un secondo momento.
La realizzazione dell’app in tecnologia nativa, utilizzando quindi il linguaggio nativo del sistema operativo, o in tecnologia ibrida, ossia riutilizzando i contenuti del mondo web come HTML5 e Javascript, è un dilemma che affligge chiunque si accinga a sviluppare per il mobile, e andrebbe preso in considerazione solo al termine di un’attenta fase di analisi nella quale vengono identificati gli obiettivi e le strategie di business. Phoenix Informatica Bancaria ha scelto di sviluppare l’app di InBank in tecnologia nativa con l’intento di rendere l’applicazione il più performante possibile e di non legarsi a vincoli e limiti tecnici, essendo cosciente che un’app poco performante non verrebbe utilizzata dai propri clienti. Ciò è stato pensato anche alla luce di diversi test condotti sia su app native che ibride, dove il gap in termini d’interattività e prestazioni si è fatto valere a favore del primo, e tenendo in considerazione dei casi noti di ai dietrofront intrapresi da importati società come Facebook. Un interessante spunto al riguardo ci viene fornito da Xero [8], una società che fornisce software per la gestione di conti on-line, che inizialmente ha realizzato la propria app in forma ibrida (HTML5 e JavaScript) ma successivamente ha scelto di cambiare rotta e di puntare sul nativo sostenendo che la complessità nel raggiungere lo stesso livello di performance di un app nativa produceva costi e tempi maggiori.
Integrazione
Vanno infine presi in considerazione gli aspetti legati all’integrazione, ossia alla parte di comunicazione tra il client (in questo caso l’app) e l’applicazione server che espone la business logic e lo strato di integration: la scelta su come esporre i propri servizi web può incidere sull’efficienza dell’intero sistema. In tal senso bisogna tenere in considerazione vari aspetti come la banda occupata, il fatto che gli utenti mobile tipicamente non dispongono di una connessione flat per cui limitare la banda può salvaguardare i costi finali, i tempi di esecuzione delle richieste/risposte, il supporto a determinate tecnologie e la flessibilità nei cambiamenti.
Conclusioni
Nel realizzare InBank, abbiamo cercato di calare l’app sulle reali esigenze dei clienti. L’applicazione è stata realizzata in meno di un anno e ha avuto un lancio decisamente positivo considerando che solo nelle prime settimane sono stati registrati più di 10000 download e la tendenza continua in maniera costante. Due importanti novità verranno presentate a breve: l’aggiunta del servizio per le ricariche telefoniche e il rilascio della versione Android dell’app direttamente su Google Play Store, sempre in versione gratuita. Successivamente è prevista la pubblicazione delle app per tablet sia iOS che Android.
Personalmente aver avuto la possibilità di seguire l’intero ciclo di vita di una mobile app di questo livello è stato estremamente interessante da un punto di vista professionale, sia perche‘ ho potuto acquisire nuove competenze su tecnologie ancora poco conosciute, sia perche‘ ho dovuto svolgere una analisi approfondita delle differenze tra mondo web e mondo app: rispetto al browser desktop, nel mobile, il client (app) non è più un semplice mezzo di interscambio dati ma partecipa attivamente nella definizione dei processi e delle logiche di flusso, andando talvolta a stravolgerli.
Riferimenti
[1] Il sito dell’azienda che ha realizzato il progetto
[2] Versione web
[3] Versione mobile
[4] Dati mondiali sulla adozione dei diversi sistemi operativi mobile
http://www.idc.com/getdoc.jsp?containerId=prUS23946013
[5] Dati sui diversi Mobile OS, riferiti all’Italia
[6] Diffusione dell’uso dei dispositivi mobili per gestire i propri servizi finanziari
[7] La lista dei principali rischi inerenti la sicurezza per le app mobile, redatta da OWASP (Open Web Application Security Project)
https://www.owasp.org/index.php/OWASP_Mobile_Security_Project#Top_Ten_Mobile_Risks
[8] App native vs app HTML5/JavaScript nelle considerazioni di Xero
http://blog.xero.com/2013/03/making-mobile-work/