Nozioni di base sulle app

Inside the first wave on Googlebook with Notability and Logitech

Altoparlanti

  • Emilie Roberts

    Developer Relations Engineer

  • Ryan Shea

    Head of Android

  • Joe Yezhou Wang

    Engineering Manager presso Logitech

Informazioni

Informazioni sulla presentazione

Il lancio di Googlebook apre una nuova frontiera per esperienze ad alta fedeltà di livello desktop. In questa sessione, andremo dietro le quinte con due partner pionieristici che hanno creato per questa piattaforma dalle fondamenta.

Notability condividerà il suo percorso di creazione di un'app per Android di livello desktop utilizzando Jetpack Compose. Scopri il loro percorso di migrazione da altre piattaforme di app con un focus sul desktop. In secondo luogo, Logitech approfondirà l'aspetto hardware, spiegando come sta creando e personalizzando le periferiche per integrarle perfettamente con Googlebook. Partecipa alla sessione per ottenere informazioni pratiche e reali sull'ottimizzazione degli input, sull'utilizzo delle API per schermi di grandi dimensioni e sulla fornitura di un'esperienza utente premium e coesa su hardware e software.

Riepilogo

  • Jetpack Compose e Navigation 3 semplificano l'adattamento dei layout su tutti i dispositivi in base alle dimensioni della finestra disponibile anziché ai fattori di forma del dispositivo.
  • Le esperienze di tipo desktop richiedono il supporto di modelli multi-input come tastiere e trackpad. Funzionalità come Continua su in Android 17 consentono inoltre agli utenti di trasferire le attività tra i dispositivi.
  • Jetpack Ink offre agli sviluppatori una pipeline di disegno a bassa latenza senza dover gestire thread di rendering personalizzati o passaggi di livelli complessi.
  • L'API Peripheral Customization inclusa nella lista consentita consente agli sviluppatori di mappare gli attivatori hardware delle periferiche alle azioni del sistema operativo utilizzando gli ID fornitore e prodotto.

Gemini Notebook

Argomenti

  • googlebook
  • jetpack-compose
  • jetpack-ink
  • navigation-3
  • schermi grandi
  • peripheral-customization
  • kotlin-multiplatform

Trascrizione

Scarica la trascrizione

Introduzione allo sviluppo per Googlebook

  • Ciao, sono Emilie Roberts, una consulente per gli sviluppatori che lavora con le app per Android sui laptop da circa nove anni.

  • E il lancio di Googlebook è avvenuto.

  • Benissimo!

  • Sono molto entusiasta dell'innovazione che stiamo portando nel settore dei laptop.

  • Sono davvero felice di essere qui sul palco con due sviluppatori che hanno investito molto per rendere le loro app fantastiche su Googlebook.

  • Ciao.

  • Sono Ryan di Notability.

  • Sono l'Android Manager e si tratta di un'app per notebook digitale che abbiamo appena lanciato su Android.

  • È disponibile anche su iOS, computer e ora su Google Libri.

  • Ciao.

  • Sono Joe di Logitech, un'azienda nota per l'eccellente hardware e le periferiche.

  • Inoltre, parlerò di come li abbiamo portati sulle nuove piattaforme.

Progettazione di app per Android per schermi di grandi dimensioni

  • Li spingerò oltre.

  • E così, ecco i Googlebooks.

  • Benissimo!

  • Benissimo!

  • Benissimo!

  • Spero che abbiate avuto l'opportunità di provarli, da soli o al piano di sopra o di sotto presso lo stand dimostrativo.

  • E, naturalmente, non dimenticare di controllare l'aspetto della tua app su questi dispositivi.

  • Farò il mio solito discorso, ovvero che l'ecosistema Android è in crescita.

  • Lo dico da nove anni ed è ancora vero.

  • Inoltre, le app devono evolversi per garantire che tu soddisfi le esigenze dei tuoi utenti in tutte le dimensioni dello schermo e su tutti i dispositivi.

  • A questo punto, avere un layout dell'app che funziona e si comporta bene è una pratica standard.

  • Il modo migliore per farlo è con Jetpack Compose e Navigation 3.

  • Lo stesso vale per l'input.

  • Dovrebbe funzionare.

  • E, naturalmente, l'architettura e la gestione dello stato delle tue app fanno parte del layout e degli input.

  • Inoltre, abbiamo una serie di interventi agli ADS su come farlo con gli strumenti più recenti e le best practice.

  • Tuttavia, oggi abbiamo pensato che sarebbe stata un'ottima opportunità per dare un po' di spazio agli sviluppatori che hanno creato per Googlebook fin dall'inizio e per ascoltare la loro storia.

  • Notability è un'app per prendere appunti potenziata, progettata da zero per Googlebook.

  • Logitech ha lavorato non solo per garantire che le tastiere, i mouse e le altre periferiche funzionassero, ma anche per far sì che funzionassero benissimo sui Googlebook, inclusa la personalizzazione dell'utente.

  • Scusa se ti rubo la scena, Joe, ma entreremo nei dettagli.

  • Quindi, per me è sufficiente.

  • Niente rap questa volta, mi dispiace.

  • E sicuramente non farò più freestyle.

  • Ad ogni modo, siamo davvero felici di avere Notability su Googlebook, quindi passo la parola a Ryan.

  • Grazie.

