Dan Morrill, ingénieur de chez Google, vient d'indiquer que l'accès à la mémoire interne du Galaxy Nexus ne se fera qu'avec le protocole MTP et non l'USB Mass Storage (UMS). Pour Ice Cream Sandwich, les constructeurs pourront choisir celui qu'ils souhaitent.
Les smartphones de Google, «les Nexus», ont toujours eu pour objectif de montrer le chemin à emprunter pour les constructeurs. Certains messages passent, comme l'utilisation du microUSB pour le transfert et la recharge de la batterie. D'autres un peu moins… : le Nexus S a pour particularité de ne posséder que de la mémoire interne car l'espace de stockage externe (microSD) est jugé trop peu fiable aujourd'hui. L'avantage du microSD est de pouvoir stocker pour peu cher, tous ses fichiers multimédias. Mais très peu de fabricants ont suivi cette voie, dans la mesure où il s'agit d'une régression pour nombre de consommateurs. En suivant cette politique, cela revient à créer des déclinaisons des terminaux en fonction de la mémoire embarquée et les prix grimpent en flèche.
Depuis l'introduction des tablettes sous Honeycomb, certaines disposent d'un lecteur de cartes, alors que d'autres non. Pourtant, un point est commun sur de nombreux modèles (Motorola Xoom, Samsung Galaxy Tab, Sony Tablet S…) : elles sont compatibles uniquement MTP, délaissant l'USB Mass Storage. L'avantage du stockage de masse est d'être reconnu par tous les ordinateurs récents, sans avoir besoin de rajouter des logiciels additionnels. Pour le MTP, ce n'est pas le cas, car il faut utiliser Android File Transfer sur Mac ou avoir de bonnes connaissances sur les systèmes Unix (= Madame Michu n'y arrivera jamais). On notera tout de même que l'implémentation de ce protocole permet aujourd'hui de pouvoir continuer à utiliser sa tablette, sans être bloqué par un contrôle d'accès. Du côté des smartphones, Sony Ericsson propose sur sa surcouche la possibilité d'utiliser soit l'USB Mass Storage, soit le MTP, ce qui semble donc être la solution la plus souple.
Deux questions étaient alors légitimes : Google a-t-il décidé d'abandonner l'USB Mass Storage ? Qu'en est-il sous Ice Cream Sandwich ? Le site américain Android Police a posé ces questions à Dan Morrill, un ingénieur chez Google :
Ice Cream Sandwich supporte l'USB Mass Storage (UMS). Le Galaxy Nexus non. C'est le même scénario que Honeycomb : le système le gère bien, mais par exemple la Motorola Xoom non.
Si un périphérique possède une carte SD retirable, il supportera alors l'USB Mass Storage. S'il a uniquement de la mémoire interne (comme la Xoom ou le Galaxy Nexus), il gèrera (normalement) seulement le MTP et le PTP.
Il n'est pas physiquement possible de supporter l'UMS sur les terminaux qui n'ont pas une partition dédiée au stockage (comme une carte SD retirable ou une partition différente sur le Nexus S). C'est parce qu'UMS est un protocole de niveau bloc, qui donne un accès direct aux blocs physiques du terminal, c'est pourquoi Android ne peut pas utiliser simultanément cette mémoire.
Avec le modèle de stockage unifié que nous avons introduit dans Honeycomb, nous partageons vos 32 Go (ou 16 Go ou autre) entre les différents acteurs. Autrement dit, vous n'allez plus regarder tristement vos 5 Go de mémoire libre sur un Nexus S, lorsque vous partition pour les données des applications est remplie – c'est un seul et unique volume.
Cependant, le coût est de ne plus pouvoir donner une connexion via l'UMS. A la place, nous utilisons MTP. Sur Windows (utilisé par la majorité des utilisateurs), il possède directement les drivers pour gérer le MTP dans l'explorateur de fichiers. Sur Linux et Mac, ce n'est malheureusement pas aussi simple, mais j'ai confiance que nous allons améliorer la situation.
Dans l'ensemble, c'est une expérience bien meilleure sur le téléphone.
Sur vous n'avez pas tout compris à cette entretien, voici les éléments à retenir :
- Ice Cream Sandwich supportera l'USB Mass Storage
- Le Galaxy Nexus sera uniquement compatible MTP
- Le choix du MTP permet d'utiliser la mémoire par plusieurs entités différentes à la fois (un ordinateur et le terminal Android)