Editoriale: FirefoxOS, androidi e panda rossi

Giuseppe Tripodi
Giuseppe Tripodi Tech Master
Editoriale: FirefoxOS, androidi e panda rossi

Di Firefox OS (nome in codice Boot to Gecko) non se ne parla ancora moltissimo, ma sul web sono iniziate ad apparire le prime informazioni, da qualche mese a questa parte: ZTE dovrebbe lanciare uno smartphone con il sistema operativo della Mozilla a breve, ma ancora sono molti gli scettici in giro che si domandano a chi e a che cosa possa servire un nuovo sistema operativo per device portatili.

Ieri 26 Gennaio a Roma si è tenuto il Firefox OS App day, un evento per sviluppatori e smanettoni al quale abbiamo avuto il piacere di partecipare: oltre a lodare il team italiano per la splendida organizzazione, adesso siamo qui a riportarvi le nostre impressioni su questo nuovo OS, in particolare confrontato con Android. Il faccia a faccia con il nostro sistema operativo preferito risulta quasi d'obbligo, ed è stato più volte materia di discussione durante i talk: entrambi hanno un cuore Linux che pulsa sotto l'interfaccia grafica e tutti e due fanno dell'open source un loro punto di forza.

Fatte queste doverose premesse, iniziamo ad introdurvi al mondo del Panda rosso (qualora qualcuno non lo sapesse ancora: sì, Firefox è il nome inglese di questo animale) e al suo ecosistema.

Web app

FFOS - home

Tutto, su Firefox OS è web app. O meglio, per farla più semplice, tutto è basato sui linguaggi che dominano il web: HTML5, CSS3 e Javascript. Inutile sottolineare cosa comporti questo, ma lo facciamo comunque per chiarire le idee: non utilizzare un linguaggio di programmazione nativo ma basarsi sugli standard web implica che chiunque abbia mai sbattuto un po' la testa contro un sito internet può facilmente scrivere software che girerà su Firefox OS. Anche se i developer Android sono nell'ordine delle (centinaia di) migliaia, il numero è comunque infimo se confrontato con i milioni di persone in grado di gestire una pagina internet.

Dicevamo, dunque, che tutto è webapp: anche le applicazioni di sistema, come il dialer o il programma per inviare SMS, sono basate su HTML e da qui si deduce facilmente che - ovviamente - non bisogna essere connessi ad Internet per utilizzare gli applicativi: Firefox OS è immaginabile come un "grande browser", che utilizzando un kernel Linux e le API Mozilla, tramite delle "pagine web" è capace di interagire con l'hardware.