Notability arriva su Android

  • Fantastico.

  • Grazie mille, Em.

  • Siamo davvero felici di essere su Google Libri.

  • Notability è l'app dove milioni di studenti attualmente imparano e i professionisti prendono appunti.

  • Come ho accennato in precedenza, ora è disponibile su Android e vi parlerò brevemente di come l'abbiamo creato e di come lo sviluppo per Android si avvicini molto a quello per Googlebook fin da subito.

  • Per iniziare, quando abbiamo avviato questo progetto circa due anni fa, volevamo assicurarci di non limitarci a trasferire la nostra app per iOS e a scaricarla sugli utenti, pensando che fosse sufficiente.

  • Volevamo qualcosa che fosse veramente nativo per le aspettative degli utenti, ma che offrisse comunque una parità di funzionalità completa.

  • Per raggiungere questo obiettivo, abbiamo utilizzato Material Design e i componenti per personalizzare tutte le schermate da zero.

  • Inoltre, ci siamo assicurati di utilizzare Jetpack Compose.

  • Essendo un'app per Android nativa completamente basata su Jetpack Compose, possiamo supportare un'ampia gamma di hardware, non solo smartphone di piccole dimensioni e dispositivi di fascia bassa, ma anche tablet potenti di fascia alta con schermi di grandi dimensioni, computer, XR, auto e tutto il resto.

  • Jetpack Compose semplifica notevolmente il supporto nativo di queste funzionalità, senza dover creare molte funzionalità aggiuntive nelle interfacce utente.

  • Passiamo a Notability.

  • Tutto in Notability è basato su Jetpack Compose.

  • La UI è coerente su tutta la piattaforma ed è tutto creato praticamente una sola volta, senza differenze reali tra ciò che viene mostrato su uno smartphone e ciò che viene mostrato sui dispositivi più grandi, come i tablet e i Googlebook.

  • Per farlo, Navigation 3 è un'enorme risorsa per noi.

  • Il funzionamento di Navigation 3 in Google integrato in Notability è che, in base alle dimensioni dello schermo, possiamo personalizzare il layout senza che la funzionalità debba preoccuparsi di come verrà presentata.

  • In questa demo, puoi vedere che se c'è spazio per l'apertura di un riquadro laterale, questo si aprirà.

  • In caso contrario, verrà visualizzato un riquadro inferiore.

  • Come si traduce tutto questo in codice?

  • Nel codice che abbiamo qui, puoi vedere che c'è un entry point per il riquadro di riepilogo effettivo sul lato e lo stiamo aggiungendo al back stack.

  • Poi, la nostra strategia di scena personalizzata sceglie un layout per il riquadro laterale, a seconda che ci sia spazio o meno.

  • Quindi, su un tablet o un dispositivo Googlebook, troverà lo spazio disponibile, farà spazio e farà scorrere il riquadro dal lato destro.

  • Tuttavia, su un dispositivo come uno smartphone o un pieghevole, potrebbe non esserci spazio sufficiente per visualizzare correttamente il riquadro, quindi verrà visualizzato come riquadro inferiore.

  • Poiché Notability si adatta alle dimensioni della finestra anziché preoccuparsi del tipo di dispositivo, che si tratti di uno smartphone, un Googlebook, un tablet, un pieghevole o altro, è davvero facile per la nostra UI adattarsi automaticamente alle esigenze degli utenti.

  • Come puoi vedere qui su uno smartphone, tutti i pulsanti e gli strumenti vengono riposizionati in modo da essere facilmente raggiungibili con il pollice.

  • Su un tablet, i riquadri di navigazione vengono visualizzati accanto ai contenuti principali, perché hai più spazio e schermi più facili con cui interagire.

  • Sui pieghevoli, sfruttiamo la piega per offrire layout e UI unici per elementi come il nostro quiz di studio, in cui gli utenti possono avere le risposte nella metà inferiore e l'avanzamento effettivo del quiz nella metà superiore.

  • Infine, su Google Libri, ora abbiamo un ridimensionamento fluido della finestra.

  • Quindi, proprio come faresti con qualsiasi altra normale applicazione con finestra su un computer, Notability si adatterà quando ridimensioni la finestra per qualsiasi esigenza di affiancamento.

  • Durante lo sviluppo, l'UI adattiva, che funziona per quasi l'intera esperienza desktop completa su Googlebook, come ho già detto.

  • Ti aiuterà molto.

  • Ma se vuoi un'esperienza di livello desktop, qualcosa di veramente fuori dal comune, ti consigliamo di fare un paio di cose.

  • Innanzitutto, l'accessibilità da tastiera.

  • Gli utenti non saranno sensibili al tocco come su un normale tablet o smartphone e avere le scorciatoie da tastiera e un modo semplice per accedere all'elenco delle scorciatoie di Android è fondamentale.

  • Inoltre, a volte puoi progettare le funzionalità in modo che il layout sia diverso a seconda del tipo di dispositivo e delle periferiche di input disponibili.

  • Quando rileviamo un laptop con una tastiera collegata o un mouse, offriamo un'interfaccia utente leggermente diversa nella schermata Home, in modo che gli utenti vengano reindirizzati verso strumenti che riteniamo preferibili per quel tipo di utenti rispetto a un tablet, dove uno stilo e le note automatiche con penna per la scrittura a mano libera saranno l'opzione principale.

  • Un'altra cosa a cui devi iniziare a pensare è come interagiscono più dispositivi diversi.

  • Continua è una nuova funzionalità di Android 17 che ti consente di trasferire facilmente la tua app da un dispositivo a un altro.

  • In questo esempio, ad esempio, trasferiamo una nota dallo smartphone al computer.

  • Per farlo, basta una rapida sincronizzazione dell'ID della nota e un rapido avanzamento della tua posizione da parte nostra.

  • Quindi è davvero facile per noi inviare un rapido intent dell'app al dispositivo Googlebook e poi continuare esattamente da dove avevi interrotto.

  • Un altro aspetto da considerare per i dispositivi di classe desktop sono i modelli di supporto multi-input.

  • Quindi, non solo avrai elementi come le scorciatoie da tastiera, come accennato in precedenza, ma avrai anche trackpad con tipi di zoom e comportamenti di scorrimento diversi rispetto a prima.

  • Inoltre, dovrai rendere disponibili agli utenti i menu del tasto destro che potrebbero non essere stati presenti in precedenza.

  • Inoltre, poiché molti dei dispositivi Googlebook sono ancora dispositivi touchscreen, devi assicurarti che quando un utente interagisce con quel dispositivo, tu abbia un riconoscimento dell'input diverso non solo per lo stilo e il dito, ma anche per il cursore del trackpad, perché tutti e tre devono essere trattati in modo diverso.

