[FOCUS] Galaxy Nexus: ICS vede un’unica partizione per lo storage interno (yey !), ma …

Questo articolo riporta la notizia di una specie di Q&A con Dan Morrill e alcuni utenti sul Galaxy Nexus e su alcune scelte fatte da Google per quanto riguarda la memoria interna, che moltissimi blog hanno già riportato. Quello che leggerete è in parte il riportare e tradurre quanto detto, ma con qualche aggiunta personale per spiegare qualcosa in più e per rendere più semplice (spero) la comprensione di alcune scelte tecniche di Google per quanto riguarda la sua ultima creatura, in fondo quando si parla di scelte tecniche, queste vanno spiegate per bene per capire, prima di gridare allo scandalo. 

Uno dei problemi che in qualche modo gli utenti Android hanno sempre dovuto affrontare, è quello della memoria flash interna, partizionata in due parti: la memoria interna, riservata alle applicazioni ed esterna, rappresentata dalle microSD per tutto il resto. Spesso la memoria interna era di 512 Mb e sebbene le applicazioni Android, occupano quasi sempre pochi megabyte (a parte i giochi), alla fine è uno spazio in cui si inizia a starci stretti se si installano molte applicazioni.

Con Gingerbread si è potuto scegliere di installare le applicazioni su microSD, anche se le varie ROM cucinate, già permettevano questa possibilità, dando ossigeno alla possibilità di installare quante applicazioni si voleva. Questo però aveva lo svantaggio della lentezza nell’accesso delle memorie microSD, rispetto alla memoria interna, quindi le performance ne risentivano e si traducevano spesso in lag generali nell’uso normale del terminale.

Arrivati al Nexus S, Google ha iniziato a scegliere di non inserire uno slot microSD, con disappunto di molti. In questo caso la memoria interna era comunque divisa in 2: 1 Gb riservata alle applicazioni e il resto veniva vista come se fosse presente una microSD esterna, anche se in realtà era una partizione dello stesso spazio. Il vantaggio è che certamente è una memoria veloce e tutto il sistema viaggia senza colli di bottiglia.

Il Galaxy Nexus continua a non avere slot MicroSD, ma la memoria interna di 16 o 32 Gb non sarà più partizionata e verrà usata come un unico volume condiviso per dati e applicazioni. Quindi non saremo più costretti a preoccuparci dove installare le applicazioni: saremo liberi di usare tutto lo spazio interno disponibile.

Finalmente ! molti di voi grideranno … però … si c’è un però. Questo cambiamento porta, come spiega Dan Morrill di Google, alla impossibilità di utilizzare il protocollo UMS (USB Mass Storage) che consente di usare il terminale, collegandolo ad una porta USB, proprio come una normale chievetta o hard disk USB.

Ciò accade perchè con l’UMS, il PC accede direttamente a  livello di blocchi sulla memoria del telefono, e Android non può gestire la stessa partizione usata dal PC nello stesso momento (infatti normalmente quando colleghiamo un terminale Android all’USB il sistema smonta la directory /sdcard dal terminale e viene rimontata dal PC).

Quindi in una visione di storage unificato come quello del Galaxy Nexus, (ma già il Motorola Xoom con Honeycomb era così) non è più possibile usare questa modalità di accesso. Ora la domanda sorge spontanea: ma questo significa che non posso più usare il Galaxy Nexus come una chiavetta USB (e qui già vedo i ghigni degli Iphonisti 😀 ) ?

La risposta è ni … Per risolvere il problema di scambiare dati con un PC nel modello di storage unico, Google ha adottato un altro protocollo (usato da tempo da altri dispositivi, quali fotocamere e videocamere) che si chiama MTP (Media Transfer Protocol). Il protocollo MTP è l’evoluzione del protocollo PTP (Picture Transfer Protocol) ed è stato creato per permettere a più tipi di dispositivi, quali lettori audio digitali e multimediali portatili, di comunicare con un sistema operativo.

L’unica cosa è che diversamente dall’UMS universalmente riconosciuto da tutti i sistemi operativi (Windows, Mac, Linux, Unix  ecc.), l’MTP ha bisogno di driver specifici per poter essere utilizzato.