Parlando di connessione, però, introduciamo anche una nuova divisione, che vede scontrarsi le applicazioni hosted e le packaged: la differenza è chiara e netta, poiché le prime non risiedono fisicamente sul dispositivo e possono essere lanciate solo tramite web, mentre le seconde, impacchettate in uno zip, si trovano effettivamente nella memoria del dispositivo ed utilizzano un sistema di appcache per mantenere i dati in locale (impostazioni salvate, progressi nei giochi e quant'altro). L'altra grande differenza che separa le due consiste in una minore quantità di privilegi per le app hosted, che non possono eseguire operazioni che andrebbero a minare la sicurezza dell'utente (leggere le informazioni del telefono, inviare SMS...): tuttavia, questo non è limitante come si potrebbe pensare, poiché grazie all'introduzione delle WebActivity, con una logica simile agli Intent di Android (per chi se ne intende di programmazione), un'app, dopo aver avuto la conferma dell'utente, può comunicare con un altro software installato, chiedendo di compiere un'azione: che sia prelevare una foto dalla galleria, effettuare una chiamata o quant'altro.

API

Per quanto riguarda le API rilasciate, si dividono in due tipi: quelle utilizzabili da tutte le applicazioni e quelle che comporteranno la certificazione dell'app da parte di Mozilla: i software che richiederanno l'accesso a contenuti che potrebbero "minacciare" la sicurezza dell'utente (chiamate, messaggi, modifica impostazioni) dovranno essere validati da parte di un team che, semplicemente, controllerà la bontà del codice per verificare che non ci siano intenti malevoli. Come è stato assicurato, comunque, la certificazione non sarà un processo lungo e "insormontabile", ma più una prassi di rito per evitare di far circolare applicazioni potenzialmente pericolose.

D'altronde, una sicurezza maggiore viene offerta anche all'utente che non solo può leggere tutti i privilegi che l'applicazione richiede, ma può anche selettivamente disabilitare quelli che non lo convincono o che vengono utilizzati per funzioni che non lo interessano. Gli sviluppatori, dal canto loro, saranno invidiati dai developer Android perché possono dettagliatamente spiegare per quale motivo richiedono tale privilegio, cosa che attualmente chi crea software per il robottino verde è costretto a fare nella descrizione sul Play Store.

FFOS - multitasking

Prima di chiudere con le API, ne riportiamo due che ci hanno colpito in particolare: la Idle API (che richiede la certificazione) conseseguire alcune operazioni, generalmente quelle lunghe, pesanti e noiose quando il telefono è in Idle, ossia non utilizzato; rilevando quando l'utente ha smesso di usare il suo dispositivo, l'applicazione provvederà ad eseguire quello specifico processo che così non influenzerà sulla reattività dello smartphone.

La seconda è la Open Webapp API, che si occupa di installare e gestire le app installate: introduciamo qui un'altra novità, ossia che ci saranno software sul MarketPlace ufficiale, ma gli applicativi non dovranno essere installati necessariamente da lì. Qualsiasi sito, insomma, potrà fungere da repository per le proprie applicazioni (sì, anche più di una) e, quando navigato, rilevare  tramite la suddeta API se l'user ha già tale app installata o, in alternativa, proporgli di aggiungerla.

Non si ha accesso, tuttavia, a tutti software presenti sullo smartphone, ma (eventualmente) solo a quelli che provengono dal sito che sta utilizzando l'API.

Semplificando, non è da escludere che se navigherete il nostro sito tra qualche anno da Firefox OS possa comparirvi un popup che vi chieda se volete installare AndroidWorld: una volta accettato, ve la ritroverete direttamente in home senza passare da nessun MarketPlace.

Open Source per forza

Anche Android è Open Source, ma le critiche al sistema operativo di Google sono tante e lo sappiamo bene: prima di tutto, non l'intero OS è libero (le Google App sono infatti codice chiuso), i software presenti sul Play Store non devono necessariamente rendere il sorgente pubblico e, soprattutto, il codice delle versioni di Android viene pubblicato solo dopo il rilascio.

Per Firefox OS non è così: HTML e Javascript sono open per forza, nel senso che per loro natura il codice è visibile ed inoltre Mozilla punterà moltissimo sul cosiddetto Open engineering: i sorgenti dell'intero sistema operativo saranno sempre disponibili durante lo sviluppo e tutti gli utenti potranno contribuire.

Un po' come avviene adesso con Linux, l'unione farà la forza.

Conclusioni

Nella giornata di ieri, lo ammettiamo, c'è stato parecchio da divertirsi, anche grazie al clima amichevole e alle presentazioni molto chiare ma se ci chiedessero se abbandoneremmo Android per Firefox OS, però,  risponderemmo ancora di no.

Le pecche di questo sistema operativo sono quelle che caratterizzano qualsiasi novellino nel campo degli smartphone:  mancano ancora molte funzionalità e tantissime API interessanti sono ancora in fase di sviluppo. Il device presente ieri per i test (che ci è stato assicurato è diverso dal definitivo smartphone per sviluppatori) presentava parecchie incertezze, nonostante l'accattivante interfaccia grafica e l'eccitante consapevolezza che quello che mi girava per le mani erano, fondamentalmente, delle pagine HTML.

D'altra parte, come è stato più volte sottolineato, Firefox OS può potenzialmente uccidere qualsiasi tipo di frammentazione:  realizzando un'app, questa sarà automaticamente utilizzabile su smartphone, tablet, pc desktop, laptop, tv e qualsiasi cosa che abbia su un browser web: l'unica accortezza da prendere sarà realizzare un CSS adattivo che consenta la corretta visualizzazione per le varie risoluzioni.

Se volete provare Firefox OS, potete utilizzare il simulatore (utilizzato per mostrare gli screenshot in alto) che si installa come un componente aggiuntivo di Firefox: notate che non stiamo parlando di un emulatore, poiché non c'è niente da emulare: si tratta effettivamente del reale sistema operativo compilato per funzionare su PC. La versione attualmente scaricabile (la 1.0) presenta ancora un bel po' di bachi di giovinezza che non abbiamo riscontrato nella beta della 2.0 che ci è stata fornita ieri. Non temete, quindi, se incontrerete qualche problemuccio.

Se avete avuto il coraggio e la forza di riuscire a leggere tutto quanto scritto finora, vi invitiamo nuovamente a provare il simulatore e, comunque, farci nei commenti cosa ve ne sembra di questo nuovo, interessante, Firefox OS.