MISCELLANEA /

Creatività ed entusiasmo per lo sviluppo di nuove APP: una case history perfetta!

Creatività ed entusiasmo per lo sviluppo di nuove APP: una case history perfetta!

26 Agosto 2015 Redazione SoloTablet
SoloTablet
Redazione SoloTablet
share
SoloTablet intervista Marco Baldazzi, Sviluppatore Mobile specializzato nello sviluppo di applicazioni in ambiente iOS e Android. Uno specialista impiegato in un'azienda che opera con successo sul mercato Mobile ma soprattutto una persona che "adora scoprire, testare, imparare e conoscere nuove tecnologie nell'ambito della programmazione per migliorare sempre di più la qualità dei suoi lavori, e per questo motivo sviluppa applicazioni da solo per divertirsi, aumentare le sue competenze e, quando possibile, guadagnare qualche extra....."

Buongiorno Marco Baldazzi. Ci può raccontare qualcosa di lei e di cosa fa e descrivere in che modo la sua offerta si posiziona sul mercato digitale e mobile italiano?

Buongiorno. Sono uno Sviluppatore Mobile specializzato nello sviluppo di applicazioni in ambiente iOS e Android.

Inizio subito dicendovi che questa professione non è, per me, solo un lavoro, ma una passione coltivata negli anni: le notti in bianco durante l’adolescenza passate a cercare di sistemare il mio PC, ad assemblarlo in autonomia, a cimentarmi con il sistema operativo Linux e tutto quello che riguardasse il mondo della tecnologia e dell'informatica. Ho sempre avuto un grande e smisurato desiderio di provare ogni tipo di accessorio e strumento tecnologico: dai semplici PC Desktop ai test sugli Smartphone, dal sistemare e configurare reti domestiche a qualsiasi cosa fosse fatta di circuiti.

Purtroppo questa passione non è diventata subito il mio lavoro poiché ho sbagliato la scelta della scuola superiore: ho studiato all'Istituto Tecnico Geometri, scuola che si è rivelata assolutamente sbagliata per me e per niente stimolante. Ricordo che alle scuole medie ero, ovviamente, interessato ad iscrivermi all'Istituto Tecnico Industriale nel ramo informatico ma, non essendo un “genio” nello studio, ero stato scoraggiato dai professori (nessun professore dovrebbe mai azzardarsi di sminuire uno studente, perché le ripercussioni, per una loro semplice affermazione, potrebbero essere molto più grandi di quanto immaginano) e quindi, vista la mia giovane età, ho deciso di seguire un mio amico ed iscrivermi a Geometri. Non nego che a quell'età lo studio mi interessasse veramente poco, come è normale che sia, infatti sono stato bocciato al secondo anno e mi sono diplomato con il minimo dei voti.

Una volta diplomato ho subito abbandonato l'idea di andare all'Università per vari motivi: a quell'età non ero ancora conscio di come funzionasse il mondo del lavoro e che presto sarebbe cambiato in peggio (la crisi), soprattutto per noi giovani, quindi vedevo la scelta di trovarmi subito un’occupazione, come una decisione che avrebbe potuto garantirmi un futuro economico, sostenuto in questo anche dalla mia famiglia. Non essendo nessuno di loro laureato non vedevano di grande utilità una Laurea, forti anche dei consigli dei professori che non immaginavano per me un futuro universitario.

Dopo 4 anni nel mondo del lavoro, nei quali ho fatto un pò di tutto, dal geometra all’operaio metalmeccanico, fino all’impiegato in una toelettatura per animali, ho deciso, spinto soprattutto da un amico, di andare all'Open Day della Facoltà di Ingegneria e Scienze Informatiche, che poi sarebbe diventata la mia Università, nella quale ho conseguito la Laurea. Me ne sono innamorato fin da subito. Da quel giorno ricordo che, un pò per il mio carattere testardo e caparbio, un pò perché si era risvegliata in me la voglia di studiare quello per cui avevo da sempre nutrito così tanta passione, tutto è cambiato. 