Disegno a bassa latenza con Jetpack Ink

  • Se ti interessano l'inchiostro e la scrittura di note come Notability, ti consigliamo di utilizzare Jetpack Ink.

  • Quindi, questo è un elemento che utilizziamo per fornire un sistema di creazione a bassa latenza per il nostro inchiostro senza dover gestire uno stack pesante e complicato di thread, rendering, lettori di buffer e altre cose che vi mostrerò un po' più avanti.

  • Ma se funziona, grazie a Logitech posso mostrarvi una demo dal vivo dell'app Notability.

  • Sì, perfetto.

  • Quindi, ops, dai.

  • Ecco fatto, perfetto.

  • Ecco il mio test di prima.

  • Ma come puoi vedere, sto usando il dito, quindi qui riconosce ancora l'input del dito, il che è fantastico.

  • Se volevo, potevo anche usare il mouse.

  • Ma al momento siamo riusciti a creare alcuni pennelli personalizzati esclusivi per Android.

  • Come puoi vedere, ho selezionato questo effetto arcobaleno e glitter, quindi i nostri input o i nostri effetti di inchiostro saranno influenzati dalla libreria Jetpack Ink sottostante.

  • Quindi, scrivo di nuovo il mio messaggio.

  • Ciao.

  • Poi, scegliamo il verde Android per l'ultima parte.

  • È difficile toccare correttamente.

  • Ecco fatto, verde Android.

  • Inoltre, possiamo vedere che i colori effettivi cambiano a seconda del colore del modello di base.

  • Evviva, perfetto.

  • In passato, la creazione di questo tipo di pennelli poteva richiedere mesi per ottenere tutti gli shader personalizzati, l'interfaccia e tutto il resto in modo corretto e con un bell'aspetto.

  • Ora, per fortuna, grazie a Jetpack Ink, può richiedere meno di una settimana con l'AI e il generatore di pennelli personalizzati.

  • Quindi, se siete interessati a qualsiasi tipo di inchiostro, fate, sapete, fateglielo sapere.

  • È un'API fantastica che ci ha fatto risparmiare un sacco di tempo.

  • Perfetto.

  • Come accennato in precedenza, ecco un esempio di come si presenta.

  • Quindi abbiamo quello che viene chiamato un livello di inchiostro bagnato.

  • Questo è l'inchiostro in fase di disegno, che deve essere super reattivo, rispetto a un livello di inchiostro asciutto.

  • È un concetto che ha senso dal punto di vista fisico, puoi pensarla così.

  • Questo è l'inchiostro salvato, già finito.

  • Quindi, l'handoff era interamente a nostro carico.

  • Quindi abbiamo dovuto eseguire questo threading, abbiamo dovuto ridisegnare e ripulire, abbiamo dovuto consegnarlo a un livello asciutto e assicurarci che fossero sincronizzati e non sfarfallassero, e c'erano tutte queste complicazioni.

  • E poi, alla fine, abbiamo dovuto applicare l'unicità di Notability, giusto?

  • Abbiamo i nostri modelli di adattamento delle curve e modi per far risaltare la tua scrittura a mano.

  • Quindi, questo era il vecchio modello.

  • Grazie a Jetpack Ink, non dobbiamo fare altro che inserire l'adattamento della curva nella visualizzazione delle forme di avanzamento personalizzate e tutto funziona magicamente su Android.

  • Un altro aspetto che stiamo considerando, mentre discutiamo sia di Jetpack Ink che di altre librerie Google, è KMP.

  • In realtà, abbiamo iniziato esaminando il codice iOS, che era già stato creato, e pensando: "Ok, vorremmo condividere parte della logica tra Android e iOS.

  • Abbiamo modelli, modifiche e calcoli matematici complessi.

  • Ha senso condividere."

  • E abbiamo pensato: "Ehi, C++, sai, Objective-C di Apple, seguiamo questa strada".

  • È emerso che Kotlin Multiplatform non solo era più facile da implementare per i nostri ingegneri iOS, ma era anche più veloce.

  • Quindi, non solo abbiamo ottenuto prestazioni migliori utilizzando Kotlin e abbiamo potuto copiare gran parte del codice Android, ma è stato anche più facile per iOS nel lungo periodo.

  • Quindi, se vuoi condividere il codice, ti consiglio di dare un'occhiata a Kotlin Multiplatform.

  • Al momento, stiamo ancora valutando la tua richiesta.

  • Non è ancora supportato al 100%, poiché i diversi modelli di AI rendono un po' più facile imbrogliare con il codice che risiede in più posizioni, ma è comunque un aspetto su cui stiamo indagando attivamente e che ritengo molto importante.

  • Ora passiamo a una funzionalità speciale di Notability.

  • Se hai mai provato a creare un editor di testo funzionante su Android, avrai notato che al momento non esiste un modo efficace per creare un editor di testo per documenti di grandi dimensioni.

  • I campi di immissione di modifica di Android di base riguardano tutti UI più piccole, piccoli EditText, piccole cose in formato breve.

  • Abbiamo dovuto creare un sistema molto complicato che fondamentalmente si trova sopra le API Android esistenti, ma che è in grado di gestire documenti molto, molto più grandi, ovvero migliaia e migliaia di pagine di testo, tutte contemporaneamente, che possono essere modificate in contemporanea, quindi puoi avere un utente da qualche altra parte che modifica 500 pagine di distanza da te, il che causa cambiamenti che, sai, influenzano il tuo lavoro mentre procedi.

  • E il modo in cui l'abbiamo fatto è fondamentalmente che le nostre battute seguono due percorsi.

  • Quindi, il primo percorso è: "Questo è il nostro massimo impegno, questa chiave dovrebbe apparire, sai, qui".

  • Riteniamo che questo sia un buon risultato, in base a tutto ciò che possiamo dire al momento su come appare tutto ciò che si trova sotto.

  • Poi facciamo una rapida sincronizzazione, giusto?

  • Andiamo nel backend, controlliamo i nostri collaboratori e chiediamo: "Ehi, è tutto a posto?

  • Tutto chiaro?

  • Siamo d'accordo?"

  • Se le cose devono cambiare, si riadatta in quel momento.

  • Se due utenti si trovano sulla stessa linea e premono i tasti, è probabile che si verifichi un po' di confusione su chi riceve cosa.

  • Ma per la maggior parte dei casi, questo metodo funziona molto bene.

  • Il motivo per cui lo menziono qui è che si tratta di un lavoro enorme che abbiamo svolto e stiamo valutando di renderlo open source.

  • Quindi, se qualcuno alla conferenza qui o online in futuro volesse collaborare su questo aspetto e pensasse che sia una buona idea, ce lo faccia sapere.

  • Stiamo valutando se vale davvero la pena investire in questo progetto, ma sai, è stato un grande impegno da parte nostra e siamo piuttosto orgogliosi dei risultati.

  • Ok, ora vediamo come funziona l'inchiostro.

  • Quindi, in termini di modello di collaborazione, questo è un po' più diretto su come funziona da parte nostra.

  • Come puoi vedere, ci sono tre passaggi.

  • C'è il touchdown, in cui diciamo: "Ehi, a proposito, stiamo avviando un evento di scrittura" a uno dei nostri dispositivi connessi, in questo caso un iPad.

  • Poi c'è il disegno vero e proprio, quindi possono essercene da uno a milioni, a seconda di quanto tempo l'utente tiene il dispositivo, ad esempio, la penna che gira.

  • Speriamo non troppo.

  • Penso che a un certo punto ci sia un limite, ma, sai, per i casi d'uso normali va benissimo.

  • Poi c'è un evento di sollevamento.

  • Per gestire questo aspetto, abbiamo un oggetto temporaneo che conserviamo nel nostro modello.

  • Ciò significa che su iPad diciamo: "Ok, c'è un tratto in arrivo, ma non è ancora qui.

  • Non possiamo interagirci.

  • È effimero."

  • Solo quando viene attivato l'evento di fine, diciamo: "Ok, perfetto.

  • Ora sostituisci tutto con un unico oggetto con cui iOS o qualsiasi altro client può interagire."

  • Stiamo anche valutando la possibilità di rendere open source una parte di questo lavoro.

  • Questo, come sapete, non è il nostro inchiostro diretto, ma alcuni elementi transitori, in particolare nel livello di testo.

  • Ottimo.

  • E poi, sì.

  • Ecco altri elementi che consigliamo di utilizzare.

  • L'AI on-device è fantastica.

  • Lo utilizziamo per la scansione dei documenti, quindi puoi scansionare documenti, analizzare testi PDF, eseguire il riconoscimento della scrittura a mano.

  • Utilizziamo anche modelli di AI Cloud aperti come Gemini per generare le nostre Smart Notes, in cui le note degli utenti vengono categorizzate, riassunte e poi restituite in modi migliori e più interattivi per il modello di apprendimento.

  • Tutto questo fa sì che Notability sembri un'applicazione per laptop, giusto?

  • Questo è l'obiettivo finale.

  • Abbiamo tutti questi modelli diversi e interessanti, cose diverse, testo, input, ma la cosa importante è: sembra un'applicazione per laptop o sembra di aver aperto un'app Telefono sul grande schermo e di giocarci un po'?

  • La tastiera, il trackpad, lo stilo, il ridimensionamento delle finestre sono tutte funzionalità chiave da implementare correttamente per garantire un'esperienza utente ottimale.

  • Ma, come ho già detto, Jetpack Compose, Navigation 3, Material Design, tutto questo lo copre.

  • Quindi, se fai le cose per bene, non è un grande sforzo.

  • È piuttosto facile arrivare qui.

  • Quindi, sì.

  • Questi sono i concetti chiave.

  • Quando pensi ad Android nel futuro, non pensi più ai dispositivi.

  • Non penserei a "Questo è uno smartphone, questo è un pieghevole, questo è un dispositivo XR, questo è un computer fisso o un laptop, un tablet, un'auto o una TV".

  • Invece, si tratta di capire quali sono le dimensioni dello schermo a mia disposizione e quali sono le modalità di input disponibili per i miei utenti.

  • E offriamo la migliore esperienza possibile a chi va avanti.

  • Come ho già detto nell'ultima slide, Compose e Nav 3 semplificano davvero il supporto di tutto questo.

  • E poi Google, ogni giorno, lancia nuove API davvero potenti come Jetpack Ink o Gemini on-device o tutti i tipi di cose che ti semplificano la creazione delle tue esperienze principali, per poi concentrarti sulla formula magica che ti rende unico.

  • Ok.

  • Quindi sì.

  • Grazie mille.

  • Questo è il mio intervento.

  • Sarò disponibile più tardi se hai domande o, se preferisci, puoi contattare Notability.

  • L'app è nuova su Android, è uscita circa due mesi fa.

  • Finalmente siamo usciti dalla versione beta.

  • Quindi, non esitare a provarlo.

  • Inviaci un feedback.

  • È disponibile anche nei Googlebook nel processo demo alle tue spalle.

  • Ora passo la parola a Joe di Logitech per continuare.

  • Grazie.

