Google nei giorni scorsi ha aggiornato i requisiti per le “target API level” per le applicazioni Android con l’obiettivo di migliorare la sicurezza generale dell’ecosistema.
Il “target API level” rappresenta la versione di Android per cui una specifica applicazione viene scritta e compilata.
In base ai requisiti aggiornati, tutte le applicazioni dovranno raggiungere “API level” aggiornato entro i due anni dall’ultima versione principale di Android, per rimanere rilevabili sullo store dai nuovi utenti con dispositivi che eseguono versioni Android più recenti.
Per esempio, da novembre 2022 tutte le applicazioni dovranno avere un livello API corrispondente ad Android 11 o successivo.
Fondamentalmente, una volta entrata in vigore la modifica, gli utenti delle ultime versioni Android non saranno in grado di installare applicazioni precedenti, che potrebbero non avere alcune delle ultime protezioni offerte dalla piattaforma mobile.
“Gli utenti con i dispositivi più recenti e coloro che rimangono al passo con aggiornamenti di Android si aspettano di realizzare il pieno potenziale di tutte le protezioni di privacy e sicurezza che Android ha da offrire” – afferma Google.
Poiché ogni anno vengono rilasciate nuove versioni di Android, il gigante di Internet regolerà di conseguenza la finestra dei requisiti.
Molte delle applicazioni attualmente disponibili su Google Play soddisfano già questi requisiti, ma ci sono ancora molte app che richiedono attenzione, per questo Google ha avvisato gli sviluppatori.
L’azienda fornisce inoltre agli sviluppatori le risorse necessarie per aiutarli a garantire che le loro applicazioni rispettino i nuovi standard, e consente agli sviluppatori di richiedere un periodo di estensione di sei mesi facoltativo se ritengono di aver bisogno di più tempo per migrare le loro applicazioni a un API level superiore.
“Gli utenti attuali di app che hanno precedentemente installato l’app da Google Play continueranno a essere in grado di scoprire, reinstallare e utilizzare l’app su qualsiasi dispositivo che esegue qualsiasi versione del sistema operativo Android supportata dall’app”, afferma Google.
A maggio 2022, una politica aggiornata che entrerà in vigore impedirà essenzialmente agli utenti di regioni specifiche di accedere alle applicazioni che mostrano contenuti ritenuti inappropriati per quella regione. Infine, un altro aggiornamento della politica che entrerà in vigore il mese prossimo vieterà “l’incitamento all’odio relativo alle caste e all’immigrazione”.
La vostra app è aggiornata? Parliamone senza impegno, e valutiamo insieme gli interventi per renderla disponibile agli utenti delle ultime versioni Android! Contattaci qui.
Autore: Francesco Ronchi – Presidente e fondatore di Synesthesia srl Società Benefit.
Come nasce il progetto
Reale Group offre soluzioni e tutela a più di 4,5 milioni di clienti in campo assicurativo, bancario, immobiliare e dei servizi, evidenziando una solidità tra le più elevate del mercato.
L’obiettivo è quello di realizzare 4 applicazioni B2C destinate ai clienti di Reale Mutua Assicurazioni e Italiana Assicurazioni (per device Android e iOS) con React Native che siano in grado di supportare i propri assicurati durante tutta la fase di gestione del portafoglio polizze.
Il rapporto che lega Reale Mutua ai propri clienti si basa sulla rete capillare di Agenzie distribuite sul territorio. Lo sviluppo dell’applicazione richiesta punta, tra le altre cose, a rendere più rapido e agevole il lavoro delle singole Agenzie.
Siamo stati scelti per:
- la nostra competenza su React Native;
- la modalità di approccio innovativo allo sviluppo;
- la consulenza non circoscritta solo agli aspetti tecnici, ma anche orientata alla soluzione, con particolare riguardo al design e all’interazione mobile;
- la profonda conoscenza del mondo delle mobile app.
Soluzione
Abbiamo preso parte alla realizzazione delle applicazioni B2C per Reale Mutua Assicurazioni e Italiana Assicurazioni dopo aver svolto un’analisi approfondita (soprattutto per quanto riguarda la parte di UX). Il team si è occupato di tutto il processo: dalla progettazione e design fino ad arrivare all’implementazione di tutta la filiera dello sviluppo, compresa la quality assurance.
L’approccio utilizzato è di tipo Agile, con un team Scrum. La Digital Factory di Reale Mutua Assicurazioni ha partecipato attivamente durante tutta la fase di sviluppo dell’applicazione e, prima di includerci nel progetto, aveva già avviato ricerche avanzate in materia di flusso, design e sviluppo.
Abbiamo fornito loro un importante supporto anche per quanto riguarda la parte di UXD.
Il progetto è stato diviso in due wave:
- Wave 1 che è la sostituzione della precedente applicazione;
- Wave 2 che introduce importanti novità a partire da novembre 2020.
Tra le funzionalità dell’app troviamo:
- sistemi di assistenza remota (possibilità di prenotare appuntamenti telefonici, video consulti con operatori tramite anche delle videochiamate gestite all’interno dell’app con la propria agenzia di riferimento);
- un design accattivante;
- la gestione della loyalty tramite appositi programmi di fidelizzazione (presenti già nel wave 1);
- nuova modalità di apertura sinistri direttamente da mobile.
Nella wave 2 troviamo, inoltre, una sezione integrativa con altre piattaforme di monitoraggio della salute, come HealthKit o Google Fit, con l’obiettivo di raccogliere dati sulla attività fisica dell’utente al fine di riconoscergli eventualmente ulteriori bonus sulle polizze. Questa funzionalità rappresenta la novità più significativa rispetto alla wave 1.
Risultati
L’app è stata pubblicata a dicembre 2020. La wave 2 è stata confermata da parte di Reale Group con molta soddisfazione dopo la chiusura della wave 1 (novembre 2020). Le attività di sviluppo della wave 2 sono cominciate in contemporanea alla prima ondata del Coronavirus, per questo motivo il team di sviluppo ha lavorato in modalità smart working. Nonostante la distanza, il clima che ruota attorno all’ambiente di lavoro è stato molto positivo e collaborativo. Tutto questo ha favorito il nascere di soluzioni innovative che hanno soddisfatto il nostro cliente.
Volete saperne di più su quello che facciamo e sulla parte di sviluppo App? Visitate la nostra area dedicata alle soluzioni Web, App, e-commerce.
Il 9 dicembre 2020 è stata inaugurata a Torino Green Pea, la nuova iniziativa imprenditoriale ideata dal fondatore di EATALY, Oscar Farinetti.
Dopo l’esperienza di successo nel mondo del cibo, con il modello EATALY, Green Pea è un format che punta agli altri mercati: i beni che costituiscono la parte più corposa delle attività a consumo dell’essere umano, come l’energia, il movimento, il fashion, la casa e il tempo libero.
L’iniziativa imprenditoriale prende avvio da Torino perché a detta dello stesso Oscar Farinetti: “Da Torino prendono vita tutte le cose innovative che hanno poi avuto successo in Italia e nel mondo”.
Green Pea nasce con l’obiettivo di dimostrare che è possibile, da subito, acquistare prodotti e servizi di grande qualità e bellezza, costruiti in armonia con la Natura e funzionali a una forma di utilizzo davvero responsabile e sostenibile. Green Pea trasforma il rispetto per l’ambiente in qualcosa che è anche bello. Non è solo una questione etica, ma anche un nuovo modo di percepire la qualità del prodotto, la bellezza e un mood positivo e responsabile in linea con gli stili di vita moderni.
Un’iniziativa imprenditoriale che, come EATALY, vuole portare l’eccellenza italiana nel mondo rappresentata da aziende leader nel loro settore e votate al rispetto della Natura in un ciclo di produzione e vendita equilibrato per costruire un futuro più bello, rispettoso e con un occhio allo spirito imprenditoriale italiano.
Le aziende all’avvio saranno per la quasi totalità italiane, con l’impegno e auspicio di coinvolgere anche compagnie straniere a patto che siano originali e in linea con i principi del manifesto di Green Pea. Il concetto di filiera raccontato da Green Pea costituisce una parte importante di tutto il progetto.
In questa iniziativa, sin da subito, è stata coinvolta Synesthesia. L’obiettivo: creare un’app mobile innovativa in grado di accompagnare in modo digitale il consumatore dentro la nuova esperienza di Green Pea, con elementi di semplicità e usabilità unici. Un touchpoint considerato da subito come uno dei punti di maggior rilievo del progetto di comunicazione della nuova iniziativa e del suo digital environment.
Synesthesia entra a far parte del progetto anche per il suo comportamento green. Adottiamo da sempre politiche aziendali di rispetto per l’ambiente, utilizziamo energia da fonti 100% rinnovabili, favoriamo l’economia circolare e l’inclusione sotto diversi punti di vista, non ultima la lotta al gender gap.
La app che è stata pubblicata già all’avvio del progetto per gli store mobile di Apple e Google è in ottica omnicanale un elemento del progetto stesso, una guida, un assistente, un “diario di viaggio” che tiene traccia della vita del consumatore nei vari “mondi” rappresentati da Green Pea, con un particolare riferimento all’ultimo livello denominato Otium dedicato al relax e al tempo libero. La app mobile è un punto di connessione tra la fisicità del punto vendita e la community che sarà creata intorno al nuovo brand del “pisello verde”. Una community che sarà protagonista di questa rivoluzione e che potrà partecipare alla vita del brand e alle tante iniziative che saranno messe a disposizione per gli iscritti in collaborazione con altri partner autorevoli, come A-World e Short Édition.
L’utente può creare il suo Profilo Green e migliorare i suoi comportamenti sostenibili giorno per giorno, diventando parte della community. Attraverso giochi di vario tipo potrà quindi guadagnare Green Pea Points. Grazie alla selezione quotidiana di news e mini storie l’utente potrà, inoltre, informarsi e rimanere in contatto con il brand e con il resto della community.
Synesthesia ha messo a disposizione del progetto un team mobile di eccellenza e dedicato, con oltre una decina di anni di esperienza nel campo dello sviluppo di applicazioni mobile innovative.
L’app Green Pea è realizzata integrando la tecnologia di A-World. La startup innovativa Italiana scelta dalle Nazioni Unite per la promozione dei Sustainable Development Goals tramite la campagna ACTNOW e ha sviluppato l’omonima app che premia le persone per i loro comportamenti sostenibili.
In questo modo, i clienti possono usufruire di contenuti sulla sostenibilità, imparare a misurare il miglioramento del proprio stile di vita, ottenere riconoscimenti grazie alle proprie azioni Green e ai propri acquisti. Ogni azione è premiata con punti, badge e livelli, che si traducono in sconti e accessi a servizi dedicati.
L’app è poi Integrata con Short Édition: distributori automatici di mini storie, in italiano e in inglese. Un meccanismo tecnologico e poetico con cui scoprire narrazioni sui pensieri dei grandi filosofi greci, testi originali sul tema Green curati dalla Scuola Holden, pensieri dei GP Members e dei GP Partners. Attraverso l’app Green Pea tutti i GP Members potranno inviare i propri scritti, che diventeranno parte di questo progetto narrativo condiviso e saranno distribuiti ai visitatori.
Nella app dal lancio trovano spazio: il manifesto di Green Pea, la presentazione dei partner, l’interazione con A-World e molte altre funzionalità che via via cresceranno per arrivare nel giro di poco tempo a definire il touch point mobile completo del mondo Green Pea.
Dalle parole del fondatore e Presidente di Synesthesia Francesco Ronchi: “Siamo onorati di far parte di questa esperienza, innovativa e autorevole sia per la nostra città sia per il mondo imprenditoriale internazionale. Noi veniamo dal mondo della tecnologie e dell’innovazione e abbiam sempre fondato la nostra azione sul rispetto, sulla sostenibilità e sulla qualità della vita, partendo dai nostri team di lavoro fino ad arrivare al rapporto con il territorio e con i nostri clienti e partner. Comunichiamo i nostri valori anche con iniziative che vanno oltre il nostro core business. Adottiamo energie green, favoriamo lo smart working e l’utilizzo di sistemi green anche per la realizzazione dei nostri eventi di divulgazione”.
Vuoi saperne di più su quello che facciamo? Visita la nostra area dedicata alle soluzioni Web, App, e-commerce.
Per creare un’app per Android non servono molti strumenti: basta un PC e Android Studio. Ci sono però migliaia di tool che possono facilitare o velocizzare lo sviluppo. Marco Porcaro (Android Team Lead in Synesthesia) ci svelerà 5 tool utili per sviluppatori Android, alcuni conosciutissimi, altri un po’ meno.
- Postmanè una piattaforma per lo sviluppo di API. L’applicazione gratuita per macOS, Windows e Linux permette di effettuare chiamate di rete, organizzarle in collection e molto altro. È uno strumento indispensabile in fase di sviluppo (di qualsiasi piattaforma, non solo Android), per provare in modo rapido l’interazione con le API, creare server mock, effettuare test automatici o monitorare le API. Le collection si possono condividere con un team o esportare in semplici file json.
Puoi trovare questo tool qui.
- Lockito è un’app per Android che serve a simulare una posizione fittizia del GPS a livello di sistema operativo. È uno strumento utilissimo quando si sviluppano app che contengono mappe o che devono reagire a spostamenti di posizione dell’utente (es. geofence). L’app, una volta installata, deve essere impostata come “app di posizione fittizia” all’interno delle opzioni sviluppatore del telefono. Una volta configurata si possono impostare itinerari da seguire, regolando la velocità di movimento.
Puoi scaricare l’app dal Play Store
3. Scrcpy è un’app per macOS, Windows o Linux che permette di controllare un telefono Android dal PC. Il telefono può essere collegato via USB o wireless su rete locale. Alla semplice condivisione dello schermo del telefono (utile soprattutto in smartworking) aggiunge la possibilità di controllarlo da remoto utilizzando mouse e tastiera, come se fosse un emulatore con i superpoteri
Puoi trovarlo qui.
4. Stetho è una libreria per Android sviluppata da Facebook che permette di ispezionare il database dell’app che si sta sviluppando. Una volta aggiunta la libreria all’app e inizializzata via codice, sarà possibile visualizzare il database utilizzando il browser Chrome da PC. Si possono vedere sia i database SQL (lo schema e i dati) sia le shared preference.
Puoi trovarlo qui.
- Accessibility Scanner è un’app per Android sviluppata da Google che fornisce suggerimenti per rendere più accessibile la propria app. Una volta scaricata e forniti i permessi necessari, lo scanner effettua uno screenshot dell’app che si sta sviluppando, scansiona la UI e mostra suggerimenti per renderla più fruibile, andando a evidenziare per esempio elementi di UI troppo piccoli e difficilmente cliccabili o testi poco contrastati difficilmente leggibili da utenti difetti visivi.
Puoi scaricare l’app dal Play Store.
Il centro di ricerca di Synesthesia sviluppa applicazioni e servizi innovativi per i propri clienti e per i propri partner. Scopri le nostre Creazioni digitali all’interno di questa pagina dedicata.
Dopo settimane di speculazioni, analisi tecniche più o meno accurate e un acceso dibattito pubblico, sono finalmente state rese pubbliche alcune informazioni ufficiali relative all’app Immuni.
Immuni è l’app ufficiale del Governo Italiano che aiuterà la popolazione a combattere la diffusione del COVID-19. Sviluppata dalla software house milanese Bending Spoons, effettuerà il monitoraggio dei contatti tra le persone (vicinanza entro pochi metri) sfruttando il Bluetooth dei loro smartphone.
Dalla documentazione (disponibile qui) si possono trarre delle conclusioni molto interessanti sia dal punto di vista tecnico che per ciò che riguarda il design.
Nel file “Product Description” sono infatti disponibili anche i mock-up grafici delle schermate dell’app, a nostro avviso molto curati per estetica e user experience.
Ecco un paio di esempi:
Immagine 1 | Immagine 2 | Immagine 3
Dal lato tecnico risultano chiari i motivi che hanno causato il ritardo nella pubblicazione su AppStore e PlayStore. Se, in un primo momento, si era ipotizzato, per l’acquisizione dei dati utenti, un approccio centralizzato (modello PEPP-PT) che aveva fatto storcere il naso a molte persone per tematiche relative alla privacy, la documentazione conferma invece la scelta di adottare i nuovi framework introdotti da Apple e Google ad approccio decentralizzato (simile al modello DP-3T).
La scelta in realtà è stata praticamente obbligata, poiché i dispositivi iOS e Android presentano delle forti limitazioni nello sviluppo qualora si voglia rendere il proprio telefono “identificabile” tramite Bluetooth se l’app non è in esecuzione (per esempio, se il telefono è in stand-by in tasca o in borsa).
In una inedita joint-venture, Apple e Google hanno sviluppato un’integrazione ad-hoc per permettere alle app governative di tutto il mondo (e solo a loro) di abilitare le funzionalità di contact tracing. Tali funzionalità saranno disponibili solo dai prossimi aggiornamenti di sistema operativo iOS (versione 13.5, attualmente in beta) e dei Google Play Services su Android. Come conseguenza, purtroppo, sarà probabile vedere una curva di adozione dell’app piuttosto lenta.
Un altro tema interessante affrontato in documentazione è quello relativo alla coerenza tra codice sorgente e versione dell’app effettivamente negli store.
Se, da un lato, il codice sorgente dell’app (e dei servizi di back-end) sarà visionabile da chiunque, non c’è di fatto alcuna garanzia che la versione pubblicata e scaricata dagli utenti provenga effettivamente dalla sua compilazione.
Per ovviare a questo delicato problema, si è adottata una soluzione basata su Continuous Integration e Continuous Delivery molto simile a quella che in Synesthesia utilizziamo già da diversi anni per automatizzare il processo di build delle nostre app.
Tramite strumenti come Github e Fastlane, l’intero processo di compilazione e distribuzione sugli store sarà eseguito su sistemi in cloud e visibile al pubblico, in modo da scongiurare eventuali manomissioni da parte dello sviluppatore e, si spera, limitando le ipotesi di complotto che hanno tenuto tanto impegnata l’opinione pubblica in questi difficili mesi di quarantena.
La documentazione pubblicata fa chiarezza dunque su molti dei punti rimasti aperti. Non ci resta che aspettare fiduciosi di veder comparire anche i sorgenti dell’applicazione vera e propria su Github, come promesso, e di provare l’applicazione sui nostri smartphone.
(Articolo a cura di Stefano Mondino – Mobile Tech leader presso Synesthesia)
Se hai domande o feedback, scrivici. Saremo contenti di leggere le tue richieste o le tue opinioni.
Nicola, ci racconti la tua storia in Synesthesia?
“La mia storia professionale comincia prima che Synesthesia nascesse. Ho iniziato a collaborare con Francesco (CEO di Synesthesia) nel 2010 su alcuni progetti di sviluppo Android. Per circa due anni ho lavorato con lui che all’epoca era un freelance e siamo rimasti costantemente in contatto. Dopo la nascita di Synesthesia ho seguito con interesse la sua crescita fino al 2012, quando la mia voglia di cambiare si è incrociata con la necessità di avere il primo project manager dedicato in Syn e nell’ottobre 2012 sono salito a bordo. Synesthesia era piccola, contava meno di 10 persone, quasi tutti sviluppatori mobile”.
In che cosa consiste il ruolo che svolgi? Di cosa ti occupi esattamente?
“Nell’arco di questi 8 anni, Synesthesia è cresciuta in modo vertiginoso. I ruoli si sono arricchiti e strutturati. Per parlare del lavoro che svolgo io partirei un po’ dalla sua evoluzione: a partire dall’essere un project manager fino ad aver responsabilità su altre aree con team di 60-70 persone. Ciò che faccio è coordinare tutta l’area produttiva della Factory, capisco quali sono le sue necessità e mando avanti il flusso. Mi occupo della fase di pre-sales, quindi delle stime economiche dei progetti, di effort e durata (cioè quanto ci vuole per produrre quel determinato pezzo di software) Mi occupo delle trattative, partecipo alle gare, curo la parte di delivery e operations, quindi coordino il gruppo di PM sui vari progetti, verifico il budget e l’allocazione delle persone”.
Qual è l’approccio che il tuo team ha nella fase di sviluppo dei progetti?
“Siamo versatili e ci adattiamo alle esigenze e alla struttura del cliente. Ci sono progetti che partono con una fase di analisi e design, altri che partono direttamente nella fase di sviluppo. In generale prediligiamo l’approccio AGILE, in particolare SCRUM. Questo, però, chiaramente non è sempre possibile perché dipende dal progetto e dal tipo di budget che il cliente ha a disposizione. Passiamo da progetti che sono waterfall fino ad arrivare a progetti più complessi e strutturati, quelli richiesti dai clienti più grandi che hanno la forza di poterli portare avanti e mantenerli. In questo caso, si tratta di progetti che sono puramente AGILE. Team autogestiti partecipano attivamente alla riuscita di queste commesse condividendo con gli altri le migliori soluzioni. Questa è una delle caratteristiche dell’approccio AGILE, cioè il fatto di essere maggiormente interattivo e migliorativo. Così facendo, ogni progetto, ogni sprint di progetto ci viene un po’ meglio di quello precedente”.
Le nuove applicazioni utilizzano tecnologie sempre più innovative e di frontiera, basate su importanti scoperte scientifiche e sul significativo impiego dell’intelligenza artificiale. Fino a dove queste tecnologie potranno spingersi?
“Sicuramente ben oltre quello che noi immaginiamo in questo momento. Grazie alla tecnologia a disposizione: possiamo continuare a vivere le nostre vite, ordinare il cibo a casa, vedere film senza andare al cinema per proteggerci dal contagio del coronavirus. Oggi ci sono tecnologie che sono talmente avanti da sembrare quasi magiche, come la traduzione del linguaggio in tempo reale in un’altra lingua; l’identificazione dei pattern nelle foto o nei video; i Sentiment analysis, che consentono di capire il mood di una frase. C’è poi un’altra interessante evoluzione che tende a “portare fuori” la tecnologia dai classici dispositivi (pc, telefoni, televisori) per trasferirli in oggetti che fino a qualche tempo fa erano considerati “non intelligenti”, come per esempio gli orologi o i sensori di vario genere, ora in grado di adattarsi in base all’ambiente”.
Oggi Google Home e Alexa hanno ormai portato il sistema di riconoscimento vocale nelle case di tutti, un po’ come avvenne tempo fa con le televisioni. Come te le immagini le applicazioni del futuro?
“Le applicazioni del futuro probabilmente non saranno applicazioni. Se portiamo questo paradigma all’estremo non avremo più applicazioni come le intendiamo oggi. Forse non avremo più bisogno di avere un’interfaccia, ci basterà parlare o fare dei gesti. Per esempio, il frigo potrà ordinare dei prodotti non perché l’intelligenza artificiale gli avrà fatto capire che lo yogurt è finito, ma avrà capito che io ne voglio comprare ancora semplicemente perché lo desidero e perché ho un determinato budget da spendere. Molti sistemi simili a quelli che ho descritto esistono già, ma si tratta di sistemi che ignorano alcuni fattori, come per esempio quello del prezzo. Siamo solamente agli inizi di tutto questo. Le applicazioni del futuro saranno certamente molto più integrate con tutto quello che ci circonda. Stiamo andando incontro a una sempre più estesa “virtualizzazione dei processi umani”, che ci permette di compiere qualunque azione attraverso un’applicazione, tramite un servizio, senza dover andare fisicamente in un luogo. Questo rappresenta un vantaggio indiscutibile ”.
Lavorare per Synesthesia significa?
“Crescere. Crescere con delle persone a cui voglio bene. Significa fare un lavoro che amo profondamente. Lo amo perché lo faccio con le persone giuste che mi danno la fiducia di farlo. É un’avventura incredibile. Quando ho iniziato a lavorare ricordavo a me stesso che ogni due anni volevo cambiare azienda. Per i primi anni è stato così, fino a quando ho iniziato a lavorare qui. Mi auguro di continuare così”.
Se hai domande o feedback, scrivici. Saremo contenti di leggere le tue richieste o le tue opinioni.
Che cos’è TheLab?
“Oggi TheLab è un’azienda specializzata nello sviluppo e nella commercializzazione di app. Siamo partiti con un’idea, validata e finanziata nella Silicon Valley. Poi abbiamo creato un team molto agile con competenze specifiche. Dall’esperienza come start-up abbiamo tratto gli insegnamenti che cerchiamo di condividere con le altre aziende con cui lavoriamo. Facciamo da mentor a chi ha le idee giuste ma ancora poca esperienza”.
Qual è la sfida più grande nel produrre app ?
“Dipende a chi lo chiedi! L’elemento di sviluppo comporta necessariamente aggiornamento quotidiano e una gestione “agile” del team che ci permette di collaborare “seamlessly” con altri dev team, in particolare con i gruppi di lavoro di Synesthesia.

