Google I/O 2022

Google I/O 2022

 

El pasado mes de mayo Google realizó su conferencia anual para desarrolladores, la Google I/O 2022, que después de dos años volvió a tener público. Durante esos días se presentaron muchas novedades: Wear OS, Google Wallet, Firebase, Google Maps…

 

Desde O2O nuestro equipo de Android ha querido destacar estas evoluciones y las nuevas funcionalidades, que van a permitir un gran avance del ecosistema. Para todo ello, queremos dar las gracias a Carlos Ramos, Javier Mancebo, Pedro Sánchez, Rubén Dominguez, Yrving Molina, Biel Fernández, Alberto Hernández, Jorge Tsitsaris, Juan Ruano, Darío Gonzalez y por supuesto, a nuestro TL Esteban Lamas.

 

 

 

Google Wallet

Google Wallet es una aplicación que va a permitir convertir tu cartera física por una digital. Esta va a poder guardar tarjetas de crédito, tickets de eventos, tarjetas de embarque, tarjetas de afiliación, certificado de vacunación, carnet de conducir…

 

Para los desarrolladores o empresas, también se implementará un panel de administración que permita poder crear tarjetas personalizadas con códigos QR o códigos de barras, pudiendo añadir logos o imágenes a esta.

Además, se podrá compartir objetos de Wallet con otras aplicaciones de Google, como por ejemplo Google Maps: los usuarios que tengan una tarjeta de tránsito, bus o de cualquier transporte, podrán ver la información de su tarjeta y saldo mientras buscan direcciones. Los tickets o tarjetas se podrán guardar fácilmente desde gmail o fotos.

Firebase

Fueron varias son las novedades que se presentaron sobre Firebase:

  • La nueva ventana App Quality Insights en Android Studio nos ayudará a descubrir, investigar y reproducir problemas informados por Crashlytics desde nuestro proyecto local. También resaltará las líneas de código que han aparecido en los informes de errores.
  • Firebase Performance Monitoring, una herramienta para supervisar el rendimiento en tiempo real de las apps. Estadísticas de rendimiento: tiempo inicio de la app, tiempo de respuesta, ratio de éxito, frozen frames…
  • App Check es una capa adicional de seguridad que ayuda a proteger el acceso a nuestros servicios al certificar que el tráfico entrante proviene de nuestra aplicación y bloquea el tráfico que no tiene credenciales válidas.
  • Todos los plugins de Firebase para Flutter han sido activados de forma general y se ha añadido una documentación oficial.

Google Play

En cuanto a las novedades que se vienen para la Play Store la tienda de aplicaciones por defecto para Android, en este año se han separado en tres secciones: privacidad y seguridad, calidad y éxito del negocio.

En general, aterrizan muchas novedades o mejoras de las ya existentes, como por ejemplo:

  • Google Play SDK Index un front web donde los desarrolladores podrán observar características, estadísticas de uso y más de los SDK que se vayan agregando, tales como google SDK o el SDK de Facebook (Meta actualmente), existen alrededor de 100 SDK informados en Google Play SDK Index.

 

 

  • Integración de Crashlytics en el feature de Android Vitals, algo que facilita bastante más su uso e integración dentro de nuestras apps.
  • Nuevo feature que será entregado en forma de un front web donde se podrá observar la eficiencia de los Deeplinks configurados en la app, algo muy útil para el negocio dentro de lo que son los proyectos.

Google TV

Google quiere simplificar la vida de sus usuarios a la hora de elegir qué contenido quieren ver, ya que, su intención es reunir todas las plataformas de streaming que tengan contratadas y que estén centralizadas en Google TV. Todo esto, con la posibilidad de crear diferentes perfiles, ya sean de adultos o de niños con control parental y sus respectivas recomendaciones de contenido en función de lo visionado con anterioridad.

Su objetivo es, que la televisión principal del hogar sea un centro doméstico inteligente, y que tenga conectividad con el resto de los dispositivos de la casa, ya sean teléfonos, tablets, luces, etc usando el nuevo protocolo Matter.

Respecto a las mejoras que trae Android 13 para Android TV destacan las nuevas APIs para mejorar la calidad de audio, accesibilidad y la multitarea.

Pantallas Plegables

