iCloud reste un casse-tête pour les développeurs

Florian Innocente |
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.
Tags
avatar noliv | 
@Mrdodo : Qu’est ce qui te dit que l’équipe d’infinity blade n’utilise pas la synchro de documents? Ce n’est pas parce qu’il n’y a pas de document montré à l’utilisateur que le développeur n’utilise pas ce fonctionnement. iCloud c’est trois API différentes (synchro de clés-valeurs, synchro de documents, synchro de conteneurs CoreData), ils peuvent utiliser l’une des deux premières techniques pour leur app. Le truc c’est que la synchro CoreData serait parfaite pour bon nombre d’apps, elle a un fonctionnement intéressant telle qu’elle a été présentée… mais c’est seulement une fois le travail en partie fini que les devs rencontrent de nombreux problèmes. C’est très fâcheux et j’espère que la prochaine WWDC sera l’occasion d’en savoir plus, d’avoir des nouveautés ou infos rassurantes sur ce point.
avatar monsieurben | 
@mrdodo : pour infinity blade, ils peuvent utiliser le stockage par fichiers, simplement sans le montrer aux utilisateurs. Là, ça marche sans problème. @USB09 : tu dis n'importe quoi : core data repose sur une base de données relationnelle de type SQLite : ça n'a absolument rien à voir avec un fichier csv, et c'est extrêmement complexe à synchroniser. Fais une recherche Google avant d'écrire des anneries, tu paraitras un peu plus crédible. @nogui : tu oublies une des promesses d'icloud : retrouver le contenu de tes apps (y compris celles développées par des développeurs indépendants) entre tous tes devices. Hors, si l'app utilise core data, c'est impossible. Ce bug a donc aussi un impact sur les utilisateurs, qui ne peuvent pas bénéficier de la syncrhro de tous leurs contenus.
avatar kaos | 
La pomme accumule les mauvais points décidément, perso , j'ai activé iCloud mais je ne me suis pas penché dessus, a la fin on n'en finit pas quoi ... D'ailleurs depuis que j'ai mis a jour mon iPhone mon carnet d'adresse se borne à Multiplier les contact par 2 ou 3 ... j'en perd mon latin ;)
avatar Benz Hine | 
@ kaos Ce qu'il faut faire avec iCloud, c'est n'activer que les répertoires et/ou calendriers "icloud" justement....et non pas en local. Le local, est une cata.
avatar Philzap | 
En plus il y a un petit abus de langage ici; CoreData n'est pas une base de donnée, enfin dans le sens SGBD, ni un moteur de base de données, mais un système de gestion de graphe d'objet.. mais bon on ne va pas ergoter.. ça se synchronise mal quand même :-)
avatar Ali Baba | 
@eTeks : Alors là tu rêves. Cette base contient des informations tout à fait confidentielles.
avatar Log_Boy | 
Perso j'ai des soucis de synchro avec mes fichiers Pages ou Numbers, parfois ça reste en attente pendant des plombes, du coup j'ai laissé tombé; Pareil avec les contacts qui se multiplient dans tous les sens, c'est un vrai bronx je capte plus rien du coup pareil j'ai laissé tombé. Je n'utilise plus qu'iCloud pour la sauvegarde de mes iBidules. Puis quand tu vas dans les préférences iCloud et que tu te met à décocher le partage des documents par exemple tu as droit à un vieux message incompréhensible. bref, iCloud c'est tout comme Mobile Me, Siri, Plan...Un truc pas fini.
avatar Bigdidou | 
@monsieurben "retrouver le contenu de tes apps (y compris celles développées par des développeurs indépendants) entre tous tes devices. Hors, si l'app utilise core data, c'est impossible." Ben merci pour l'info. Je comprends mieux pourquoi certaines apps sont totalement à la synchronisation entre iDevices via iCloud... Plus la peine de tripatouiller et de s'énerver...
avatar lmouillart | 
@nogui J'avais plutôt en tête des services qui permettent de faire tourner un applicatif en utilisant l'infrastructure Apple : PAAS, SAAS. Si les développeurs sont obligés d'avoir une partie de leur infra pour iOS sur Azure, AppEngine et une partie sur iCloud ... Après reste le fait que les documents sont inexploitables sans une machine connecté à icloud via le client lourd par exemple via une interface web (type Google Drive ou Microsoft Office WebApps).
avatar patrick86 | 
C'est quoi plus précisément "Core Data" ? Je n'ai pas tout saisi…
avatar Ali Ibn Bachir Le Gros | 
Ce qu'il faudrait ici, c'est trouver un système qui permette d'afficher l'âge de l'auteur de chaque commentaire. Ça relativiserait beaucoup les choses :-) Moi c'est 44 ;-)
avatar kubernan | 
@ patrick86 : Core Data est une technologie fournit par Apple aux développeurs et qui permet de gérer un graphe d'objets lequel constitue ce qu'on appelle le modèle de données de l'application. Si tu créés par exemple une application de gestion de comptes bancaire, tu peux utiliser Core Data pour définir les objets que manipule ton application : comptes, opérations bancaires etc.. ainsi que leur relation (un compte a plusieurs opérations bancaire).
avatar nogui | 
@lmouillart "Après reste le fait que les documents sont inexploitables sans une machine connecté à icloud via le client lourd par exemple via une interface web (type Google Drive ou Microsoft Office WebApps). " Oui d'accord, mais parce que tu veux pouvoir TOUT faire , même si l'utilité n'est pas là de prime abord, tu veux avoir l'impression que n'aura pas de limites .. OK. Je doute que la plupart des utilisateurs aient besoins de tout ça, exactement comme installer Word pour saisir uniquement ses courriers perso .. tout bonnement ridicule. Sur le client léger sur le site Icloud : tu peux quand même gérer les mails, l'agenda, le calendrier, les contacts , en ayant la possibilité de créer , supprimer etc .. pour moi c'est utile et suffisant Pour les documents, tu peux en ajouter en glissant tes documents sur la page iWork. le télécharger, le supprimer .. Après , bien sur, faut acheter Pages, etc .... 9 € .... mouaih, choisir entre ça et Word et même LibreOffice, j'ai choisi , pour faire du courrier de base et même plus ... Mais je pense que leur service va s’étoffer dans les mois qui viennent ... Alors oui, faut utiliser la solution fournie par Apple (malheur !!) : où est le problème ? Ils ont étudiés les besoins simples et proposent une solution complète de bout en bout .. pourquoi ne pas l'adopter ? quitte à acheter quelque chose , autant que çà fonctionne du 1er coup , sans que l’utilisateur ne soit obligé de se plonger dans le truc à fond. Faut juste arriver à penser que bon nombre d’utilisateur n'ont pas que ça à foutre ... ce ne sont pas des passionnés comme nous... Avoir un iPhone , un Ipad , une Apple TV pour prendre une photo , la visualiser sur l'ipad juste après, l'envoyer sur son AppleTV dans la foulée. Prendre un vidéo et l'envoyer sur sa TV sans rien paramétrer d'autre .. Pourquoi serait ce un mauvais choix quand le service est rendu rapidement et simplement .. Pourquoi serait mieux d'avoir un smartphone X, une tablette Y, un media player Z ?
avatar nogui | 
@grems "@nogui 1) Ouvrir son navigateur Internet. 2) Cliquer en haut de google.fr sur Drive pour retrouver tous ses documents, sur Photos pour ses photos, GMail pour ses mails(que ce soir gmail ou autres comptes).... et tellement plus." Je ne parlais pas de cà , relis mieux ...
avatar patrick86 | 
@ kubernan : Merci, je comprend mieux la chose :)
avatar lmouillart | 
@nogui Un exemple je pars en voyage je me fait tirer mes affaires, j'ai des sauvegarde de mes documents sur icloud (Bonjour, qui à un mac qui à un mac ?). Un autre j'ai préparé un document pour les grands parents qui eux on un mac (ouf !), on travail à deux sur le papier pour la maison de retraite (ah bah non c'est impossible). Le problème c'est que justement c'est totalement incomplet que ce n'est pas ouvert aux services tiers donc par exemple Google ou Microsoft ou autres ne peuvent pas proposer de connecteurs sur iCloud. Que même si tu souhaite proposer une solution web qui repose totalement sur icloud en tant que développeur et pour tes utilisateurs, bah ce n'est pas non plus possible. Bref autant utiliser quelque chose de bien plus simple et fonctionnel.
avatar Un Vrai Type | 
@ lmouillart : C'est une brique, il faut évidement d'autres briques et du ciment pour faire une maison... En fait, tu aimerais qu'Apple serve l'ultime outil qui fait tout et qui tuera tous les concurrents ? Difficile de croire ça, vu ton point de vue généralement éclairé sur la concurrence... Perso, si j'étais l'éditeur de SubEthaEdit, je proposerai une sauvegarde possible sur iCloud, mais je n'appuierai pas les fonctions clés du logiciel (édition simultanée) sur iCloud... Non ?
avatar en ballade | 
@Mrdodo : Tu es développeur? Maintenant
avatar en ballade | 
Bref Google drive a utiliser partout et multiplateforme
avatar nogui | 
@en ballade "@Mrdodo : Tu es développeur? Maintenant" Commentaire plus qu'inutile ...
avatar nogui | 
@lmouillart Tu parles donc de documents de travail en voyage d'affaire c'est bien ça ? Et tu fais 100% confiance à Google pour ça ?? Nooooon .... Rien ne vaut je bonne clé USB en porte clé pour des documents importants a ce moment la .. Surtout quand on lit ça : http://www.zdnet.fr/actualites/google-drive-difficultes-d-acces-en-cours-google-enquete-39788342.htm
avatar nogui | 
@en ballade Oui quand ça marche ... Voir plus haut .....
avatar nogui | 
@lmouillart "Un exemple je pars en voyage je me fait tirer mes affaires, j'ai des sauvegarde de mes documents sur icloud (Bonjour, qui à un mac qui à un mac ?)." Et Sinon tu estimes à quel pourcentage la probabilité de te faire tirer tes affaires par rapport à celle que Google drive soit en panne ?
avatar lmouillart | 
@nogui je préfère, les solutions simples, agnostiques, la sur-complexité qui n'a de raison d'être ... je ne suis pas certain que cela aille dans le sens des créateurs, et utilisateurs. Simple, ouvert, transparent, efficace, et fiable.
avatar Francis Kuntz | 
"ceux qui vont jusqu'à envisager de laisser tomber iOS" Lesquels ?
avatar rikki finefleur | 
justement nogui, "un smartphone X, une tablette Y, un media player Z" Ben, c'est la base du succés d'internet, et quel succés !! Nul besoin d'avoir un appareil de telle marque ou telle marque pour consulter ses données.. Aujourd'hui des entreprises comme Apple et d'autres, essayent de le cloisonner pour devenir dépendant de telle ou telle marque.. Ce qui les gênent, c'est justement la facilité d'accès à l'internet..En gros ils veulent te refiler un genre minitel,monolithique, contrôlable par la firme de bout en bout et surtout pas cette liberté donnée par l'interface web. La facilité du web et l'indépendance du web face aux marques, sont juste un ennemi pour eux. Ce qu'ils veulent c'est du bankable, de l'utilisateur cloisonné, et dont le changement de plateforme le dissuadera d'opérer ce changement...Voila pourquoi il faut combattre ces firmes, qui essayent de nous refiler des systèmes tout moisis, non ouverts, et sclérosés.
avatar otop | 
@rikki finefleur Completement d accord , je suis apple user depuis plus de de 10 ans et en 10 ans on a pu constater la fermeture niveau soft avec ios et la fermeture harware avec l imac. Je ne suis pas devlopeur , je ne connais pas les lacunes techniques d icloud , je vois juste les limites de son utilisation. Icloud est impecable pour le calendrier , le repertoire , le mail , flux photo. Le reste est tout simplement inutilisable puisque la gestion de fichiers a disparu dans la philosophie ios. Il faut donc passer par des soft type good reader ou filebrowser associé a du dropebox skydrive et consort.
avatar darkwolf | 
Mais c'est quand même dingue ça... Tout porte à croire qu'il y a un réel problème avec cet API et on vient nous dire que : 1) Le client n'en a rien à foutre car en fait, cela marche très bien 2) Les développeurs qui souhaite utiliser l'API fournit par Apple sont à l'ouest, ils n'ont qu'à pas l'utiliser 3) Que la concurrence c'est pas bien car sa fonctionne moins bien (WTF?) 4) Après avoir émis que sa marchait très bien, on se pose la question "c'est quoi core data".... non mais je rêve.... Des sociétés passe du temps à développer des outils basés sur ces API et s’aperçoive que cela ne fonctionne pas, de quelque manière sa soit.... On va quand même pas dire que c'est un point positif pour les clients finaux ou bien ?
avatar dscreve | 
Le support d'iCloud avec CoreData se résume en 1 phrase : Apple recommande d'utiliser CoreData avec iCloud, Apple recommande d'utiliser la classe UIDocument pour gérer ses documents...la classe UIManagedDocument qui implémente CoreData au sein d'un UIDocument ne supporte pas iCloud, et ce, depuis iOS 5 et rien n'a changé dans iOS6.....Voilà, rien à ajouter...
avatar Anonyme (non vérifié) | 
iCloud est aussi très compliqué pour les utilisateurs Apple. Car un réglage mal fait et on ne sait plus ou sont nos données. Bonne continuation. Alexis : alexisguillot.wordpress.com
avatar Stanley Lubrik | 
A lire l'article, on comprend mieux pourquoi Flash ne pouvait marcher sur iOS.... Une prise de tête pour les développeurs ?

Pages

CONNEXION UTILISATEUR