iMovie et la géolocalisation : explications autour d'ALAssetsLibrary

Anthony Nelzin-Santos |

MacNews s'émeut qu'iMovie pour iPad nécessite d'activer les services de localisation pour fonctionner. La chose n'est en fait pas nouvelle : la plupart des applications travaillant avec vos photos et vidéos aura besoin d'accéder aux services de localisation depuis iOS 4. Le problème est double : d'une part l'incompréhension de l'utilisateur face à des messages peu clairs, d'autre part l'agacement du développeur face à des limitations d'iOS. Explications.

skitched

Dans iOS 4, Apple fournit aux développeurs un nouveau framework d'accès aux médias (photos et vidéos) stockés sur un appareil iOS, ALAssetsLibrary. Il permet d'aller plus loin qu'avec la Pellicule, d'abord pour le développeur (accès des métadonnées associées à ces médias), mais aussi pour l'utilisateur (interface plus pratique à utiliser). Comme bien souvent avec Apple cependant, on perd d'un côté ce que l'on gagne de l'autre : il faut être prêt à faire des concessions pour utiliser ce framework.

Si vous ouvrez une application utilisant ALAssetsLibrary, elle vous demandera la permission d'accéder aux services de localisation : c'est ce que fait iMovie, c'est ce que font d'autres applications. C'est en fait un mécanisme de sécurité : ce framework permet d'accéder aux métadonnées de localisation associées à une photo ou une vidéo. Comme toute photo ou vidéo prise avec iOS est par défaut géolocalisée et comme la politique d'Apple en matière de protection de la localisation est ferme, toute application ayant besoin d'accéder à ces données doit demander la permission de le faire. Jusque-là, tout est logique.

Malheureusement, la logique s'arrête vite. L'utilisateur reçoit un message qui est tout sauf clair, le message générique demandant la permission d'utiliser les services de localisation, ce qui peut entraîner une certaine confusion. Pire, si vous avez désactivé les services de localisation pour une raison ou une autre, le message est encore plus sibyllin : « L'application ne peut accéder à vos photos ou vidéos. Pour activer l'accès, ouvrez l'application Réglages, touchez « Services de localisation », puis activez l'application. » L'utilisateur moyen va logiquement se demander pourquoi son application de montage vidéo a besoin du GPS.

skitched

Si l'utilisateur ne donne pas la permission à l'application d'utiliser la localisation, alors celle-ci ne pourra avoir accès aux médias. De quoi entraîner l'incompréhension de l'utilisateur, qui a des conséquences très directes sur l'humeur du développeur par le biais des commentaires de l'App Store et des polémiques ailleurs sur le Web. Le développeur, lui, est pieds et poings liés : même si son application n'utilise pas les données de localisation stockées dans les médias et même si aucun média avec des données de localisation n'est stocké dans la pellicule, son application, si elle utilise ALAssetsLibrary, devra demander cette permission à l'utilisateur.

Apple fait ici du zèle sécuritaire, très certainement avec raison. Le problème est que la firme de Cupertino ne fournit aucune solution aussi puissante qu'ALAssetsLibrary sans ce problème de localisation, et que les développeurs ne peuvent utiliser d'API privées pour contourner le problème. Ils ne peuvent même pas faire en sorte que leur application offre à l'utilisateur un message plus clair expliquant pourquoi l'application a besoin d'avoir aux services de localisation même si elle n'en fait aucun usage.

Voilà pourquoi iMovie lui-même demande l'accès aux services de localisation : pour vous permettre d'avoir une façon pratique d'accéder à vos médias (et accessoirement d'enregistrer de nouveaux médias avec l'application). La solution est simple pour l'utilisateur (accepter l'utilisation des services de localisation, Apple y consacre même une fiche technique). Pour les développeurs, la seule solution vient d'Apple, mais rien n'indique que cette situation qui perdure depuis près d'un an sera réglée prochainement.

avatar shenmue_fan | 
Grand grand merci pour cet article! Ca fait des mois qu'on essaye d'expliquer ça à nos utilisateurs d'un coté, et qu'on a reporté ce dysfonctionnement à Apple (bug report). Espérons que ça change un jour...
avatar Apple92 | 
Je trouve plutôt la façon de faire d'Apple bonne, et je ne vois pas non plus en quoi les messages d'iOS ne sont pas clairs. C'est juste logique. Apres effectivement si l'utilisateur lambda désactive la géo ou ne l'autorise pas dans une app qui en a besoin c'est chiant pour les développeurs, mais que peut-on y faire? J'ai toujours du mal à comprendre les gens qui râlent parce que quelque chose ne fonctionne pas correctement alors que ce sont eux les seuls responsables. Les développeurs n'ont qu'à préciser dans la description de leur app qu'elle nécessite les données de geolocalisation, c'est aussi simple que celà.
avatar Homer Simpson | 
@ Giru : Il y a quand même une différence entre accéder aux infos GPS de l'iPhone et lire les infos GPS stockées avec une photo ! Il devrait donc y avoir deux alertes différentes ! Et si l'utilisateur dit Non à la lecture des infos de géolocalisation liées à un média, le Framework ne devrait pas empêcher l'utilisation du média en tant que tel, mais uniquement empêcher l'accès à ces données GPS, en renvoyant par exemple des données vides à telle App qui tenterait de le faire !!
avatar dominiclessard | 
@ marc_os : +1.
avatar mattcastel | 
Pour ce qui me concerne toutes ces tracasseries me dépassent et je me demande ce que je ferai quand j'aurai iPad2 WiFi et qu'une appli me posera cette question ? Me connaissant, je serai suspicieux et je dégagerai de cette appli !...Je ne comprends en effet pas du tout que l'on me parle de gasoil quand je suis à l’essence !!
avatar cesarparent | 
Ma foi, voilà un article on ne peut plus clair et limpide. Moi je dis PLUS d'articles comme cela et moins d'articles au sujet de rumeurs sur des rumeurs... Merci MacG
avatar titistardust | 
J'ai eu ce cas avec une application (blueprint) il y a quelques jours. Le développeur a pris le soin d'expliquer cela clairement en quelques lignes et j'ai accepté d'activer la localisation. Le message était du genre : Apple protège l'accès aux données géolocalisées dont la Pellicule aussi nous avons besoin de cette autorisation.
avatar manu1707 | 
@ Domsou : Je ne trouve pas cette application... Es-tu sur du nom ?
avatar titistardust | 
@ Ali Baba : Blueprint c'est sur iPad.
avatar PachaColbert | 
Tout cela ne fait que nous donner une petite idée de ce que sera le prochain Ios. Pire que Google qui vous flique partout. Il sera bientôt temps de changer de crèmerie pour avoir un peu plus de liberté qu'avec Apple qui va bientôt battre google sur son propre terrain.
avatar iguan | 
T'as rien compris toi... Relis l'article.
avatar 2fast | 
@ MachX : Pardon ? Vous réalisez qu'au contraire, l'utilisateur est averti au moindre début de commencement de tentative de fliquage ?
avatar kuban | 
Ce qui est étrange, c'est que ces avertissements banalisés vont logiquement amener Kidam à tout accepter. Y compris quand l'application sera une vraie application de flicage... Politique un peu débile non ?
avatar ijon971 | 
OK. Donc des alertes un peu plus explicites et pédagogiques (intuitifs quoi...) de la part de Apple ne feraient pas de mal. Bonne réflexion Vrai Type.

CONNEXION UTILISATEUR