Suivez-nous

Interview

Les ratés de la communication inter-apps sur iOS

Loué pour sa simplicité d’utilisation, iOS ne brille pas par sa capacité à laisser les applications dialoguer entre-elles et s’échanger des données. Une lacune sérieuse par rapport à la concurrence qui limite les possibilités d’utilisation. Deux développeurs de premier plan nous expliquent pourquoi.

Arnaud

Publié le

 

Par

Raphaël Sebbe

Loué pour sa simplicité d’utilisation, iOS ne brille pas par sa capacité à laisser les applications dialoguer entre-elles et s’échanger des données, pour des raisons de sécurité (SandBoxing) et de simplicité d’utilisaton. Une lacune sérieuse par rapport à la concurrence qui limite les possibilités d’utilisation. Deux développeurs de premier plan nous expliquent pourquoi. Et comment ils espèrent qu’Apple va régler le problème avec la version 8 d’iOS.

D’un côté, Raphaël Sebbe de Creaceed, auteur d’Emulsio, un excellent stabilisateur vidéo pour iOS. Raphaël est un spécialiste de l’image et il aimerait bien qu’Apple libère les possibilités créatives dans ce domaine en permettant, par exemple, d’avoir recours à la stabilisation vidéo Emulsio lors d’un montage sur iMovie.

De l’autre Eric Brunelle, auteur des très bons dictionnaires Antidote Mobile. Lui aimerait qu’iOS permette la correction orthographique et grammaticale d’un texte par le biais d’Antidote depuis n’importe quel traitement de texte sur iOS.

Car iOS, pour simple et agréable d’emploi qu’il soit, demeure très limité dès que deux applications doivent dialoguer. À cela, de nombreuses raisons : d’abord le SandBoxing, qui cantonne chaque application à un espace de stockage personnel et la rend incapable d’accéder au contenu d’autres applications. Ensuite l’absence de système de fichier accessible à l’utilisateur, qui limite les possibilités d’ouvrir un document avec le logiciel de son choix. Pour pouvoir lire un document Pages avec un traitement de texte compatible, il faut nécessairement transférer ce document à l’autre application concernée. Enfin, iOS ne permet pas de disposer de services hors Apple, disponibles pour chaque application. Si l’utilisateur veut pouvoir utiliser son clavier alternatif à celui proposé par Apple, il ne peut le faire que depuis les applications spécialement programmée pour le faire ; il lui sera impossible d’en profiter si tel n’est pas le cas. Beaucoup de limites, donc, pour des raisons de sécurité, et de simplicité, mais qui limitent grandement la souplesse d’utilisation.

Les limites actuelles



On parle avec iOS 8 de l’arrivée du partage de fichiers/données inter-applications. Concrètement, qu’est-ce que c’est ? Qu’est-ce que ça va apporter aux utilisateurs ?

Raphaël Sebbe, Creaceed : «Je ne sais pas du tout ce qu’Apple a prévu. Ce que je constate cependant c’est qu’Apple, alors qu’ils étaient premiers et en avance sur tous les autres OS, prend du retard par rapport à la communication inter-app. L’idée serait qu’une application puisse proposer un service à une autre application. Par exemple, que l’app d’un réseau social non supporté directement par le système puisse définir le service “partage d’une image”, et que toutes les apps voulant partager une image puisse choisir cette app si elle est installée. On avait parlé à un moment des “remote view controllers”, qui auraient permis à une application d’afficher une vue d’une autre application (sans changer d’application). C’est une manière d’implémenter un service qui éviterait de switcher entre les applications, et apporterait donc un gain de temps pour l’utilisateur».

Eric Brunelle, Druide Informatique : «En théorie, pour Antidote, la capacité de lire le texte d’un courriel ou d’un document Pages, par exemple, et d’y apporter des corrections, comme sur OS X. Ou encore de vous donner la définition d’un mot dans iBooks ou dans Safari. Mais ce n’est qu’une théorie: rien n’a été annoncé».



Quel est le système actuel ? Quelles sont ses limites ?

Raphaël Sebbe, Creaceed : «Pour l’instant, la méthode de communication classique entre 2 applications iOS est via les URL schemes. C’est-à-dire qu’une application définit un scheme, tel prizmo://, par lequel elle peut être appelée. Ainsi, une autre application peut démarrer un scan dans Prizmo en appelant l’URL suivante: prizmo://captureText?lang=en. Des conventions de retour peuvent également être définies pour que Prizmo renvoie l’information à l’autre application quand le scan est terminé.

C’est cependant très limité. On peut typiquement passer des données sous forme de texte entre les apps, mais si on veut faire du traitement plus lourd (image, vidéo, ou autre fichier), cela n’est pas possible. D’autres mécanismes existent comme les pasteboards (technique similaire au copier/coller), mais Apple vient de supprimer la fonction pour des apps ne provenant pas du même éditeur pour des raisons de sécurité. Cela a d’ailleurs bien embêté la société américaine Smile avec son appli TextExpander».