La llegada de los nuevos teléfonos plegables, unido a los teléfonos de diferentes tamaños, plantea dos formas de adaptar los diseños de la aplicación a las diferentes pantallas.

  1. Expandir y reorganizar, por ejemplo, con una segunda columna con información.
  2. Combinar contenido, por ejemplo, un listado de chats y al lado el detalle del chat.

 

En cuanto al desarrollo, Google apuesta por Compose para hacerlo mucho más dinámico en lugar de combinar los clásicos XML. Para ello, hay que tener en cuenta el atributo “width” de la clase WindowSize. Este atributo tiene tres medidas:

 

  1. Compact: Teléfonos en vertical
  2. Medium: Teléfonos foldables y tablets vertical
  3. Expanded: Teléfonos y tablets horizontal

En función de estas medidas, habría que ir readaptando el contenido de la pantalla para que la experiencia para el usuario sea la mejor.

WEAR OS

La presentación comenzó con el anuncio de Jetpack Compose para WearOS en su versión Beta. Y como era de esperar, comparte los principios con Compose para Android, además de seguir las guías de Material Design para WearOS.

Es importante mencionar que Compose para WearOS también trae componentes extra, exclusivos para WearOS:

  • ScalingLazyColumn, componente para listar items con animaciones de inicio y fin.
  • Picker, componente para seleccionar un item de una lista de opciones.
  • InlineSlider, componente para seleccionar un item de una lista horizontal pequeña.
  • Stepper, para aumentar o disminuir el valor de una variable.
  • Dialog, popup de alerta o confirmación.
  • CircularProgressIndicator, componente para mostrar el progreso o carga de cierto proceso.

 

Android Studio, en su próxima versión Electric Eel, incluirá mejoras para el desarrollo de aplicaciones para WearOS: vista previa y edición en tiempo real de las interfaces desarrolladas con Compose para WearOS.

Se menciona también a Horologist, librería desarrollada por la comunidad para la creación de nuevos componentes que puedan ser usados las aplicaciones para WearOS.

La presentación continúa con algunas recomendaciones para medir y mejorar el rendimiento de nuestras aplicaciones:

 

  1. Hacer pruebas de rendimiento sólo en versiones release.
  2. JankStats, para medir tiempo de renderizado.
  3. Macrobenchmark, para medir tiempo de inicio.
  4. Baseline Profile, para mejorar el inicio de la aplicación y optimizar el rendimiento.
  5. Gestionar las conexiones a internet, para que la aplicación pueda funcionar en offline.

Para terminar, se presenta a Health Services en su versión Beta. Este nuevo servicio servirá como un intermediario entre los sensores y algoritmos para proporcionar datos de alta calidad relacionados a la actividad, ejercicio y salud de los usuarios de nuestras aplicaciones, todo esto optimizando el menor consumo de batería.

 

Google Maps

En el área de Maps se presentaron novedades como el LiveView.

LiveView permite una mayor orientación mediante señales de realidad aumentada. Esta nueva función incorpora la llamada localización global, una tecnología que utiliza la IA para escanear decenas de miles de millones de imágenes de Street View y predecir hacia dónde se dirige el usuario en cuestión.

Google está mejorando las capacidades del SDK ARCore para que los desarrolladores implementen soluciones de realidad aumentada en sus aplicaciones, así como el SDK de Maps.

En la aplicación de Maps, la nueva capa meteorológica permitirá saber rápidamente la temperatura y las condiciones climatológicas del momento y previstas para una determinada zona. Además, se incorporará una función que valora la calidad del aire: desde el nivel de polen hasta la contaminación. También se mostrarán sugerencias en base a las emisiones y cálculo de rutas óptimas para reducir la huella de carbono.

ImmersiveView permite, gracias a la AI, reconstruir espacios enteros en forma 3D y supone un avance impactante en cuanto a la experiencia de usuario.

 

 

En definitiva, se presentaron novedades interesantes que van a significar una nueva evolución en cuanto a cómo las personas interactuamos con el mundo y muchas de estas tecnologías de mapeado de seguro marcan tendencias en el sector y redefinen soluciones que están disponibles en el mercado y que se usan para la planificación de movilidad y en el contexto de las Smart Cities.

Android 13

 

