Ingeniera de Relaciones con Desarrolladores
El lanzamiento de la Googlebook abre una nueva frontera para las experiencias de alta fidelidad y de nivel de escritorio. En esta sesión, iremos tras bambalinas con dos socios pioneros que crearon contenido para esta plataforma desde cero.
Notability compartirá su recorrido para crear una app para Android de nivel de escritorio con Jetpack Compose. Conoce su recorrido para migrar desde otras plataformas de apps con las computadoras de escritorio como prioridad. En segundo lugar, Logitech profundizará en el aspecto del hardware y analizará cómo están creando y personalizando periféricos para integrarlos sin problemas con Googlebook. Únete a la sesión para obtener información práctica y real sobre cómo optimizar las entradas, aprovechar las APIs de pantallas grandes y ofrecer una experiencia del usuario premium y coherente en el hardware y el software.
Transcripción
Hola, soy Emilie Roberts, una defensora de desarrolladores que trabaja con apps para Android en laptops desde hace unos nueve años.
Y se produjo el lanzamiento de la Googlebook.
¡Bien!
Y creo que es genial la innovación que estamos aportando al espacio de las laptops.
Y me alegra mucho estar en el escenario con dos desarrolladores que realmente se esforzaron para que sus apps se vean geniales en Googlebook.
Hola.
Soy Ryan, de Notability.
Soy el administrador de Android, y es una app de cuaderno digital que acabamos de lanzar en Android.
También está disponible en iOS, computadoras de escritorio y, ahora, Googlebooks.
Hola.
Soy Joe de Logitech, y somos conocidos por nuestro excelente hardware y periféricos.
Y hablaré sobre cómo los incorporamos a las nuevas plataformas.
Voy a empujarlos.
Y, por lo tanto, Google Books está aquí.
¡Bien!
¡Bien!
¡Bien!
Espero que hayas tenido la oportunidad de probarlas, ya sea por tu cuenta o en el stand de demostración que se encuentra un piso más arriba o más abajo.
Y, por supuesto, no olvides verificar cómo se ve tu app en ellos.
Voy a dar mi discurso habitual, que es que el ecosistema Android está creciendo.
Llevo nueve años diciendo eso, y sigue siendo cierto.
Y las apps deben evolucionar para garantizar que satisfagas las necesidades de tus usuarios en todos esos tamaños de pantalla y dispositivos.
En este punto, tener un diseño de app que funcione y se comporte bien es una práctica estándar.
Y la mejor manera de hacerlo es con Jetpack Compose y Navigation 3.
Y la entrada es lo mismo.
Debería funcionar sin problemas.
Y, por supuesto, la arquitectura y la administración de estados de tus apps forman parte del diseño y las entradas.
Y tenemos muchas charlas en ADS sobre cómo hacerlo con las herramientas más recientes y las prácticas recomendadas.
Sin embargo, hoy pensamos que sería una gran oportunidad para darles un poco de espacio a los desarrolladores que han estado creando para Googlebook desde el principio y escuchar su historia.
Notability es una app para tomar notas mejorada que se creó desde cero para la Googlebook.
Logitech no solo se aseguró de que los teclados, los mouses y otros periféricos funcionaran, sino que también funcionaran muy bien en las Chromebooks, incluida la personalización del usuario.
Joe, lamento robarte un poco de protagonismo, pero entraremos en detalles.
Así que eso es suficiente para mí.
Esta vez no habrá rap, lo siento.
Y, definitivamente, no más improvisaciones.
De todos modos, nos entusiasma mucho tener Notability en las Googlebooks, así que le pasaré el control remoto a Ryan.
Gracias.
Excelente.
Muchas gracias, Em.
Y estamos muy felices de estar en Google Libros.
Notability es la app que millones de estudiantes usan para aprender y los profesionales, para tomar notas.
Como mencioné antes, ya está disponible en Android, y les daré una breve charla sobre cómo lo creamos y cómo la compilación correcta para Android se acerca bastante a Google Books de forma óptima desde el principio.
Para empezar, cuando comenzamos este proyecto hace unos dos años, queríamos asegurarnos de no solo portar nuestra app para iOS, lanzarla a los usuarios y decir que era suficiente.
Queríamos algo que se sintiera verdaderamente nativo para las expectativas de los usuarios, pero que, a la vez, ofreciera una paridad de funciones completa.
Para lograrlo, usamos Material Design y componentes para personalizar todas las pantallas desde cero.
Y nos aseguramos de que estuviéramos usando Jetpack Compose.
Como es una aplicación nativa para Android que se basa por completo en Jetpack Compose, podemos admitir una amplia gama de hardware, no solo teléfonos pequeños y dispositivos de gama baja, sino también tablets potentes y de alta gama con pantallas grandes, computadoras, RE, automóviles y todo lo demás.
Jetpack Compose facilita la compatibilidad con estas funciones de forma nativa, sin tener que compilar muchas funciones adicionales en las interfaces de IU.
Ahora, pasemos a Notability.
Todo en Notability se compila en Jetpack Compose.
La IU es coherente en toda la plataforma y, básicamente, se compila una sola vez sin cambios reales entre lo que se muestra en un teléfono y lo que se muestra en los dispositivos más grandes, como la tablet y las Googlebooks.
Para ello, Navigation 3 es un gran avance para nosotros.
La forma en que funciona Navigation 3 en Google integrado en Notability es que, según el tamaño de la pantalla, podemos personalizar el diseño sin que la función se preocupe por cómo se presentará.
En esta demostración, puedes ver que, si hay espacio para que se abra un panel lateral, se abrirá.
De lo contrario, aparecerá como una hoja inferior.
¿Cómo se ve eso en el código?
En el código que tenemos aquí, puedes ver que hay un punto de entrada para el panel de resumen real en el lateral, y lo agregamos a la pila de actividades.
Luego, nuestra estrategia de escena personalizada elige un diseño para ese panel lateral, según si hay espacio o no.
Por lo tanto, en una tablet o un dispositivo Googlebook, se encontrará espacio disponible, se hará lugar y se deslizará ese panel desde el lado derecho.
Sin embargo, en un teléfono o un dispositivo plegable, tal vez no haya suficiente espacio para mostrar ese panel correctamente, por lo que aparecerá como una hoja inferior.
Como Notability se adapta al tamaño de la ventana en lugar de preocuparse por el tipo de dispositivo, ya sea un teléfono, una Googlebook, una tablet, un plegable, lo que sea, es muy fácil que nuestra IU se adapte automáticamente a lo que necesitan los usuarios.
Como puedes ver aquí en un teléfono, todos los botones y herramientas se reubican para que estén al alcance del pulgar.
En una tablet, los paneles de navegación se muestran al costado del contenido principal, ya que hay más espacio y las pantallas son más fáciles de usar.
En los dispositivos plegables, aprovechamos el pliegue para ofrecer diseños y también IU únicos para funciones como nuestro cuestionario de estudio, en el que los usuarios pueden tener sus respuestas en la mitad inferior y el progreso real del cuestionario en la mitad superior.
Por último, en Google Books, ahora podemos cambiar el tamaño de la ventana de forma fluida.
Al igual que en cualquier otra aplicación normal con ventanas en una computadora de escritorio, Notability se adaptará a medida que cambies el tamaño de la ventana para cualquier necesidad de visualización en paralelo que tengas.
Cuando estábamos creando la IU adaptable, que funciona para casi toda la experiencia de escritorio completa en Google Books, como mencioné.
Te acercará mucho.
Sin embargo, si quieres una experiencia de escritorio, algo que sea realmente de otro mundo, te recomendamos que hagas un par de cosas.
Primero, prioriza el teclado.
Los usuarios no van a ser tan sensibles al tacto como lo son en una tablet o un teléfono normales, y tener las combinaciones de teclas y una forma fácil de acceder a la lista de combinaciones de teclas de Android es muy importante.
Luego, a veces puedes diseñar tus funciones de modo que se distribuyan de manera diferente según el tipo de dispositivo y los periféricos de entrada disponibles.
Cuando detectamos algo como una laptop con un teclado conectado o un mouse, ofrecemos una IU un poco diferente en la pantalla principal, de modo que los usuarios se redireccionen a las herramientas que creemos que ese tipo de usuarios preferiría en lugar de algo como una tablet, donde un lápiz óptico y las notas automáticas con lápiz de escritura a mano serán la opción principal.
Otra cosa en la que debes empezar a pensar es cómo interactúan varios dispositivos diferentes.
Por lo tanto, Continuar es una nueva función de Android 17 que te permite transferir sin problemas tu app de un dispositivo a otro.
En este ejemplo, por ejemplo, estamos transfiriendo una nota de tu teléfono a tu dispositivo de escritorio más grande.
Esto se hace fácilmente con una sincronización rápida del ID de la nota y un progreso rápido de dónde te encuentras por nuestra parte.
Por lo tanto, es muy fácil para nosotros enviar un intent de app rápido al dispositivo Googlebook y, luego, continuar exactamente donde lo dejaste.
Otro aspecto que se debe tener en cuenta para los dispositivos de clase de escritorio son los modelos de compatibilidad con varias entradas.
Por lo tanto, no solo tendrás elementos como combinaciones de teclas, como se mencionó anteriormente, sino que también tendrás paneles táctiles con diferentes tipos de zoom y comportamientos de desplazamiento que antes.
También tendrás menús de clic derecho que tal vez debas poner a disposición de los usuarios que no estaban allí antes.
Además, como muchos de los dispositivos Googlebook siguen siendo dispositivos con pantalla táctil, debes asegurarte de que, cuando un usuario interactúe con ese dispositivo, tengas un reconocimiento de entrada diferente no solo para la pluma stylus y el dedo, sino también para el cursor del panel táctil, ya que los tres deben tratarse de manera diferente.
Si te interesa la tinta y escribir notas como Notability, te recomendamos que uses Jetpack Ink.
Por lo tanto, esto es algo que usamos para proporcionar un sistema de compilación de baja latencia para nuestra tinta sin que tengamos que administrar una pila pesada y complicada de subprocesos, renderización, lectores de búfer y diferentes cosas que te mostraré un poco más adelante.
Pero si funciona ahora, gracias a Logitech, puedo mostrarles una demostración en vivo de la app de Notability.
Sí, perfecto.
Así que, uy, vamos.
Ahí vamos, perfecto.
Aquí está mi prueba de antes.
Pero, como puedes ver, estoy usando el dedo, por lo que aquí todavía reconoce la entrada del dedo, lo que es genial.
También podría usar el mouse si quisiera.
Sin embargo, por el momento, pudimos crear algunos pinceles personalizados exclusivos para Android.
Como puedes ver, tengo seleccionado este efecto de arcoíris y brillo, por lo que nuestros efectos de entrada o de tinta se verán afectados por la biblioteca de Jetpack Ink que se encuentra debajo.
Aquí, déjame escribir mi mensaje una vez más.
Hola.
Y, luego, elijamos el verde de Android para la última parte.
Es difícil tocar correctamente.
Ahí está, el verde de Android.
Y, luego, podemos ver que los colores reales cambian según el color que tengas como modelo base aquí.
¡Genial! Perfecto.
En el pasado, cuando creábamos este tipo de pinceles, nos llevaba meses obtener todos los sombreadores personalizados, la interfaz y todo lo demás de forma correcta y con un buen aspecto.
Ahora, por suerte, gracias a Jetpack Ink, puede ser menos de una semana con la IA y su creador de pinceles personalizados.
Así que, si estás buscando algún tipo de tatuaje, avísales.
Es una API excelente que nos ahorró mucho tiempo.
Perfecto.
Y, como mencioné antes, aquí se muestra un ejemplo de cómo se ve.
Por lo tanto, tenemos lo que se llama una capa de tinta húmeda.
Esa es nuestra tinta en curso, que aún se está dibujando y que debe ser muy, muy responsiva, en comparación con una capa de tinta seca.
Tiene sentido desde el punto de vista físico, puedes pensar en eso.
Esa es la tinta guardada, ya terminada.
Por lo tanto, la transferencia solía ser completamente nuestra responsabilidad.
Por lo tanto, tuvimos que realizar este subprocesamiento, un nuevo dibujo y una limpieza, y tuvimos que entregarlo a una capa de dibujo y asegurarnos de que se sincronizaran y no parpadearan, y hubo todas estas complicaciones.
Y, al final, tuvimos que aplicar lo que hace que Notability sea única, ¿verdad?
Tenemos nuestros propios modelos de ajuste de curvas y formas que realmente hacen que tu escritura a mano se destaque.
Ese era el modelo anterior.
Gracias a Jetpack Ink, lo único que tenemos que hacer es ingresar nuestro ajuste de curvas en su vista de formas de progreso personalizadas, y todo funciona de forma mágica para nosotros de inmediato en Android.
Otro aspecto que estamos considerando, mientras analizamos Jetpack Ink y otras bibliotecas de Google, es KMP.
En realidad, empezamos analizando el código de iOS, que ya estaba compilado, y pensamos: "Bueno, nos gustaría compartir parte de la lógica entre Android y iOS.
Tenemos modelos, cambios y matemáticas complicadas.
Tiene sentido compartirlo".
Y pensamos: "Oye, C++, ya sabes, Objective-C de Apple, vayamos por ese camino".
Resultó que Kotlin Multiplatform no solo era más fácil de implementar para nuestros ingenieros de iOS, sino que también era más rápido.
Por lo tanto, no solo obtuvimos un mejor rendimiento con Kotlin y pudimos copiar gran parte del código de Android, sino que también fue más fácil para iOS a largo plazo.
Por lo tanto, si quieres compartir código, te recomiendo que investigues Kotlin Multiplatform.
Por el momento, aún estamos en proceso de evaluación.
No es, ya sabes, 100% compatible ni nada por el estilo, ya que, como sabes, los diferentes modelos de IA hacen que sea un poco más fácil hacer trampa con solo tener código en varios lugares, pero sigue siendo algo que estamos investigando de forma bastante activa y que considero muy importante.
Ahora, veamos algunas funciones especiales de Notability.
Si alguna vez intentas compilar un editor de texto que funcione en Android, notarás que, por el momento, no hay una buena manera de compilar un editor de texto para documentos grandes.
En Android básico, los campos de entrada de edición se tratan de IU más pequeñas, EditTexts pequeños, cosas de formato corto.
Lo que terminamos creando fue este sistema muy complicado que básicamente se encuentra sobre las APIs de Android existentes, pero que luego puede manejar documentos mucho, mucho más grandes, ya sabes, miles y miles de páginas de texto, todo al mismo tiempo, que se pueden editar de forma colaborativa, por lo que puedes tener un usuario en otro lugar editando 500 páginas de distancia de ti, lo que está causando cambios que, ya sabes, afectan tu trabajo a medida que avanzas.
Y la forma en que descubrimos cómo hacerlo es, básicamente, que nuestras pulsaciones de teclas toman dos rutas.
Entonces, la primera ruta es, bueno, este es nuestro mejor esfuerzo, esta clave debería aparecer, ya sabes, aquí.
Creemos que esto es bueno, según todo lo que podemos decir en este momento con cómo se ve todo debajo.
Y luego hacemos una sincronización rápida, ¿verdad?
Vamos al backend, revisamos nuestros cooperadores y les preguntamos: "¿Está todo bien?
¿Tiene sentido?
¿Estamos bien?".
Y si las cosas tienen que cambiar, se reajusta en ese momento.
Puedes imaginarte que, si dos usuarios están en la misma línea presionando teclas, será un poco confuso quién obtiene qué.
Pero, en general, esto funciona muy bien.
La razón por la que lo menciono aquí es que es una gran cantidad de trabajo que hemos estado realizando y estamos considerando convertirlo en código abierto.
Así que, si alguien en la conferencia o en línea en el futuro quisiera colaborar en esto y cree que es una buena idea, háganoslo saber.
Estamos debatiendo si realmente vale la pena el esfuerzo de invertir en ella, pero, como saben, ha sido una gran iniciativa de nuestra parte y estamos muy orgullosos de los resultados.
Bien, y así es como funciona la tinta.
En cuanto al modelo de colaboración, este es un poco más directo sobre cómo funciona de nuestro lado.
Como puedes ver aquí, hay tres pasos.
Está el evento de toque, en el que decimos: "Oye, por cierto, estamos iniciando un evento de entrada manuscrita" a cualquiera de nuestros dispositivos conectados, que en este caso es un iPad.
Luego, está el dibujo real, por lo que puede haber de uno a millones de estos, según el tiempo que el usuario mantenga su dispositivo, ya sabes, su lápiz girando.
Esperemos que no sea demasiado tiempo.
Creo que hay un límite en algún punto, pero, ya sabes, para los casos de uso normales, está bastante bien.
Y, luego, hay un evento de levantamiento.
Y la forma en que lo administramos es que, en realidad, tenemos un objeto transitorio que mantenemos en nuestro modelo.
Eso significa que, en el iPad, decimos: "Bueno, hay un trazo que está llegando, pero aún no está aquí.
No podemos interactuar con él.
Es efímero".
Y solo cuando se inicia ese evento de finalización, entramos y decimos: "Bien, genial.
Ahora, reemplaza todo eso por un objeto con el que iOS o cualquier otro cliente pueda interactuar".
Y esto también es algo con lo que estamos jugando un poco con el código abierto.
Esto no es, ya sabes, nuestra entrada manuscrita directa, sino parte del contenido transitorio, especialmente en la capa de texto.
Muy bien.
Y luego, sí.
Estas son algunas otras cosas que recomendamos usar.
La IA integrada en el dispositivo es excelente.
Lo usamos para escanear documentos, por lo que puedes escanear documentos, analizar textos en PDF y reconocer escritura a mano.
También usamos, ya sabes, modelos de IA de nube abierta como Gemini para ayudar a generar nuestras notas inteligentes, donde, ya sabes, las notas de los usuarios se categorizan, se resumen y, luego, se les devuelven de formas que son mejores y más interactivas para el modelo de aprendizaje.
Y todo eso en conjunto hace que Notability se sienta como una aplicación para laptops, ¿verdad?
Ese es el objetivo final.
Tenemos todos estos modelos diferentes e interesantes, diferentes cosas, texto, entradas, pero lo importante es si esto se siente como una aplicación para laptops o si se siente como si hubieras abierto una app para teléfonos en tu pantalla grande y estuvieras jugando con ella.
El teclado, el panel táctil, la pluma stylus y el cambio de tamaño de la ventana son funciones clave que deben funcionar correctamente para garantizar que los usuarios tengan una experiencia agradable.
Pero, como mencioné antes, Jetpack Compose, Navigation 3 y Material Design abarcan todo esto.
Por lo tanto, no es un gran esfuerzo si haces las cosas bien.
Es bastante fácil llegar aquí.
Entonces, sí.
Esas son nuestras conclusiones clave.
Cuando pienses en Android en el futuro, ya no pienses en dispositivos.
No pensaría en que este es un teléfono, este es un dispositivo plegable, este es un dispositivo de RE, este es una computadora de escritorio o una laptop, o una tablet, o un auto, o una TV.
En cambio, se trata de saber cuál es el tamaño de pantalla disponible y cuáles son los modales de entrada disponibles para los usuarios.
Y brindemos la mejor experiencia posible para quienes sigan adelante.
Como mencioné en la diapositiva anterior, Compose y Nav 3 facilitan la compatibilidad con todo eso.
Y, luego, Google lanza todos los días APIs nuevas y muy potentes, como Jetpack Ink o Gemini integrado en el dispositivo, o todo tipo de cosas que te facilitan la creación de tus experiencias principales y, luego, te permiten enfocarte en la salsa mágica que te hace único.
Bien.
Entonces, sí.
Muchas gracias.
De eso se trata mi charla.
Estaré disponible más tarde si tienes preguntas o, si lo prefieres, puedes comunicarte con Notability.
La app es nueva en Android desde hace unos dos meses.
Finalmente, salimos de la versión beta.
Así que, ya sabes, no dudes en probarlo.
Envíanos tus comentarios.
También está disponible en Google Books en el proceso de demostración que se encuentra detrás de ti.
Ahora, le cederé la palabra a Joe de Logitech para que continúe.
Gracias.
Bien.
Gracias, Ryan.
Hoy, bien, lo siento.
Traigamos nuestra diapositiva, muy bien.
Gracias, Ryan.
Hoy, les contaré cómo llevamos Options+, una app de personalización de periféricos, a las Chromebooks.
¿Y qué significa crear una experiencia periférica?
Hablaré sobre lo que creamos, algunos aspectos destacados de la ingeniería detrás de esto, no los aspectos negativos, y hacia dónde nos dirigimos.
Los dispositivos Logitech ya funcionaban con Android, y la mayoría de los usuarios descubrieron que los periféricos mejoraban su accesibilidad, especialmente con laptops premium y teléfonos conectados a monitores externos.
Hablando de esto, antes, en la planta baja, vi en el stand de demostración de Googlebook que engancharon un cambio secuencial de Logitech para juegos en la mesa y lo usaron para cambiar entre diferentes pantallas de la tablet.
Aquí está.
Esa es una forma de usarlo.
Ah, por cierto, Ferrari tuvo que cobrar 50,000 euros adicionales por su caja de cambios secuencial. En fin.
Sí.
Como Ryan mencionó de manera bastante exhaustiva, en el Googlebook tenemos mucho más espacio para trabajar.
Como puedes ver, puedes cambiar el tamaño de las pantallas, horizontal, vertical o cuadrado, si lo deseas, y tienes mucho más espacio para trabajar entre apps.
Puedes continuar con lo que estás haciendo, usar diferentes apps y, ya sabes, cambiar de contexto, todo eso.
Y eso, sin duda, cambió el diseño de las apps, y los diseños deben mantenerse útiles durante todos los procedimientos.
Para nosotros, Logitech, esto parece particularmente interesante porque, aquí tienes, somos una empresa con mucha experiencia en periféricos, ¿verdad?
Contamos con una base muy sólida para este trabajo.
Por lo tanto, desde nuestro punto de vista, para ese tipo de entorno de trabajo, un mouse o un teclado es la forma en que nuestro usuario interactúa durante el día de trabajo.
Pueden entrar en su flujo de trabajo con mucha facilidad.
Y creo que no es una exageración decir que Logitech aporta décadas de experiencia a este trabajo.
Creo que acabamos de cumplir 45 años a principios de este mes.
Y creo que hemos estado fabricando ratones desde el segundo día, el segundo año de Logitech.
Con ese tipo de experiencia, tenemos mucha confianza para ingresar a esta área.
Y lo que es aún mejor, tenemos un gran legado con ChromeOS.
En el pasado, garantizamos una compatibilidad de primer nivel con ChromeOS.
Ahora, con todo esto dicho, tenemos una experiencia práctica muy buena que rompe el límite entre el hardware que creamos, el software que creamos, creamos, creamos y, luego, la plataforma, el SO, Googlebooks.
Por ejemplo, un usuario presiona un botón y ve un resultado predecible.
Es casi como algo que todos dan por sentado.
Pero, en realidad, requieren compatibilidades de componentes sin problemas.
Además, a todos les encanta la compatibilidad con sus periféricos.
Por ejemplo, ajustar su sensibilidad de forma correcta.
65, ni uno más, ni uno menos.
Por lo tanto, todos estos elementos requieren una integración de compatibilidad muy buena y fluida entre sí.
Ahora, con el lanzamiento de las Googlebooks, enviamos Options+ para Googlebooks.
Por lo tanto, en este momento, admitimos una variedad de mouses y teclados, y se agregarán más en el futuro.
Y este también es un lugar en el que permitimos que el usuario configure sus dispositivos.
Y, como mencioné antes, como la sensibilidad, todo ese tipo de cosas.
Ahora, aquí es donde la escena se pone interesante.
Cuando hablamos de configurabilidad, nos referimos a dos aspectos.
Por un lado, está el hardware y el firmware, donde se implementan las funciones en nuestro firmware.
El otro lado es, en realidad, el punto clave de esta demostración y esta presentación: el lado del SO.
Creo que todos aquí saben que, en el pasado, los dispositivos Android y la mayoría de las apps vivían en su propia zona de pruebas, en espacios de usuario.
Existen ciertas limitaciones sobre lo que puedes hacer y, en muchos casos, lo que no puedes hacer y lo que quieres.
Para nosotros, es muy importante.
Aquí hay una captura de pantalla, más adelante tendremos una demostración, pero aquí está la captura de pantalla.
Aquí tenemos un mouse, el MX Master 4, y tiene muchas funciones.
Y para las personas que conocen el mundo de los periféricos, pueden reconocer que ciertas funciones son funciones de firmware muy implementadas, funciones de dispositivos.
Y otros, ciertamente no.
En nuestro caso, lo que hacemos es intentar que el usuario tenga la capacidad de configurar ambos lados.
Nuestro trabajo consiste, básicamente, en hacer que estas opciones sean comprensibles y ofrecerles a los usuarios todas las funciones, además de configurar correctamente estos elementos para el SO y el firmware.
Ahora, veamos una breve demostración.
Esta fue una demostración muy impresionante.
Pero la próxima vez, Ryan, usa el mouse.
Muy bien, aquí vamos.
Esta es la pantalla de mi dispositivo.
Como ves, tengo un mouse MX Master 4 incorporado, este.
Así que, ¡vamos por ello!
Iremos directamente a la pantalla de configuración, como viste antes, y aquí es donde ocurre la magia.
Ahora, primero asignemos Busca con un círculo al botón lateral.
Y, luego, usemos el Puntero mágico en el botón de la función.
Ahora, aquí vamos.
Abramos un navegador.
Llega aquí.
Aquí, presiono el botón lateral al que acabo de asignar Busca con un círculo.
Como ves, encerré un teclado en un círculo.
¡Ya está!
Google solo muestra la información sobre este teclado.
Es muy práctico y fluido.
Ahora, probemos algo diferente.
Perdón.
Retrocedamos un poco.
Probemos el Puntero mágico.
Aquí, activemos esto.
Puedo presionar el botón de atributos, etiquetar esto y presionar "¿Qué es este dispositivo?".
Volvemos para verificar.
Google comenzará a realizar la búsqueda y mostrará los resultados.
Lo bueno de esto es que integras todo el flujo de trabajo en una sola operación manual.
Asignas funciones, presionas, encierras en un círculo, haces clic y listo.
Por lo tanto, creemos que este tipo de operación mejorará en gran medida la accesibilidad de los usuarios y su forma de trabajar.
Ahora, volvamos a las diapositivas.
Por lo tanto, puedes preguntar qué hizo que eso sucediera.
Porque muchas cosas del pasado simplemente no se pueden hacer con apps.
Aquí, ta-da, la API de Peripheral Customization, que está disponible tanto en Googlebooks como en dispositivos Android.
Sin embargo, aquí tienes las notas de Google.
En este momento, esta API está detrás de la lista de entidades permitidas.
Sin embargo, se planea lanzar junto con las actualizaciones de Android para el cuarto trimestre de 2026, que es el trimestre actual.
Por lo tanto, una vez que se lance, creo que los desarrolladores de todo el mundo podrán usarlo.
Ahora, veamos un poco el aspecto técnico.
Hay tres componentes clave en todo esto: un dispositivo, que es comprensible; un activador, que puede ser una tecla o un botón previsto; y una acción, que se realiza en el SO de la app.
Ahora, echemos un vistazo rápido a este fragmento de código.
En la parte superior, definimos un dispositivo con su ID del proveedor y el ID del producto.
// 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)Por lo general, los llamamos VID y PID.
Más abajo, comenzamos a definir un activador.
Aquí, como puedes ver, queremos usar el botón central como activador.
Y, aquí, queremos asignar ese botón central a la parte del asistente por voz de la función del SO.
¿Cierto?
Tenemos un actionBuilder aquí, de AppCustomizationAction, y aquí.
Luego, más abajo, registramos esta asignación entre el producto, el dispositivo, el activador y la acción.
Y, por supuesto, el código real es un poco más complicado que eso, pero el concepto general es este.
Es muy sencillo y fácil de usar.
Ahora, aquí hay otra función muy interesante.
Puse un archivo GIF aquí para que sea más fácil de ver para todos.
Básicamente, cuando se conecta un dispositivo compatible, en este caso, un mouse Logitech Mobifold, el SO activará una notificación estándar para decirte: "Oye, tienes una app para eso".
Dile al usuario que sí, por supuesto.
Una vez que hagas clic en él, se te dirigirá a Play Store, donde podrás instalarlo.
Se llama descubrimiento de vinculación rápida.
Por último, pasemos al lado de la IU.
Ryan habló de muchas cosas interesantes de Googlebook, como la forma en que se crea la IU, así que voy a avanzar bastante rápido aquí.
Como ves, Options+ se ejecuta desde diferentes plataformas, en nuestro caso, Windows, Mac y ahora Chromebooks.
Por lo tanto, nuestro objetivo en realidad son dos: por un lado, queremos que se sienta como si fuera específico de la plataforma, pero, al mismo tiempo, queremos que se sienta similar en todos los ámbitos, lo que significa que una vez que te familiarices con Options+ en una plataforma, deberías poder usarlo sin problemas en otra.
Eso significa que queremos aprovechar esas plataformas específicas, pero, al mismo tiempo, usar el mismo lenguaje de diseño.
Como puedes ver, el lenguaje de diseño es coherente en todos los aspectos.
Y, como ya mencionamos, los usuarios de Googlebook suelen usar el dispositivo de una manera más similar a una laptop o computadora de escritorio.
Por supuesto, nuestra app, incluso en Googlebook, se ve como una app para computadoras.
Por lo tanto, la app en sí puede comportarse como una app para computadoras y funciona bien en los diferentes tamaños de ventana, los diferentes toques y, por supuesto, puedes controlar el uso del mouse y el teclado.
Muy bien, esa es una historia rápida y una versión bastante corta de la historia de los periféricos de Logitech y Options+ en Googlebook.
Y funciona muy bien.
Sin embargo, esto es solo el comienzo.
Tenemos algunos pasos: por un lado, queremos llevar esta experiencia a más dispositivos, más teclados, ratones y otros periféricos, y queremos perfeccionar esta aplicación con los comentarios de los usuarios reales.
Y, por supuesto, lo más importante es que trabajaremos con Google más adelante y nos integraremos más profundamente en las nuevas plataformas.
Por lo tanto, nuestro objetivo final es hacer que la personalización de periféricos sea una experiencia muy, muy natural al usar Googlebook y ayudar a las personas a trabajar de la manera que quieran.
Okis.
Asegúrate de visitar nuestros stands en la planta baja y probar Options+ y los fantásticos dispositivos Logitech.
Y gracias a nuestro socio, Google, y a todos ustedes por su tiempo.
Muchas gracias.
// 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)