Eric Brunelle, Druide Informatique : «C’est Sandbox total. il n’y a pas moyen de communiquer avec une autre application, sauf par schème URL prédéfini, d’utilité très limitée».



Est-ce que cette nouvelle fonctionnalité pourrait se rapprocher de l’API inter-App audio d’Apple ?

Raphaël Sebbe, Creaceed : «L’API audio inter-app d’iOS permet de générer du son avec une app et de l’exploiter avec une autre. C’est très intéressant, mais très spécifique aussi. Il faudrait un mécanisme plus généraliste qui permettrait à une app de définir un “service” avec entrées/sorties bien définies. Un peu comme ce que fait Android avec ses Activity / Intent. Je veux ouvrir une page web: quelle app installée peut offrir ce service ? Ou, je veux partager une image, quelles apps peuvent faire ça ? On imagine très bien les possibilités que cela offre».

Eric Brunelle, Druide Informatique : «Je ne peux pas vous répondre, je ne connais pas spécifiquement cette API».


iOS 8 apportera-t-il la bonne solution ?

Si cette fonction débarque avec iOS 8, solutionnera-t-elle ce manque de souplesse dans le passage de données entre applications ?

Raphaël Sebbe, Creaceed : «Il y a plusieurs moyens de solutionner ce problème. J’espère qu’Apple ne va pas faire une énième rustine et va vraiment régler ça cette fois. Windows et Android ont déjà leurs solutions. On est en droit d’espérer une solution élégante, un peu comme lorsqu’Apple a ajouté le mode background à iOS ou le copier/coller».



Quelles autres améliorations seraient souhaitables dans ce domaine ?

Raphaël Sebbe, Creaceed : «Les silos de documents iCloud n’ont pas beaucoup de sens. Lorsqu’on a un PDF ou un markdown, ou n’importe quel type de document, on veut pouvoir l’ouvrir avec n’importe quelle application qui en est capable. Apple oblige à ce que ce soit l’application qui a créé le document qui soit seule capable de l’ouvrir, et le seul moyen de passer à une autre application est de faire un copie depuis la première vers la seconde (copie qui est d’ailleurs dispo ou pas en fonction du choix du développeur). ça fait très partage de fichiers des années 80. Dropbox l’a d’ailleurs bien compris, et il suffit de voir le nombre d’applications qui supportent l’accès à Dropbox pour comprendre le vide laissé par Apple.

Une bonne solution serait de définir des streams par type de fichier (PDF, etc.), et que les applications se déclarent comme viewer ou éditeur de ces formats. Ces streams tourneraient sous iCloud (comme photo stream), et seraient partageables entre utilisateurs (R/O ou R/W). Ca résoudrait à la fois le problème d’accès aux fichiers depuis n’importe quelle app, et la collaboration entre utilisateurs».

Eric Brunelle, Druide Informatique : «Dans notre cas, en tout cas, l’idéal serait de disposer d’une API textuelle standardisée, permettant l’échange de texte formaté et de commandes sur ce texte (sélection, remplacement de segment, insertion)».



Est-ce qu’au final, ce domaine n’illustre pas une des grandes lacunes d’iOS, qui a voulu faire disparaitre les fichiers, ne dispose d’aucun gestionnaire réalisé par Apple, ce qui finalement abouti à des contorsions pour l’utilisateur qui veut des fonctionnalités plus professionnelles ?

Raphaël Sebbe, Creaceed : «Exactement. La méthode Apple est de supprimer le superflu pour se concentrer sur les core features absolument essentielles aux utilisateurs. Mais parfois ils suppriment un peu trop et rendent le système caduque et pratiquement inutilisable. On peut espérer cependant que ce soit juste leur premier pas et qu’un système de stream tel que décrit plus haut, qui pourrait intégrer les tags (introduits dans Mavericks) pour définir un nouveau système de fichiers unifié, est bien en cours de développement».

Eric Brunelle, Druide Informatique : «Les fichiers n’ont aucun intérêt pour nous et ne nous manquent pas du tout. Mais la communication interapplications, si. Je respecte totalement, je dirais même j’adhère avec enthousiasme au choix sécuritaire qu’a fait Apple. C’est grâce à ce choix que je n’ai pas de souci de virus ou d’instabilité sur mon précieux ordiphone. Mais je me serais attendu à ce qu’après la fermeture totale initiale, Apple travaille sur des mécanismes d’ouverture sécuritaires pour les « bons citoyens » comme Antidote, surtout sous la pression d’Androïd. Après 6 ans, j’attends toujours. Je continue d’espérer».