Ingénieur Relations avec les développeurs
Le lancement de Googlebook ouvre de nouveaux horizons pour des expériences de qualité, dignes d'un ordinateur de bureau. Dans cette session, nous allons découvrir les coulisses de deux partenaires pionniers qui ont développé des solutions pour cette plate-forme dès le départ.
Notability partagera son expérience de création d'une application Android de qualité professionnelle à l'aide de Jetpack Compose. Découvrez comment ils ont migré depuis d'autres plates-formes d'applications en gardant l'ordinateur à l'esprit. Ensuite, Logitech abordera l'aspect matériel en expliquant comment l'entreprise conçoit et personnalise des périphériques pour les intégrer parfaitement à Googlebook. Rejoignez la session pour obtenir des insights pratiques et concrets sur l'optimisation des entrées, l'utilisation des API pour grands écrans et la création d'une expérience utilisateur premium et cohérente sur l'ensemble du matériel et des logiciels.
Transcription
Bonjour, je m'appelle Emilie Roberts. Je suis Developers Advocate et je travaille avec des applications Android sur ordinateur portable depuis environ neuf ans.
Et le lancement de Googlebook a eu lieu.
Super !
Je suis ravi de voir les innovations que nous apportons au secteur des ordinateurs portables.
Je suis ravi d'être sur scène avec deux développeurs qui ont vraiment investi pour que leurs applications soient superbes sur Googlebook.
Bonjour !
Je m'appelle Ryan et je travaille pour Notability.
Je suis le responsable d'Android, et il s'agit d'une application de bloc-notes numérique que nous venons de lancer sur Android.
Elle est également disponible sur iOS, sur ordinateur et désormais sur Google Livres.
Bonjour !
Je m'appelle Joe et je travaille chez Logitech, une entreprise connue pour ses excellents matériels et périphériques.
Je vais vous expliquer comment nous les avons intégrés aux nouvelles plates-formes.
Je vais les pousser.
Et voilà, Google Books est là.
Super !
Super !
Super !
J'espère que vous avez pu les tester, soit par vous-même, soit en vous rendant au stand de démonstration à l'étage supérieur ou inférieur.
Et n'oubliez pas de vérifier l'apparence de votre application sur ces appareils.
Je vais vous donner mon argumentaire habituel : l'écosystème Android est en pleine croissance.
Je le dis depuis neuf ans, et c'est toujours vrai.
Les applications doivent évoluer pour répondre aux besoins de vos utilisateurs sur toutes ces tailles d'écran et tous ces appareils.
Il est désormais courant d'avoir une mise en page d'application performante et qui se comporte correctement.
Pour cela, le mieux est d'utiliser Jetpack Compose et Navigation 3.
Et pour l'entrée, c'est la même chose.
Cela devrait fonctionner.
Bien entendu, l'architecture et la gestion de l'état de vos applications font partie intégrante de la mise en page et des entrées.
Nous avons d'ailleurs prévu plusieurs sessions lors de l'ADS pour vous expliquer comment faire avec les outils les plus récents et les bonnes pratiques.
Cependant, nous avons pensé qu'aujourd'hui serait une excellente occasion de laisser un peu de place aux développeurs qui créent pour Googlebook depuis le début et d'écouter leur histoire.
Notability est une application de prise de notes ultra-performante conçue spécialement pour Googlebook.
Logitech a veillé à ce que les claviers, les souris et ses autres périphériques fonctionnent, mais aussi qu'ils fonctionnent parfaitement sur les Googlebooks, y compris la personnalisation par l'utilisateur.
Désolé de te voler un peu la vedette, Joe, mais nous allons entrer dans les détails.
C'est tout ce qu'il me faut.
Pas de rap cette fois, désolé.
Et plus de freestyle, c'est sûr.
Quoi qu'il en soit, nous sommes ravis de proposer Notability sur les Googlebooks. Je vais maintenant passer la parole à Ryan.
Merci.
Parfait.
Merci beaucoup, Em.
Nous sommes très heureux d'être sur Google Livres.
Notability est l'application que des millions d'étudiants utilisent pour apprendre et que les professionnels utilisent pour prendre des notes.
Comme je l'ai mentionné précédemment, elle est désormais disponible sur Android. Je vais vous expliquer brièvement comment nous l'avons conçue et comment le développement pour Android permet de créer une application très proche de Google Books de manière optimale dès le départ.
Pour commencer, lorsque nous avons lancé ce projet il y a environ deux ans, nous voulions vraiment nous assurer que nous ne nous contentions pas de porter notre application iOS, de la proposer aux utilisateurs et de nous en satisfaire.
Nous voulions quelque chose qui réponde vraiment aux attentes des utilisateurs, tout en offrant une parité complète des fonctionnalités.
Pour y parvenir, nous avons utilisé Material Design et ses composants pour personnaliser tous les écrans de l'application.
Nous avons également veillé à ce que notre application soit basée sur Jetpack Compose.
Comme il s'agit d'une application Android native entièrement basée sur Jetpack Compose, nous pouvons prendre en charge une gamme complète de matériel, non seulement les petits téléphones et les appareils d'entrée de gamme, mais aussi les tablettes puissantes haut de gamme avec de grands écrans, les ordinateurs, la XR, les voitures et tout le reste.
Jetpack Compose permet de prendre en charge ces fonctionnalités de manière native, sans avoir à créer de nombreuses fonctionnalités supplémentaires dans les interfaces utilisateur.
Passons maintenant à Notability.
Tout dans Notability est basé sur Jetpack Compose.
L'interface utilisateur est cohérente sur l'ensemble de la plate-forme. Elle est conçue une seule fois, sans véritable différence entre ce qui s'affiche sur un téléphone et ce qui s'affiche sur les appareils plus grands, comme les tablettes et les Googlebooks.
Pour ce faire, Navigation 3 est un atout majeur pour nous.
Le fonctionnement de Navigation 3 dans Google intégré à Notability est le suivant : en fonction de la taille de l'écran, nous pouvons personnaliser la mise en page sans que la fonctionnalité ait à se soucier de la façon dont elle sera présentée.
Dans cette démo, vous pouvez voir que si l'espace est suffisant pour ouvrir un panneau latéral, il s'ouvre.
Si ce n'est pas le cas, elle s'affiche sous la forme d'une bottom sheet.
À quoi cela ressemble-t-il dans le code ?
Dans le code présenté ici, vous pouvez voir qu'il existe un point d'entrée pour le panneau récapitulatif sur le côté, et que nous l'ajoutons à la pile "Retour".
Ensuite, notre stratégie de scène personnalisée choisit une mise en page pour ce panneau latéral, selon qu'il y a de l'espace ou non.
Sur une tablette ou un Googlebook, il va trouver de l'espace disponible, faire de la place et faire glisser ce panneau depuis la droite.
Cependant, sur un téléphone ou un appareil pliable, par exemple, il se peut qu'il n'y ait pas assez d'espace pour afficher correctement ce panneau. Il s'affichera alors sous la forme d'un bottom sheet.
Comme Notability s'adapte à la taille de la fenêtre plutôt qu'au type d'appareil (téléphone, Googlebook, tablette, pliable, etc.), notre UI s'adapte très facilement aux besoins des utilisateurs.
Comme vous pouvez le voir ici sur un téléphone, tous les boutons et outils sont repositionnés pour être facilement accessibles avec le pouce.
Sur une tablette, les panneaux de navigation sont affichés à côté du contenu principal, car l'écran est plus grand et plus facile à utiliser.
Sur les pliables, nous tirons parti de la pliure pour proposer des mises en page et des interfaces utilisateur uniques, par exemple pour notre quiz d'étude, où les utilisateurs peuvent voir leurs réponses dans la moitié inférieure et la progression du quiz dans la moitié supérieure.
Enfin, sur Google Livres, le redimensionnement de la fenêtre est désormais fluide.
Comme pour n'importe quelle autre application fenêtrée sur un ordinateur, Notability s'adapte lorsque vous redimensionnez la fenêtre pour l'afficher côte à côte avec une autre application.
Comme je l'ai mentionné, nous avons conçu l'UI adaptative pour qu'elle fonctionne sur la quasi-totalité de l'expérience de bureau complète sur Googlebooks.
Vous allez vous en approcher de très près.
Mais si vous souhaitez une expérience digne d'un ordinateur de bureau, quelque chose de vraiment exceptionnel, nous vous recommandons de suivre quelques étapes.
Tout d'abord, privilégiez le clavier.
Les utilisateurs ne vont pas être aussi sensibles au toucher que sur une tablette ou un téléphone standard. Il est donc très important de disposer de raccourcis clavier et d'un moyen simple d'accéder à la liste des raccourcis Android.
Ensuite, vous pouvez parfois concevoir vos fonctionnalités de manière à ce qu'elles s'organisent différemment selon le type d'appareil et les périphériques d'entrée disponibles.
Lorsque nous détectons un ordinateur portable avec un clavier ou une souris, nous proposons une interface légèrement différente sur l'écran d'accueil. Les utilisateurs sont ainsi redirigés vers des outils que nous pensons qu'ils préféreront par rapport à une tablette, où un stylet et des notes manuscrites automatiques sont l'option principale.
Vous devez également commencer à réfléchir à la manière dont plusieurs appareils différents interagissent.
"Continuer sur" est une nouvelle fonctionnalité d'Android 17 qui vous permet de transférer facilement votre application d'un appareil à un autre.
Dans cet exemple, nous transférons une note de votre téléphone vers votre ordinateur de bureau.
Pour cela, il suffit de synchroniser rapidement l'ID de la note et de vérifier où vous en êtes de notre côté.
Il est donc très facile d'envoyer un intent d'application rapide à l'appareil Googlebook, puis de continuer exactement là où vous vous étiez arrêté.
L'autre élément à prendre en compte pour les appareils de type ordinateur est la compatibilité avec les modèles à entrées multiples.
Vous n'aurez donc pas seulement des éléments comme des raccourcis clavier, comme mentionné précédemment, mais aussi des pavés tactiles avec différents types de zooms et de comportements de défilement que vous n'aviez peut-être pas auparavant.
Vous allez également avoir des menus contextuels qui devront peut-être être mis à la disposition des utilisateurs qui n'étaient pas là auparavant.
De plus, comme de nombreux appareils Googlebook sont toujours des appareils à écran tactile, vous devez vous assurer que lorsqu'un utilisateur interagit avec cet appareil, vous disposez d'une reconnaissance d'entrée différente non seulement pour le stylet et le doigt, mais aussi pour le curseur du pavé tactile, car ces trois éléments doivent être traités différemment.
Si vous vous intéressez à l'encre et à la prise de notes comme Notability, nous vous recommandons d'utiliser Jetpack Ink.
Nous l'utilisons pour fournir un système de création à faible latence pour notre encre, sans avoir à gérer une pile lourde et complexe de threads, de moteurs de rendu, de lecteurs de tampon et d'autres éléments que je vous présenterai un peu plus tard.
Mais si ça fonctionne, je peux, grâce à Logitech, vous montrer une démonstration en direct de l'application Notability.
Oui, parfait.
Alors, allez, viens.
Voilà, parfait.
Voici mon test de tout à l'heure.
Mais comme vous pouvez le voir, j'utilise mon doigt, et l'écran reconnaît toujours la saisie tactile, ce qui est formidable.
Je pourrais aussi utiliser la souris si je le voulais.
Mais nous avons pu créer des pinceaux personnalisés, exclusifs à Android pour le moment.
Comme vous pouvez le voir, j'ai sélectionné cet effet arc-en-ciel et paillettes. Nos effets d'entrée ou d'encre seront donc affectés par la bibliothèque Jetpack Ink sous-jacente.
Je vais donc réécrire mon message une fois de plus.
Bonjour.
Ensuite, choisissons le vert Android pour la dernière partie.
Il est difficile de toucher correctement.
Voilà, le vert Android.
Ensuite, nous pouvons voir que les couleurs réelles changent en fonction de la couleur que vous avez choisie comme modèle de base ici.
Super, parfait.
Auparavant, lorsque nous créions ce type de pinceaux, il nous fallait parfois des mois pour obtenir tous les nuanceurs personnalisés, l'interface et tout le reste, et pour que le résultat soit satisfaisant.
Heureusement, grâce à Jetpack Ink, à l'IA et à son outil de création de pinceaux personnalisés, cela peut prendre moins d'une semaine.
Si vous cherchez un tatoueur, n'hésitez pas à les contacter.
C'est une API formidable qui nous a fait gagner beaucoup de temps.
Parfait.
Comme je l'ai mentionné plus tôt, voici à quoi cela ressemble.
Nous avons donc ce que l'on appelle une couche d'encre humide.
C'est notre encre en cours de dessin, qui doit être super réactive, par rapport à une couche d'encre sèche.
C'est logique d'un point de vue physique.
C'est l'encre enregistrée, déjà terminée.
Auparavant, nous devions gérer l'intégralité du transfert.
Nous avons donc dû effectuer ce threading, redessiner et nettoyer, transmettre le tout à une couche sèche et nous assurer que ces éléments étaient synchronisés et ne clignotaient pas, et il y avait toutes ces complications.
Et enfin, nous avons dû appliquer ce qui fait la spécificité de Notability.
Nous avons nos propres modèles d'ajustement de courbe, et nous avons des moyens de faire ressortir votre écriture manuscrite.
C'était l'ancien modèle.
Grâce à Jetpack Ink, il nous suffit d'intégrer notre ajustement de courbe dans leur vue de formes de progression personnalisées, et tout fonctionne comme par magie sur Android.
Nous pensons également à KMP, car nous parlons à la fois de Jetpack Ink et d'autres bibliothèques Google.
Nous avons donc commencé par examiner le code iOS, qui était déjà créé, et nous nous sommes dit : "D'accord, nous aimerions partager une partie de la logique entre Android et iOS.
Nous avons des modèles, des modifications et des calculs mathématiques complexes.
Il est logique de les partager."
Nous nous sommes dit : "C++, Objective-C d'Apple, voilà la voie à suivre."
Il s'est avéré que Kotlin Multiplatform était non seulement plus facile à implémenter pour nos ingénieurs iOS, mais aussi plus rapide.
Non seulement nous avons obtenu de meilleures performances en utilisant Kotlin et nous avons pu copier une grande partie du code Android, mais cela a également été plus facile pour iOS à long terme.
Si vous souhaitez partager du code, je vous recommande de vous intéresser à Kotlin Multiplatform.
Pour le moment, nous sommes encore en train de l'évaluer.
Ce n'est pas encore compatible à 100 %, car les différents modèles d'IA facilitent un peu la triche en ayant du code à plusieurs endroits, mais c'est une solution que nous étudions activement et que j'apprécie beaucoup.
Passons maintenant à une fonctionnalité exclusive de Notability.
Si vous essayez de créer un éditeur de texte fonctionnel sur Android, vous remarquerez peut-être qu'il n'existe pas vraiment de moyen efficace de créer un éditeur de texte pour les documents volumineux.
Les champs de saisie de base d'Android sont tous de petites interfaces utilisateur, de petits EditText, de petits éléments courts.
Nous avons donc dû créer un système très complexe qui repose sur les API Android existantes, mais qui est capable de gérer des documents beaucoup plus volumineux, avec des milliers de pages de texte, tout en permettant la coédition. Ainsi, un utilisateur peut modifier un document à 500 pages de vous, ce qui entraîne des modifications qui affectent votre travail au fur et à mesure.
Et la façon dont nous avons trouvé de le faire est fondamentalement que nos frappes prennent deux chemins.
La première méthode consiste à dire : "Voici notre meilleure estimation. Cette clé devrait apparaître ici."
Nous pensons que c'est une bonne chose, d'après tout ce que nous pouvons dire pour l'instant sur l'aspect de l'ensemble.
Ensuite, nous effectuons une synchronisation rapide, n'est-ce pas ?
Nous allons dans le backend, nous vérifions nos collaborateurs et nous leur demandons si tout va bien.
Cela vous semble-t-il logique ?
On est d'accord ?"
Et si des changements sont nécessaires, il se réajuste à ce moment-là.
Imaginez que deux utilisateurs se trouvent sur la même ligne et appuient sur des touches en même temps. Il sera difficile de savoir qui obtient quoi.
Mais dans la plupart des cas, cela fonctionne très bien.
Si j'en parle ici, c'est parce que nous y avons consacré énormément de travail et que nous envisageons de le rendre Open Source.
Si quelqu'un ici à la conférence ou en ligne à l'avenir souhaite collaborer sur ce sujet et pense que c'est une bonne idée, n'hésitez pas à nous le faire savoir.
Nous nous demandons si cela vaut vraiment la peine d'investir dans ce domaine, mais vous savez, cela a été un travail colossal de notre part, et nous sommes assez fiers des résultats.
Voici comment fonctionne l'encre.
En termes de modèle de collaboration, voici un peu plus en détail comment cela fonctionne de notre côté.
Comme vous pouvez le voir, il y a trois étapes.
Il y a le contact, où nous disons "Hé, au fait, nous commençons un événement d'écriture" à l'un de nos appareils connectés, dans ce cas, un iPad.
Ensuite, il y a le dessin lui-même. Il peut y en avoir un ou des millions, selon la durée pendant laquelle l'utilisateur garde son stylet sur l'écran.
Espérons que ce ne sera pas trop long.
Je pense qu'il y a une limite à un moment donné, mais pour les cas d'utilisation normaux, c'est tout à fait acceptable.
Ensuite, il y a un événement de levée.
Pour gérer cela, nous utilisons un objet temporaire que nous conservons dans notre modèle.
Cela signifie que sur l'iPad, nous disons : "OK, il y a une sorte de trait qui arrive, mais il n'est pas encore là.
Nous ne pouvons pas interagir avec.
C'est éphémère."
Et ce n'est qu'une fois que cet événement de fin est lancé que nous pouvons dire : "OK, super.
Maintenant, remplacez le tout par un seul objet que iOS ou tout autre client peut simplement récupérer et avec lequel il peut interagir."
Nous envisageons également de rendre ce projet open source.
Il ne s'agit pas de notre encrage direct, mais de certains éléments temporaires, en particulier dans la couche de texte.
Parfait.
Et puis, oui.
Voici d'autres éléments que nous vous recommandons d'utiliser.
L'IA sur l'appareil est formidable.
Nous l'utilisons pour la numérisation de documents, ce qui vous permet de numériser des documents, d'analyser des textes PDF et de reconnaître l'écriture manuscrite.
Nous utilisons également des modèles d'IA cloud ouverts comme Gemini pour générer nos Smart Notes. Les notes des utilisateurs sont classées, résumées, puis leur sont renvoyées de manière plus efficace et plus interactive pour le modèle d'apprentissage.
Et tout cela fait que Notability ressemble vraiment à une application pour ordinateur portable, n'est-ce pas ?
C'est l'objectif final.
Nous avons tous ces modèles et éléments intéressants, des entrées de texte, etc. Mais la grande question est la suivante : est-ce que cela ressemble à une application pour ordinateur portable, ou est-ce que cela ressemble à une application pour téléphone que vous avez ouverte sur votre grand écran et avec laquelle vous essayez de vous débrouiller ?
Le clavier, le pavé tactile, le stylet, le redimensionnement des fenêtres… Ce sont toutes des fonctionnalités clés à optimiser pour que l'expérience soit vraiment agréable pour les utilisateurs.
Mais comme je l'ai mentionné plus tôt, Jetpack Compose, Navigation 3, Material Design, tout cela est couvert.
Cela ne demande donc pas un effort énorme si vous vous y prenez correctement.
C'est assez facile d'y accéder.
Voilà.
Voilà pour les principaux points à retenir.
Quand on pense à l'avenir d'Android, on ne devrait plus penser aux appareils.
Je ne me dirais pas : "Tiens, c'est un téléphone, un pliable, un appareil XR, un ordinateur de bureau ou portable, une tablette, une voiture ou un téléviseur".
Il s'agit plutôt de se demander quelle est la taille d'écran disponible et quels sont les modes de saisie disponibles pour les utilisateurs.
Et offrons la meilleure expérience possible à ceux qui vont de l'avant.
Comme je l'ai mentionné dans la diapositive précédente, Compose et Nav 3 facilitent vraiment la prise en charge de tout cela.
Et Google propose chaque jour de nouvelles API très puissantes, comme Jetpack Ink ou Gemini sur l'appareil, ou toutes sortes de choses qui vous permettent de créer facilement vos expériences de base, puis de vous concentrer sur la recette magique qui vous rend unique.
OK.
Voilà.
Merci beaucoup.
C'est tout pour moi.
Je serai disponible plus tard si vous avez des questions, ou n'hésitez pas à contacter Notability.
L'application est toute nouvelle sur Android, elle est sortie il y a environ deux mois.
Nous sommes enfin sortis de la version bêta.
Alors, n'hésitez pas à l'essayer.
Envoyez-nous vos commentaires.
Il est également disponible sur Google Books, comme vous l'avez vu dans la démonstration.
Je vais maintenant laisser la parole à Joe de Logitech.
Merci.
Très bien.
Merci, Ryan.
Aujourd'hui, d'accord, désolé.
Affichons notre diapositive.
Merci, Ryan.
Aujourd'hui, je vais vous expliquer comment nous avons intégré Options+, une application de personnalisation des périphériques, aux Chromebooks.
Et que signifie créer une expérience périphérique ?
Je vais vous présenter ce que nous avons conçu, quelques aspects techniques, et nos projets pour la suite.
Les appareils Logitech fonctionnaient déjà avec Android, et la plupart des utilisateurs ont constaté que ces périphériques amélioraient l'accessibilité, en particulier avec les ordinateurs portables haut de gamme et les téléphones connectés à des écrans externes.
En parlant de ça, tout à l'heure, au stand de démonstration de Googlebook, j'ai vu qu'ils avaient fixé un levier de vitesse séquentiel Logitech à la table et qu'ils l'utilisaient pour passer d'un écran à l'autre sur la tablette.
Voilà.
C'est une façon de l'utiliser.
Ah, au fait, Ferrari a dû facturer 50 000 euros de plus pour sa boîte séquentielle… Bref.
Oui.
Comme Ryan l'a expliqué en détail, le Googlebook offre beaucoup plus d'espace.
Comme vous pouvez le voir, vous pouvez redimensionner les écrans en mode paysage, portrait ou carré, si vous le souhaitez, et vous disposez de beaucoup plus d'espace pour travailler entre les applications.
Vous pouvez continuer à travailler sur différentes applications, changer de contexte, etc.
Cela a certainement changé la conception des applications, et les mises en page doivent rester utiles tout au long des procédures.
Pour nous, Logitech, cela semble particulièrement intéressant, car nous sommes une entreprise qui a beaucoup d'expérience dans le domaine des périphériques, n'est-ce pas ?
Nous disposons d'une base très solide pour ce travail.
De notre point de vue, pour ce type d'environnement de travail, une souris ou un clavier est le moyen par lequel l'utilisateur interagit tout au long de sa journée de travail.
Ils peuvent s'intégrer très facilement à leur workflow.
Et je ne pense pas exagérer en disant que Logitech apporte des décennies d'expérience à ce travail.
Je crois que nous venons de fêter nos 45 ans au début du mois.
Nous en fabriquons depuis la deuxième année d'existence de Logitech.
Forts de cette expérience, nous sommes très confiants quant à notre entrée dans ce domaine.
Mieux encore, nous avons une longue expérience avec ChromeOS.
Nous avons garanti une compatibilité optimale avec ChromeOS par le passé.
Maintenant que tout cela est dit, nous avons une très bonne expérience pratique pour briser la frontière entre le matériel que nous construisons, les logiciels que nous créons et la plate-forme, l'OS, Googlebooks.
Par exemple, un utilisateur appuie sur un bouton et obtient un résultat prévisible.
C'est presque comme quelque chose que vous, les gens, tout le monde, considérez comme acquis.
Mais ils nécessitent en réalité une compatibilité parfaite entre les composants.
De plus, tout le monde apprécie la compatibilité avec ses périphériques.
Par exemple, régler leur sensibilité de manière optimale.
65, ni plus, ni moins.
Tous ces éléments nécessitent donc une intégration très fluide et une compatibilité parfaite entre eux.
Maintenant, avec le lancement de Googlebooks, nous proposons Options+ pour Googlebooks.
Pour le moment, nous prenons en charge un certain nombre de souris et de claviers, et d'autres seront bientôt ajoutés.
C'est également là que l'utilisateur peut configurer ses appareils.
Et comme je l'ai déjà mentionné, comme la sensibilité, tout ce genre de choses.
Maintenant, les choses deviennent intéressantes.
Lorsque nous parlons de configurabilité, nous parlons en fait de deux aspects.
D'un côté, il y a le matériel et le micrologiciel, où les fonctionnalités sont implémentées dans notre micrologiciel.
L'autre côté, qui est en fait le point clé de cette démonstration et de cette présentation, est le côté OS.
Je pense que tout le monde ici sait que par le passé, les appareils Android et la plupart des applications vivaient dans leur propre bac à sable, dans des espaces utilisateur.
Il existe certaines limites à ce que vous pouvez faire et, dans de nombreux cas, à ce que vous ne pouvez pas faire et à ce que vous voulez.
Pour nous, c'est extrêmement important.
Voici une capture d'écran. Nous ferons une démonstration plus tard, mais voici une capture d'écran.
Nous avons ici une souris, la MX Master 4, et nous avons beaucoup de fonctions ici.
Et pour les personnes qui connaissent le monde des périphériques, vous pouvez reconnaître que certaines fonctionnalités sont des fonctionnalités de micrologiciel, des fonctionnalités d'appareil.
et d'autres, certainement pas.
Nous essayons de permettre à l'utilisateur de configurer les deux côtés.
Notre travail consiste essentiellement à rendre ces options compréhensibles, à offrir toutes les fonctionnalités à l'utilisateur et à configurer correctement ces éléments pour l'OS et le micrologiciel.
Passons maintenant à une démonstration rapide.
Cette démonstration était très impressionnante.
Mais la prochaine fois, Ryan, utilise la souris.
C'est parti.
Voici l'écran de mon appareil.
Vous voyez que j'ai intégré une souris MX Master 4, celle-ci.
Alors, allons-y.
Nous allons passer directement à l'écran de configuration, comme vous l'avez vu précédemment. C'est là que la magie opère.
Commençons par attribuer Entourer pour chercher au bouton du pouce.
Ensuite, ajoutons le pointeur magique au bouton de fonctionnalité.
C'est parti.
Ouvrons un navigateur.
S'y rendre.
Ici, j'appuie sur le bouton du pouce auquel je viens d'attribuer la fonctionnalité Entourer pour chercher.
Comme vous le voyez, j'entoure un clavier.
Et voilà !
Google affiche simplement les informations concernant ce clavier.
C'est très pratique et très fluide.
Maintenant, essayons autre chose.
Oh, désolé.
Je vais revenir en arrière.
Essayons le pointeur magique.
Ici, activons cette option.
Je peux appuyer sur le bouton de fonctionnalité, taguer l'appareil et appuyer sur "Qu'est-ce que cet appareil ?".
Et voilà,
Google lance la recherche et affiche les résultats.
L'avantage, c'est que vous intégrez l'ensemble du workflow dans une seule opération manuelle.
Vous attribuez des caractéristiques, vous appuyez, vous entourez, vous cliquez, et voilà.
Nous pensons donc que ce type d'opération améliorera considérablement l'accessibilité des utilisateurs et leur façon de travailler.
Revenons maintenant aux diapositives.
Vous pouvez donc vous demander ce qui a provoqué cet événement.
car de nombreuses choses du passé ne peuvent tout simplement pas être faites par des applications.
Voici l'API Peripheral Customization, disponible sur les Chromebooks et les appareils Android.
Voici toutefois les notes de Google.
Pour le moment, cette API est réservée aux utilisateurs figurant sur une liste d'autorisation.
Toutefois, il est prévu de la publier avec les mises à jour d'Android au quatrième trimestre 2026, c'est-à-dire ce trimestre.
Une fois qu'il sera disponible, je pense que les développeurs du monde entier pourront l'utiliser.
Passons maintenant à un aspect un peu plus technique.
Il y a trois composants clés dans tout cela : un appareil, un déclencheur (qui peut être une touche ou un bouton) et une action (qui se produit au niveau de l'OS de l'application).
Examinons maintenant rapidement cet extrait de code.
Et tout en haut, nous définissons un appareil à l'aide de son ID fournisseur et de son ID produit.
// Vendor and product Information
const val VENDOR_ID = 1234
val pid = 123
// Use the mouse Middle Button as the trigger
val trigger = ButtonCustomizationTrigger(MotionEvent.BUTTON_TERTIARY)
// Set Voice Assistant as the action
val actionBuilder = AppCustomizationAction.Builder(component, ACTION_MAIN)
actionBuilder.setData(ActionId.ACTION_VOICE_ASSIST.actionId) // Action IDs are predefined
val action = actionBuilder.build()
val im = context.getSystemService(INPUT_SERVICE) as InputManager
im.addPeripheralCustomization(VENDOR_ID, pid, trigger, action)On les appelle généralement VID et PID.
En descendant, nous commençons à définir un déclencheur.
Ici, comme vous pouvez le voir, nous voulons utiliser le bouton central comme déclencheur.
Ici, nous voulons mapper ce bouton central à la partie Assistant vocal de la fonctionnalité de l'OS.
Vous me suivez ?
Nous avons un actionBuilder ici, provenant de AppCustomizationAction, et ici.
Ensuite, plus bas, nous enregistrons ce mappage entre le produit, l'appareil, le déclencheur et l'action.
Bien sûr, le code réel est un peu plus complexe que cela, mais le concept global est le suivant.
Très simple et facile à utiliser.
Voici une autre fonctionnalité très intéressante.
J'ai mis un fichier GIF ici pour que tout le monde puisse le voir plus facilement.
En gros, lorsqu'un appareil compatible et pris en charge (dans ce cas, une souris Logitech Mobifold) est connecté, l'OS déclenche une notification standard pour vous indiquer qu'une application est disponible pour cet appareil.
Dites à l'utilisateur : "Bien sûr."
Une fois que vous aurez cliqué dessus, vous serez redirigé vers le Play Store, où vous pourrez l'installer.
C'est ce qu'on appelle la détection de l'Association express.
Passons maintenant à l'UI.
Ryan a abordé de nombreux aspects intéressants de Googlebook et de la façon dont vous concevez l'UI. Je vais donc passer assez rapidement sur ce point.
Comme vous pouvez le voir, Options+ s'exécute sur différentes plates-formes : Windows, Mac et maintenant Googlebook.
Nous avons donc deux objectifs : d'une part, nous voulons que l'application donne l'impression d'être spécifique à la plate-forme, mais d'autre part, nous voulons qu'elle soit similaire sur toutes les plates-formes. Autrement dit, une fois que vous êtes familiarisé avec Options+ sur une plate-forme, vous devez pouvoir l'utiliser sans problème sur une autre.
Cela signifie que nous voulons tirer parti de ces plates-formes spécifiques, tout en utilisant le même langage de conception.
Comme vous pouvez le voir, le langage de design est donc cohérent sur l'ensemble de l'appareil.
Comme nous l'avons vu précédemment, les utilisateurs de Googlebook ont tendance à utiliser leur appareil comme un ordinateur portable ou de bureau.
Bien sûr, notre application elle-même, même sur Googlebook, ressemble à une application de bureau.
L'application elle-même peut donc se comporter comme une application de bureau et fonctionne bien avec différentes tailles de fenêtre et différents types d'interaction tactile. Bien sûr, vous pouvez aussi utiliser une souris et un clavier.
Voilà, c'est tout pour cette brève présentation des périphériques Logitech et d'Options+ sur Googlebook.
Et ça marche très bien.
Cependant, nous n'en sommes qu'au début.
Nous avons plusieurs étapes à franchir : d'une part, nous voulons étendre cette expérience à davantage d'appareils, de claviers, de souris et d'autres périphériques, et d'autre part, nous voulons affiner cette application en nous basant sur les commentaires des utilisateurs réels.
Et bien sûr, le plus important est que nous allons continuer à travailler avec Google et à nous intégrer plus profondément dans les nouvelles plates-formes.
Notre objectif ultime est donc de faire de la personnalisation des périphériques une expérience très naturelle sur Googlebook, et d'aider les utilisateurs à travailler comme ils le souhaitent.
D'accord.
N'oubliez pas de passer par nos stands en bas pour essayer Options+ et les fantastiques appareils Logitech.
Merci à notre partenaire Google et merci à tous pour votre temps.
Merci beaucoup.
// Vendor and product Information
const val VENDOR_ID = 1234
val pid = 123
// Use the mouse Middle Button as the trigger
val trigger = ButtonCustomizationTrigger(MotionEvent.BUTTON_TERTIARY)
// Set Voice Assistant as the action
val actionBuilder = AppCustomizationAction.Builder(component, ACTION_MAIN)
actionBuilder.setData(ActionId.ACTION_VOICE_ASSIST.actionId) // Action IDs are predefined
val action = actionBuilder.build()
val im = context.getSystemService(INPUT_SERVICE) as InputManager
im.addPeripheralCustomization(VENDOR_ID, pid, trigger, action)