Logitech Options+ su Chromebook

  • Okay.

  • Grazie, Ryan.

  • Oggi, ok, scusa.

  • Passiamo alla slide.

  • Grazie, Ryan.

  • Oggi vi spiegherò come abbiamo portato Options+, un'app di personalizzazione delle periferiche, sui Chromebook.

  • E cosa significa creare un'esperienza periferica?

  • Parlerò di ciò che abbiamo creato, di alcuni aspetti ingegneristici, di nessun punto debole e di dove stiamo andando.

  • In passato, i dispositivi Logitech funzionavano con Android e la maggior parte degli utenti ha riscontrato che le periferiche migliorano l'accessibilità, in particolare con i laptop premium e gli smartphone collegati a monitor esterni.

  • A questo proposito, prima al piano di sotto, ho visto che allo stand dimostrativo di Googlebook avevano agganciato al tavolo un cambio sequenziale da gaming Logitech e lo usavano per passare da una schermata all'altra sul tablet.

  • Ecco qui.

  • Questo è un modo per utilizzarlo.

  • Ah, a proposito, Ferrari ha dovuto addebitare 50.000 € in più per il cambio sequen… Comunque.

  • Sì.

  • Come ha spiegato Ryan in modo molto esauriente, su Googlebook abbiamo molto più spazio per lavorare.

  • Come puoi vedere, puoi ridimensionare gli schermi, in orizzontale, verticale o quadrato, se preferisci, e hai molto più spazio per lavorare tra le app.

  • Puoi continuare a lavorare, usare app diverse, cambiare contesto e così via.

  • Questo ha sicuramente cambiato il design delle app e i layout devono rimanere utili durante l'intera procedura.

  • Per noi di Logitech, questo è particolarmente interessante perché, ecco, noi siamo un'azienda con molta esperienza nelle periferiche, giusto?

  • Abbiamo una base molto solida per questo lavoro.

  • Quindi, dal nostro punto di vista, per questo tipo di ambiente di lavoro, un mouse o una tastiera sono il modo in cui il nostro utente interagisce durante la giornata di lavoro.

  • Possono entrare molto facilmente nel loro flusso di lavoro.

  • E penso che non sia un'esagerazione affermare che Logitech porta decenni di esperienza in questo lavoro.

  • Penso che abbiamo appena festeggiato il nostro 45° anniversario all'inizio di questo mese.

  • E penso che abbiamo iniziato a produrre mouse dal secondo giorno, dal secondo anno di Logitech.

  • Quindi, con questo tipo di esperienza, siamo molto fiduciosi di entrare in questo settore.

  • Inoltre, abbiamo una grande tradizione con ChromeOS.

  • In passato abbiamo garantito una compatibilità di prim'ordine con ChromeOS.

  • Detto questo, abbiamo un'ottima esperienza pratica nel superare il confine tra l'hardware che abbiamo creato, il software che creiamo e la piattaforma, il sistema operativo, Googlebooks.

  • Ad esempio, un utente preme un pulsante e vede un risultato prevedibile.

  • È quasi come se fosse qualcosa che tutti voi date per scontato.

  • ma in realtà richiedono una perfetta compatibilità dei componenti.

  • Inoltre, tutti amano la compatibilità con le proprie periferiche.

  • Ad esempio, la regolazione della sensibilità.

  • 65, non uno di più, non uno di meno.

  • Quindi, tutti questi elementi richiedono un'integrazione di compatibilità perfetta.

  • Ora, con il lancio di Googlebooks, offriamo Options+ per Googlebooks.

  • Al momento, supportiamo una gamma di mouse e tastiere e ne aggiungeremo altri in futuro.

  • Inoltre, è qui che consentiamo agli utenti di configurare i propri dispositivi.

  • E come ho detto prima, come la sensibilità, tutte queste cose.

  • Ora la situazione si fa interessante.

  • Quando parliamo di configurabilità, ci riferiamo in realtà a due aspetti.

  • Un lato è l'hardware, il lato del firmware, dove le funzionalità vengono implementate nel nostro firmware.

  • L'altro lato è in realtà il punto chiave di questa demo e di questa presentazione, ovvero il lato del sistema operativo.

  • Penso che tutti qui sappiano che in passato i dispositivi Android e la maggior parte delle app vivevano nella propria sandbox, negli spazi utente.

  • Esistono alcune limitazioni su ciò che puoi fare e, in molti casi, su ciò che non puoi fare e su ciò che vuoi.

  • Per noi è estremamente importante.

  • Ecco uno screenshot. Più avanti vedremo una demo, ma per ora ecco uno screenshot.

  • Abbiamo un mouse qui, MX Master 4, e abbiamo molte funzioni qui.

  • E per chi conosce il mondo delle periferiche, è possibile riconoscere alcune funzionalità che sono molto implementate, come le funzionalità del firmware e del dispositivo.

  • E altri sicuramente no.

  • Per quanto ci riguarda, stiamo cercando di consentire all'utente di configurare entrambi i lati.

  • Il nostro compito è, in sostanza, rendere comprensibili queste opzioni e offrire all'utente funzionalità complete, oltre a configurare correttamente queste cose per il sistema operativo e il firmware.

  • Ora passiamo a una breve demo.

  • Oh, questa è stata una demo davvero impressionante.

  • Ma la prossima volta, Ryan, usa il mouse.

