Intervista a Roberto Scarciello creatore di Lucky 6 e SaleCalc.
by Stefano LoduNon sapete che numeri giocare al Lotto o la lotteria ma volete assolutamente tentare la fortuna perchè ve lo sentite dentro che vincerete ? Allora lucky 6 fa al caso vostro. Roberto Scarciello ci racconta le sue esperienze e la sua formazione professionale dopo due applicativi pubblicati su Appstore.
Ciao Roberto, vorrei che ti presentassi agli user di iPhoneandGo con parole tue.
Ciao, innanzitutto grazie per l’onore dell’intervista. Mi chiamo Roberto Scarciello e sono nato a Napoli nel 1972. Sono diplomato come perito informatico. Da circa un anno, per motivi di lavoro, mi sono trasferito a Milano. Sono impiegato, in qualità di software architect, presso una grande azienda italiana dell’IT. Ho dominciato a programmare abbastanza presto, oggi come attività extra lavorative mi diletto di computer grafica e montaggio video e, soprattutto, di programmazione per iPhone/iPod e Mac. I miei interessi, oltre che nella grafica, sono nella lettura e nella musica. Un sogno nel cassetto? Pubblicare un mio libro e realizzare un film in CG.
Che esperienze hai avuto di programmazione prima di arrivare a sviluppare il tuo primo applicativo iPhone.
Ho cominciato a programmare abbastanza presto avevo circa 10/11 anni con il modulo di programmazione per l’Intellivision. Sono poi passato alla linea dei computer Commodore, prima con il Commodore 64 e poi con l’Amiga, facendo comunquee qualche puntatita sul TI-994A, sul 64 ho sviluppato il mio primo programma a pagamento: un gestionale per un negozio di abbigliamento che sfruttava il 64 e l’unità a disco 1541.A scuola ho imparato il Pascal (nella sua incarnazione Turbo versione 3.0) e, grazie all’Amiga, ho fatto un pò da assistente al mio professore per quanto riguarda il linguaggio C.
Subito dopo il diploma mi sono iscritto ad ingegneria informatica ma nel contempo ho iniziato a lavorare a tempo pieno come programmatore. In quel periodo ho imparato il Borland Pascal, il C++ ed il Clipper, inoltre ho iniziato ad interfacciare alcuni dispotivi tramite seriale.
Nel 1995 stipulai un contratto con la facoltà di ingegneria aereospaziale di Napoli in qualità di ricercatore per alcuni progetti per l’analisi ed il confronto delle immagini radar satellitari. Nel tempo ho studiato in particolar modo i database diventando DBA per alcuni RDBMS come Oracle, Interbase, DB2, MySQL e SyBase. Ho preso la certificazione Borland come sviluppatore Delphi e DBA Interbase. Per circa 6 anni sono stato responsabile IT di un’azienda del settore alberghiero con sede a Capri gerente dei primi quattro alberghi dell’isola.
Attualmente, dopo essermi trasferito a Milano, ricopro il ruolo di software architect e sviluppatore Java in una delle più grandi aziende del settore IT italiano. Per quanto riguarda i dispositivi mobili ho sviluppato
diversi programmi di sistemistica su richiesta del cliente su Psion Organizer II e 3 prima e su palmari con Windows CE/Mobile poi su Psion il linguaggio adoperato per losviluppo era l’OPL.
Attualmente lo sviluppo di applicazioni iPhone è un’attività che porto avanti in parallelo sperando di
poterla far diventare l’attività principale. Inoltre mi occupo di creazione di plug-ins e scripts per alcuni
programmi di Computer Grafica quali Maya e Lightwave.
La tua formazione da programmatore come nasce e si sviluppa ?
Nasce fondamentalmente da una passione. Fin da giovane più che ai giochi delle console ero interessato al modo di realizzarli. Un’estate, avevo poco più di dieci anni, lavorai come garzone di salumeria per acquistare il modulo di programmazione dell’Intellivision, solo recentemente ho scoperto che ne erano stati venduti quattro in tutto il mondo, di conseguenza i miei studi sono stati dedicati a questa mia passione con il diploma di perito informatico prima e con l’iscrizione all’università di ingegneria poi.
Fortunatamente ho avuto degli ottimi professori alle superiori che più che insegnarmi a programmare mi hanno insegnato a pensare. Per il resto ho investito sempre molto su me stesso tenendomi costantemente aggiornato e cercando di non copiare ma di capire perchè le cose venivano fatte in un certo modo. Ancora oggi continuo a studiare cercando di seguire gli sviluppi del settore e continuando a sperimentare, muovendomi in vari ambiti sia nel quotidiano con il mio lavoro classico, che nelle mie passioni come
appunto i programmi per iPhone e i plugin per i programmi di grafica 3D.
Nell’apple store ha gia’ pubblicato 2 applicazioni : Lucky 6 e SaleCalc quale di queste le ha dato piu’
soddisfazioni e perche’?
Come emozione immediata direi Lucky 6 è nato per studio e per gioco e ritrovarmelo sull’AppStore e vederlo scaricato in tutto il mondo mi ha reso veramente felice.
SaleCalc invece è quello che mi ha convinto di più sul progetto iPhone. La sua gestazione è stata veramente
interessante. Innanzitutto è un prodotto sviluppato a quattro mani, l’altra persona è Massimo Berta, ma la cosa più interessante è che Massimo attualmente risiede in Irlanda. Ci siamo divisi i compiti, lui si è occupato della grafica ed io dell’implementazione e, senza mai sentirci ma solo via email e chat, abbiamo completato il progetto. SaleCalc, inoltre, è stato anche il primo prodotto con un feedback diretto in cui un acquirente ci ha chiesto di implementare una funzione ed al quale abbiamo risposto positivamente.
Ci parli di quali sono stati i passi per realizzare “Lucky 6″, da dove e’ nata l’idea e quanto tempo ci hai impiegato?
In genere quando inizio a sviluppare per un prodotto nuovo (sia hardware che software) come primo programma creo, per scaramanzia, sempre qualcosa di legato alla sistemistica.
Inizialmente volevo sviluppare qualcosa di più complesso, poi però mi sono orientato a qualcosa di semplice ed immediato, così una sera mentre chiacchieravo con un mio amico mi è venuto in mente quanto un giocatore non abituale si trova in difficoltà nello scegliere i sei numeri di una colonna del superenalotto. Ho così pensato di sviluppare questo semplice programma. Inoltre, visto che c’ero, volevo implementare il supporto per un numero differente di lotterie ma sempre con obbiettivo la semplicità d’uso. In questo modo ho potuto di scoprire bene come funzionavano i meccanismi per lo switch delle view con le animazioni, la personalizzazione dei pulsanti ed il salvataggio della configurazione. Inoltre, cosa forse ancora più importante, ho avuto modo di scoprire i meccanismi di pubblicazione e di certificazione della Apple. Per lo
sviluppo del programma, comprese le schermate grafiche e lo scartabellamento nella documentazione, avvrò impiegato mezza giornata. A proposito della documentazione se si ha pazienza nell’esplorarla c’è veramente tutto.
Lavori solo o lavori in team?
Dipende dal progetto, ci sono progetti che si possono completare tranquillamente in solitario, altri invece in cui un team di sviluppo è obbligatorio. L’esperienza mi ha insegnato alcune cose sul lavoro in team ovvero l’importanza della suddivisione dei compiti, il rispetto dei ruoli ma soprattutto dei singoli membri.
L’iPhone come dispositivo non si presta alla creazione di grandi team (salvo che per progetti eccezionali), ma
sicuramente è adatto per team di 3/4 componenti.
Per imparare l’SDK da dove hai cominciato ? sappiamo esserci miriade di punti : objective-C, Xcode, Cocoa…. !
Ho cominciato, incredibile a dirsi, dal tutorial per creare il programmma “Hello World” fornito con l’SDK. XCode è un ambiente abbastanza semplice da adoperare e permette di scrivere un progetto con vari approcci, di conseguenza è qualcosa che si può apprendere tranquillamente col tempo.
Ciò che conta è invece capire, per bene, la filosofia di sviluppo che c’è dietro ad un programma per iPhone,
l’approccio che Apple consiglia di seguire e perchè, in questo modo si evitano molti degli errori tipici legati
all’inesperienza. Lo step successivo è stato l’Objective-C, è un linguaggio notevole, molto più elegante del C++ e con molte particolarità mutuate da SmallTalk. Se si ha esperienza di programmazione, preferibilmente in C/C++ più che in altri linguaggi, si apprende molto velocemente. Una volta capita la filosofia e le basi il resto viene da se, in effetti i vari framework sono veramente estesi e completi e più che cercare di impararli conviene consultare la documentazione fornita di volta in volta.
Se posso permettermi di suggerire qualcosa, consiglio di non sottovalutare, per quanto riguarda soprattutto lo sviluppo su iPhone, le guide alla gestione della memoria e quelle sulle specifiche delle Human Interface.
AppleStore sappiamo valutare i programmi prima di pubblicarli. Per i tuoi software, quanto tempo e’ passato dal momento dell’invio ?
Lucky 6 è stato pubblicato dopo 3 giorni dall’invio, SaleCalc ha invece richiesto circa 10 giorni. Gli aggiornamenti sono stabili sui 7 giorni.
Le tue applicazioni in AppleStore sono a pagamento, che considerazioni hai tra applicazioni a pagamento e gratis ?
Non faccio particolari distinzioni, dipende molto dall’obbiettivo che si prefigge lo sviluppatore e dalla
visione che ha delle cose. Il prezzo del software è sempre stata una questione molto delicata, chi sviluppa è a metà tra un artigiano ed un artista, deve in pratica rispondere ad un’esigenza fornendo al contempo un qualcosa di pratico e gradevole.
Io sviluppo spesso software gratuiti, altre volte sono a pagamento, dipende dall’obbiettivo e dalla motivazione per cui li sviluppo. Ad esempio in questi giorni ho sviluppato un programma per iPhone per un amico in difficoltà, voleva pubblicare alcune cose ma non sapeva come fare. Gli ho fornito il prodotto completo per permettergli di iniziare come augurio.
Su alcuni siti italiani dedicati alla CG ci sono alcune mie utility usabili gratuitamente. Più in generale scelgo di volta in volta il tipo di approccio da seguire. Anche su iPhone pubblicherò alcune applicazioni gratuite.
Lucky 6 è forse l’unica eccezione, è stato il mio primo prodotto per iPhone e l’ho usato (ampliando quanto ti
scrivevo sopra) per comprendere una serie di meccaniche legate non solo allo sviluppo ma anche alla distribuzione che nel caso di un software gratuito non sarebbe stato possibile comprendere.
Nell’applestore ho visto non esserci molti sviluppatori italiani, secondo te come mai ?
La tua domanda nasconde una profondità veramente elevata, semplificare non è molto corretto, ma volendo riassumere si può ricondurre il tutto a tre fattori: costi, educazione ed aziende.
Per sviluppare su iPhone, ora come ora, di conforme agli standard c’è solo XCode e quest’ultimo funziona solo su computers Apple. Quindi chiunque voglia iniziare a sviluppare su iPhone deve necessariamente acquistare, oltre al cellulare, anche un Mac, inoltre se vuole pubblicare deve comunque pagare i 79 € annui ed essere accettato tra gli sviluppatori. Questo fa sì che nella migliore delle ipotesi l’inizio di quest’avventura si aggira intorno ai 2000 euro. Sviluppare su altri sistemi costa decisamente meno, ad esempio mettere su un programma Java Mobile può anche costare solo 700 euro (il costo della macchina per sviluppare e di un cellulare Java compliant). Va da se che per i singoli che non possiedono un Mac è un costo che si avverte.
Il secondo problema è l’educazione, in Italia non abbiamo una vera e propria educazione informatica, sia essa da semplici utenti che soprattutto da programmatori. Il mondo informatico nel nostro paese è Microsoft Centrico, ed anche nelle scuole si tende spesso a dimenticare che esistono delle alternative a Windows e Visual Studio. Di conseguenza i ragazzi che saranno poi i programmatori di domani che cercano delle alternative vengono in qualche modo lasciati a se stessi ed alla loro capacità di sperimentare. Ma sperimentare con investimenti da 2000 € non è purtroppo alla portata di tutti. Questo non significa
che domani si dovrebbe indire nelle scuole superiori un corso di programmazione iPhone, ma negli atenei forse non sarebbe tanto sbagliato, o meglio, sarebbe corretto indire dei corsi di specializzazione su determinati argomenti in modo da mettere in condizioni migliori i più volenterosi.
Il terzo punto dolente è legato alle aziende. Siano esse pubbliche che private sono anch’esse essenzialmente
Microsoft Centriche, è praticamente impossibile trovare una singola azienda in cui non ci sia almeno un server con Windows installato. Questo non è di per se un male, ma implica il fatto che sul mercato sono richiesti programmatori e sistemisti Windows in quantità decisamente superiore a quelli per altri sistemi operativi. Di conseguenza una persona che cerca di portare a casa la cosiddetta “pagnotta” si orienterà più facilmente allo sviluppo sui sistemi Microsoft che su altri.
Diciamo, più in generale, che allo stato attuale delle cose qui in Italia, sviluppare sui prodotti Apple richiede
lungimiranza e coraggio, ma questo deve più spronare che scoraggiare dal seguire questa strada. Nell’informatica chi è coraggioso, lungimirante ed attento alla fine è sempre premiato e l’opportunità offerta dall’iPhone in testa e dai Mac subito dopo è un qualcosa che non capitava da anni.
Hai in progetto altri applicativi da inviare a AppleStore ?
Si ce ne sono diversi a cui sto lavorando. Si muovono principalmente in tre aree: utility, intrattenimento e
giochi. Almeno un paio saranno gratuiti, ma soprattutto ci sono dei progetti complessi per i quali sto cercando di organizzare un team di sviluppo.
Se dovessi dare un consiglio a i neofiti che desiderano intraprendere la stessa strada cosa gli diresti?
Innanzitutto gli farei i miei complimenti per la scelta. Gli direi di studiare attentamente il codice dei programmi d’esempio forniti con l’SDK, il 90% delle volte contiene la soluzione, o la strada per la soluzione, dei problemi che si incontrano. Ma soprattutto quando iniziano a sviluppare di non andare avanti per tentativi ma di avere ben chiaro in mente cosa vogliono ottenere. L’iPhone, pur essendo decisamente versatile, è comunque un apparecchio mobile dotato di determinate caratteristiche, l’errore grave è nel non tenerne conto o di volerle obbligatoriamente implementare tutte. Il miglior programma è quello più semplice da usare che risponde alle richieste dell’utente velocemente e correttamente. Perdersi in inutili fronzoli quando poi il programma stesso non raggiunge appieno lo scopo per cui è stato creato è indice di un’errata o assente progettazione. Come conseguenza immediata il programma rischia di essere snobbato o comunque recensito male, ma nel corso del tempo manutenerlo potrebbe portare anche alla riscrittura di ampie porzioni di codice.Sedersi a pensare un pò di più prima di mettersi a scrive il codice porta realmente a risparmiare tempo sia nella creazione del programma che nella sua manutenzione.
Ancora una cosa, nel caso in cui pubblichiate un’applicazione e subito dopo iniziano a fiorirne i cloni non prendetevela a male, significa che avete avuto un’ottima idea, complimenti (a me è successo con Lucky 6).
Inoltre quasi tutti i programmatori italiani per iPhone sono persone disponibili e gentili, se si ha bisogno di qualche chiarimento ma si evita di diventare pressanti è possibile contattarli certi di avere una risposta chiara ed esauriente. Inoltre iPhone And Go è una vera e propria miniera di informazioni e potrebbe diventare un punto d’incontro per una community attiva ed in continua espansione.
Roberto Scarciello.
Un ringraziamento da parte di iPhone and Go. Per tutti quelli che ne sono interessati questi sono i link utili:
SaleCalc -> Appstore SaleCalc
Lucky 6 -> Appstore Lucky 6
sito web Roberto Scarciello -> Website Roberto Scarciello
iPhoneandGo - iphoneandgo@gmail.com





