Università e Mango: insieme verso il Wearable Computing
21 Marzo 2017
“A Ottobre ci è stata offerta l’opportunità di lavorare con Marco, un ragazzo che avevamo già avuto modo di conoscere e che ci aveva già colpito per la sua determinazione nell’affrontare nuove sfide e tecnologie. Marco era alla ricerca di un’azienda con la quale effettuare un tirocinio curriculare in azienda finalizzato alla preparazione della sua tesi “APPLICAZIONI PER ANDROID WEAR: PROCESSO DI SVILUPPO, ARCHITETTURA E REALIZZAZIONE DI UN CASO DI STUDIO” di Laurea Triennale “Corso di Laurea in Ingegneria e Scienze Informatiche – Campus Cesena” dell’Università di Bologna. Siamo stati fin da subito interessati a proporgli un progetto che mettesse assieme formazione, R&D e un caso reale di studio che potesse dare vita ad un prototipo integrabile sui nostri prodotti. Il risultato è stato eccellente.” (Claudio Buda)
Mango Mobile Agency - Mobile Mentoring
In un’epoca in cui la società e costantemente connessa alla Rete, è presto nata l’esigenza di accedere all’informazione in una maniera più immediata ed intuitiva. Questo ha portato alla nascita e allo sviluppo dell’Internet of Things e degli Embedded Systems. Al giorno d’oggi in particolare, sia nel contesto italiano che in quello internazionale, è in grande crescita il numero di imprese del mondo ICT che investono risorse su una branca dell’IoT, che è quella del Wearable Computing, ovvero delle nuove tecnologie indossabili.
Nel campo dell’Internet of Things, sono molteplici e in via di sviluppo gli ambiti applicativi che destano interesse nelle aziende di settore e per la ricerca scientifica. Un settore in continua evoluzione, che negli ultimi anni ha portato ad importanti cambiamenti ed innovazione, è quello del Wearable Computing, in cui le aziende informatiche stanno investendo ingenti risorse economiche ed umane, al fine di sviluppare soluzioni Software e Hardware a supporto dei wearable devices, impiegati sia per specifici fini industriali che per il mercato consumer.
Per fare un esempio, le più grandi compagnie IT come Google e Microsoft hanno recentemente prodotto occhiali intelligenti che permettono all’utilizzatore di catapultarsi in una realtà aumentata che viene sovrapposta a quella vissuta dall’indossatore.
Altro device di rilevanza per meglio spiegare la tecnologia wearable e il suo potenziale è, senza dubbio, lo Smartwatch sul quale Google e Apple stanno sviluppando nuovi Sistemi Operativi ottimizzati e aperti agli sviluppatori. Il colosso di Mountain View in particolare, ha rilasciato negli ultimi anni un Sistema chiamato Android Wear ed entro il 2017 rilascerà la versione 2.0, ricca di nuove accattivanti feature grafiche ed operative.
Gli “orologi intelligenti” sono stati visti fin da subito come un’estensione degli Smartphone, consentendo una user experience ottimizzata che asseconda i movimenti “naturali” degli users: è infatti rilevante ai fini dello sviluppo la possibilità per l’utente di accedere alle informazioni di cui ha bisogno in maniera più immediata, senza dover compiere il gesto di tirare fuori dalla tasca il proprio telefono.
La strada della ricerca verso soluzioni ottimizzate e costantemente migliorabili all’interno dell’ambito della ricerca dei wearable devices è stata intrapresa anche da Mango Mobile Solutions, azienda già attiva nell’ambito dello sviluppo di soluzioni Mobile e IoT su scala nazionale. Con loro mi è stato proposto di lavorare allo studio delle nuove tecnologie legate ad Android Wear e all’implementazione di una Wearable App da integrare con quella Smartphone del Teatro Bellini di Napoli, sviluppata da Mango per le piattaforme iOS e Android.
Come contorno alla realizzazione del mio lavoro di Tesi ci si è voluti soffermare sulla descrizione dell’intero processo aziendale sul quale si articola Mango e delle Architetture innovative e robuste utilizzate per lo sviluppo del Software.
Ai fini del progetto, attraverso una panoramica del background con un taglio più metodologico e tecnologico, è stata largamente utilizzata la Clean Architecture, vista dai più come una evoluzione naturale dei classici pattern di progettazione come MVC. Grazie al Single Responsibility Principle su cui si basa, ho potuto constatare un impatto estremamente positivo sull’ingegnerizzazione dei sistemi realizzati in Mango, nonché benefici e risvolti positivi nella realizzazione della Wearable App.
Scendendo nei dettagli implementativi, per lo sviluppo su Android Wear è stato utilizzato VIPER, il quale, basandosi completamente sull’architettura sopra citata, ne porta con sé tutti i benefici. VIPER punta molto sui principi di buona progettazione, tale estensione viene attivamente utilizzata da Mango per lo sviluppo, a prescindere dalle piattaforme e dal contesto nel quale si va ad operare.
Non posso negare di essere presto diventato un fiero utilizzatore di VIPER: da ora in poi, quando creo o rifattorizzo un qualsiasi progetto, cerco di ragionare secondo gli schemi imposti da tale architettura, che mi rendono il codice molto flessibile, modulare e soprattutto leggibile.
A supporto della modellazione e della progettazione di sistemi con architettura VIPER vengono in aiuto gli schemi C4, da Mango (e non solo) considerati un sostituto ad alto livello del classico linguaggio UML, ormai scarsamente utilizzato dalle aziende soprattutto perché non adatto a contesti Agili.
Il team di Mango, come già descritto in un recente articolo pubblicato sul blog aziendale, fa uso dei metodi Agili per sviluppare il software, in particolare Scrum. Ho potuto, grazie questa esperienza, immergermi completamente in questi processi, e capirne il meccanismo. Scrum è una soluzione utilissima per gestire i vari task tra i vari membri del team, aiuta ad aumentare la qualità del software che viene prodotto (meno problemi per gli addetti ai lavori, meno crash per gli utilizzatori) e grazie ad un rilascio frequente delle feature mantiene il cliente sempre soddisfatto e a pieno contatto con il processo di sviluppo.
Per finire, ho avuto l’opportunità di entrare a contatto con il framework Android Wear. Una volta compreso, rende la vita facile allo sviluppatore perché ricco di componenti grafici utilizzati per l’interazione con l’utente, per la ricezione di notifiche e per lo scambio dei dati tra Smartwatch e Handheld device.
Come risultato finale, è stato creato un applicativo in grado di rendere fruibile all’utente gli eventi in programma del teatro a cui è iscritto e leggere direttamente dall’orologio informazioni dettagliate (come ora di inizio, descrizione e costi del biglietto) sugli spettacoli in programma. L’utilizzatore potrà inoltre interagire aprendo uno spettacolo sul telefono direttamente dall’orologio, o salvare quello spettacolo tra i preferiti. Per le fasi di analisi e progettazione sono state utilizzate le architetture sopra citate, il tutto contornato da un taglio fortemente Agile, con un flusso orientato alle varie Sprint pianificate durante i quattro mesi di tirocinio.
Complessivamente, mi ritengo molto soddisfatto dell’attività svolta in azienda che è andata a completare il mio lavoro di tesi: ho avuto l’opportunità di mettere in pratica i concetti appresi durante il corso di studi, implementando un progetto funzionante e totalmente spendibile da Mango Mobile Solutions. Ho avuto occasione inoltre di entrare in contatto con nuove tecnologie ed approcci innovativi alla progettazione e alla programmazione del Software, nonché di lavorare in Team sfruttando un’ottica basata sui metodi Agili, oggi molto richiesti dal mercato del lavoro.
Grazie, Mango!
Marco Baldassarri
Dott. in Ingegneria e Scienze Informatiche
Condividi su