Microsoft Lens steigert die Entwicklerproduktivität mit CameraX

Microsoft Lens ist ein Produkt, mit dem Bilder von Dokumenten und Whiteboards leichter lesbar gemacht werden. Das Microsoft Lens-Team war besorgt, dass die Camera1 API, eine Android-Framework-API, die Unterstützung für Kameras und Kamerafunktionen bietet, auf modernen Android-Geräten nicht konsistent funktionierte. Sie entschieden sich, etwas Neues zu entwickeln, und stellten fest, dass die schnellste Entwicklungsmethode darin bestand, CameraX zu verwenden, um die modernen Funktionen eines Kamera-Smartphones zu erhalten.

Vorgehensweise

Microsoft hat sich für CameraX für seine Suite von Produktivitäts-Apps entschieden, die Microsoft Lens verwenden. CameraX ist eine Open-Source-Android Jetpack-Supportbibliothek, die es Entwicklern erleichtert, Kamerafunktionen in Android-Apps zu integrieren. CameraX ist in alle Tools von Microsoft Lens integriert, um die Verwendung hochwertiger Bilder in ausgewählten Apps zu ermöglichen. CameraX bietet außerdem eine einfachere API und funktioniert auf 94 % der Android-Geräte. Durch die Umstellung auf CameraX konnte das Microsoft Lens-Team seine Leistungsprobleme beheben, die Entwicklerproduktivität steigern und die Markteinführungszeit verkürzen.

Ergebnisse

Das Microsoft Lens-Team stellte fest, dass die Implementierung der CameraX-Bibliothek den Entwicklern aufgrund weniger Test- und Optimierungszyklen viel Zeit sparte. Sie schätzen, dass die Integration von CameraX ihr Entwicklerteam etwa vier Monate gekostet hat, während Camera2 etwa sechs Monate in Anspruch genommen hätte.

„Mit CameraX lassen sich Attribute wie Auflösung, Seitenverhältnis, Bildrotation und Aufnahmequalität einfacher konfigurieren als mit Camera1-APIs. Das hat den Integrationsaufwand und die Integrationszeit reduziert. „Da CameraX den Status (zum Öffnen/Schließen der Kamera) intern verarbeitet, während Nutzer zwischen den Anwendungen wechseln, mussten weniger Codezeilen integriert werden. Außerdem konnten sich Entwickler auf die Geschäftslogik konzentrieren, anstatt den App-Status zurückzusetzen“, so Vishal Bhatnagar, Principal Software Engineer Manager bei Microsoft.

Durch die Verwendung von CameraX konnte Microsoft die Leistung beim Starten und Aufnehmen im Vergleich zu Camera1 verbessern. Die Leistung auf modernen Android-Geräten hat sich beim Starten und Aufnehmen verdoppelt. Auf einigen Geräten hat sie sich sogar verdreifacht (dies variiert jedoch je nach Gerät). Außerdem war es einfacher, die Kernscanfunktion zu aktivieren, als bei Camera2 geschätzt. In Bezug auf die Gerätefragmentierung werden durch CameraX viele Camera2-Variationen in der Implementierung auf vielen OEM-Geräten effektiv verborgen.

Das Microsoft-Team integriert CameraX derzeit in einige seiner anderen Android-Apps, z. B. Office, Teams, OneDrive, Word, Excel, PowerPoint, Microsoft Lens und My Hub. Alle diese Apps verwenden CameraX für die Bildaufnahme in Szenarien wie dem Scannen von Dokumenten und der Extraktion von Entitäten aus Bildern (z. B. Bild zu Tabelle, Bild zu Text). Das Microsoft-Team plant außerdem, CameraX bald in Outlook zu implementieren, und prüft das Potenzial für andere Apps wie Kaizala.

Erste Schritte

Weitere Informationen zur Implementierung von CameraX in Ihrer App finden Sie in unserer Dokumentation.