Nous travaillons depuis quelques temps au développement d’une application mobile pour un constructeur automobile. Cette application ludique est conçue pour divertir les passagers (particulièrement les enfants) de la voiture.
Développer une app qui sera spécifiquement utilisée dans une voiture, ne consiste pas simplement à l’optimiser pour qu’elle s’affiche correctement sur l’écran du véhicule (comme c’est le cas d’app que nous utilisons couramment sur notre smartphone, comme Waze).
Un certain nombre de spécificités et de contraintes doivent être prises en compte.
Voyons lesquelles.
Différencier Android auto de Android automotive
Pour développer cette application, nous nous sommes appuyés sur le SDK Android en ciblant en priorité les systèmes basés sur Android Automotive.
Mais quelle est la différence entre Android automotive et Android auto ?
Android auto
Android auto est une version du système d’exploitation Android qui permet de transposer une app existante pour qu’elle s’affiche sur l’écran d’un véhicule.
Cette version est intégrée au système embarqué des véhicules pour ensuite interagir ou communiquer avec un smartphone sous le système Android.
Pour ce faire, on développe un module pour que l’application mobile s’affiche correctement dans une voiture qui supporte Android auto. De cette manière, il n’est pas nécessaire d’installer l’app comme vous le feriez sur votre smartphone.
Sachez tout de même que la voiture a son propre système d’exploitation. Si ce système prend en charge Android Auto, cela permet d’afficher l’app en adaptant son design sur l’écran de la voiture. Ce système d’exploitation est une surcouche d’Android Auto et chaque constructeur a sa propre surcouche.
Android automotive
Android automotive est un système d’exploitation à part entière (ce qui le différencie d’Android auto). C’est un système embarqué qui vient remplacer le système d’exploitation utilisé par les constructeurs auto (Renault, Peugeot…).
Avec Android automotive, installer une app fonctionne comme sur un smartphone Android. On installe l’app depuis le store, et on accède aux paramétrages comme sur un téléphone.
Comme nous développons cette application mobile pour Android Automotive, une fois mise en production, elle sera disponible sur le Play Store, mais elle ne ciblera que les systèmes Automotive et plus particulièrement certains modèles de voiture (donc tous les autres systèmes ne la verront pas).
Par ailleurs, cette application est conçue exclusivement pour un modèle de véhicule d’un constructeur automobile donné, mais elle sera peut-être disponible dans un deuxième temps sur d’autres modèles de ce même constructeur.
Quelles sont les implications d’un développement d’application mobile pour une voiture
Développement
Google fournit un template pour lire des médias (notamment des vidéos) qui se plie aux exigences d’une app pour véhicule.
Pour éviter de compliquer les choses et des allers-retours avec Google, nous avons proposé d’utiliser ce template dans un premier temps. Il contient beaucoup d’exigences, liées à la sécurité et l’accessibilité. En termes de sécurité, les règles sont appliquées à tout le monde (conducteur et passagers) car l’app se joue sur l’écran tactile central se trouvant sur le tableau de bord.
Le template Media de Google permet donc de développer des applications du type streaming audio (bouton play/pause, skip, album, playlist, …) en se basant sur des API Android, sans se préoccuper de l’interface utilisateur : celle-ci sera adaptée en fonction du système d’exploitation grâce à sa surcouche et en fonction de la taille de l’écran.
Il faut savoir que la customisation du lecteur est possible… dans une certaine mesure. Par exemple, on peut changer les couleurs de la barre de progression, la position du logo, etc.
Le template Media simplifie les développements, puisque :
- on utilise une API du système qu’on adapte au besoin de l’appli. Ce qui permet de réduire le temps de développement ;
- on supprime toute la partie développement UX/UI qui est déléguée au système d’exploitation avec sa surcouche et qui s’adapte automatiquement aux différents formats d’écrans disponibles.
Le développement ne change pas par rapport à un développement classique sous Android. Seules les APIs changent. Il faut cependant appliquer de bonnes pratiques spécifiques à l’affichage et l’utilisation d’une application mobile dans une voiture.
Test & Qualité
Sur ce plan, beaucoup de choses changent.
Nous devons en effet tester l’app dans un véhicule et prendre en compte tout ce qui peut survenir lors d’un trajet. Par exemple : les signaux sonores, les actions (arrêt du véhicule, mise en route, marche arrière, ouverture des portières, utilisation de Google Assistant…)
Comme nous ne disposons pas du véhicule dans nos locaux, nous utilisons un outil qui simule une partie de ces actions (véhicule en marche, arrêt, marche arrière, vitesse…), pour vérifier comment se comporte l’app.
Bien sûr, utiliser un simulateur comporte des limitations, car on n’est pas dans le vrai environnement de test. Donc, in fine, il faudra aller faire les tests chez le constructeur pour tester plusieurs scénarios que nous aurons définis à l’avance.
Maquettes et design de l’app
Selon le cahier des charges qui nous a été transmis, l’application qui est destinée à des enfants doit être conforme à une charte qui nous est imposée (pétillante, reconnaissable, différenciante). Elle propose des quiz qui se joueront dans le véhicule en mode offline.
Il y a donc eu une première phase d’étude pour évaluer si ce type de maquette était réalisable.
Il faut savoir que Google impose des règles à suivre, que ce soit pour Android auto ou pour Android automotive.
Par exemple,
- l’écran doit être lisible en fonction de la météo, de la luminosité (jour/nuit)
- le délai de réaction après appui sur un bouton doit être inférieur à un certain seuil
- la taille des icônes, le corps et la fonte utilisés pour les textes sont imposés
- Etc.
Ce sont des « guidelines » pour que l’application ne fasse pas prendre de risque à l’utilisateur.
Bien entendu, une personnalisation plus poussée du design est possible mais nécessitera une négociation entre Google et le constructeur automobile. Cette personnalisation interviendra donc peut-être en V2. Et même ainsi, la faisabilité d’une hyper personnalisation n’est pas garantie.
A suivre donc… Nous vous tiendrons au courant des avancées de ce joli projet qui mobilise toute l’attention de nos experts mobiles, depuis plusieurs semaines.
Pour aller plus loin :
[ Cas d’usage ] Conception d’une application mobile pour un système embarqué, sous Android automotive
Vous souhaitez réagir ou en savoir plus ?
Prenons rendez-vous pour échanger autour d’un café… et en attendant, découvrez notre configurateur en libre accès pour cadrer votre projet !