Le cose che ho dovuto stravolgere nella mia quotidianità, sono state tante, a partire dall’andar contro chi non credeva in me e non vedeva la mia scelta, quella di volermi laureare, sensata. Ma al di là di tutto, appena iniziati i miei studi, ho scoperto un Marco che nemmeno io conoscevo: interessato, molto capace e con una costanza e una voglia di fare e apprendere che non avevo mai avuto in nessun'altra circostanza.

E' stato un percorso molto duro, le spese universitarie e i pochi soldi a disposizione, dover tornare a chiedere un aiuto economico alla mia famiglia e dover apprendere ogni materia e ogni argomento da zero, sono state le cose più difficili da affrontare. La mia voglia di concludere il percorso in Ingegneria e Scienze Informatiche era data da semplice e pura passione, ma a livello di competenze pratiche non ero formato su nulla.

A Dicembre 2015 mi sono finalmente laureato (nei tempi previsti) e ho subito trovato lavoro in una Software House di Forlì: Cosmobile S.r.l. Azienda per la quale lavoro tutt’ora, dove sviluppo applicazioni mobile per iOS e Android. Grazie a questo lavoro, che mi permette di crescere, giorno dopo giorno, ho enormemente ampliato le mie competenze e conoscenze in ambito informatico.



Se c'è una cosa che non vorrò mai fare è smettere di aggiornarmi e sentirmi arrivato, poiché, soprattutto in questo settore - che cambia ogni giorno ed è sempre più in crescita - chi si ferma è perduto. Oggi adoro scoprire, testare, imparare e conoscere nuove tecnologie nell'ambito della programmazione per migliorare sempre di più la qualità dei miei lavori, è per questo che sviluppo applicazioni da solo per divertirmi, aumentare le mie competenze e, quando possibile, guadagnare qualche extra.


Qual è la sua visione del mercato Mobile italiano? Crede che esistano ancora reali opportunità di guadagno tangibile e in quali ambiti? Con quasi cinque milioni di APP disponibili competere sul mercato è diventato molto difficile ma non mancano le opportunità. Quali sono le sue idee per trarre vantaggio da un mercato maturo e forse anche saturo di applicazioni?

Il mercato Mobile italiano, così come quello internazionale, è in forte crescita anche se purtroppo è un mercato per molti versi e per molti ambiti saturo, nel quale è molto difficile distinguersi e farsi notare, soprattutto se si sviluppano applicazioni da privato. Il problema nello sviluppo di App non risiede tanto nello sviluppo in sé, ma nel pubblicizzarle e farle conoscere: purtroppo queste operazioni sono spesso molto costose e poco sostenibili per uno sviluppatore autonomo.

Il mio parere è che oggi i modi migliori per far notare la propria applicazione sono due: pubblicizzarla in maniera massiccia e mirata, metodo come detto prima molto costoso e non da tutti sostenibile, oppure sviluppare un'applicazione che sia realmente innovativa e che crei subito un forte interesse da parte degli utenti. Purtroppo in Italia il culto di acquistare applicazioni a pagamento è ancora molto limitato e poco praticato, al contrario di molti paesi stranieri nei quali il guadagno tramite la vendita di applicazioni mobile è di molto maggiore del nostro. Pensate all’America.

Quali ecosistemi e piattaforme di sistema operativo ha sposato e perché? Il mercato sembra ormai dominato da Android e, a seguire, da iOS. Quali sono secondo lei le motivazioni che guidano i consumatori nella scelta di una di queste due piattaforme?

Essendo uno sviluppatore mobile di professione, oltre che per passione, ho approfondito e ampliato le mie conoscenze nei due principali sistemi operativi: Android e iOS. Purtroppo, o per fortuna, questi due ambienti Mobile detengono il monopolio ed è quindi di grande importanza avere competenze e mantenersi aggiornati su entrambi, così da poter avere una maggiore possibilità di riuscita e poter coprire un bacino di utenza più alto, rilasciando App per entrambi i sistemi operativi.

