Affrontiamo il sempre attuale tema delle ROM custom per dispositivi mobili con la collaborazione di un personaggio di spicco dell'attuale panorama del modding, Leonardo Marchese, in arte LeoMar75, che ci ha gentilmente concesso un'intervista per conoscere meglio sia lui che la sua attività.
Buongiorno Leonardo, se dovessi spiegare in parole semplici ai nostri lettori chi è il modder cosa diresti ?
Si potrebbe definire il modder colui che, spinto da grande passione e curiosità, tenta di modificare e personalizzare tutto quello che passa per le sue mani: da una semplice tema fino ad applicazioni piuttosto complicate. In parole semplici il compito del modder è quello di trovare nuove funzionalità che non erano state incluse o progettate nel software originale.
Il lavoro del modder inizia con il cosiddetto processo inverso di studio del software originale, più esattamente eseguendo la cosiddetta fase di reverse engineering del software. Questo può comportare semplici modifiche riguardanti la sostituzione di alcune immagini facenti parte di un determinato pacchetto di sistema fino ad arrivare a modifiche del layout stesso delle interfacce grafiche che andranno poi a costituire il tema finale modificato. Il modder solitamente è anche uno sviluppatore ed alcune volte è in grado di trovare bug e introdurre nuove features nell'applicazione stessa.
Andrebbe sottolineato che il lavoro del modder richiede oltre ad una approfondita conoscenza, tanto tempo ed infinita pazienza. Nel 70% dei casi non si ha a disposizione il codice sorgente (magari anche commentato) per sviluppare o correggere qualcosa, bensì si parte dal codice eseguibile già compilato e si esegue un processo di disassemblaggio. Il risultato è un codice di basso livello quindi molto difficile da comprendere ed interpretare, ma soprattutto da modificare.
Quali sono le differenze tra una rom modificata e una rom originale ?
La cosiddetta “custom rom” spesso differisce dall'originale sotto diversi aspetti:
- Root. In questo modo si ottengono i privilegi di super user ed è possibile far girare script ed applicazioni che andranno a modificare parametri di sistema, inoltre il root consente alche l'installazione di diversi software che sono in grado di effettuare backup di dati ed applicazioni a basso livello.
- Custom Kernel. Partendo dall'ultimo codice sorgente a disposizione, si cerca di introdurre svariate modifiche ed ottimizzazioni che spaziano dalla possibilità di abilitare l'overcloking ed il downvolt ad ottimizzazioni che potrebbero portare benefici alla durata della batteria. Si dovrebbe aprire un capitolo intero dedicato al kernel, il cosiddetto “cuore del sistema operativo”.
- Tema. Si cerca di modificare tutta la veste grafica rispetto alla rom originale. Si modifica anche la grafica per i pacchetti di sistema preinstallati con la rom.
- Le mod. Si modificano configurazioni, lo stesso software nei pacchetti per portare nuove caratteristiche molto utili e non presenti nella rom originale.Quindi mod che portano ad ottimizzazioni del codice, bug fix, ottimizzazioni nella gestione della memoria ed altre caratteristiche tipo registrazioni di chiamate telefoniche, fotocamera migliorata per qualità video/audio, messaggi ricevuti che hanno la data di invio, browser che ha la possibilità di scelta di visualizzazione desktop /mobile delle pagine web.Questi sono solo pochissimi esempi di quello che può essere modificato in una rom.
Quando è scattato e qual è stato l'input che ti ha fatto sentire la necessità di inziare a realizzare delle ROM che differiscono da quelle originali installate nello smartphone dai produttori ?
Ho iniziato per pura curiosità quando avevo comprato LG Optimus Dual (2x). Ci si aspettava molto dal primo smartphone dual core commercializzato, ma, almeno inizialmente, il software lasciava a desiderare. Inoltre il sistema operativo Android non era stato aggiornato, essendo basato ancora su “Froyo”. Per fortuna LG ha fatto grandi passi in avanti, dando spazio alle voci ed ai feedback degli stessi utenti che hanno consentito di migliorare l’esperienza di utilizzo del device.
Bene, spinto dalla curiosità e dal desiderio di comprendere tutto ciò che era possibile fare, ho iniziato a studiare dapprima il sistema operativo Android e l’SDK Android di sviluppo, per poi passare al funzionamento di tutti i tools a disposizione del modder.
La passione di Leonardo per il modding è scattata con un LG Optimus Dual
I non addetti ai lavori sono a volte portati a scambiare il "modder" per un "hacker" nel senso negativo del termine. Sei veramente un "ragazzo cattivo" nonostante una laurea in informatica alla Sapienza di Roma con il brillante voto di 110 su 110 ?
E’ davvero difficile trovare una risposta diretta. Ci sono diverse scuole di pensiero a riguardo ed il confine tra le due parti è davvero sottile. Io non mi reputo un hacker, un hacker non sempre (quasi mai) porta benefici ad altre persone, al contrario il modder cerca di aiutare la comunità.
L’università sicuramente è stata una bella esperienza che mi ha fatto crescere ed un biglietto da visita per lavorare in grandi aziende. Infatti ho avuto l’opportunità di lavorare in Italia (ESA European Space Agency) ed all’estero grazie al famoso “pezzo di carta” . Posso comunque confermare che non bisogna avere una laurea per addentrarsi nel mondo del modding. Serve solo tanta pazienza e buona volontà.
Anche se il confine tra modder e hacker può apparire sottile, esiste segno distintivo netto tra le due figure: il modder mette al servizio della comunità le sue conoscenze
Chi non conosce il mondo del modding potrebbe considerare con una certa diffidenza l'opportunità di installare una ROM che non proviene dal produttore, perchè ritenuta non sufficientemente affidabile e testata. E' fondato questo timore ?
Si è decisamente fondato questo timore. Non sempre avere una Custom ROM significa che il proprio smartphone andrà da “paura”. Infatti il più delle volte ci si basa su software che sono nella cosiddetta fase di “beta” e non si hanno a disposizione i “changelogs” che evidenziano i miglioramenti apportati al nuovo firmware “rilasciato” Solo grazie all’aiuto della comunità dei modders ed agli stessi utenti che lasciano costantemente feedback si può misurare la bontà del software su cui si è costruita una Custom ROM. Il famoso Bug è sempre dietro l’angolo. Questo vale anche per il software originale sia ben chiaro.
Non è infrequente notare che la community di sviluppatori indipendenti anticipa anche di diversi mesi gli aggiornamenti ufficiali attesi dagli utenti. Quanto tempo ti occorre in media per realizzare una ROM personalizzata ?
Una volta che si è partiti con la prima release della propria Custom ROM, i tempi necessari per “cucinare” una nuova release possono aggirarsi dai 3 ai 6 giorni. Il problema è che bisogna prima studiare e comprendere tutte le modifiche che potranno essere apportate, per questa fase potrebbero essere richiesti anche mesi di studio.
In gergo il "cuoco" di una ROM è colui che mette insieme anche vari mod e tweak sviluppati da altri utenti della community. Quando si può effettivamente definire una nuova ROM "originale" e il cuoco un vero e proprio "chef" di alta cucina ? Esiste un "codice deontologico" dei modder per l'attribuzione della paternità delle singole componenti di una ROM Custom ?
Ottima domanda! Generalmente il “cuoco” cerca di mettere insieme le varie mod a disposizione, include alcune utility ed applicazioni, cerca di creare degli script di ottimizzazioni oltre che a firmare la propria custom ROM con un tema accattivante. Detto questo, questo genere di “cuoco” avrà vita dura in una comunità di sviluppatori agguerriti.
Recentemente si sono scoperti molti cuochi che facevano esattamente questo, ma soprattutto copiavano anche configurazioni, script e diverse parti di un tema da altre Custom ROM . Inoltre un cuoco appartenente a questa “classe”, non sempre conosce come poter apportare modifiche ad un software ed aspetta sempre che qualcun altro esegua la modifica prima di lui per poi prendere di sana pianta il pacchetto modificato.
Su un noto forum di riferimento mondiale (parliamo di XDA-developers ndr.) sono state create delle sezioni specifiche per chi esegue qualcosa di originale e per chi invece parte da una custom ROM di un altro autore. Sono stati stabiliti dei non facili criteri per giudicare le Custom ROM.
Fortunatamente i miei lavori sono inseriti nella sezione “Original Android Development”
Alcuni screenshoot della Revolution ROM creata da Leonardo che migliora l'aspetto e le prestazioni del Samsung Galaxy S II
Siamo stati attratti in particolar modo da una soluzione che hai adottato in uno dei tuoi ultimi lavori, la ROM LeoMar75 Revolution per il Samsung Galaxy S II, ovvero la Kitchen App che hai sviluppato in collaborazione con la Digital Alliance. Ci sembra una soluzione molto originale e adatta anche all'utente alle prime armi. Puoi spiegare ai nostri lettori di cosa si tratta ?
Si è stata davvero una bella idea, da qui viene il nome “Revolution”. In pratica senza avere nessuna conoscenza nel mondo del modding, utilizzando questa Kitchen Application è possibile in pochi passi creare la propria Custom ROM a piacimento, con le mod, temi e tantissimo materiale che di giorno in giorno aggiungo sul server della kitchen. La cosa molto accattivante è la possibilità di ricevere le notifiche sui nuovi aggiornamenti della ROM e sui nuovi pacchetti. Con la sola applicazione è possibile installare le mie custom rom ed essere sempre aggiornati in automatico. L’applicazione provvederà all’installazione della ROM e dei pacchetti selezionati. Si potranno avere le preview per i temi, fonts, boot animation, changelog per kernel, e cosi via…
La Revolution ROM Kitchen App, sviluppata da Leonardo Marchesi in collaborazione con la Digital Alliance
Quali sono i lavori di cui vai più fiero e dove li possiamo trovare ?
Sono costantemente presente sul forum XDA-developers, il punto di riferimento di ogni sviluppatore o modder! Sono inoltre presente anche in diversi forum italiani come HDBlog e Androidiani. Riguardo ai miei lavori basterà cercare il mio nickname: leomar75
I tuoi lavori sono messi a disposizione del pubblico che può scaricarli gratuitamente. Cosa ti spinge a condividere senza alcun compenso dei prodotti che hanno richiesto molte ore per essere realizzati ?
Ultimamente sto lavorando anche su richiesta. Ottengo donazioni in cambio di particolari personalizzazioni. Non chiedo mai donazioni esplicitamente, ma devo dire che ho ricevuto delle belle soddisfazioni! Certamente non ripagano tutto il tempo dedicato allo sviluppo, io “lavoro” 14 ore al giorno circa. In attesa di un “reale” impiego (sono da alcuni mesi disoccupato) continuerò su questa strada.
Dopo la nostra lunga chiacchierata sicuramente qualcuno dei nostri lettori indecisi se iniziare ad installare ROM custom sul suo smartphone avrà fatto venir meno i suoi dubbi e starà già iniziando a scaricare una tua ROM. Quali sono i rischi, se ce ne sono, legati all'installazione di una ROM custom ? Installare una ROM custom invalida la garanzia ?
Ad essere onesto, io sconsiglio vivamente a chi è nuovo di cimentarsi con il modding. Spesso i lettori si cimentano nel modding senza una dovuta ed approfondita ricerca. Se non si è “dentro”, si rischia tantissimo, fino ad arrivare al completo inutilizzo del proprio smartphone.
Riguardo alla garanzia, alcuni produttori come il grandissimo “LG” ha spiazzato tutti, consentendo ai vari users di utilizzare custom ROM senza invalidare la garanzia. Questo non è sempre vero con altri competitors ed occorre essere essere consapevoli di quello che potrebbe accadere.
In difesa delle custom rom posso affermare che nel 90% dei casi è possibile ripristinare il telefono allo stato di fabbrica e quindi non invalidare la garanzia.
Abbiamo di recente assistito ad una favola a lieto fine, quella di Steve Kondik, fondatore del progetto open source CyanogenMod che è stato assunto da Samsung per contribuire allo sviluppo della piattaforma Android. L'episodio, a nostro avviso, è emblematico perchè rappresenta un segno della sempre crescente attenzione dei produttori di smartphone rispetto al fenomeno delle ROM personalizzate e dei loro autori. Se, come ci auguriamo, ti arrivasse una proposta da un'importante azienda, continueresti ancora a mettere a disposizione della community le tue ROM gratuitamente ?
Sarebbe un sogno se ciò dovesse accadere, anche se non mi ritengo assolutamente ai livelli del team “Cyano” ed ho molta strada da fare.
Sicuramente dovrò fare una scelta, mi adeguerò senza troppi problemi a quelle che sono le politiche aziendali riguardanti il supporto per gli utenti. Quindi non avrò difficoltà a gestire la nuova situazione e cercherò, per quanto mi sia possibile, di dare anche un contributo alla comunità degli sviluppatori. Questo è il bello e lo spirito dell’ Open Source!!!
Ringraziandoti per la tua disponibilità e augurandoti il successo che meriti sia per le tue ROM Custom che per la tua attività professionale ti chiediamo di trasmettere un messaggio finale rivolto ai tre soggetti coinvolti nel mondo del modding: i produttori di dispositivi mobili, la community di sviluppatori e gli utenti finali.
Produttori: Abbiate cura dei vostri utenti finali. Loro rappresentano il futuro della vostra azienda. Non dimenticatelo mai. Non sottovalutate mai la parola che viene dal basso.
Community di sviluppatori: Non siamo in gara, quindi imparate a condividere le vostre conoscenze, solo in questo modo possiamo creare grandi cose. Da soli non si và da nessuna parte!
Utenti finali: Lasciate perdere le Custom ROM. L’80% delle persone hanno bisogno di un telefono per lavorare, quindi la massima stabilità potete averla solo con il software originale. Se proprio non riucite a resistere alla tentazione, assicuratevi di montare una Custom ROM basata su un aggiornamento ufficiale del produttore, non basata su un firmware leaked