Se presentó la Beta con estas nuevas funcionalidades:

  • Iconos de apps temáticos: Las apps pueden brindar iconos monocromáticos.
  • API para tarjetas en configuración rápida: Las apps que brindan tarjetas personalizadas pueden hacer que estas tarjetas estén disponibles en la Configuración rápida.
  • Selector de fotos: Nuevo selector integrado para seleccionar archivos multimedia.
  • Preferencias de idioma: Api para configurar idioma en cada app en tiempo de ejecución. Seleccionar idioma preferido para cada app
  • Ajustes en textos: japonés mejorado, alturas de líneas en alfabetos no latinos. Api de Text Conversión. Actualización de Unicode. Separación silábica.
  • Mejoras en sonido. Bluetooth LE Audio y MIDI 2.0
  • Permisos: Nuevo permiso de tiempo de ejecución para dispositivos de Wi-Fi cercanos. Revocar permisos en tiempo de ejecución.
  • Esquema de firma de APK v3.1
  • Sombreadores programables: Compatibilidad con objetos RuntimeShader programable
  • Actualizaciones de OpenJDK 11

Cambios de comportamiento en todas las apps:

  • Rendimiento y batería. Administrador de tareas de servicios en primer plano (FGS). Mejora del control de los trabajos de carga previa con JobScheduler. Uso de recursos de batería.
  • Permiso de tiempo de ejecución para notificaciones

Cambios de comportamiento en apps orientadas a Android 13 o posteriores:

  • Privacidad: El permiso de notificación afecta la apariencia del servicio en primer plano. Nuevo permiso de tiempo de ejecución para dispositivos de Wi-Fi cercanos. El uso de sensores corporales en segundo plano requiere un permiso nuevo.
  • Seguridad: Los filtros de intents bloquean los intents que no coinciden. Exportación más segura de receptores registrados en el contexto

 

Jetpack Compose 1.2 beta

Algunas de las novedades que se presentaron relacionadas con Jetpack Compose fueron:

 

  • Fuentes descargables

Compose 1.2 también introduce fuentes descargables en Compose. Puede usar las nuevas API para Compose para acceder a Google Fonts de forma asincrónica sin ninguna configuración compleja. Con las fuentes descargables, puede mantener el tamaño de su APK pequeño.

 

  • Lupa de texto

El texto de Android proporciona un widget de lupa, lo que facilita la selección de texto. Compose ahora es compatible con la lupa de texto.

La lupa se muestra al arrastrar un controlador para ayudar a ver qué hay debajo del dedo del usuario. Compose 1.1.0 trajo la lupa dentro de los campos de texto, y ahora Compose 1.2.0 admite la lupa también en SelectionContainer.

 

  • Lazy Layouts

Una de las novedades que más va a dar que hablar son los Lazy Layouts: las API de cuadrícula LazyVerticalGrid y LazyHorizontalGrid dejan de ser experimentales y se agrega una nueva API experimental llamada LazyLayout, que le permite al usuario implementar sus propios Lazy Layouts personalizados.

 

  • Interoperabilidad con CoordinatorLayout

Cuando se utiliza un composable de desplazamiento en un CoordinadorLayout desde el sistema de vista, ahora el comportamiento de desplazamiento será interoperable. Esto hace que la configuración de una barra de herramientas plegable sea mucho más fácil. Se puede optar por este comportamiento pasando el resultado de llamar al nuevo método experimental RememberNestedScrollInteropConnection al modificador nestedScroll. Aquí hay una muestra que demuestra esta nueva funcionalidad.

 

  • Diferentes tamaños de pantalla

Para facilitar el diseño, el desarrollo y la prueba de diseños redimensionables, se han lanzado clases de tamaño de pantalla, un conjunto de puntos críticos de pantalla gráfica. Disponibles en alfa en una nueva library material3-window-size-class, como parte del conjunto de libraries Material 3. Se puede leer más acerca de las clases de tamaño en la documentación de Compatibilidad con diferentes tamaños de pantalla y echar un vistazo a una implementación de muestra aquí.

Trabajos en background

 La sesión se centra en optimizar los procesos en segundo plato con el objetivo de optimizar la batería y rendimiento de los dispositivos.

Muchos fabricantes con la finalidad de optimizar la batería del dispositivo tienen sus propias restricciones para los trabajos en segundo plano, llegando a ser muy difícil para el desarrollador acoplar lógica de trabajo en segundo plano para todos los ecosistemas.

En la sesión Google acuerda llegar a un consenso entre fabricantes, desarrolladores y usuarios para la gestión de estos casos

En los propios ajustes podemos definir los niveles de restricción que nuestras apps tendrán en cuanto a la optimización de batería.

 

