L'un des éléments du projet qui a demandé plus de temps que prévu a été le partage d'écran sur Android. Pour l'utilisateur, le scénario semble simple : appuyer sur un bouton, accepter un message et démarrer la session. Pourtant, le système mobile place volontairement plusieurs barrières, car la capture d'écran est une fonction sensible.

Android exige une décision explicite de l'utilisateur. Selon la version du système, il est possible de partager tout l'écran ou seulement une application, et la fenêtre de permission est contrôlée par Android, pas par MyDeskViewer. L'application doit donc gérer correctement l'acceptation, l'annulation, le changement d'option, le passage à une autre application ou l'arrêt du partage après le début d'une session.

Le scénario idéal n'était pas le plus difficile. La majorité du travail concernait les cas qui l'entourent. L'utilisateur peut appuyer deux fois, revenir du dialogue système sans avoir fait de choix, verrouiller le téléphone ou changer son orientation. Chacune de ces situations doit se terminer de manière prévisible et l'application ne doit jamais rester bloquée dans un état où elle semble encore attendre une permission.

Nous avons également dû tester plusieurs versions d'Android et plusieurs appareils. Les écrans système peuvent être différents selon le fabricant et leur comportement évolue avec les mises à jour.

Nous ne décrivons volontairement pas les mécanismes internes de capture et de transport de l'image. Ces détails restent confidentiels. Du point de vue du produit, la règle la plus importante est ailleurs : l'utilisateur doit toujours savoir quand l'écran est partagé et garder le contrôle sur le début et la fin du partage.

Ce n'est qu'après avoir traité ces cas particuliers que le partage d'écran Android est devenu une véritable fonction du produit, plutôt qu'une simple expérience réussie.