Demo live di Options+

  • Ok, iniziamo.

  • Ecco lo schermo del mio dispositivo.

  • Come vedi, ho un mouse MX Master 4, questo qui.

  • Quindi, proviamoci.

  • Andremo direttamente alla schermata di configurazione, come hai visto in precedenza, ed è qui che avviene la magia.

  • Ora, scegliamo Cerchia e Cerca per il pulsante del pollice.

  • Poi, inseriamo il cursore magico nel pulsante delle funzionalità.

  • Iniziamo.

  • Apriamo un browser.

  • Raggiungi la destinazione.

  • Qui, premo il pulsante del pollice a cui ho appena assegnato Cerchia e Cerca.

  • Come vedi, cerchio una tastiera.

  • Voilà!

  • Google mostra solo le informazioni su questa tastiera.

  • È molto pratico e fluido.

  • Ora proviamo qualcosa di diverso.

  • Oh, scusa.

  • Torniamo indietro.

  • Proviamo il cursore magico.

  • Attiviamo questa opzione.

  • Posso premere il pulsante della funzionalità, taggare l'oggetto e premere "Che cos'è questo dispositivo?".

  • Ecco fatto.

  • Google avvia la ricerca e visualizza i risultati.

  • Il vantaggio è che l'intero flusso di lavoro viene integrato in un'unica operazione.

  • Assegni le funzionalità, premi, cerchi, fai clic e il gioco è fatto.

  • Quindi, riteniamo che questo tipo di operazione migliorerà notevolmente l'accessibilità degli utenti e il loro modo di lavorare.

  • Ora torniamo alle slide.

