Comment Google prend le contrôle de la navigation par geste dans Android 10

Après avoir expérimenté des commandes gestuelles basées sur des boutons dans Android 9 Pie, Google est revenu à la planche à dessin pour améliorer la fluidité et l'utilisation à une main de la navigation gestuelle d'Android. Avec Android 10, Google est arrivé à une solution qui ressemble visuellement à iOS: une barre de geste qui peut être balayée pour aller à la maison ou à gauche ou à droite pour passer d'une application à une autre. Étant donné que la barre des gestes est beaucoup plus fine que l'espace dédié du schéma de navigation à trois boutons précédent, les gestes d'Android 10 donnent aux applications plus d'espace pour afficher le contenu en bas de l'écran. Pour remédier à l'absence d'un bouton arrière dédié, Google a ajouté un balayage vers l'intérieur depuis les bords gauche ou droit de l'écran pour déclencher l'action arrière. Les gestes nouveaux et améliorés de Google sont un pas dans la bonne direction, bien que certains croient toujours que les alternatives tierces sont supérieures.

Nouvelle navigation gestuelle d'Android 10. Source: Google

Même s'il reste encore beaucoup à faire (et il est indéniable), Google pousse ses partenaires Android à adopter ces nouveaux gestes de navigation, car l'entreprise ne veut pas charger les développeurs d'applications de devoir gérer plusieurs schémas de navigation par gestes différents. Les fabricants d'appareils Android tels que OnePlus, Samsung, Xiaomi, Huawei, OPPO, Vivo et ASUS ne sont que quelques-unes des entreprises ayant leur propre approche de la navigation par gestes. Ces entreprises ont déjà beaucoup investi dans le développement de leurs propres gestes. Google ne les oblige donc pas à abandonner complètement leur travail.

«Les utilisateurs veulent de plus en plus d’expériences immersives sur Android, et les fabricants d’appareils ont entre autres essayé d’aborder ce problème du point de vue logiciel. Et ce qu'ils ont fait est construit leur propre navigation gestuelle. Et chaque fabricant d’appareils a une impression différente de la façon dont devrait fonctionner la navigation gestuelle. Ce que nous reconnaissons du côté de la plate-forme, c’est que cela devient insensé pour un développeur. Penser à N gestes différents lorsque vous essayez de développer, de concevoir, d’essayer, de tester votre application, elle devient un peu folle. Dans cet esprit, nous avons introduit ce mouvement dans Q et nous allons normaliser l'écosystème à partir de Q sur 3 boutons et faire avancer notre modèle. »- Ronan Shah, chef de produit chez Google pour l'équipe Android System UI, à Google I / O 2019.

Au lieu de cela, Google a réécrit son ensemble de règles pour la compatibilité des applications Android et Google, forçant les constructeurs à écarter leurs propres gestes au profit de ceux de Google, tout en limitant les fonctionnalités de ces derniers.

Exigences de compatibilité des gestes avec Android 10

Après chaque publication majeure de la plate-forme Android, Google met à jour le CDD (Android Compatibility Definition Document) afin de définir les nouvelles exigences que tous les appareils doivent remplir pour être considérées comme compatibles avec la dernière version d'Android. C'est l'une des conditions préalables à l'obtention d'une licence Android, indispensable pour utiliser la marque Android dans le marketing. Il est également indispensable d'obtenir l'autorisation de distribuer Google Mobile Services, la suite d'applications, de services et de bibliothèques Google préinstallés sur la plupart des appareils Android vendus à l'étranger.

Dans le CDD pour Android 10, Google a mis à jour la section 2.2.3 sur les exigences logicielles pour les appareils de poche (smartphones AKA) avec le libellé ci-dessous. Ces déclarations informent les équipementiers des attentes de Google quant à l'étendue de la zone de déclenchement des mouvements de navigation.

Google recommande que la zone de reconnaissance des gestes pour l'action de rattachement soit située dans les 32dp (dp signifie pixel indépendant de la densité) depuis le bas de l'écran. Toutefois, ils n'en font pas une exigence pour que les constructeurs OEM puissent toujours proposer des commandes de mouvements flottants telles que Le quai de navigation flottant de EMUI.