Ma abbiamo imparato che senza tenere conto del marketing non si va da nessuna parte. Non solo bisogna sapere commercializzare l’app in mercati e su piattaforme con un pubblico differente, ma soprattutto integrare i criteri del digital marketing già dal design del prodotto. Questo vuol dire pensare a una UX che valorizzi e aumenti le conversioni, e soprattutto conoscere nel dettaglio e sfruttare al massimo strumenti come sonde e analytics. Grazie al minuzioso lavoro di marketing, oggi abbiamo app come Facestar e Facebrity nella top 10 di molti paesi in ambito entertainment”.
Pensi che aziende più grandi e strutturate possano adottare questa attitudine?
“Dovrebbero e in parte qualcuno sta già cambiando approccio. Ma i tempi di trasformazione per una realtà molto grande sono lunghi. Il nostro vantaggio è che ci siamo “pensati” già per questo flusso di lavoro. Anche nel periodo più recente, con tutti i problemi legati all’emergenza Covid-19, riusciamo a lavorare su molti progetti con un team ridotto ma molto affiatato, che non si spaventa se il progetto cambia direzione. Il momento di pivot è la norma per le start-up, mentre in ambito corporate non è visto di buon occhio”.
Parliamo di progetti conto terzi. Cosa cercano i clienti in TheLab ?
“Competenze specifiche e tempi rapidi di sviluppo. Non posso entrare nei dettagli, ma stiamo lavorando con un provider ad un’app per la gestione della fatturazione elettronica. Poi ci sono dei progetti legati al food, in cui ci viene chiesto di gestire (sempre con un’app) prenotazioni e community. Sicuramente adattabilità e processi ben rodati. Su questo non possiamo che essere contenti di lavorare su DevOps (sulla piattaforma Microsoft Azure). Forse la cosa che manca di più (in giro) sono le figure di analisti funzionali e tester. Noi abbiamo investito molto in questo comparto”.
Ora affiancate anche giovani imprenditori e start-up come mentor. Su quali progetti state lavorando?
“Registro ci sta dando grandi soddisfazioni. L’app (la cui idea e sviluppo iniziale è merito di un ex liceale, ora ingegnere) permette di gestire il registro elettronico e la propria vita scolastica a migliaia di studenti. L’app, compatibile con la maggior parte dei registri ufficiali, è già alla 2.0 per iOS e in sviluppo per Android.
Stiamo anche per lanciare un’app social, ma non dico altro altrimenti i soci mi sgridano… Non vediamo l’ora che sia l’autunno. Ci aspettano molte novità!”
Grazie per il vostro tempo e in bocca al lupo per tutto.
Se hai domande o feedback, scrivici. Saremo contenti di leggere le tue richieste o le tue opinioni.
Come cambia lo sviluppo delle applicazioni mobile
La sempre maggiore complessità delle varie piattaforme, e la loro incompatibilità, ha reso tuttavia sempre più complicato per un singolo programmatore (o team di sviluppo) rimanere aggiornato su tutte le innovazioni e sulle novità a livello di implementazione. Da tempo esistono tentativi di standardizzare sotto un denominatore comune gli sviluppi per le varie piattaforme mobile, con Framework che però si allontanano dallo strato “nativo” dei singoli sistemi e, introducendo astrazioni che limitano la libertà degli sviluppatori, non permettono di sfruttare a fondo le potenzialità dei dispositivi e forniscono in ultima analisi una esperienza utente nettamente inferiore. O almeno così era fino a poco tempo fa.
Soluzioni per lo sviluppo
Per padroneggiare al meglio la complessità di produzione codice, sono nati diversi metodi di gestione dello sviluppo di app multi-piattaforma attraverso l’utilizzo di Framework. Le tecnologie per la creazione di applicazioni mobile multipiattaforma sono divise in due grandi categorie: le applicazioni web-based e le applicazioni multi-piattaforma scritte in un linguaggio comune, appoggiandosi a un framework specifico.
1. Soluzioni Web-Based
Le tecnologie web-based (ovvero “basate sul web”) spesso usano un software “contenitore” nativo simile a un normale web-browser, che fa da ponte tra l’applicazione ibrida scritta in HTML/Javascript (le stesse tecnologie su cui si basa il web) e il sistema operativo. Questo è il caso per esempio di Cordova/Phonegap, che permette alle app ibride di accedere alle specifiche del singolo dispositivo mobile (es. la dimensioni dello schermo) e rendendo disponibili alcune caratteristiche altrimenti non accessibili normalmente da web (funzioni specifiche del sistema operativo o dell’hardware). Più recentemente hanno iniziato a diffondersi anche le Progressive Web Apps (o PWA), principalmente spinte da Google, ma che funzionano anche su Apple con alcuni limiti. Le PWA superano la necessità di un “contenitore” e vengono sviluppate interamente in tecnologia web, grazie alle nuove specifiche di HTML5, proprio come un sito web. Le PWA, inoltre, a differenza delle altre tecnologie nominate, non hanno componenti native e non vengono quindi distribuite sugli app store tradizionali, ma direttamente con un link come un normale sito web. Si tratta di una tecnologia interessante ma ancora non completamente matura, che con ogni probabilità tratteremo in futuro.
2. Framework multi-piattaforma
Attraverso un framework di sviluppo multi-piattaforma è possibile scrivere codice che verrà compilato per essere eseguito direttamente sulle varie piattaforme, in modo simile ad una app nativa. Esistono vari framework per lo sviluppo multi-piattaforma, con caratteristiche diverse in termini di qualità del risultato e ambito di applicazione, per questo è necessario scegliere i giusti strumenti a seconda degli obiettivi desiderati.
Per lo sviluppo per esempio di app mobile cross-platform, i framework più utilizzati oggi sono:
a) React Native b) Flutter (di recente reso disponibile per la prima volta da Google)
c) Xamarin.
Per lo sviluppo di applicazioni ludiche e multimediali (videogames, AR/VR), esistono poi framework specifici come Unity e Unreal Engine (che spesso usiamo in Synesthesia, ma che tratteremo in un futuro articolo).
Sia le tecnologie web-based che i framework multi-piattaforma presentano il vantaggio di dover utilizzare un solo linguaggio per lo sviluppo dell’applicazione, tuttavia entrambe presentano limiti nella possibilità di integrazione con le singole specificità dei sistemi operativi dei device, nella manutenzione del codice e nei risultati in termini di esperienza utente. In questo articolo abbiamo deciso di concentrarci sui Framework multipiattaforma, che secondo la nostra esperienza garantiscono una maggiore qualità del risultato finale, risparmiando sui tempi e costi di sviluppo senza scendere troppo a compromessi con lo sfruttamento delle potenzialità dei dispositivi mobili.
Nei prossimi paragrafi andremo dunque ad approfondire quali sono i principali framework utilizzati nell’ambito dello sviluppo di mobile app.
a) React Native: i vantaggi e gli svantaggi del Framework di Facebook
Una delle novità su cui già da tempo la factory di Synesthesia sta lavorando con ottimi risultati di performance e di soddisfazione del cliente è lo sviluppo in React Native. React-Native è un framework che permette di creare app mobile multi-piattaforma rilasciato e promosso da Facebook Inc. Le applicazioni vengono sviluppate utilizzando il linguaggio JavaScript in combinazione con la libreria nativa React. Questo permette la creazione di applicazioni che utilizzano componenti di interfaccia grafica simili a quelli utilizzati dai processi di sviluppo nativi. Il punto di forza di React Native è la possibilità di scrivere il codice in JavaScript e di compilarlo in un progetto nativo, raggiungendo performance molto vicine a quelle raggiunte dalle applicazioni scritte direttamente in linguaggio nativo. Oltre ai componenti JavaScript che il framework offre, è possibile creare nuovi componenti e funzionalità utilizzando il codice nativo della piattaforma sulla quale si sta sviluppando e integrare quest’ultimo nella parte JavaScript del Framework. Questo approccio apre molte possibilità agli sviluppatori, anche se in alcuni casi presenta criticità date dalla natura mono-thread di JavaScript. Se in applicazioni tradizionali questa limitazione può risultare trascurabile, in contesti in cui è indispensabile avere alte prestazioni in tempo reale, React Native rischia di non essere la scelta migliore. Oltre alle buone performance (soprattutto per applicazioni che non richiedono funzionalità real time, come i giochi), i vantaggi dello sviluppo in React Native sono dati proprio dall’uso di Javascript come unico linguaggio alla base dello sviluppo sia su Android che iOS, che permette una ampia condivisione del codice. La rapidissima diffusione di React Native ha permesso inoltre il proliferare di letteratura e documentazione che semplifica e arricchisce il lavoro degli sviluppatori. Il Framework è stato creato da Facebook inc che ne gestisce processi di sviluppo e di implementazione secondo le sue policy, ma è rilasciato gratuitamente come open source. In Italia la popolarità di React Native è ancora limitata e non si trovano ancora molti sviluppatori, ma è sicuramente in crescita e destinata ad aumentare.
b) Flutter, il framework di Google: vantaggi e benefici
Flutter è un ambiente di sviluppo basato su Dart, un nuovo linguaggio di programmazione sviluppato da Google. Il linguaggio sfruttato da Flutter, Dart, può essere compilato in maniera nativa sulle piattaforme Android e iOS. Questa caratteristica permette agli sviluppatori che scelgono Flutter di creare applicazioni dalle performance molto simili a quelle scritte direttamente in nativo. Flutter mette a disposizione una serie di widget predefiniti che possono essere utilizzati per creare interfacce che mantengono il look nativo. Il fatto che Flutter sia promosso da Google consiste in un vantaggio grazie all’enorme supporto che Google dà agli sviluppatori che scelgono Flutter (anche per evidenti ragioni di marketing); inoltre la community di developer orbitante attorno a Flutter risulta essere già ricca e colma di letteratura di supporto. Una criticità è data proprio dal linguaggio di programmazione di riferimento, Dart, oggi ancora poco diffuso e poco conosciuto dagli sviluppatori. Flutter è, inoltre, un progetto ancora relativamente recente nel panorama dello sviluppo cross platform, questo lo rende non sempre adatto come scelta per applicazioni che richiedano molte integrazioni con sistemi di terze parti, componenti native o funzionalità complesse. In Synesthesia abbiamo iniziato a usare Flutter per alcuni progetti con una buona soddisfazione, specialmente per applicazioni non troppo complesse e per la creazione rapida di prototipi.
c) Xamarin, il framework di Microsoft
Si tratta di un IDE (Integrated Development Environment) e un framework promosso (e di proprietà) di Microsoft. Xamarin è utilizzato per lo sviluppo di applicazioni multi-piattaforma, utilizzando il linguaggio c# e poi compilate in codice nativo. Il processo di compilazione e traduzione fa si che il prodotto finale risulti a tutti gli effetti una applicazione nativa.
Nel tipico progetto Xamarin vi sono 3 principali parti dell’applicazione che vengono sviluppate:
- la business logic, sviluppata in stile .NET e riutilizzata al 100%
- l’interfaccia iOS, sviluppata con l’SDK specifico per Apple
- l’interfaccia Android, sviluppata con l’SDK specifico per Google.
La necessità di sviluppare separatamente le interfacce grafiche nasce dall’approccio indicato dallo stesso Xamarin per affrontare la programmazione multipiattaforma: le librerie grafiche sono montate direttamente al di sopra delle loro controparti native, funzionando a tutti gli effetti come semplici connettori. Questa decisione progettuale costringe gli sviluppatori a scrivere parti di codice ad-hoc per le singole piattaforme. Al fine di ovviare a questo limite, da qualche anno Xamarin ha messo a disposizione degli sviluppatori una libreria per la creazione di interfacce multi-piattaforma, Xamarin.Forms. La maggiore rapidità di sviluppo permessa da questo approccio si paga però con un contrappasso: una minore flessibilità dei componenti, aggravata dalla scarsità della documentazione di supporto.
3. La scelta della tecnologia e del team di sviluppo
In conclusione, la scelta della tecnologia spesso dipende da fattori molto specifici del prodotto che si intende realizzare. In Synesthesia abbiamo maturato una lunga esperienza in questi anni, e sappiamo guidare il cliente verso la scelta migliore, motivandola e condividendone i vantaggi che ne derivano.
Indipendentemente da quale sarà la scelta tecnologica, è altrettanto importante la composizione del team per lo sviluppo delle app mobile. Alcune organizzazioni optano per la costruzione di team a loro volta “multipiattaforma”, cioè task force di sviluppo che includano developer esperti di Framework che lavorano in sinergia con esperti dei singoli sistemi operativi.
La digital factory di Synesthesia, per esempio, gestisce sia progetti nativi sia di app multi-piattaforma, in quest’ultimo caso con un team che lavora in stretta sinergia con l’area nativa (iOS e Android), creando una squadra di esperti dedicata a rendere il prodotto digitale performante su ogni dispositivo e/o sistema operativo.
Sapete già come sviluppare il vostro prossimo progetto mobile? Parliamone assieme.
Se hai domande o feedback, scrivici. Saremo contenti di leggere le tue richieste o le tue opinioni.