Panoramica dell'API di personalizzazione delle periferiche

  • Quindi potresti chiederti cosa ha causato questo evento.

  • Perché molte cose in passato semplicemente non potevano essere fatte dalle app.

  • Ecco l'API Peripheral Customization, disponibile sia su Chromebook sia su dispositivi Android.

  • Tuttavia, ecco le note di Google.

  • Al momento, questa API è disponibile solo per i clienti inclusi nella lista consentita.

  • Tuttavia, il rilascio è previsto insieme agli aggiornamenti di Android per il quarto trimestre del 2026, ovvero questo trimestre.

  • Quindi, una volta rilasciato, penso che gli sviluppatori di tutto il mondo potranno utilizzarlo.

  • Ora, entriamo un po' nel lato tecnico.

  • Ci sono tre componenti chiave in tutto questo: un dispositivo, comprensibile; un trigger, che può essere un tasto, un pulsante previsto; e un'azione, che si trova sul lato del sistema operativo dell'app.

  • Ora diamo un'occhiata rapida a questo snippet di codice.

  • In alto, definiamo un dispositivo utilizzando il relativo ID fornitore e l'ID prodotto.

    // 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)
  • In genere li chiamiamo VID e PID.

  • Più in basso, iniziamo a definire un trigger.

  • E qui, come puoi vedere, vogliamo utilizzare il pulsante centrale come trigger.

  • In questo caso, vogliamo mappare il pulsante centrale alla parte dell'assistente vocale della funzionalità del sistema operativo.

  • molto utile.

  • Abbiamo un actionBuilder proprio qui da AppCustomizationAction e qui.

  • Più in basso, registriamo questa mappatura tra il prodotto, il dispositivo, l'attivatore e l'azione.

  • Naturalmente, il codice reale è un po' più complicato di così, ma il concetto generale è questo.

  • Molto semplice e facile da usare.

  • Ora, ecco un'altra funzionalità molto interessante.

  • Ho inserito un file GIF qui per facilitare la visualizzazione a tutti.

  • In pratica, quando un dispositivo compatibile e supportato, in questo caso un mouse Logitech, il sistema operativo attiva una notifica standard per informarti che è disponibile un'app per quel dispositivo.

  • Di' all'utente: "Certo".

  • Una volta fatto clic, verrai indirizzato al Play Store, dove potrai installare l'app.

  • Si chiama rilevamento dell'accoppiamento rapido.

  • Infine, passiamo al lato UI.

  • Ryan ha trattato molti aspetti interessanti di Googlebook, come la gestione della UI, quindi sarò abbastanza rapido.

  • Come vedi, Options+ viene eseguito da diverse piattaforme, nel nostro caso Windows, Mac e ora Chromebook.

  • Quindi il nostro obiettivo è in realtà duplice: da un lato, vogliamo che l'esperienza sia specifica per la piattaforma, ma allo stesso tempo vogliamo che sia simile su tutte le piattaforme, il che significa che una volta che hai familiarità con Options+ su una piattaforma, dovresti essere in grado di utilizzarla senza problemi su un'altra.

  • Ciò significa che vogliamo sfruttare le caratteristiche di quella specifica piattaforma, ma allo stesso tempo utilizzare lo stesso linguaggio di progettazione.

  • Quindi, come puoi vedere, un linguaggio di progettazione coerente su tutta la linea.

  • Come abbiamo già detto, gli utenti di Googlebook tendono a utilizzare Googlebook in modo più simile a un laptop/computer desktop.

  • Quindi, ovviamente, la nostra app, anche su Googlebook, sembra un'app desktop.

  • Quindi l'app stessa potrebbe comportarsi come un'app desktop e funzionare bene con le dimensioni della finestra, i diversi tocchi e, naturalmente, puoi controllare l'utilizzo di mouse e tastiera.