Unrestricted

Permite el uso de trabajo en segundo plano sin restricciones y es que tiene un impacto negativo en la batería.

Optimized

 El que viene por defecto en toda app, y el recomendado.

En Android 9 ya presentaron dentro de este nivel los propios estados:

  • Active
  • Working
  • Frequent
  • Rare

El sistema es el que se encargará de mover los Jobs, worker… entre estos estados según el uso y la prioridad.

 

Restricted (Background restricted en Android 13)

Este nivel no permite trabajos en segundo plano, y puede provocar inconsistencia en nuestras apps. Pero la idea es dar prioridad a trabajos en segundo plano por prioridades.

Ahí entra JobSchedulerPriority que permite saber qué trabajos se pueden detener primeros dentro de un conjunto de tareas de segundo plano.

Además, la API de JobScheduler va a permitir programar tareas en segundos pendientes si el dispositivo está sobrecalentado.

Insisten en que los desarrolladores deben de crear aplicaciones que hagan buen uso de las tareas en segundo plano para garantizar la optimización del dispositivo. Evitar llamadas en segundo plano repetitivas, por ejemplo.

El uso de WORKMANAGER, es recomendable y de forma que se haga lo más atómico posible. No crear Jobs o tareas muy costosas dentro de un mismo work.

 

Novedades de Hardware

En el área de hardware, Google ha estado trabajando en diferentes frentes durante los últimos meses como ha quedado demostrado en la presentación de este año en la que nos han mostrado 4 nuevos teléfonos, una tablet, unos cascos inalámbricos, un nuevo reloj y como guinda del pastel unas posibles nuevas gafas de realidad aumentada.

 

En primer lugar, tenemos al nuevo teléfono buque insignia de la compañía, el Google Pixel 7 y 7 Pro. Este año la empresa de Silicon Valley ha querido anticiparse a las filtraciones y nos ha mostrado la apariencia de sus dos nuevos teléfonos, se trata de un diseño continuista con la versión anterior pero que mejora y eleva pequeños detalles que ya habían sido criticados en el 6 y 6 Pro. Además del diseño, poco se sabe sobre sus características, aunque estrenará un nuevo procesador Tensor desarrollado por la propia Google así como 5G y unos tamaños de pantalla parecidos a la versión anterior.

 

También llega el Pixel 6A, continuando con la tradición de los últimos años Google nos ha presentado el hermano menor del Pixel 6; procesador Tensor 1, 6 pulgadas de pantalla, 5G y un precio muy competitivo, 459€.

 

Los Pixel Buds Pro son la nueva adición a la familia de audífonos de Google, cuentan con todo lo que se espera de un producto de gama alta dentro del sector: cancelación de ruido, carga inalámbrica, ecualizador potenciado por IA, activación por voz del asistente de Google y cuatro colores. Se podrán adquirir por 219€, aunque no se tiene todavía fecha, ¿quizás en otoño?

 

Google no se ha querido quedar atrás en el mundo de los wearables y ya lo demostró con la compra de Fitbit hace un tiempo, parece que el movimiento está empezando a dar sus frutos pues el nuevo Pixel Watch será el primer reloj inteligente de Google. Después de muchos rumores durante los últimos años por fin sabemos que se trata de un reloj con una pantalla circular OLED y un diseño muy minimalista. De momento la compañía no nos ha querido dar más detalles.

 

Del mismo modo que con el reloj Google ha mostrado el diseño de un nuevo producto más, una nueva tableta dentro de la gama Pixel. Con un diseño de líneas minimalistas y color blanco los rumores afirman que se tratará quizás de una tablet de 14 pulgadas y contará con una versión mejorada de Android para pantallas de gran tamaño, por el momento únicamente tenemos rumores.

 

Por último, en un vídeo muy efectista nos han mostrado las que quizás sean las próximas gafas de realidad aumentada de Google. Se trataría de un dispositivo capaz de traducir en tiempo real una conversión en dos idiomas distintos y mostrar las traducciones delante de la vista de la persona. Por el momento no han querido dar más información sobre disponibilidad, funcionalidades adicionales o precio.

 

 

 

Anterior

Trabajo remoto y Device Lab

Siguiente

MITMProxy en las pruebas de QA

Talento O2O

¿Te apetece formar parte de nuestro equipo?

Mira las oportunidades