Android 12 puede utilizar el aprendizaje automático para solucionar el problema del gesto hacia atrás

Google está trabajando en el uso de modelos de aprendizaje automático para predecir cuándo el usuario quiere hacer un gesto de deslizar hacia atrás en Android 12.

Google lanzó la primera vista previa para desarrolladores de Android 12 el otro día, y hemos estado investigando el código para encontrar todo lo nuevo. Uno de los cambios más interesantes que hemos detectado es una revisión de la forma en que Android detecta los gestos de deslizar hacia atrás. Si se implementa, Android 12 utilizará modelos de aprendizaje automático para predecir cuando el usuario tiene la intención de utilizar el gesto de retroceso.

Con el lanzamiento de Android 10, Google introducido su sistema de navegación gestual a pantalla completa. El sistema de navegación por gestos de Android coloca una pastilla en la parte inferior de la pantalla con la que puedes interactuar para cambiar entre aplicaciones, abrir la interfaz de aplicaciones recientes o ir a la pantalla de inicio. Mientras tanto, el botón Atrás fue reemplazado por un gesto de deslizar hacia adentro que se puede activar desde el lado izquierdo o derecho de la pantalla. Se ha derramado mucha tinta

El problema con el gesto hacia atrás de Android., pero hay que reconocer que Google tiene hizo que la experiencia fuera consistente en todo el ecosistema y tienen API proporcionadas para que los desarrolladores garanticen la compatibilidad con el gesto. Si bien muchas aplicaciones han dejado de usar un Cajón de navegación, todavía hay muchas aplicaciones en las que el gesto hacia atrás puede entrar en conflicto con la interfaz de usuario de la aplicación. Para resolver este problema, Google está probando un nuevo enfoque basado en aprendizaje automático para la detección de gestos hacia atrás en Android 12.

El funcionamiento actual del gesto hacia atrás de Android es el siguiente. Casi en todo momento existe un área de activación invisible a ambos lados de la pantalla. Esta área de activación se extiende entre 18 dp y 40 dp de ancho desde los lados de la pantalla, según la configuración de sensibilidad posterior definida por el usuario. El usuario puede activar un gesto hacia atrás simplemente colocando un dedo en cualquier lugar dentro del recuadro y luego moviéndolo hacia adentro más allá de una distancia mínima. Google utilizó mapas de calor de la pantalla del teléfono al diseñar las inserciones de gestos hacia atrás, y se decidieron Áreas de reconocimiento que los usuarios consideran ergonómicas y fáciles de usar con una sola mano.

Navegación por gestos en Android 10+. Fuente: Google.

El problema con este enfoque, como Google ellos mismos admiten, es que algunos usuarios todavía deslizan el dedo para abrir los cajones de navegación, lo que entra en conflicto con el gesto hacia atrás. Cada aplicación está diseñada de manera diferente, pero el área de activación del gesto hacia atrás sigue diciendo lo mismo. Este enfoque único para el gesto hacia atrás no encaja bien con la forma en que se diseñan algunas aplicaciones, por lo que Google está experimentando con el aprendizaje automático para reemplazar el modelo actual.

Mientras investigaba los cambios que Google realizó en el gesto de doble toque hacia atrás en Android 12, Desarrollador reconocido por XDA quinny899 Descubrió la presencia de un nuevo modelo de TensorFlow Lite y un archivo de vocabulario llamado "backgesture". Este último contiene una lista de 43.000 nombres de paquetes para aplicaciones de Android tanto populares como desconocidas, incluidos 2 de Quinny899 propias aplicaciones. Creemos que esta lista contiene las aplicaciones con las que Google entrenó su modelo de aprendizaje automático, es decir. Determinaron los puntos de inicio y finalización más frecuentes para el gesto hacia atrás aplicación por aplicación. Profundizando, descubrimos que se hace referencia al modelo de aprendizaje automático en la clase actualizada EdgeBackGestureHandler en SystemUI de Android 12. Si un indicador de función está habilitado, entonces parece que Android 12 usará el modelo ML para predecir si el usuario tenía la intención de realizar un gesto hacia atrás o si simplemente quería navegar en la aplicación. Los datos enviados al modelo ML para la inferencia incluyen los puntos de inicio y finalización del gesto, si la aplicación está en la lista y el ancho de la pantalla en píxeles. Alternativamente, si el indicador de función está deshabilitado, Android 12 simplemente vuelve al método estándar de detección de deslizamiento hacia atrás (es decir, inserciones).

Actualmente, la predicción del gesto hacia atrás basada en ML está deshabilitada de forma predeterminada en Android 12 Developer Preview 1. Es posible que Google descarte este enfoque si termina no siendo superior al modelo existente basado en recuadros. Sin embargo, no lo sabremos con certeza hasta que Google presente Android 12 Beta en un par de meses, ya que ese es el momento en que Google suele revelar sus cambios más importantes en Android.

Gracias a PNF Software por proporcionarnos una licencia de uso. Descompilador JEB, una herramienta de ingeniería inversa de nivel profesional para aplicaciones de Android.