Si un fabricant OEM propose un mouvement de balayage depuis le bord gauche ou le bord droit de l'écran, Google exige que la zone de déclenchement soit à moins de 40 dp du bord (idéalement de 24 dp en largeur.) Notez que cela permet aux constructeurs OEM de créer options de sensibilité pour les mouvements latéraux tant que la zone de déclenchement n’excède pas 40dp. En fait, Google propose exactement cela dans sa propre version d'Android 10. Par défaut, l’encart pour le geste arrière est de 24dp sur le pixel, mais il peut être abaissé à 18dp ou porté à 32dp ou à 40dp.

Dans une section ultérieure du CDD, en particulier la section 7.2.3 couvrant les touches de navigation, Google fournit des informations détaillées sur la manière dont les gestes pour les actions vers le dos, le domicile et les applications récentes doivent s'exercer. La plupart des exigences consistent à s'assurer que le comportement du système est cohérent pour les développeurs d'applications, mais quelques déclarations notables peuvent affecter l'expérience de l'utilisateur.

Bien que Google n'exige pas qu'un glisser du haut vers le bas déclenche l'action d'accueil ou un balayage vers le haut et le maintien enfoncé pour déclencher la vue d'ensemble des applications récentes, Google exige que les gestes de balayage des côtés déclenchent l'action de retour. Cela signifierait notamment que les gestes personnalisables fournis par One Hand Operation + de Samsung ne seraient pas autorisés, mais comme One Hand Operation + n'est pas installé par défaut, il risque d'obtenir une passe.

Si un fabricant OEM fournit un panneau système flottant déclenché par un mouvement de balayage latéral, il doit alors placer la zone de déclenchement dans le tiers supérieur du côté gauche ou droit et ne pas permettre au panneau de dépasser la taille de 1/3. de la taille du bord de l'écran. Le fabricant OEM peut toutefois permettre à l'utilisateur de définir la zone de déclenchement en dessous du tiers supérieur des bords. Cette langue a probablement été ajoutée pour intégrer la fonctionnalité Edge Panel de Samsung.

Paramètres du panneau de bord Samsung

Panneau de bord Samsung

Opération d'une seule main de Samsung + Paramètres

Opération à une main + gestes de Samsung

Le document de définition de compatibilité d'Android 10 n'impose pas de nombreuses restrictions à ce que les constructeurs peuvent faire avec des gestes, mais comme je l'ai déjà mentionné, le respect du CDD n'est qu'un des préalables à l'obtention d'une licence Android et à l'approbation de la distribution de GMS. Google dispose d'un document séparé qu'ils distribuent en privé à tous ses partenaires Android sous licence; Ce document énumère les exigences techniques que doivent suivre les entreprises pour pouvoir distribuer GMS. Il contient des dispositions supplémentaires relatives à la navigation gestuelle dans Android 10. Nous avons obtenu une copie de ce document, intitulé Exigences GMS v7, datée du 3 septembre 2019.

Exigences de navigation gestuelle pour l'approbation GMS

Google Assistant étant un service extrêmement important pour Google, Google l'intègre dans son application et oblige tous les partenaires Android à le distribuer dans le cadre de la suite d'applications GMS pour les appareils «classiques» (non Android. Go). Cependant, les exigences ne s'arrêtent pas là. Depuis Android 5.1, Google impose qu'une longue pression sur le bouton d'accueil déclenche l'action Assist, qui appelle par défaut Google Assistant puisque Google exige également que l'application Google soit le gestionnaire par défaut de l'action Assist. Il n’existe plus de bouton d’accueil dédié dans Android 10, de sorte que Google a défini de nouvelles exigences en matière de déclenchement de l’assistant par un geste.

Pour activer Google Assistant avec la navigation gestuelle de Google, vous devez faire glisser votre doigt en diagonale à partir du coin inférieur gauche / droit. Google exige que ce geste soit présent sur tous les appareils exécutant Android 10, que les gestes de Google soient ou non les commandes de navigation par défaut. Si un OEM implémente ses propres contrôles de navigation par gestes, il peut également implémenter son propre déclencheur pour lancer l'application Assistant, mais sa mise en œuvre exacte sera soumise à révision de Google. Certains constructeurs tels que OnePlus et Xiaomi vous permettent de déclencher l'Assistant en appuyant longuement sur le bouton d'alimentation, par exemple.

