BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Interviews Android et Vues Personnalisées avec Cyril Mottier

Android et Vues Personnalisées avec Cyril Mottier

Favoris
   

1. Bonjour Cyril, pour ceux qui ne te connaissent pas, peux-tu te présenter ?

Je peux me présenter rapidement, je m'appelle Cyril Mottier, je suis passionné d'Android, je partage énormément sur les réseaux sociaux tels que Twitter et Google+, et via mon blog, cyrilmottier.com. Et grâce à cette passion, Google m'a récemment nommé Google Developer Expert sur la plateforme Android, et ça me permet, sous couvert de Google mais sans travailler pour Google, de continuer à partager cette passion autour d'Android.

   

2. Tu parlais lors du BreizhCamp des vues Android personnalisées. Quand devrait-on aller, à ton avis, au-delà de ce que le framework propose ?

Alors, pour vraiment résumer ma conférence, je dirais qu'il faut aller au-delà tout le temps. Si l'on veut faire une application qui soit unique et qui ne ressemble pas à tout ce qu'on peut trouver sur Google Play, les vues personnalisées sont intéressantes dans ce sens. Elles vont donc permettre d'avoir une application qu'on va trouver sur Google Play et qui a des composants graphiques qu'on ne trouve nul part ailleurs.

   

3. Et donc, pour toi, qu'est-ce qu'une interface innovante ?

Très bonne question. Je dirais que pour moi, c'est une interface graphique qui rend l'accès à une fonctionnalité simple et rapide, tout en affichant du contenu de façon compréhensible. Un bon exemple, c'est Gmail. La dernière version de Gmail contient un menu, ce que l'on appelle NavigationDrawer, sur la gauche de l'écran, et cette interface est innovante car d'un seul clic vous pouvez accéder à toutes les sections de votre boîte aux lettres Gmail, donc les mails, les tags, etc. Et ce NavigationDrawer est assez innovant dans le sens où on ne l'a pas forcément vu, il n'a pas été prôné par Google à l'origine, il a plus été développé par des communautés de développeurs indépendants, et Google l'a repris à son compte en le modifiant et en l'améliorant, et c'est ce qu'on retrouve dans Gmail. Donc pour moi, voilà un bon exemple d'une interface innovante.

   

4. Tu conclues ton talk en indiquant qu'une application doit bien s'intégrer dans l'apparence de la plateforme. Comment à ton avis bien savoir où placer la limite entre vue innovante et intégration dans le look-n-feel ?

Alors, c'est une très bonne question. C'est assez difficile de placer le curseur, entre l'innovation et rester dans les guidelines. Je dirais qu'il n'y a pas vraiment de réponse stricte à cette question, c'est un peu chacun qui choisit où il voit midi à sa porte. Personnellement, je ne me considère pas être trop dans les guidelines, dans le sens où j'essaie d'aller au-delà, mais pas non plus de dupliquer totalement les yeux fermés des composants que l'on aurait pu trouver sur le web ou d'autres plateformes mobiles telles qu'iOS par exemple. Il faut donc essayer de placer ce curseur, entre guidelines et innovation, ce qui n'est pas toujours simple. Au final, avec l'expérience on se rend compte quand même que dans Android, il y a une essence, un sentiment général quand on utilise un Android, qu'on essaie toujours de retrouver même en faisant de nouvelles interfaces graphiques. Il faut toujours essayer de ressentir cette essence.

   

5. Justement, sur les guidelines, les équipes Android ont publié ces guidelines de design pour la plateforme Android 4 en tout début 2012, avec l'introduction de leur nouveau thème graphique, Holo. As-tu un retour d'expérience à partager sur ces guidelines ?

Un retour d'expérience pas vraiment, au sens où elles n'ont pas été forcées par Google, tout le monde est libre ou pas d'utiliser les guidelines de Google, Holo. Personnellement je trouve quand même que cela a été un grand pas en avant ces guidelines, et notamment le thème Holo. Ça a été pour moi le premier pas de Google dans le design. Pour moi avant Google n'était pas compétent dans le design, ça se voyait assez facilement quand on regardait les premières versions d'Android, de 1 à 2.3. Maintenant grâce à Holo on voit que Google a pris position sur le design, et met vraiment le focus sur le contenu et pas uniquement sur l'interface graphique, ce que j'appelle la chrome, par exemple les aspects graphiques des boutons, les cadres. L'objectif c'est que le contenu soit l'application et pas le graphique.

   

6. Mêmes si les contraintes de design d'Android ne sont pas aussi strictes que sur iOS, quelles seraient tes recommandations pour rester dans les design guidelines d'Android pour les vues personnalisées ?

Pour moi, Google n'impose pas les guidelines, et Apple non plus au final. Dans les deux camps, on retrouve bien sûr ces guidelines, plus récemment chez Android et depuis toujours sur iOS, elles vont changer d'ailleurs grâce à iOS 7, mais ces guidelines sont plus un dictionnaire de la compréhension du langage visuel de chacune des plateformes. Pour moi elles ne sont pas forcément à suivre au pied de la lettre. Après, pour répondre à la question, c'est toujours un curseur, c'est difficile de savoir quand arrêter d'innover et d'essayer de rester dans les guidelines. C'est à vous de placer ce curseur en fonction de votre compréhension de la plateforme et de votre compréhension des applications que l'on peut trouver sur cette plateforme.

   

7. Y-a-til des composants graphiques Android que tu recommanderais de ne pas étendre pour des composants custom ?

Oui! Je pense notamment à tout ce qui est ListView, GridView, tout ce qui hérite d'AdapterView. Donc en fait ce sont des vues scrollables, qui affichent plusieurs items mais qui ont une notion de recyclage des items pour des questions de performance. AdapterView est la racine de toutes ces vues, le problème c'est qu'AdapterView a vraiment été conçue plus pour travailler en interne et avoir des composants tels que ListView et GridView, et quand on essaie d'étendre ce genre de vue, alors là on part dans des gros problèmes. Je conseille vivement à tous les développeurs qui souhaitent développer des composants qui contiennent des vues qui sont réutilisées, imaginons par exemple une ListView horizontale qui n'existe pas dans le SDK, ne repartez pas d'AdapterView, partez directement de ViewGroup. AdapterView c'est vraiment le composant qui a été mal designé, en tout cas qui n'a pas été du tout designé pour l'extension. Par contre tout le reste est OK, pour être étendu et amélioré.

   

8. Pour toi, quels sont les outils qu'il faut utiliser lorsque l'on veut faire du développement d'interface graphique pour Android ?

Le développement d'interface graphique sur Android, je dirais que le premier outil que j'utilise, c'est Photoshop, avec quelques petites librairies qui me permettent d'avoir des composants que l'on peut glisser directement, et avoir le résultat rapidement à l'écran. Après Photoshop ce n'est pas à la portée de tout le monde, donc je conseille pour les gens qui ont plus un profil de développeur, de tout simplement installer le SDK et d'utiliser le LayoutBuilder qu'on trouve par défaut dans Eclipse ou Android Studio plus récemment, parce que cela permet de vraiment construire rapidement des interfaces et d'avoir un rendu instantané. Avec ça on peut savoir où on va. Après une interface ça ne se designe pas de façon forcément statique, malheureusement. Donc il y a bien sûr un moment où il faut mettre cette interface sur un téléphone et la tester, avec de vrais utilisateurs, pour savoir si elle est vraiment utilisable ou non.

19 déc. 2013

BT