Questo sito utilizza cookie per raccogliere informazioni sull'utilizzo. Cliccando su questo banner o navigando il sito, acconsenti all'uso dei cookie. Leggi la nostra cookie policy.OK

Applicazioni mobili: alla testa di una rivoluzione

pittogramma Zerouno

Applicazioni mobili: alla testa di una rivoluzione

07 Giu 2013

di Riccardo Cervelli

Le mobile app hanno un impatto sempre maggiore sul business delle aziende. L’obiettivo è sfruttare a fondo le informazioni di contesto e le caratteristiche tecnologiche di ciascuna piattaforma, fornendo però un’esperienza utente coerente e di ottima qualità.

Il passaggio dall’era incentrata sui Pc a quella che comprende i client mobili si sta rivelando rivoluzionario quanto la migrazione dal modello mainframe-based al client-server. Ad affermarlo è la società di analisi Forrester in uno studio intitolato The Future of Mobile Application Development. Quali caratteristiche devono avere le moderne applicazioni e infrastrutture applicative in grado di fare leva sulla pletora di diversi client mobili, generando la migliore customer experience e un impatto positivo sulla bottom line delle aziende? Come cambiano gli approcci allo sviluppo applicativo, l’organizzazione dei relativi processi, l’approvvigionamento di tool, applicazioni e infrastrutture da parte degli sviluppatori, il testing applicativo e il rapporto fra gli esperti di sviluppo e i responsabili delle infrastrutture e delle operazioni?

Verso un modello “omnichannel”

Al momento, le mobile app rappresentano l’avanguardia di questa new wave. Nel modo in cui vengono oggi sviluppate è possibile distinguere un’evoluzione attraverso tre fasi. Nella prima le aziende tendevano a creare applicazioni destinate a un singolo dispositivo. Nella seconda si è cominciato a creare applicazioni dedicate ai device mobili per offrire un’esperienza multi-channel. Nella terza si è introdotto il concetto di omnichannel. Un approccio che prevede la possibilità di sviluppare applicazioni in grado di girare su tutti i tipi di device – dai pc agli smartphone, dai tablet alle smart tv – fornendo agli utenti un’esperienza simile, anche se non necessariamente identica al cento per cento. È il caso, ad esempio, di applicazioni social come Facebook o di sincronizzazione come Dropbox, la cui fruizione non cambia molto in funzione del device di accesso e dove gli utenti che interagiscono fra loro non si rendono conto del tipo di dispositivo utilizzato dall’interlocutore.

Il concetto omnichannel non implica però un appiattimento delle applicazioni sul tipo di user experience possibile attraverso tutti i tipi di client, facendo leva anche su due aspetti caratteristici del mobile computing: la possibilità di utilizzare informazioni relative al contesto in cui si trova l’utente mobile e quella di sfruttare le tecnologie peculiari di ciascuna piattaforma utilizzata. Questi due aspetti – informazioni di contesto e caratteristiche specifiche del device – sono in buona parte correlati, poiché le tecnologie e i sensori di cui i sempre più potenti device mobili sono dotati (Gps, Nfc, accelerometri, videocamere, microfoni ecc) svolgono buona parte dell’attività di raccolta delle informazioni di contesto, oltre ad aggiungere – insieme agli schermi touch e ad alta definizione – opzioni alternative di User Interface. Gli sviluppatori, in effetti, oggi possono prevedere Ui che sfruttano sia il tatto, sia la voce e i movimenti.

Novità sia lato client sia infrastrutturale