A mio avviso le motivazioni per cui questi due sistemi operativi detengono il monopolio, e sono i più utilizzati, risiedono nella loro semplicità d'uso da parte dell'utente, acquisita negli ultimi anni da Android e sempre stata presente su iOS. Prendiamo come esempio l'ormai abbandonato, e in via di disuso, sistema operativo Windows Phone: questo sistema offre una vasta gamma di funzionalità e una semplicità d'uso non indifferente grazie alla sua semplice interfaccia grafica, inoltre il linguaggio di programmazione utilizzato per lo sviluppo di App native per Windows Phone (C#) penso sia uno dei più potenti, completi e moderni linguaggi di programmazione. Nonostante tutte queste qualità, Windows Phone è stato poco considerato dagli utenti finendo nel dimenticatoio e creando una sorta di freno da parte degli sviluppatori, lasciando quindi lo store praticamente privo di applicazioni degne di nota.

Oggi la scelta tra il sistema operativo iOS e Android è, secondo me, solamente una questione di abitudine e nient'altro; lo Smartphone è diventato ormai un oggetto personale con il quale viviamo ogni giornata, lo utilizziamo per i più svariati compiti ed è quindi normale che le persone si abituino ad un sistema operativo e facciano fatica a cambiare le loro abitudini. Entrambi hanno raggiunto un livello di facilità d'uso, chiarezza e funzionalità pressoché identico, quindi direi che si equivalgono nettamente per quanto riguarda l'esperienza utente che possono offrire, cosa invece non vera per quanto riguarda la logica con cui sono stati pensati e programmati, ma questa è un'altra storia.


Quali sono le APP che ha fin qui sviluppato? Ce le può descrivere in dettaglio pensando ai lettori curiosi ed esigenti di SoloTablet? A chi sono rivolte?

Fino ad ora ho sviluppato e ho contribuito allo sviluppo di 4 applicazioni: wRestaurant, CPCalc, DoMixer e Reev.



wRestaurant:

La prima delle quattro App, wRestaurant, è una semplicissima quanto funzionale applicazione: permette di visualizzare all'avvio dell’App una lista di ristoranti, o di qualsiasi locale rientri nell'ambito della ristorazione, presenti nei dintorni della posizione in cui ci si trova. Questa applicazione è disponibile solo per Android ed è stata sviluppata utilizzando Apache Cordova, una particolare tecnologia per lo sviluppo di applicazioni mobile, dette applicazioni ibrice, basate su codice Web. In pratica il codice “funzionale” dell'applicazione rimane lo stesso su tutte le piattaforme (iOS, Android, Windows Phone, etc.) permettendo così di scrivere una sola volta il codice funzionale e poterlo applicare sui vari sistemi operativi. Sembrerebbe tutto rosa e fiori ma in realtà ci sono dei limiti che questa tecnologia possiede ed inoltre, essendo basata su linguaggi Web, non sempre è facile e intuitiva da utilizzare per uno sviluppatore mobile che non si sia mai affacciato in maniera seria al mondo web.



CPCalc:

CPCalc, sviluppata esclusivamente per Android, è forse l'applicazione più semplice, sia graficamente sia a livello di funzionalità. L'App non è altro che un calcolatore del punteggio di evoluzione dei Pokemon, e chi conosce il gioco Pokemon Go, uscito l'anno scorso sugli Store, non può non sapere di cosa si stia parlando. L'applicazione ha semplicemente sfruttato l'enorme onda del successo di Pokemon Go arrivando a quasi 25.000 download e permettendomi di guadagnare qualche centinaia di euro grazie all'inserimento di banner pubblicitari all'interno di essa. Considerando il tempo di sviluppo di circa 2 ore il rapporto fatica/guadagno è stato ottimo direi.



DoMixer:

La terza applicazione, la migliore a livello grafico, strutturale e tecnologico, è DoMixer. Sono un appassionato di alimentazione, benessere e sport, così ho deciso di iniziare una serie di sviluppi in questo ambito partendo proprio con DoMixer.
L'applicazione è stata sviluppata, al momento, esclusivamente per iOS utilizzando una serie di nuove tecnologie e l'ultima versione del nuovo linguaggio di programmazione adottato da Apple: Swift 3. Le tecnologie di maggior importanza utilizzate per l'applicazione riguardano Firebase, Realm e Crashlytics.

Partendo dalla prima, Firebase, bisogna subito dire che Google non delude mai, infatti questa piattaforma è stata interamente sviluppata da Big G per offrire agli sviluppatori una suite, veramente molto potente, di strumenti per agevolare e supportare la programmazione di applicazioni mobile. Ad esempio, grazie a Firebase è possibile creare una sorta di database online al quale l'applicazione si sincronizza per richiedere, o inviare, i dati di cui ha bisogno per il funzionamento; oppure è possibile gestire l'autenticazione degli utenti attraverso email, Google, Facebook e tantissime altre funzionalità veramente molto utili, oserei dire indispensabili per poter sviluppare un'applicazione di un certo livello. La cosa più importate è che tutte queste funzionalità vengono offerte in maniera del tutto gratuita, vantaggio fondamentale per uno sviluppatore privato.



Realm invece è un database mobile che permette di creare in maniera agevole, potente e intuitiva, un database sul dispositivo per lo storage dei contenuti di cui l'applicazione necessita. L'importanza di un database sul dispositivo è ovvia, senza di questo l'applicazione non avrebbe modo di funzionare correttamente in mancanza di connessione dati se la sua unica fonte fosse un database online (in questo caso Firebase). Realm adotta una logica NoSQL e quindi si differenzia dai database standard offerti dalle varie piattaforme, SQLite per Android e CoreData per iOS, offrendo prestazioni ed intuitività d'utilizzo veramente elevate.
Infine Crashlytics è una potente libreria che permette, una volta integrata all'interno del progetto, di ricevere avvisi in tempo reale via email di tutti i crash o blocchi che l'applicazione ha durante l'utilizzo e mette a disposizione dello sviluppatore una chiara e ben fornita console in cui si possono visualizzare, oltre a tutti i crash che l’ App ha avuto fin dalla sua pubblicazione, statistiche di utilizzo e quant'altro.
Grazie all'integrazione e all'utilizzo di queste tecnologie è stato possibile creare un'applicazione responsive, con delle elevate prestazioni, in grado di fornire all'utente finale un'ottima esperienza d'utilizzo.

Inoltre, grazie all'uso congiunto di Firebase e Realm, è possibile fare in modo che l'utente visualizzi in tempo reale le modifiche che vengono fatte agli elementi sincronizzati dall'applicazione con il database di Firebase (in questo caso frullati, smoothie e frappé). Un esempio pratico potrebbe essere la modifica di un frullato: mettiamo il caso che l'immagine o il testo della descrizione siano errati o io voglia aggiornarli, se l'utente sta utilizzando l'applicazione nel momento in cui i dati vengono aggiornati, visualizzerà all'istante i cambiamenti sull'applicazione, in caso contrario, come succede nella quasi totalità delle applicazioni, visualizzerà i cambiamenti solo dopo primo riavvio. Questa logica si applica con gli inserimenti e la cancellazione di elementi oltre che la modifica di elementi già presenti.


Infine tramite Firebase è possibile visualizzate statistiche di ogni tipo riguardo all'utilizzo dell'applicazione, gestire il login e la registrazione degli utenti in maniera semplice e sicura, gestire il caricamento di file quali foto, video e tanto altro. Penso che la suite Firebase sia una delle piattaforme più complete e potenti a disposizione degli sviluppatori e il tutto, ripeto, in maniera del tutto gratuita.

Reev:

Infine l'ultima delle applicazioni è Reev. Questa App meriterebbe un capitolo a parte, per quanto riguarda le tecnologie utilizzate per svilupparla, ma lo scopo e le funzionalità che questa App mette a disposizione degli utenti sono veramente tante e variegate, inoltre offre un servizio veramente innovativo per tutto ciò che riguarda i locali, gli eventi e qualsiasi cosa che abbia a che fare con il divertimento.



Ci può descrivere le principali caratteristiche e funzionalità dell'applicazione?

Certamente, partiamo dalla prima delle 4 che ho nominato, wRestaurant.


Il funzionamento di questa applicazione è molto semplice, tramite l'utilizzo di Google Maps e delle sue API, l'App localizza tutte le attività registrate sotto l'ambito della ristorazione che si trovano in uno spazio ben definito, proponendole all'utente in forma di semplice lista. Cliccando su uno degli elementi della lista vengono mostrate all'utente varie scelte in base alle informazioni che Google Maps restituisce riguardo all'attività selezionata come: Navigatore, Telefono, Sito Web, Foto e Orari.
Cliccando sul pulsante Navigatore si avvierà l'app di navigazione predefinita sullo Smartphone per dirigersi verso il ristorante o locale selezionato; tramite Telefono si avvierà l'applicazione predefinita per le chiamate sul nostro Smartphone con il numero del locale già pronto per essere chiamato. Tramite Sito Web si aprirà il browser alla pagina web del locale e con Foto si potranno visualizzare le foto che il locale stesso ha caricato su Google. Infine, tramite il pulsante orari è possibile visualizzare tutti gli orari di apertura e chiusura dell'attività (LINK PLAY STORE).

Per quanto riguarda CPCalc: è stata un’App sviluppata esclusivamente con lo scopo di dare un supporto ai giocatori più accaniti di Pokemon Go (me stesso compreso fino a qualche mese fa) nel calcolo del punteggio di evoluzione dei Pokemon catturati. (https://play.google.com/store/apps/details?id=com.ssalarolana.cpcalc&hl=it)

DoMixer penso sia la mia creazione migliore. Sostanzialmente è un'applicazione molto semplice perché permette, tramite un menu laterale, di scegliere tra tre liste: Frullati, Smoothies e Frappé. Scegliendo una delle tre liste si avrà un elenco di tutte le ricette presenti all'interno dell'applicazione e, cliccando su ognuna di esse, si potrà accedere alla scheda di dettaglio contenente foto, un voto condiviso tra tutti gli utenti che utilizzano l'App, ingredienti, preparazione ed eventualmente un link ad un video o a un articolo esterno e i valori nutrizionali. E' inoltre possibile condividere la ricetta tramite WhatsApp cliccando sull'apposito pulsante in fondo alla scheda di dettaglio e aggiungere l'elemento alla lista dei preferiti per averlo sempre sotto mano.


Un'altra funzionalità molto interessante è la funzione d’inserimento di un elemento: in pratica l'utente può inserire un proprio Frullato/Smoothie/Frappé compilando un'apposita Form, semplicemente cliccando sulla voce “Inserimento” nel menu laterale. Tramite la form è possibile inserire fino a 3 fotografie e tutti i dati necessari per andare a comporre la scheda del prodotto. Una volta completata la compilazione sarà possibile visualizzare un'anteprima della scheda di dettaglio oppure inviare l'elemento al Database online di DoMixer per essere prima valutato e poi, se ritenuto idoneo e senza irregolarità, inserito nel DB online per essere condiviso con tutti gli utenti che utilizzano l'applicazione. In questo modo è possibile creare una sorta di comunità che condivide le proprie ricette con tutti gli utilizzatori dell'App.
Per poter utilizzare l'applicazione è necessario registrarsi tramite l'apposita form di registrazione all'interno dell’App, oppure effettuare l'accesso tramite il proprio account Gmail. Effettuando l'accesso con l'account Gmail sarà possibile inoltre invitare altre persone presenti tra i contatti sul proprio Smartphone a scaricare l'App semplicemente cliccando sul pulsante in alto a destra nella barra di navigazione.


Prossimamente sono previste funzionalità aggiuntive come la ricerca degli elementi tramite parole chiave all'interno delle liste di elementi, l'accesso con Facebook e altre migliorie. (LINK APP STORE)

Infine per quanto riguarda Reev, un'applicazione alla quale ho contribuito allo sviluppo, possiamo dire che è stata creata e pensata per il mondo degli eventi e dell'intrattenimento. E' un'applicazione che permette a chi la utilizza di visualizzare tutti gli eventi e i locali in un raggio a scelta tra 1km e 40km. Nella schermata principale abbiamo una mappa semplificata a forma di sonar in cui sono rappresentati tutti i locali con dei piccoli pallini.

Tramite tre grossi pulsanti presenti nella homepage è possibile visualizzare:

  • Il menù del giorno dove sono disponibili tutti gli eventi del giorno e di quelli a seguire e il calendario in cui, per ogni singolo giorno, è possibile visualizzare tutti gli eventi disponibili;
  • Filtrare i locali sulla mappa per preferiti, quelli in cui sono presenti gli amici che stanno seguendo sull'applicazione, quelli convenzionati Reev e i locali con gli eventi nella giornata odierna. Infine il pulsante per fare check-in, ovvero, segnalare la propria presenza all'interno del locale al locale stesso e a tutte le persone che ti seguono all'interno dell'applicazione.


Un'altra magnifica funzionalità è quella del ROAR: cliccando sulla propria foto profilo al centro della mappa è possibile condividere un post geolocalizzato all'evento in cui ci si trova in quel momento scrivendo qualsiasi cosa si voglia!


Infine non mancano tutte le classiche funzioni di ricerca dei locali, eventi e persone con varie possibilità di filtri da applicare nelle ricerche ed inoltre c'è la possibilità di personalizzare il proprio profilo tramite foto ed altre informazioni; una chat con cui poter comunicare con tutti gli amici Reev e tante altre funzionalità.
In pratica tramite questa applicazione oltre ad essere a conoscenza di tutti gli eventi che ci circondano in qualsiasi zona ci si trovi, si può anche essere a conoscenza di dove i propri amici, conoscenti o chi per loro, vanno a divertirsi la sera. Inoltre, grazie a un pannello di back end personalizzato, gli esercenti convenzionati Reev possono conoscere dati e statistiche degli ingressi fatti durante una serata per poter valutare al meglio le scelte e le strategie da adottare per aumentare la clientela. L'applicazione è sviluppata per iOS e Android ed è totalmente gratuita, in più, grazie all'enorme quantità di locali ed eventi inseriti, è fruibile per una larga fascia di età. E’ un’App da provare assolutamente. (LINK SITO WEB)

Lo sviluppo di un'applicazione e la sua pubblicazione sullo store non è che il primo passo per un effettivo guadagno e successo. Quali attività marketing, promozionali e commerciali ha implementato? Quanto è stato oneroso farlo e quali risultati hanno portato?

E' esattamente cosi, lo sviluppo non è che il primo passo, purtroppo. Al giorno d'oggi, come è già stato ribadito, il mondo delle applicazioni mobile è veramente molto vasto e variegato, quindi è molto difficile farsi notare in maniera automatica e senza adottare nessuna strategia. Ad oggi gli strumenti principali per poter fare marketing e far conoscere la propria applicazione sono senza dubbio i Social Network. Tramite i Social è possibile pubblicizzare ogni applicazione facendo in modo che le persone vengano a conoscenza del prodotto e lo condividano con i loro followers, è quindi un sistema che si autoalimenta e con una spesa nulla si possono realizzare un buon numero di download iniziali.


Un altro ottimo modo di promuovere la propria creazione è il buon vecchio passaparola; può sembrare una cosa banale ma grazie al semplice passaparola si possono fare veramente tanti download ed inoltre, avendo a che fare fisicamente con le persone, si possono conoscere tutte le problematiche dell'App, le migliorie che si possono apportare e scoprire bug non rilevati durante lo sviluppo.


Un’ulteriore spinta può essere data da iniziative come la vostra di SoloTablet che permettono a uno sviluppatore come me di poter parlare di sé e far conoscere al pubblico le proprie creazioni.

Ha nuove applicazioni in cantiere di cui vuole fare delle anticipazioni per informare i lettori di SoloTablet?

Sì, ho un'altra idea sempre nell'ambito dell'alimentazione e benessere che inizierò a sviluppare, per entrambe le piattaforme Android e iOS, non appena avrò portato a termine tutti i lavori in corso e non appena avrò fatto un pò di meritata vacanza. (Non vedo l'ora di andare in ferie).

Cosa pensa di una iniziativa come SOLOTABLET?

Penso che sia una iniziativa veramente fantastica per tutte le persone che lavorano o semplicemente sono appassionate di tecnologia e di tutto quello che ne concerne. Il solo fatto che un semplice sviluppatore come me possa avere l'opportunità di dire la sua, raccontarsi e spiegare i suoi lavori è un’opportunità che apprezzo veramente molto.

Da quando vi ho scoperti il vostro portale è diventato per me un punto di riferimento per mantenermi aggiornato su tutto quello che succede nel mondo della tecnologia, quindi complimenti e alla prossima.




comments powered by Disqus

Sei alla ricerca di uno sviluppatore?

Cerca nel nostro database