4 Comments. Subscribe to this post comments or trackback.
aprile 20th, 2009
[...] team di iPhone and Go capitanato da Stefano Lo Duca e Roberto Scarciello insieme ad altre importanti figure, vuole raccontare, spiegare, condividere il codice di sviluppo [...]
aprile 22nd, 2009
[...] Intervista a Roberto Scarciello creatore di Lucky 6 e SaleCalc.Non sapete che numeri giocare al Lotto o la lotteria ma volete assolutamente tentare la fortuna perchè ve lo sentite dentro che vincerete ? Allora lucky 6 fa al caso vostro. Roberto Scarciello ci racconta le sue esperienze e la sua …http://www.iphoneandgo.it/2008/11/22/intervista-a-roberto-scarciello-creatore-di-lucky-6-e-salecalc/ [...]
aprile 22nd, 2009
[...] Intervista a Roberto Scarciello creatore di Lucky 6 e SaleCalc.Non sapete che numeri giocare al Lotto o la lotteria ma volete assolutamente tentare la fortuna perchè ve lo sentite dentro che vincerete ? Allora lucky 6 fa al caso vostro. Roberto Scarciello ci racconta le sue esperienze e la sua …http://www.iphoneandgo.it/2008/11/22/intervista-a-roberto-scarciello-creatore-di-lucky-6-e-salecalc/ [...]
aprile 23rd, 2009
[...] Intervista a Roberto Scarciello creatore di Lucky 6 e SaleCalc.Non sapete che numeri giocare al Lotto o la lotteria ma volete assolutamente tentare la fortuna perchè ve lo sentite dentro che vincerete ? Allora lucky 6 fa al caso vostro. Roberto Scarciello ci racconta le sue esperienze e la sua …http://www.iphoneandgo.it/2008/11/22/intervista-a-roberto-scarciello-creatore-di-lucky-6-e-salecalc/ [...]