Nel caso degli utenti Windows, non ci sarà nessun problema, perchè l’MTP è supportato nativamente in Esplora Risorse, e quindi si potranno scambiare dati esattamente come abbiamo fatto finora. Gli utenti Linux e Mac per il momento, non hanno questa possibilità nativamente (anche se ci sono sicuramente dei tool esterni visto che l’MTP è uno standard usato da diverso tempo), anche se Morrill dice che Google sta studiando il modo di risolvere anche questo.

A questo punto sorge un’altra domanda spontanea: “Ma visto che lo storage interno è unificato, e visto che Android ha molte applicazioni di file manager, tipo ASTRO o Root Explorer, come potremo gestire i dati come prima, senza avere i permessi di root ?”.

Dan Morrill risponde simpaticamente con la parola: magia … 😀 In realtà Google ha usato un altro progetto Open Source, chiamato FUSE (Filesystem in USer Environment) presente nella totalità delle distribuzioni Linux, il quale da la possibilità di montare una valanga di cose, da utilizzare come “directory” del nostro filesystem. L’esempio più lampante è quello di montare in modalità lettura/scrittura un filesystem NTFS su una macchina Linux.

Tornando a noi, la directory che Android riconosce come quella all-sharing, ossia come quella in cui possiamo liberamente scrivere, cancellare, modificare files, è la /sdcard. Ebbene tramite FUSE, viene fatto un fake-mount, cioè viene rimontata nel sistema la directory /sdcard, disattivando in essa il controllo delle permission sui files, esattamente come un filesystem FAT32 usato per le microSD, le quali non hanno la possibilità di impostare permessi. Ciò sarà così trasparente alle applicazioni, visto che le API di sviluppo hanno come default la directory /sdcard come spazio utente libero da utilizzare per il salvataggio di file esterni al sistema.

A questo punto però, l’ultima domanda è: “ma non si potrebbe comunque avere una memoria interna di grandi dimensioni e comunque la possibilità di montare una microSD’ ?”

Dan Morrill, risponde che non c’è una ragione prettamente tecnica o hardware nell’avere entrambe le cose, per Google era semplicemente che non c’è una buona UI che possa gestire in modo semplice questa cosa. Semplicemente c’è stata una precisa scelta per migliorare l’esperienza d’uso del Galaxy Nexus e di Android in generale,  nel limitare al massimo il bisogno di un file manager.

Se è stato fatto tutto questo per avere un’unica partizione e rendere così molto più semplice usare il terminale senza doversi preoccupare di dove installare o copiare ogni cosa, introdurre di nuovo la microSD, avrebbe aggiunto comunque altre variabili. Ad esempio l’applicazione della fotocamera dove deve salvare le immagini nella memoria interna (comunque molto grande) o nella microSD ? O un’applicazione del market dove deve installarsi, nella memoria interna o nella MicroSD ? e considerando che di directory /sdcard ce ne può essere solo una, la gestione avrebbe aggiunto altra complessità. Dan dice che certamente avrebbero potuto dare all’utente la possibilità di scegliere, ma nella modalità attuale è qualcosa che al momento non piace, volendo cercare di semplificare l’esperienza d’uso di Android.

Si sta pensando ad un modo semplice per fare import/export di dati dalla memoria interna alla microSD, senza dover stravolgere le API di sviluppo, ma finchè non avranno raggiunto lo scopo, almeno per la serie Nexus, ci sarà una memoria interna di grandi dimensioni, ma senza microSD.

Questo però non significa che Android non supporti più le microSD e qui Morrill sottolinea che proprio nella pluralità di OEM che offrono tante possibilità di scelta, gli utenti potranno trovare sempre il meglio per le proprie esigenze. Infatti i device che avranno lo slot MicroSD avranno il pieno supporto di Android così come è sempre stato. La Google Experience vuole andare in una direzione sempre più friendly e si sta studiando comunque il miglior compromesso per le versioni future di Android per quanto riguarda le memorie di massa.

Io al momento mi ritengo soddisfatto di questa scelta, una unica partizione di 32 Gb  e per giunta di memoria veloce, non solo mi permetterà di installare una tonnellata di applicazioni sempre al massimo delle performance 😀 ma ritengo che i futuri aggiornamenti di Android non risentiranno di problemi di spazio storage, dando un colpo importante alla frammentazione,  non credete ? 😉

FONTE

 

Lascia un commento