Le nombre de voitures connectées devrait passer de 45 millions en 2011, soit 5 % du parc automobile mondial, à 210 millions en 2016 (18 % du parc). Sur cette période, ce
marché passerait de 15 milliards de dollars à 40 milliards.
C’est un marché émergent à prendre en compte dès à présent, en anticipant sur les contraintes spécifiques à ces environnements.
Dans cette série d’articles, nous allons parcourir les différentes facettes des applications embarquées dans les véhicules. Nous commencerons par un état de
l’art des différentes approches du moment, puis nous regarderons les impacts ergonomiques avant de finir par les impacts techniques pour les développeurs.
Le mondial de l’automobile 2012 démontre que de plus en plus de constructeurs souhaitent proposer des interfaces riches et connectées à leurs nouveaux modèles. Comment proposer Internet dans les
véhicules ? Certaines approches consistent à simplement rapprocher les smartphones du véhicule (merci à Apple de modifier son connecteur), d’autres intègrent un écosystème propriétaire proche des
mobiles ou des tablettes. Ils proposent des places de marchées privées pour installer des applications spécifiquement adaptées aux véhicules.
Les architectures sont très diverses et proposent alors plus ou moins de spécificités pour les ergonomes, les concepteurs et les développeurs.
L’écran peut être intégré dans le véhicule par le constructeur lors de l’achat (Renault R-Link, BMW Connected Drive, Fiat Blue & Me, KIA Uvo, …), constituer une option au terminal GPS déjà
présent (Peugeot connect apps), ou être ajouté après l’achat par le propriétaire (Parrot Asteroid, Pioneer AppRadio, …).
Le smartphone du conducteur peut être indispensable à
l’exploitation de l’écran embarqué ou servir simplement de source de données (musique, téléphone, réseau) via une connexion Bluetooth (Ford Sync).
Certains constructeurs d’autoradios proposent de déporter l’écran du téléphone (iPhone ou Android via la connexion HDMI) et simulent les actions de l’utilisateur sur un écran tactile via une
connexion Bluetooth. Il ne s’agit alors que d’un déport d’écran. Seules certaines applications du smartphone iOS ou Android sont compatibles avec ce mode.
Ces technologies embarquées sont pertinentes lorsqu’elles apportent une réelle plus-value à l’exploitation d’un simple smartphone. Pour cela, il est préférable d’utiliser les approches
connectées au « bus » du véhicule. Cela permet d’exploiter toutes les informations en temps réel comme la vitesse, l’angle des roues, l’état de fermeture des portes, la jauge
d’essence ou le niveau de charge d’une batterie.
Il est alors possible d’envisager des applications innovantes qu’un smartphone ne peut proposer. Il est probable que dans quelques années, certaines informations du flux du bus du véhicule
seront accessibles en Bluetooth, en WIFI direct ou en USB, permettant une exploitation de ces données par un smartphone ou une tablette familiale. Ce flux est très conséquent, car énormément
d’informations transitent pendant l’exploitation du véhicule.
À notre sens, les applications ayant de la valeur sont celles capables d’analyser le comportement du conducteur, pour anticiper ses demandes : savoir qu’un rendez-vous est prévu pour
proposer directement la navigation correspondante ; savoir vous rappeler le terminal d’atterrissage d’un vol, lorsque vous vous rendez à l’aéroport ; vous rappeler d’acheter des
fleurs et vous proposer un itinéraire avant une visite ou un anniversaire ; prévenir votre correspondant de votre retard et de l’heure prévue d’arrivée.
Les applications exploitants les informations des conducteurs, liées à des requêtes Big Data seront les plus intéressantes.
Conclusion
Nous constatons que les constructeurs se cherchent actuellement. Il n’y a pas d’approche unifiée. Les solutions proposées sont très différentes les unes des autres. Elles visent pourtant à
répondre initialement à un besoin simple : proposer Internet dans le véhicule. Certains sont plus ambitieux et souhaites proposer des nouveaux services.
Le véhicule est une des facettes de l’Internet des objets. Il présente l’avantage d’être toujours électriquement connecté.
Au vu de la très forte volatilité des technologies mobiles, nous pensons que la maintenance à moyen et long terme sera très difficile pour les constructeurs. Chaque millésime proposera une
version ou une approche différente, afin de répondre aux demandes du marché.
Dans le prochain volet, nous traiterons d’ergonomie spécifique à ces applications.
Est-ce une simple tablette figée sur le tableau de bord ?
Ces technologies ne doivent pas être assimilées à de simples tablettes. Les applications doivent être adaptées à cet usage particulier qu’est un véhicule. Ni tout à fait une tablette, ni tout à
fait un téléphone, ni tout à fait une télévision connectée. C’est un autre type de terminal, demandant une adaptation des applications.
D’une part, l’écran est figé dans le tableau de bord du véhicule, généralement au centre entre les deux passagers. Il est donc à portée de mains, mais à une certaine distance du conducteur. Il
n’est pas possible de rapprocher l’écran pour lire les petits caractères. Un écran de véhicule doit utiliser des grosses polices de caractères et peu d’informations pour être exploitable par le
conducteur.
Plusieurs technologies permettent de manipuler l’écran : la commande au volant, la reconnaissance vocale ou l’écran tactile.
Comme l’écran est relativement éloigné, il doit être manipulé à bout de bras. Il n’est pas possible de demander à l’utilisateur de cliquer précisément sur un petit bouton, sans risquer qu’il
clique sur celui d’à côté. Les boutons doivent alors être très gros et peu nombreux. La précision du geste est réduite pendant la conduite à cause des vibrations. Toutes les solutions que nous
avons étudiées proposent six icônes maximum sur l’écran.
De même, il n’est pas judicieux de demander à l’utilisateur de faire glisser son doigt sur l’écran pour dérouler une liste. D’une part, il ne pourra pas avoir la précision exigée, et d’autre
part, il ne verra pas les informations qui défilent. Une approche à l’aide de deux boutons « haut » et « bas » est préférable.
Le glissement du doigt est envisageable s’il s’agit de changer complètement de page, mais pas pour faire défiler une information sur l’écran. Il est important de savoir que les technologies
utilisées par les constructeurs pour les écrans tactiles ne permettent pas toujours un défilement sur l’écran (écran résistif) et encore moins l’utilisation de plusieurs doigts.
Les couleurs de l’interface sont également dictées par les contraintes de ce type d’usage. Les textes sont écrits avec une couleur claire sur un fond noir. Tous les constructeurs ont fait ce
choix. Cela permet un usage la nuit et également en plein jour, car les constructeurs placent généralement les écrans à l’ombre du soleil. De plus, un trop grand contraste entre deux
applications risque d’éblouir le conducteur.
Au niveau de la saisie de texte, il faut les limiter au maximum. Le clavier tactile n’est généralement pas efficace pour saisir un texte long. Demander à l’utilisateur de remplir un champ de
formulaire ou un tweet à l’arrêt est acceptable. La saisie d’un email est plus discutable. Une reconnaissance vocale peut fortement aider à la saisie. Certains constructeurs proposent un
clavier physique en option (Ford Sync).
De plus, il peut également y avoir des écrans complémentaires à l’arrière du véhicule ou côté passager (éventuellement avec un écran à prisme, pour présenter des informations différentes au
conducteur et au passager). Les ergonomies et les contraintes ne sont alors pas les mêmes.
Certains véhicules haut de gamme proposent un écran complémentaire « tête haute », permettant au conducteur d’obtenir des informations sans quitter la route des yeux. Pour des raisons
de sécurité, nous doutons que les constructeurs autorisent l’accès à cet écran par les applications.
L’image de la marque
Ces technologies sont l’image de la marque du constructeur. Des ergonomes et des designers ont choisi des animations, des icônes, des règles d’ergonomies spécifiques, qui sont imposées aux
applications pour pouvoir faire partie de leurs places de marchés. Les applications doivent alors s’adapter à une zone utile bien plus petite que ce que l’écran propose. Il y a généralement des
icônes et des zones imposées sur chaque écran pour les services indispensables.
N’oubliez pas qu’il s’agit d’abord de voiture. Il est important d’avoir accès rapidement à la radio, aux paramètres de confort comme le chauffage ou la climatisation, aux indicateurs du
véhicule comme la charge de la batterie pour la propulsion électrique ou à l’affichage de la caméra de recul arrière.
Les applications doivent pouvoir être interrompues immédiatement, comme lors de la réception d’un appel téléphonique sur un smartphone. Il existe alors des applications prioritaires, que le
système maintient en mémoire. Cela limite les ressources pour les autres applications.
Et pendant la conduite ?
Est-ce que toutes les applications peuvent être exécutées pendant la conduite ? Certainement pas ! Elles doivent, soit s’interrompre dès que le véhicule avance, soit proposer un mode
ergonomique différent. Les OS se chargent souvent de tuer directement les applications si elles ne sont pas compatibles avec cet usage.
Une application de lecture d’emails peut les présenter à l’utilisateur lorsqu’il est à l’arrêt, mais doit utiliser la synthèse vocale lors de la conduite. Ce n’est pas si facile, car cela
demande d’identifier la langue de chaque mail, pour utiliser le moteur de Text-to-speech adéquat. Comment lire un email rédigé en français avec une signature de cinq lignes en anglais ?
Comment gérer les pièces attachées ? Et les images ?
Quelle ergonomie proposer alors au conducteur ? Il ne doit généralement pas toucher l’écran, au risque de sa sécurité. Il faut alors proposer une extension accrochée au volant comme le
propose Parrot et/ou une reconnaissance vocale « in board ».Pour les applications acceptées pendant la conduite (navigation, info trafic, radio, etc.), il ne faut en aucun cas
solliciter une action du conducteur. « Dans 10s, le fichier est effacé. Cliquez ici pour annuler ». Aucun time-out ne doit être présent.Les alertes applicatives doivent être discrètes
pour ne pas inquiéter ou solliciter abusivement le conducteur.Comment savoir que le véhicule roule ? Si l’écran est connecté au bus du véhicule, pas de problème. Sinon ? Cela peut se
déduire d’une évolution des coordonnées de localisation. Est-ce possible dans un tunnel ou un parking ? Une forte vibration peut également être un signe.Il faut prendre conscience que la
responsabilité du constructeur peut être engagée à cause d’une application trop envahissante. Il s’agit d’un risque vital.Plusieurs conducteurs ?
Il est loin le temps ou chaque membre de la famille n’utilisait que son propre véhicule. Chacun utilise la petite voiture pour les trajets en villes et la grande pour les vacances. Des
applications peuvent s’affranchir des préférences des conducteurs, comme une navigation GPS, mais d’autres doivent être adaptées à chaque conducteur, comme la lecture des emails. Il y a des
contraintes de confidentialité entre les différents membres d’une même famille ou entre les conducteurs de la même entreprise. Ces systèmes doivent alors proposer des technologies pour gérer
différents profils, et pour permettre, soit la détection automatique du conducteur, soit un menu disponible à tout instant pour pouvoir signaler un changement de conducteur. Il est préférable
d’exploiter le profil du conducteur pour hausser automatiquement le fauteuil et les rétroviseurs. Est-ce qu’une identification est exigée à chaque démarrage du véhicule ? Est-ce à
l’utilisateur de fermer sa session ? Est-ce automatique à chaque ouverture de portière suivit d’une libération du fauteuil ? Et que faire en cas de vol du véhicule ? Cela doit
pouvoir être paramétrable. Cela doit être intégré dans l’application, ce qui n’est généralement pas le cas des applications pour tablettes ou smartphone.
Impact sur le développement: Pour le moment, les constructeurs réalisent les applications majeures (email, Facebook, Twitter) et négocient avec différents fournisseurs de services (Pages
Jaunes, Coyote, etc.) pour la réalisation d’applications spécifiques à leurs technologies. Les fournisseurs indépendants n’ont pas toujours accès aux différents SDK. Cela viendra sous peu.
Apple ne semble pas vouloir proposer un OS spécialisé véhicule. Les constructeurs désireront certainement une version spécifique de l’OS, ce qui semble incompatible avec les pratiques de
l’entreprise. Microsoft se positionne sur ce marché avec
Windows Embedded
Automotive (Nissan, Kia, Ford, FIAT). L’approche est essentiellement basée sur une déclinaison de Silverlight. Les constructeurs peuvent alors proposer des interfaces riches pour les
services de bases. Cette solution ne permet pas, à ce jour, d’ajouter des applications complémentaires.
Le système d’exploitation Android est également privilégié. En effet, ce dernier peut être facilement adapté pour une utilisation dans un véhicule. Une place de marché applicative peut être
proposée. Cela permet également de s’appuyer sur des développeurs de plus en plus nombreux maîtrisant cette technologie.
Mais n’allez pas croire qu’une application classique peut être utilisée directement dans un véhicule. L’ergonomie doit être revue de fond en comble. Pour des contraintes d’usages, mais
également pour respecter le cahier des charges imposé par les constructeurs.
En théorie, il est possible de proposer une application HTML5 adaptée aux différentes marques de véhicules. Nous pensons que les performances actuelles de ces systèmes ne permettent pas
d’utiliser cette approche. Il faut alors réaliser une application spécifique pour chaque solution.
Gestion de la mémoire
Dans un téléphone, seule la réception d’un appel est prioritaire. Pour une voiture, de nombreuses applications privilégiées sont maintenues en vie. Cela limite fortement la mémoire disponible
pour les autres applications. De plus, le solde doit être partagé par toutes les autres. Il est donc difficile de maintenir des services en tâche de fond, alors que c’est justement un besoin
applicatif fort dans un véhicule. Une application trop gourmande sera sacrifiée par le système d’exploitation.
Nous pensons que les applications majeures en véhicule doivent analyser le comportement du conducteur, pour lui proposer des services sans qu’il ait besoin de le demander. Cela nécessite des
traitements en tâche de fond, souvent incompatibles avec les architectures et la mémoire disponible dans ces systèmes. L’analyse des comportements des conducteurs, ou d’un groupe de
véhicules, permettra de nouveaux usages. Les technologies Big Data seront alors sollicitées.
Utilisation des API
D’autres difficultés peuvent complexifier les applications. Par exemple, il est courant d’utiliser le protocole OAuth dans une application pour demander à l’utilisateur, l’autorisation
d’exploiter son compte Facebook, Google ou Twitter. Ce mécanisme est bien maîtrisé via Internet ou via les mobiles pour exploiter les différentes API Web, mais il ne peut être utilisé dans un
véhicule. En effet, OAuth retourne une page Web qui doit être présenté à l’utilisateur pour lui demander de saisir ses identifiants, avant d’accorder ou non certains privilèges à
l’application. Cette dernière n’a pas la maîtrise de ce dialogue d’authentification. Mais, dans un véhicule, comme nous l’avons vu précédemment, l’ergonomie est différente. Les pages Web
retournées par Facebook, Twitter ou Google ne sont pas compatibles avec le véhicule. Les boutons sont trop petits, le formulaire est difficile à remplir, etc.
Parfois, le fournisseur de service propose une API permettant de livrer l’identifiant et le mot de passe de l’utilisateur. Pour des raisons évidentes de sécurité, c’est rare. Il faut montrer
patte blanche, et demander des privilèges particuliers à négocier avec le fournisseur. C’est possible avec Twitter, après la phase de développement du projet, mais pas avec Facebook.
OAuth2 permet les mêmes services que OAuth, mais sans imposer de page Web pour l’authentification. Il faudrait une généralisation de cette technologie dans les APIs WEB des réseaux sociaux
pour régler la difficulté. Commencez dès à présent à migrer vers OAuth2 pour vos API !
Une astuce consiste à simuler la connexion par programme, avec une Webview invisible et l’injection de script. Mais rien ne garantit que cela fonctionne toujours dans 2 ans : on ne met pas à
jour une application dans un véhicule aussi facilement que sur un téléphone.
Exploitation du réseau
Pour l’utilisation du réseau, plusieurs approches sont proposées par les constructeurs. Certains demandent un abonnement 3G supplémentaire d’une centaine d’euros, payable à l’année, d’autres
proposent gratuitement une connexion 2G+, qu’il est possible d’étendre avec une connexion 3G via un smartphone ou une clef. Enfin, certains ne peuvent accéder au réseau qu’avec l’aide d’un
smartphone ou d’une clef 3G.
Dans le modèle 2G+, c’est le constructeur qui paye le trafic au volume. Il est alors important pour lui de le limiter au maximum.
Il faut savoir que les connexions IP à base de sockets ne sont pas capables de faire de Roaming entre plusieurs antennes. La socket est perdu si le véhicule avance au point de changer
d’antenne relais. Il faut alors se reconnecter, ou essayer de le faire avant la perte de la prochaine antenne. Il est donc difficile de maintenir un flux en fonctionnement lorsque le
conducteur parcourt la campagne. De plus, lorsqu’il est nécessaire de changer de technologie, lors d’un passage UMTS à 2G ou 4G, cela demande un bon moment au terminal pour essayer les
différentes pistes. À cela s’ajoutent les trames à échanger pour ouvrir une connexion chiffrée.
Il faut alors utiliser plusieurs stratégies pour optimiser l’utilisation du réseau. La première idée est d’utiliser des formats de messages très compacts, comme le propose Protobuf de Google. C’est un format binaire compact, bien plus concis que XML ou JSON.
Pour la lecture des données, plusieurs stratégies doivent être utilisées simultanément. Les données doivent être cachées pour éviter de répéter les mêmes requêtes. Il est également important
de profiter d’une connexion pour récupérer par avance le maximum de données potentiellement utiles. Si, pendant la lecture de dix enregistrements, la connexion est perdue après 3,5
enregistrements, il est bon de garder les trois données valides plutôt que d’ignorer complètement le résultat.
Ces stratégies sont souvent incompatibles avec l’économie de bande passante nécessaire suivant les forfaits.
Pour réduire le trafic, une application Web peut servir de relais vers les données à exploiter dans le véhicule. Elle permet de réduire la taille des images, de compresser les flux, de
supprimer les pièces attachées, etc.
Il faut prévoir dès le début de sauver toutes les modifications des données dans le terminal, pour attendre un moment propice pour envoyer un mail, un Tweet ou un post Facebook. Un service en
tâche de fond doit s’occuper intégralement de gérer les échecs de connexions. Mais en même temps, le terminal peut décider de tuer votre application car elle n’est pas compatible avec le mode
conduite ! Il faut intégrer cela dans des transactions pour ne perdre aucun message, ou découper l’application en deux. Une partie s’occupe de l’interface utilisateur et peut être
interrompue lors d’un mouvement du véhicule. L’autre partie s’occupe uniquement du réseau.
Il faut trouver un équilibre entre le pré-chargement des données, le volume à rapatrier qui doit être faible, la tolérance à la perte du réseau pendant les requêtes et l’optimisation du
format des données.
Une autre approche consiste à fonctionner en mode push. Les données du SI arrivent de façon asynchrone, lorsque le réseau est disponible. Les requêtes sont déposées sur le serveur sans en
attendre de réponse. Les données arrivent lorsqu’elles le peuvent.
De plus, l’accès à Internet n’est pas toujours possible. En effet, pour des raisons de sécurité, les constructeurs imposent parfois le passage par un proxy possédant une liste blanche de
serveurs cibles, et/ou l’interdiction d’utiliser d’autres protocoles que HTTP. Ouvrir une connexion LDAP, POP3, IMAP ou SMTP devient difficile. Il faut alors s’appuyer sur un serveur
intermédiaire, mais cela rompt la chaîne de chiffrement. Il y a deux flux chiffrés : celui du véhicule vers le serveur, puis du serveur vers la cible utilisant un protocole exotique.
Ces difficultés sont maintrisables, si elles sont prises en comptes dès le début du projet.
Sécurité
Comme ces technologies peuvent être connectées au bus du véhicule, il ne faut pas qu’elles puissent y injecter des données. Pour le moment, seule la lecture est envisageable. Il faut
contrôler les applications acceptables dans le système. Les constructeurs doivent alors renforcer la sécurité du système et auditer les applications avant de les publier sur leur place de
marché. Ils s’y emploient autant que possible.
Les pirates ne se sont pas encore beaucoup intéressés à ces technologies, mais les dégâts risquent d’être
importants. Les constructeurs sont alors frileux à ouvrir leurs places de marchés. Ils envisagent de contrôler tous les flux réseaux, pour pouvoir réagir en cas d’alerte.
Les mises à jour des applications ou des OS ne sont pas aussi faciles qu’avec un téléphone mobile. Et la durée de vie des voitures est bien supérieure à la durée de vie d’un smartphone. Que
deviendront ces systèmes dans dix ans ? Comment réinitialiser le système lors de la revente ? Est-ce que l’ancien propriétaire pourra laisser des portes dérobées ? Un
vrai challenge à relever.
Backup
Un véhicule part chez le garagiste, qui ne connaît rien à l’informatique. S’il y a un bug, il risque de changer l’intégralité du terminal, perdant ainsi tous les paramètres et les
applications. Il faut prévoir un mécanisme de backup sur le Cloud. Google propose cela dans Android, mais les constructeurs n’ont pas toujours implémenté ce service. Le SAV risque d’être
difficile.
Publication
Pour le moment, il y a très peu de communication sur la possibilité de publier une application sur les différentes places de marchés. Certaines sont très ouvertes comme Parrot, d’autre plus
fermées comme Renault. Il ne faut pas oublier que la responsabilité du constructeur peut être engagée en cas d’accident. Il est alors prudent de se renseigner avant d’envisager de réaliser
une application pour ces environnements.
Dès à présent, en séparant parfaitement les couches logicielles entre les couches présentations, métier et réseau, il devrait être relativement facile de porter une application Android pour
différentes cibles.
Est-ce que l’effort est compatible avec la taille du marché ? Cela reste à prouver. En même temps, les belles places sont à prendre maintenant, pour un investissement raisonnable.
Conclusion
L’accès au bus de donnée du véhicule ouvre la porte à des nouveaux usages. Une compagnie d’assurance peut proposer un contrat qui s’adapte au
mode de conduite constaté par le véhicule. Un tweet peut signaler automatiquement un retard, avec une prévision de l’heure d’arrivée selon les bouchons. Le flux musical peut suivre le
conducteur lorsqu’il entre ou sort du véhicule.
Après la télévision, le PC, le smartphone, la tablette, il semble évident que le cinquième écran sera présent dans les véhicules.