Google définit trois types de modèles de navigation de référence:

  1. Commandes de navigation classiques à trois boutons. Ceux-ci peuvent être des boutons à l'écran ou matériels, mais ils doivent être distants les uns des autres. Les trois boutons déclenchent les applications d'accueil, de retour et récentes.
  2. Les commandes de navigation à deux boutons d'Android 9 Pie. Celles-ci ne peuvent pas être des boutons matériels, bien que les deux boutons doivent toujours avoir une certaine distance entre eux. Les boutons Retour et Accueil déclenchent respectivement les actions Retour et Accueil, bien que le bouton Applications récentes ait été fusionné avec le bouton Accueil de sorte qu'un survol du bouton d'accueil déclenche la présentation des applications récentes.
  3. Nouvelle navigation gestuelle d'Android 10.

Tous les appareils lancés avec Android 10 doivent implémenter A et C, même s'il appartient à l'OEM de décider lequel est configuré par défaut. B n'est plus pris en charge et ne peut pas être autorisé en tant qu'option pouvant être sélectionnée par l'utilisateur.

Alors, où cela laisse-t-il des commandes de navigation alternatives pour les OEM? Bien que les partenaires Android puissent proposer leurs propres contrôles de navigation, Google indique que leurs alternatives ne peuvent pas être présentées à l'utilisateur lors de la configuration, pas plus qu'elles ne peuvent être annoncées à l'utilisateur par le biais de notifications ou de fenêtres contextuelles à l'écran. Bien que les paramètres A et C doivent être affichés au premier niveau des paramètres de navigation, les options de navigation alternatives doivent être placées une entrée plus en profondeur dans Paramètres.

Cela signifie effectivement que seuls les utilisateurs expérimentés qui analysent les paramètres ou lisent des articles en ligne sur leur appareil ne trouveront que de meilleurs gestes. Nous avons noté dans notre critique OnePlus 7T que OnePlus n'offrait pas ses gestes en plein écran OxygenOS, ce qui sera probablement le cas avec d'autres appareils lancant Android 10 sur toute la ligne car il est inutile de proposer un schéma alternatif de gestes. La raison probable pour laquelle les OnePlus 7 et OnePlus 7 Pro conservent les anciens gestes OxygenOS est que Google recommande vivement aux constructeurs de ne pas supprimer les options de navigation existantes lors de la mise à niveau des appareils vers Android 10.

Enfin, Google recommande vivement aux constructeurs OEM de ne pas basculer l'utilisateur vers un mode de navigation différent lors de la définition d'un lanceur tiers par défaut. Paradoxalement, c'est exactement ce qui se produit lorsque vous essayez de définir un lanceur tiers par défaut dans Android 10 pour Google Pixel. Google a promis de proposer un correctif pour rendre les gestes d'Android 10 compatibles avec les lanceurs tiers. Il est donc probable qu'ils aient ajouté cette déclaration afin que les utilisateurs ne blâment pas les lanceurs tiers de l'incompatibilité des gestes. Faites ce que je dis, pas ce que je fais.


En résumé, Google a finalement pris des mesures pour unifier la navigation par gestes dans Android et utilise le processus d'approbation CDD et GMS pour que les équipementiers s'amusent. Ce n'est pas une mauvaise chose, cependant, car la fragmentation des contrôles de navigation est problématique pour les développeurs d'applications. Google a clairement mis beaucoup de réflexion et de recherche sur la convivialité des nouveaux gestes. Puisque Google sait que tout le monde ne sera pas content de ses gestes, il laisse néanmoins une marge de manœuvre aux OEM en leur permettant de faire leurs propres gestes, à condition que ces gestes suivent certaines règles.

Dans les futures versions d'Android, Google pourrait interdire totalement les modes de navigation alternatifs. OnePlus a peut-être déjà vu l'écriture sur le mur, ce qui expliquerait pourquoi ils ne fournissent plus leurs vieux gestes sur le OnePlus 7T. Nous devrons toutefois attendre que plus d'appareils soient lancés avec Android 10 pour voir s'il s'agit d'un logiciel isolé ou non. une nouvelle tendance de l'industrie.