Roadmap per il futuro e conclusioni

  • Bene, questa è una breve storia e una versione piuttosto sintetica della storia delle periferiche Logitech e di Options+ su Googlebook.

  • E funziona benissimo.

  • Tuttavia, siamo solo all'inizio.

  • Abbiamo in programma alcuni passaggi: innanzitutto, vogliamo portare questa esperienza su più dispositivi, più tastiere, mouse e altre periferiche, e vogliamo perfezionare l'app stessa utilizzando il feedback degli utenti reali.

  • E poi, naturalmente, la cosa più importante è che continueremo a collaborare con Google in futuro e a integrarci più a fondo nelle nuove piattaforme.

  • Quindi il nostro obiettivo finale è rendere la personalizzazione delle periferiche un'esperienza molto, molto naturale nell'utilizzo di Googlebook e aiutare le persone a lavorare nel modo che preferiscono.

  • Ok, va bene.

  • Assicuratevi di visitare i nostri stand al piano di sotto e di provare Options+ e i fantastici dispositivi Logitech.

  • Ringraziamo anche il nostro partner Google e tutti voi per il vostro tempo.

  • Grazie mille.

Codice

Snippet di codice

Snippet Kotlin al minuto 26:16 in "Panoramica dell'API di personalizzazione delle periferiche"
// 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)