Microsoft Lens augmente la productivité des développeurs à l'aide de CameraX

Microsoft Lens est un produit qui permet de lire plus facilement les images de documents et de tableaux blancs. L'équipe Microsoft Lens craignait que l'API Camera1, une API de framework Android qui inclut la prise en charge des caméras et des fonctionnalités de caméras, ne fonctionne pas de manière cohérente sur les appareils Android modernes. Ils ont envisagé de créer quelque chose de nouveau et ont déterminé que la voie de développement la plus rapide consistait à utiliser CameraX pour obtenir les fonctionnalités modernes d'un téléphone avec appareil photo.

Ce qu'ils ont fait

Microsoft a décidé d'utiliser CameraX pour sa suite d'applications de productivité qui utilisent Microsoft Lens. CameraX est une bibliothèque d'assistance Android Jetpack Open Source qui permet aux développeurs d'intégrer plus facilement des fonctionnalités d'appareil photo dans les applications Android. CameraX s'intègre à tous les outils de Microsoft Lens pour garantir l'utilisation d'images de haute qualité dans certaines applications. CameraX améliore également l'expérience des développeurs en fournissant une API plus simple et en fonctionnant sur 94 % des appareils Android. En passant à CameraX, l'équipe Microsoft Lens a pu résoudre ses problèmes de performances, augmenter la productivité des développeurs et réduire le délai de commercialisation.

Résultats

L'équipe Microsoft Lens a constaté que l'implémentation de la bibliothèque CameraX a permis à ses développeurs de gagner beaucoup de temps, grâce à la réduction du nombre de cycles de test et d'optimisation. Ils estiment que l'intégration de CameraX a demandé environ quatre mois de travail à leur équipe d'ingénieurs, contre six pour Camera2.

"Avec CameraX, il est plus facile de configurer des attributs tels que la résolution, le format, la rotation de l'image, la qualité de capture, etc., par rapport aux API Camera1, ce qui a permis de réduire l'effort et le temps d'intégration. Vishal Bhatnagar, responsable principal de l'ingénierie logicielle chez Microsoft, explique : "CameraX gère en interne l'état (ouverture/fermeture de l'appareil photo) lorsque les utilisateurs basculent entre les applications. Cela a permis de réduire le nombre de lignes de code à intégrer et a également aidé les développeurs à se concentrer sur la logique métier plutôt que sur l'état de réinitialisation de l'application."

L'utilisation de CameraX a permis à Microsoft d'améliorer les performances de lancement et de capture par rapport à Camera1. Leurs performances sur les appareils Android modernes ont doublé en termes de lancement et de capture, et certains appareils ont même vu leurs performances tripler (bien que cela varie selon l'appareil). De plus, l'activation de la fonctionnalité d'analyse de base était plus facile que prévu pour Camera2. En termes de fragmentation des appareils, CameraX masque efficacement les nombreuses variations d'implémentation de Camera2 sur de nombreux appareils OEM.

L'équipe Microsoft intègre actuellement CameraX à certaines de ses autres applications Android, telles qu'Office, Teams, OneDrive, Word, Excel, PowerPoint, Microsoft Lens et Mon hub. Toutes ces applications utilisent CameraX pour la fonctionnalité de capture d'images dans des scénarios tels que la numérisation de documents et l'extraction d'images vers des entités (par exemple, image vers tableau, image vers texte). L'équipe Microsoft prévoit également d'implémenter CameraX dans Outlook prochainement et étudie son potentiel pour d'autres applications, telles que Kaizala.

Premiers pas

Consultez notre documentation pour savoir comment implémenter CameraX dans votre application.