iCloud est un casse-tête sans solution pour les développeurs qui souhaitent l'intégrer à leurs applications pour synchroniser des bases de données. C'est le constat général qui ressort de conversations menées par The Verge avec des éditeurs de logiciels iOS et OS X, ainsi qu'au travers de billets de blogs. Sur le papier, iCloud est une solution idéale pour tenir à jour des données et réglages entre plusieurs appareils utilisant la même application. Une solution quasiment clef en main pour répondre à un besoin extrêmement complexe.
C'est d'ailleurs la promesse qui avait été faite par Steve Jobs lors de la conférence des développeurs 2011 : « iCloud est intégré avec vos applications et tout se déroule automatiquement » avant de le ponctuer par son fameux « It just works » (ça marche tout simplement).
Mais deux ans après, cela ne marche toujours pas si bien, voire très mal, et plusieurs développeurs, ouvertement ou de manière anonyme, s'en sont plaints à The Verge.
Par exemple Daniel Pasco, le patron de Black Pixel (Versions, Kaleidoscope), qui prépare une refonte du lecteur de RSS NetNewsWire, un type de logiciel qui a tout à gagner à disposer d'un système de synchronisation entre ses versions OS X et iOS. Le dysfonctionnement et le mystère des API d'iCloud proposées aux développeurs a eu raison de sa patience « iCloud n'a pas fonctionné chez nous. On y a passé un temps incroyable, mais iCloud et la synchronisation Core Data ont des problèmes qu'il nous est tout simplement impossible de résoudre ». L'un de ses confrères, Michael Göbel abonde : « J'ai réécrit plusieurs fois mon code iCloud en espérant trouver une solution qui marche, et visiblement Apple n'a pas fait cet effort. iCloud et Core Data sont une plaisanterie. »
Un autre développeur, Brian Arnold de MathWorks, constate aussi les dégâts, que ce soit en temps passé à dépanner des utilisateurs confrontés à des dysfonctionnements, pertes de données ou en mauvaises notes laissées sur l'App Store « J'attends toujours une réponse sur ce qui peut poser problème et comment y remédier ».
On peut aussi citer le cas du lecteur de podcasts Instacast qui a finalement abandonné la synchronisation iCloud fin 2012 pour développer son propre système ou GoodReader qui a fait machine arrière l'été dernier.
Dans son billet de février dernier, Michael Göbel met en exergue le fait que le marketing d'Apple donne à penser aux utilisateurs que l'absence d'iCloud dans les applications ou les dysfonctionnements sont du ressort des développeurs. Alors que ces derniers sont laissés dans le flou sur la manière de faire fonctionner ce système ou sur les perspectives de le voir enfin corrigé.
Ce sentiment que la faute en revient aux développeurs est conforté par le bon fonctionnement d'iCloud dans d'autres contextes de synchronisation. Lorsqu'il s'agit de documents, les choses se passent plutôt bien « Il faut bien comprendre une chose, la perception du bon fonctionnement d'iCloud par les utilisateurs est largement basée sur des applications qui n'utilisent pas Core Data lors de la synchronisation » observe un autre développeur.
Lorsqu'il s'agit de synchroniser des documents et non des bases de données avec Core Data, ces bugs ne se présentent pas. Les applications de bureautiques d'Apple utilisent ce schéma et dans ce cas il n'y a pas véritablement de soucis, le mécanisme de synchronisation des documents créés par un Keynote ou un Pages étant plus simple. En revanche, lorsqu'il s'agit de bases des données, même des applications Apple sont touchées. Exemple est donné avec iTunes Movie Trailers sur iOS (pour les bandes-annonces, disponible sur l'App Store américain seulement) qui perd régulièrement les favoris des utilisateurs.
Apple n'a pas non plus prévu de scénarios passablement complexes où un utilisateur jonglera entre plusieurs identifiants Apple pendant l'utilisation d'une app. Un autre développeur parle des bugs d'iCloud, mais aussi de sa probable inadéquation structurelle à gérer de grosses bases.
À ces désagréments techniques s'ajoutent les maigres chances pour une application qui n'utilise pas une synchronisation par iCloud d'être mise en avant par Apple sur l'App Store, avec les bénéfices commerciaux que cela entraîne.
Apple reste aussi imperméable aux errements constatés dans son système et sourde aux questions des développeurs. iOS 6 a pu amener beaucoup d'améliorations dans iCloud comparé à iOS 5, mais avec un résultat malgré tout encore bien insuffisant.
Une autre frustration exprimée, en plus de l'indifférence d'Apple sur le sujet, est l'absence de véritable solution de remplacement, alors qu'iCloud laissait entrevoir la perspective d'un remède à la complexité de la synchronisation de bases de données sur iOS.
Dropbox est parfait pour les documents, mais il n'est pas non plus idéal pour les bases de données. En outre, iCloud a comme avantage son intégration au système et sa transparence, alors qu'il faudra d'abord demander à un utilisateur qui n'a pas de compte Dropbox, ou qui n'en veut pas, d'en créer un. Une étape qui rend l'utilisation d'une telle fonction nettement moins conviviale.
Entre les développeurs qui s'arrachent les cheveux, ceux qui ont jeté l'éponge sur cette fonction et ceux qui vont jusqu'à envisager de laisser tomber iOS, le seul recours est la patience. Sauf à tenter de créer sa propre solution, mais le sujet est complexe. La prochaine WWDC et l'arrivée du successeur d'iOS 6 restent les seuls espoirs pour une amélioration de cette situation qui perdure depuis deux ans.
C'est d'ailleurs la promesse qui avait été faite par Steve Jobs lors de la conférence des développeurs 2011 : « iCloud est intégré avec vos applications et tout se déroule automatiquement » avant de le ponctuer par son fameux « It just works » (ça marche tout simplement).
Mais deux ans après, cela ne marche toujours pas si bien, voire très mal, et plusieurs développeurs, ouvertement ou de manière anonyme, s'en sont plaints à The Verge.
Par exemple Daniel Pasco, le patron de Black Pixel (Versions, Kaleidoscope), qui prépare une refonte du lecteur de RSS NetNewsWire, un type de logiciel qui a tout à gagner à disposer d'un système de synchronisation entre ses versions OS X et iOS. Le dysfonctionnement et le mystère des API d'iCloud proposées aux développeurs a eu raison de sa patience « iCloud n'a pas fonctionné chez nous. On y a passé un temps incroyable, mais iCloud et la synchronisation Core Data ont des problèmes qu'il nous est tout simplement impossible de résoudre ». L'un de ses confrères, Michael Göbel abonde : « J'ai réécrit plusieurs fois mon code iCloud en espérant trouver une solution qui marche, et visiblement Apple n'a pas fait cet effort. iCloud et Core Data sont une plaisanterie. »
Un autre développeur, Brian Arnold de MathWorks, constate aussi les dégâts, que ce soit en temps passé à dépanner des utilisateurs confrontés à des dysfonctionnements, pertes de données ou en mauvaises notes laissées sur l'App Store « J'attends toujours une réponse sur ce qui peut poser problème et comment y remédier ».
On peut aussi citer le cas du lecteur de podcasts Instacast qui a finalement abandonné la synchronisation iCloud fin 2012 pour développer son propre système ou GoodReader qui a fait machine arrière l'été dernier.
Dans son billet de février dernier, Michael Göbel met en exergue le fait que le marketing d'Apple donne à penser aux utilisateurs que l'absence d'iCloud dans les applications ou les dysfonctionnements sont du ressort des développeurs. Alors que ces derniers sont laissés dans le flou sur la manière de faire fonctionner ce système ou sur les perspectives de le voir enfin corrigé.
Ce sentiment que la faute en revient aux développeurs est conforté par le bon fonctionnement d'iCloud dans d'autres contextes de synchronisation. Lorsqu'il s'agit de documents, les choses se passent plutôt bien « Il faut bien comprendre une chose, la perception du bon fonctionnement d'iCloud par les utilisateurs est largement basée sur des applications qui n'utilisent pas Core Data lors de la synchronisation » observe un autre développeur.
Lorsqu'il s'agit de synchroniser des documents et non des bases de données avec Core Data, ces bugs ne se présentent pas. Les applications de bureautiques d'Apple utilisent ce schéma et dans ce cas il n'y a pas véritablement de soucis, le mécanisme de synchronisation des documents créés par un Keynote ou un Pages étant plus simple. En revanche, lorsqu'il s'agit de bases des données, même des applications Apple sont touchées. Exemple est donné avec iTunes Movie Trailers sur iOS (pour les bandes-annonces, disponible sur l'App Store américain seulement) qui perd régulièrement les favoris des utilisateurs.
Apple n'a pas non plus prévu de scénarios passablement complexes où un utilisateur jonglera entre plusieurs identifiants Apple pendant l'utilisation d'une app. Un autre développeur parle des bugs d'iCloud, mais aussi de sa probable inadéquation structurelle à gérer de grosses bases.
À ces désagréments techniques s'ajoutent les maigres chances pour une application qui n'utilise pas une synchronisation par iCloud d'être mise en avant par Apple sur l'App Store, avec les bénéfices commerciaux que cela entraîne.
Apple reste aussi imperméable aux errements constatés dans son système et sourde aux questions des développeurs. iOS 6 a pu amener beaucoup d'améliorations dans iCloud comparé à iOS 5, mais avec un résultat malgré tout encore bien insuffisant.
Une autre frustration exprimée, en plus de l'indifférence d'Apple sur le sujet, est l'absence de véritable solution de remplacement, alors qu'iCloud laissait entrevoir la perspective d'un remède à la complexité de la synchronisation de bases de données sur iOS.
Dropbox est parfait pour les documents, mais il n'est pas non plus idéal pour les bases de données. En outre, iCloud a comme avantage son intégration au système et sa transparence, alors qu'il faudra d'abord demander à un utilisateur qui n'a pas de compte Dropbox, ou qui n'en veut pas, d'en créer un. Une étape qui rend l'utilisation d'une telle fonction nettement moins conviviale.
Entre les développeurs qui s'arrachent les cheveux, ceux qui ont jeté l'éponge sur cette fonction et ceux qui vont jusqu'à envisager de laisser tomber iOS, le seul recours est la patience. Sauf à tenter de créer sa propre solution, mais le sujet est complexe. La prochaine WWDC et l'arrivée du successeur d'iOS 6 restent les seuls espoirs pour une amélioration de cette situation qui perdure depuis deux ans.