En ajoutant un mode multifenêtres, une interface plus personnalisable et des outils dédiés à des fonctions longuement réclamées, Android 7.0 est une évolution importante pour le système mobile. Pourtant, c'est en entrant dans ses arcanes que ses changements les plus importants apparaissent.
Cette semaine, Google a officiellement publié la version finale d'Android 7.0 (Nougat), après plusieurs mois de bêta test. Une démarche nouvelle pour l'éditeur, qui n'a pas lésiné sur les changements plus ou moins visibles pour son système. Si Nougat est une évolution en douceur, dans la ligne tracée par Android 5.0 il y a deux ans, elle apporte son lot de fonctions pratiques au quotidien.
Les utilisateurs disposent (enfin) d'un blocage fin des appels et SMS indésirables, ainsi que de nouveaux emojis. L'interface s'affine, avec l'arrivée du multifenêtres natif, attendu depuis longtemps par les utilisateurs. La réalité virtuelle, elle, fait son entrée par la grande porte, avec un mode dédié, tout comme l'API graphique Vulkan, appelée à devenir une référence multiplateforme. Google a également continué son travail de fond sur l'autonomie et les performances, en donnant plus de latitude aux services censés économiser les ressources systèmes.
La sécurité est elle aussi améliorée, après le chamboulement d'Android 6.0 l'an dernier, qui introduisait une gestion des permissions bien plus fine. Cette fois, l'accès des applications au système est revu de plusieurs manières, pour garantir leur cloisonnement. Cela sans parler des changements en matière de démarrage, de mise à jour et de chiffrement, qui doivent rendre l'usage du système bien plus transparent, et inciter aux mises à jour. Il faut dire que Google disposait d'une marge importante à ce niveau, que le groupe semble bien avoir exploitée à bon escient.
Le mode multifenêtres, une fonction simple mais cachée
Comme nous l'expliquions à l'occasion de la première Developer Preview, la nouveauté la plus visible est sans conteste l'arrivée du mode « écran partagé », ou multi-fenêtres. Activable par un appui long sur le bouton multitâche, il permet d'afficher deux applications l'une sur l'autre (en orientation portrait) ou côte à côte (paysage). Son usage de base est simple : ouvrez une application, laissez le bouton multitâche appuyé puis sélectionnez une application dans la liste des tâches récentes qui apparaît.
Il est bien sûr possible de lancer une nouvelle application, en revenant au lanceur. Notez que le changement concerne la seconde application lancée. Pour changer la première, il faudra quitter le mode multifenêtres puis en ouvrir une autre en plein écran. On a déjà vu plus pratique, même si le pli est rapidement pris.
La taille des applications est très logiquement réglable, chaque développeur pouvant spécifier une taille minimum pour son application. Amenez le curseur vers un bord de l'écran et le logiciel qui remplit l'écran reviendra en mode classique. Il est aussi possible de quitter le mode en rappuyant longuement sur le bouton multitâche. Rien de révolutionnaire pour les utilisateurs des dernières moutures d'iOS et de Windows, en somme. Plus intéressant : il est possible de transférer du contenu d'une application à l'autre par glisser-déposer, même si la fonction ne semble pas encore exploitée aujourd'hui.
Restent aussi quelques incompatibilités avec certaines applications, Clash Royale ou Netflix revenant systématiquement au mode classique, par exemple... Quand d'autres le permettent aléatoirement. Gageons que ces soucis seront réglés dans les prochains mois. D'autant que, sur Android TV, la fonction est liée au picture-in-picture, qui permet de continuer à regarder un contenu tout en naviguant dans l'interface. Espérons surtout que les utilisateurs découvriront d'eux-mêmes la fonction, Android ne donnant pas d'indice sur sa présence jusqu'à son déclenchement.
Une interface aplatie, avec de nouveaux emojis
Le style de l'interface continue d'évoluer, en abandonnant une partie des espaces entre les objets et certaines ombres, au profit d'une apparence plus... plate. Pas de quoi nuire à la lisibilité, au contraire. On finit tout de même par se demander pourquoi Google insistait tant sur les jeux d'ombres et de superpositions aux débuts du Material Design avec Android 5.0, si c'est pour en arriver à une apparence si flat moins de deux ans plus tard.
Elle s'enrichit tout de même fonctionnellement, par petites touches. La première est une bascule rapide entre les deux dernières applications lancées, une sorte d'Alt-Tab pour écran tactile : un double appui sur le bouton multitâche. Quand iOS demande par exemple de maintenir le bord de l'écran avec 3D Touch pour revenir à l'application précédente sur iPhone 6s, avec un résultat aléatoire, la solution de Google a toute l'apparence de la bonne idée. Cela même si, encore une fois, il faudra expérimenter pour la découvrir.
Les emojis ont aussi été retravaillés, avec un style qui se veut plus humain. Au total, 1 500 objets et émotions sont proposés, dont 72 nouveaux. Les variations sur un même thème, selon le genre ou la couleur de peau.
Des notifications et des paramètres enrichis
Les notifications ont aussi droit à de nombreuses nouveautés. La première est l'arrivée de réponses rapides directement depuis une notification, qui peut afficher les derniers messages d'une conversation. Une nouveauté qui ne surprendra pas les utilisateurs de CyanogenMod par exemple, mais qui se voit ici parfaitement intégrée. Le système gère aussi lui-même le groupement des notifications par application, avec la possibilité d'étendre une notification en la descendant.
Android 7.0 améliore aussi l'usage des Custom Views dans les notifications, c'est-à-dire des présentations uniques à une application. Désormais, une notification pourra disposer d'une présentation totalement personnalisée, tout en exploitant les décorations système via deux nouvelles API. Le meilleur des deux mondes, en principe.
Les paramètres rapides, accessibles depuis un double mouvement vers le bas sur la barre de notification, gagnent eux aussi en flexibilité. Comme sur de nombreuses surcouches, ils sont désormais personnalisables via un simple bouton. Il est ainsi possible de remplir ou de vider cette zone, en gérant l'ordre. Les cinq premières entrées sont accessibles directement en accédant aux notifications, une touche sympathique. Des applications tierces peuvent aussi y proposer une entrée, comme le client Twitter Talon et son Pull, qui offre une vue rapide des derniers messages.
Le menu Paramètres affiche désormais un aperçu rapide de points-clés (réseau Wi-Fi utilisé, consommation de données, stockage consommé, pourcentage de batterie...) dès la page d'accueil. Un menu latéral est aussi proposé au sein de chaque section, pour en changer rapidement. Des petites touches qui rendent la navigation un peu plus pratique.
Blocage de numéros, support multilingue et enregistrement TV
Cette nouvelle mouture intègre aussi deux fonctions largement proposées par les constructeurs : le blocage de numéro et le rejet d'appel. Les supporter directement dans le système a l'avantage d'amener des API communes à toutes les applications, exploitées par celles fournies par Google.
Les numéros bloqués sur les appels peuvent désormais aussi l'être sur les SMS, ils peuvent être conservés après un changement d'appareil (via la Restauration fournie par le compte Google) et la liste des numéros est commune à toutes les applications. Du côté des appels, ils peuvent désormais être rejetés du journal d'appels voire, pour les plus pénibles, ne jamais s'afficher à l'utilisateur, qui ne recevra même pas de notification. Un pas en avant important, bien que tardif.
Le système supporte en outre plusieurs langues simultanément, par exemple pour les personnes bilingues, auquel les applications peuvent désormais demander quelle langue utiliser.
Pour sa part, Android TV gagne avec Nougat la possibilité d'enregistrer des émissions directement depuis Android, si des sources de TV sont configurées. La fonction s'appuie sur l'API de contrôle du direct, en ajoutant une fonction d'enregistrement avec programmation et choix de l'emplacement où envoyer le contenu.
Enfin, le système de Google rattrape, peu à peu, son retard en matière d'accessibilité. Nougat amène ces paramètres dès la première configuration de l'appareil, et doit être plus facilement utilisable par les personnes handicapées moteur. D'un point de vue purement fonctionnel, l'agrandissement ne concerne plus uniquement la taille du texte, mais l'ensemble des éléments de l'interface, via l'option « Taille d'affichage ».
La réalité virtuelle arrive, tout comme Vulkan
Si ces améliorations sont nombreuses, ce ne sont pas les plus impressionnantes. Cet adjectif pourrait être réservé à l'arrivée du support de la réalité virtuelle par le système, incarnée par Daydream, une interface et un magasin dédiés prévus pour l'automne. Daydream doit transformer Nougat en plateforme VR, avec un magasin d'applications propre et une navigation adaptée, gérable sur un smartphone.
Les premières applications sur lesquelles travaillent Google et ses partenaires sont assez logiquement liées à des services vidéo. Google investirait d'ailleurs dans des projets de vidéos et de jeux en réalité virtuelle, affirme Bloomberg. Cela en plus des designs de référence pour des kits de caméras (Jump) et de casques de réalité virtuelle. Avec cette initiative et sa future boutique dédiée, Nougat doit devenir la plateforme de référence pour la VR abordable, espère Google. Les premiers éléments concrets devraient arriver dans les prochaines semaines, même si Nougat en pose les bases.
Cette nouvelle mouture embarque surtout l'API graphique Vulkan, censée grandement améliorer les performances et proposer un meilleur parallélisme qu'OpenGL. Concrètement, Android 7.0 intègre des headers, des couches de validation (bibliothèques de débogage), un compilateur pour shader SPIR-V et la bibliothèque qui va avec. Les jeux qui en tirent parti sont encore peu nombreux, mais Vulkan étant multiplateforme, l'arrivée de titres fondés dessus devrait être facilitée. Côté OpenGL, l'OS ajoute le support pour la version ES 3.2.
Économiser l'énergie et les données
Les problèmes de consommation n'ont pas été oubliés. Google étend ainsi l'usage de Doze, le service qui passe l'appareil en veille profonde quand il n'est pas utilisé. Son champ d'action est élargi. Alors qu'avec Marshmallow, il ne s'activait qu'un certain temps après que le terminal s'éteigne et soit posé à plat, il est désormais activé dès que l'écran est éteint. Pour mémoire, il coupe la plupart des tâches de fond et synchronise les applications périodiquement, de manière groupée. De quoi drastiquement augmenter l'autonomie en veille.
Le projet Svelte, qui cherche à optimiser la consommation mémoire en arrière-plan, se poursuit également. Avec Nougat, trois fonctions de réception de données sont supprimées, car elles avaient tendance à réveiller des applications en arrière-plan, consommant à la fois de l'énergie et de la mémoire. La fonction de composition d'image SurfaceView, est encore optimisée pour économiser des ressources. Pour mémoire, l'affichage reste l'un des principaux postes de dépense d'énergie pour Android. Google recommande d'ailleurs de l'utiliser en lieu et place de TextureView dans leurs applications.
Cette version inaugure (aussi) la Sustained Performance API. Via celle-ci, les constructeurs peuvent donner des indications de performances aux applications, pour éviter qu'une application lancée pendant une longue période ne ralentisse trop.
Un économiseur de données apparaît également. Accessible via les paramètres rapides, sa principale fonction est de couper les synchronisations en arrière-plan. Cela peut avoir des conséquences directes dans les logiciels ouverts, prévient tout de même Google. Une image pourra, par exemple, ne se charger qu'en appuyant dessus.
Développeurs : nouveau compilateur, web-views et partages restreints
Introduit dans Android 5.0, ART (Android Runtime) a complètement revu la manière dont sont compilées les applications. Au lieu de les compiler juste avant leur exécution, comme son prédécesseur Dalvik, il les précompile à l'installation, pour un lancement qui se voulait plus rapide. Avec Android 7.0, Google mélange les deux approches : ART est ainsi doté d'un compilateur JIT (Just In Time), qui optimise les applications pendant leur exécution. Il doit ainsi « améliorer les performances, économiser l'espace de stockage et accélérer les mises à jour des applications et du système ».
Exit l'envoi de ces données sans chiffrement, donc. Ces applications peuvent contrôler elles-mêmes le niveau de sécurité des connexions sécurisées, par exemple en désactivant directement l'envoi de données en clair ou en choisissant les autorités de certification auxquelles elles font confiance.
La signature des APK est elle aussi modifiée, avec une « v2 » intégrée de base dans Android Studio 2.2 et le plugin Android pour Gradle 2.2. Il doit permettre des installations plus rapides et une meilleure sécurité que la signature JAR classique. Si une application a des problèmes de compilation avec ce nouveau système, il peut être désactivé sans problème.
Les web-views sont par ailleurs remaniées. Il n'est ainsi plus simplement question d'utiliser le moteur de rendu intégré au système, mais de passer par la version de Chrome installée par défaut sur la grande majorité des appareils. À partir de Chrome 51, son APK sera utilisé s'il est présent. Objectif affiché : réduire l'empreinte mémoire et la consommation de données en n'ouvrant qu'un navigateur. Les développeurs peuvent d'ailleurs choisir quelle version du navigateur utiliser, par exemple une mouture en développement ou une bêta si disponible. Pour les applications visant Android 7.0, la géolocalisation via une web-view ne fonctionne plus qu'en HTTPS.
Enfin, les partages de contenu entre applications ne peuvent plus être exprimés avec une adresse permanente file://, mais avec une adresse content:// associée à une permission temporaire d'accéder au contenu. Le plus simple est de gérer ce partage via la classe FileProvider, explique Google.
Une sécurité encore renforcée
Côté sécurité, Google ajoute de nouvelles couches à Verified Boot, qui s'assure de l'intégrité du système au lancement. Comme annoncé, les terminaux livrés avec Nougat refuseront de démarrer ou se lanceront avec des capacités limitées si des erreurs sont détectées dans l'image système ou la partition. Une fonction de correction d'erreurs est aussi intégrée, pour limiter l'impact d'un souci assez habituel pour être résolu automatiquement.
Nougat amène aussi le chiffrement par fichier, plutôt que par volume. Ce fonctionnement permet une gestion bien plus fine des permissions avec quelques avantages concrets. Le principal est Direct Boot, qui permet de démarrer un appareil chiffré sans avoir à entrer de mot de passe ou de schéma. Jusqu'à ce que l'utilisateur l'entre, seule une sélection de fonctions et d'applications sont lancés, comme l'horloge, pour garantir certaines fonctions utiles. Les données de l'utilisateur ne sont déchiffrées que s'il s'identifie.
Le noyau Linux agit aussi différemment. Le groupe a ainsi décidé de largement limiter l'accès des applications à la mémoire et à l'espace utilisateur. De quoi réduire la surface d'attaque pour d'éventuels malwares, promet Google. Enfin, sur certains appareils, les optimisations permettent des mises à jour système transparentes, évitant notamment l'habituelle séance de mises à jour des applications au redémarrage.
Android for Work devient plus flexible
Désormais, Android s'adresse explicitement aux professionnels, et les fonctions d'Android for Work continuent de s'enrichir. Le système, qui permet surtout de créer un profil professionnel sur les terminaux des employés, séparé des applications classiques, est gérable plus facilement
Il est ainsi possible d'obliger l'utilisateur à entrer un mot de passe en tentant d'ouvrir une application professionnelle, par exemple. Un administrateur peut également imposer l'usage d'un VPN particulier pour faire transiter le trafic des applications professionnelles. De même, il pourra directement personnaliser la sécurité du compte professionnel, ou le désactiver temporairement en cas de besoin. Pour ceux avec un œil artistique, la possibilité de personnaliser une partie du système avec les couleurs et les logos maison est aussi ouverte.
Dans l'ensemble, Android 7.0 est très loin d'être une révolution. Le système corrige de nombreux choix de sécurité et de performance, en affinant l'interface et en optimisant un peu plus l'autonomie. Globalement, les applications sont sous un contrôle accru, que ce soit dans leur consommation des ressources ou dans leurs communications avec le système. Ce contrôle est aussi plus explicite pour l'utilisateur, qui voit les options se multiplier.
Reste, finalement, que ces nouveautés n'arriveront sûrement pas avant longtemps chez la plupart des utilisateurs. Malgré les engagements des constructeurs, Android 6.0 ne compte que pour 15,2 % des terminaux actifs, et les annonces autour de la disponibilité de Nougat sont encore loin de rassurer.