Lato client-side, infatti, le applicazioni moderne per i device mobili devono puntare a sfruttare in modo più efficiente le diverse dotazioni tecnologiche dei client e dei loro sistemi operativi, nonché i differenti formati degli schermi: questo fatto, di conseguenza, introduce già delle complessità a livello di processi di testing. Tenuto conto di questa complessità, secondo Forrester chi sviluppa oggi può scegliere fra tre opzioni: ridurre al minimo i device e i form factor (dimensioni dello schermo) da supportare; utilizzare tool di sviluppo cross-platform che permettono di generare client nativi; ricorrere a mix di codici nativi per specifiche piattaforme e di controlli WebView/UIWeb View in modo da costruire app ibride che combinano le funzionalità native delle piattaforme con la portabilità cross-platform del Web. Le ultime due opzioni sono quelle oggi che vanno per la maggiore. In particolare si assiste a una crescita delle app ibride, facilitata anche dallo standard Html 5, sempre più supportato dalle nuove release dei sistemi operativi mobili.

Le moderne applicazioni mobili, sottolinea Forrester, richiedono però anche un ripensamento delle infrastrutture applicative. Molte delle analisi sui dati di contesto necessitano di essere elaborate lato server. Servizi applicativi residenti sull’infrastruttura, inoltre, possono incrociare informazioni di contesto dell’utente con quelle di altri contesti in cui l’utente si trova o a cui si sta per avvicinare (un’azienda, un aeroporto, un hotel, un ospedale ecc.). Integrando queste informazioni, opportuni web service sull’infrastruttura possono inviare all’utente mobile degli alert (come il ritardo di un aereo) o avviare processi (come il check in albergo). Le app mobile, insomma, sono sempre più soluzioni che integrano le applicazioni di un’impresa con quelli di terze parti. E queste possono essere sia erogate dall’operatore mobile o dal produttore della piattaforma (Google, Apple, Rim ecc.), sia sviluppate da software house o da aziende che non hanno lo sviluppo software come loro core business (servizi di pagamento, fornitori di contenuti ecc.). Il funzionamento di tutto questo richiede architetture elastiche in grado di scalare sia in verticale (numero di accessi) sia in orizzontale (servizi richiesti). In questo contesto i modelli architetturali classici (come il Mvc o Model, View, Control) si ritrovano a lasciare il campo a nuovi pattern di design, come il Web Services Facade, dietro il quale possono essere rese fruibili anche applicazioni legacy.

Cambiano i processi di provisioning

Il concetto di elasticità entra di prepotenza anche nei processi di sviluppo e testing. La rivoluzione mobile impone una riduzione crescente dei tempi necessari a produrre e selezionare le idee, sviluppare nuove applicazioni o release di quelle esistenti e testarle. Un contributo alle attività di testing rapido delle applicazioni, per fortuna, può arrivare dagli stessi utenti finali grazie all’integrazione delle app con sistemi di rating. Allo stesso tempo occorre tenere sotto controllo i costi, che rischiano di lievitare in modo insostenibile. Per lo sviluppo vengono in aiuto i tool di sviluppo e le applicazioni open source, che hanno, fra gli altri, il pregio di non richiedere continui acquisti di nuove licenze server. Dal punto di vista delle infrastrutture, grazie ai cloud pubblici, gli sviluppatori possono approvvigionarsi in modo flessibile delle capacità di elaborazione, memoria e disco necessarie, pagandole con un modello pay-per-use, senza doversi rivolgere ai responsabili delle infrastrutture e delle operazioni. Secondo Forrester, comunque, il ruolo di questi ultimi può non ridursi, ma trasformarsi da quello di mero fornitore di hardware e software a consulente di performance e security coinvolto nell’attività di sviluppo delle nuove applicazioni fin dall’inizio. Nell’era delle mobile app, del resto, i processi di development e testing tendono a diventare sempre più in itinere e a richiedere la collaborazione costante di più skill.

 

Riccardo Cervelli
Giornalista

57 anni, giornalista freelance divulgatore tecnico-scientifico, nell’ambito dell’Ict tratta soprattutto di temi legati alle infrastrutture (server, storage, networking), ai sistemi operativi commerciali e open source, alla cybersecurity e alla Unified Communications and Collaboration e all’Internet of Things.

Articolo 1 di 4