Microsoft Lens aumenta la productividad de los desarrolladores con CameraX

Microsoft Lens es un producto que facilita la lectura de imágenes de documentos y pizarras. Al equipo de Microsoft Lens le preocupaba que la API de Camera1, una API del framework de Android que incluye compatibilidad con cámaras y funciones de cámara, no tuviera un buen rendimiento en los dispositivos Android modernos. Analizaron el alcance de la creación de algo nuevo y determinaron que la ruta de desarrollo más rápida era usar CameraX para obtener las funciones modernas de un teléfono con cámara.

Qué hizo la empresa

Microsoft decidió usar CameraX para su paquete de apps de productividad que usan Microsoft Lens. CameraX es una biblioteca de compatibilidad de código abierto de Android Jetpack que permite a los desarrolladores compilar funciones de cámara con mayor facilidad en apps para Android. CameraX se integra con todas las herramientas de Microsoft Lens para garantizar el uso de imágenes de alta calidad en determinadas apps. CameraX también mejora la experiencia de los desarrolladores, ya que proporciona una API más simple y funciona en el 94% de los dispositivos Android. Con el cambio a CameraX, el equipo de Microsoft Lens pudo resolver sus problemas de rendimiento, aumentar la productividad de los desarrolladores y reducir el tiempo de salida al mercado.

Resultados

El equipo de Microsoft Lens descubrió que implementar la biblioteca de CameraX les ahorró a sus desarrolladores una cantidad de tiempo significativa, como resultado de menos ciclos de prueba y optimización. Calculan que CameraX le llevó a su equipo de ingenieros unos cuatro meses de esfuerzo en cuanto al tiempo de integración, en comparación con Camera2, que le habría tomado alrededor de seis.

“Con CameraX, es más fácil configurar atributos como la resolución, la relación de aspecto, la rotación de la imagen, la calidad de la captura, etc., en comparación con las APIs de Camera1, que ayudaron con el esfuerzo y el tiempo de integración. CameraX controlaba internamente el estado (para abrir y cerrar la cámara) mientras los usuarios cambiaban entre las aplicaciones había reducido las líneas de código para integrar y también ayudó a la productividad de los desarrolladores a enfocarse en la lógica empresarial en lugar de restablecer el estado de la app", afirmó Vishal Bhatnagar, ingeniero de software principal de Microsoft.

El uso de CameraX permitió a Microsoft mejorar el rendimiento de inicio y captura en comparación con Camera1. Su rendimiento en dispositivos Android modernos se duplicó en el lanzamiento y la captura, y algunos dispositivos incluso obtuvieron un aumento del rendimiento 3 veces mayor (aunque esto varía según el dispositivo). Además, fue más fácil habilitar la funcionalidad de análisis principal en comparación con las estimaciones de Camera2. En términos de la fragmentación de dispositivos, CameraX oculta eficazmente las variaciones de Camera2 de muchos dispositivos en la implementación en muchos dispositivos OEM.

Actualmente, el equipo de Microsoft está integrando CameraX en algunas de sus otras apps para Android, como Office, Teams, OneDrive, Word, Excel, PowerPoint, Microsoft Lens y My Hub. Todas estas apps usan CameraX para la funcionalidad de captura de imágenes en situaciones como el escaneo de documentos y la extracción de imagen a entidad (como de imagen a tabla o de imagen a texto). El equipo de Microsoft también planea implementar pronto CameraX en Outlook y analizar su potencial para otras apps, como Kaizala.

Comenzar

Visita la documentación para obtener más información sobre cómo implementar CameraX en tu app.