Fermer l'annonce

Lors de son dernier discours à la WWDC en 2011, Steve Jobs avait présenté un service qui terrifie encore de nombreux développeurs. Ce n'est autre qu'iCloud, le successeur salutaire du en difficulté MobileMe. Cependant, même iCloud n'est pas sans erreurs. Et les développeurs s’émeuvent…

Steve Jobs a fait une première démonstration d'iCloud en juin 2011, le service a été lancé quatre mois plus tard et est maintenant opérationnel depuis environ un an et demi. En apparence, un service relativement fluide qui, selon les mots du visionnaire légendaire, "fonctionne" (ou du moins il devrait), mais à l'intérieur, un mécanisme indompté qui fait souvent ce qu'il veut, et les développeurs n'ont aucune arme efficace contre il.

"Tout se passe automatiquement et il est très simple de connecter vos applications au système de stockage iCloud", » avait déclaré Jobs à l'époque. Lorsque les développeurs se souviendront de ses paroles maintenant, ils devront probablement se hérisser. « iCloud n'a tout simplement pas fonctionné pour nous. Nous y avons vraiment consacré beaucoup de temps, mais la synchronisation iCloud et Core Data présentait des problèmes que nous ne pouvions pas résoudre. il admit le directeur du studio Black Pixel, qui est par exemple responsable du célèbre lecteur RSS NetNewsWire. Pour elle, iCloud aurait dû être la solution idéale pour la synchronisation, surtout à l'heure où Google s'apprête à fermer son Google Reader, mais le pari sur le service Apple n'a pas abouti.

Rien ne fonctionne

Il est surprenant qu'un service qui compte plus de 250 millions d'utilisateurs et qui est donc l'un des plus importants de ce type au monde rencontre de tels problèmes. À première vue, on pourrait pointer du doigt les développeurs, mais ils sont innocents pour le moment. iCloud essaie d'en implémenter plusieurs dans ses applications, mais leurs tentatives se soldent souvent par un échec. Parce qu'iCloud a de sérieux problèmes de synchronisation.

[do action=”quote”]Je ne peux même pas compter tous les développeurs qui ont rencontré des problèmes et ont finalement abandonné.[/do]

"J'ai réécrit mon code iCloud plusieurs fois dans l'espoir de trouver une solution efficace" il a écrit développeur Michael Göbel. Cependant, il n’a pas trouvé de solution, et il ne peut donc pas encore commercialiser ses applications, ou plutôt l’App Store. « Je ne peux même pas compter tous les développeurs et entreprises qui ont rencontré les mêmes problèmes que moi et ont finalement abandonné. Après avoir perdu des centaines de milliers de données utilisateur, ils ont tout simplement abandonné iCloud.

Le plus gros problème d'Apple avec iCloud est la synchronisation des bases de données (Core Data). Les deux autres types de données pouvant être synchronisées via le cloud d'Apple - paramètres et fichiers - fonctionnent dans certaines limites sans aucun problème. Cependant, Core Data se comporte de manière totalement imprévisible. Il s'agit d'un framework de haut niveau qui vous permet de synchroniser plusieurs bases de données sur plusieurs appareils. "iCloud a promis de résoudre tous les problèmes de synchronisation des bases de données avec la prise en charge de Core Data, mais cela ne fonctionne tout simplement pas" » a déclaré l'un des principaux développeurs, qui n'a pas souhaité être nommé afin de maintenir de bonnes relations avec Apple.

Dans le même temps, Apple ignore complètement ces problèmes, iCloud continue de se présenter comme une solution simple et les utilisateurs l'exigent des développeurs. Mais malgré tous les efforts du développeur, les données des utilisateurs disparaissent de manière incontrôlable et les appareils cessent de se synchroniser. "Ces problèmes prennent souvent des heures à être résolus, et certains peuvent détruire définitivement vos comptes", un autre développeur de premier plan s'appuie sur Apple et ajoute : "De plus, AppleCare n'est pas en mesure de résoudre ces problèmes avec les clients."

« Nous avons constamment du mal à combiner Core Data et iCloud. L'ensemble de ce système est imprévisible et le développeur dispose souvent d'options limitées pour influencer son fonctionnement. » décrit le studio de développement tchèque Art tactile, qui nous a confirmé qu'en raison de problèmes persistants, il abandonne cette solution et travaille seul, dans lequel il utilisera la synchronisation de fichiers au lieu de la synchronisation de bases de données en tant que telle. Il pourra alors utiliser iCloud pour cela, car la synchronisation des fichiers s'effectue via lui sans aucun problème. Après tout, cela est également confirmé par les développeurs de Jumsoft : "iCloud est sans aucun doute un excellent outil pour le stockage direct de fichiers." Cependant, Jumsoft a malheureusement besoin de Core Data pour sa célèbre application Money, ce qui constitue une pierre d'achoppement.

[do action="quote"]iCloud et Core Data sont le pire cauchemar de tout développeur.[/do]

De nombreux problèmes proviennent également de situations inattendues qui peuvent facilement survenir, par exemple lorsqu'un utilisateur se déconnecte d'un identifiant Apple sur son appareil et se connecte via un autre. Apple ne compte pas du tout sur eux. "Comment résoudre le problème lorsque l'utilisateur, qui n'est pas connecté à iCloud, active l'application, puis se connecte à iCloud et redémarre l'application ?" Il a demandé avec un développeur sur les forums Apple.

Tous les problèmes avec iCloud culminent dans le mécontentement des utilisateurs d'applications qui perdent des données, tandis que les développeurs se contentent souvent de regarder, impuissants. "Les utilisateurs se plaignent et attribuent une étoile aux applications" il s'est plaint sur les forums Apple, le développeur Brian Arnold, qui n'a toujours pas reçu d'explication d'Apple sur quoi faire avec des problèmes similaires, ni pourquoi ils surviennent. Et les forums regorgent de plaintes similaires concernant la synchronisation iCloud.

Certains développeurs perdent déjà patience avec iCloud, et ce n'est pas étonnant. "iCloud et Core Data sont le pire cauchemar de tout développeur" dit pour The Verge développeur anonyme. "C'est frustrant, parfois exaspérant et cela vaut des heures interminables de dépannage."

Apple reste silencieux. Il contourne lui-même les problèmes

Il n’est peut-être pas étonnant que les problèmes d’Apple avec iCloud disparaissent comme si de rien n’était. Apple n'utilise pratiquement pas les Core Data problématiques dans ses applications. Il existe en fait deux iCloud : un qui alimente les services Apple et un qui est proposé aux développeurs. Les applications et services tels que iMessage, Mail, la sauvegarde iCloud, iTunes, Photo Stream et autres reposent sur une technologie complètement différente de celle disponible pour les développeurs tiers. C'est-à-dire celui avec lequel il y a des problèmes constants. Les applications de la suite iWork (Keynote, Pages, Numbers) utilisent bien la même API que les applications tierces, mais uniquement pour une synchronisation de documents beaucoup plus simple, qu'Apple prend grand soin de faire fonctionner. Lorsqu'ils autorisent iCloud et Core Data dans leur application à Cupertino, ils ne sont pas meilleurs en termes de fiabilité que les développeurs tiers. L'application Trailers, qui utilise Core Data pour la synchronisation, parle d'elle-même et les utilisateurs perdent régulièrement certains enregistrements.

Cependant, avec les remorques, qui ne sont pas aussi populaires, ces problèmes sont relativement faciles à résoudre. Mais alors que devraient dire les développeurs des applications les plus populaires à leurs utilisateurs, qui doivent simplement s'appuyer sur les problématiques Core Data d'iCloud, mais ne peuvent souvent pas garantir le type de fonctionnalités qu'Apple annonce constamment dans ses publicités ? Apple ne les aidera certainement pas. « Quelqu'un d'Apple peut-il commenter cette situation ? » Il a demandé sans succès sur le forum, le développeur Justin Driscoll, qui a été contraint de fermer sa prochaine application en raison du manque de fiabilité d'iCloud.

Au cours de l'année, Apple n'a pas aidé les développeurs, donc tout le monde espérait que quelque chose serait résolu au moins lors de la WWDC de l'année dernière, c'est-à-dire une conférence destinée aux développeurs, mais même ici, Apple n'a pas apporté beaucoup d'aide sous l'énorme pression des développeurs. Par exemple, il a fourni un exemple de code pouvant être utilisé pour synchroniser Core Data, mais il était loin d’être complet. Encore une fois, aucune aide significative. De plus, les ingénieurs Apple ont exhorté les développeurs à attendre iOS 6. "Le passage d'iOS 5 à iOS 6 a amélioré les choses à XNUMX %", confirmé par un développeur anonyme, "mais c'est encore loin d'être idéal." Selon d'autres sources, Apple n'avait que quatre employés s'occupant de Core Data l'année dernière, ce qui montrerait clairement qu'Apple ne s'intéresse pas à ce domaine. L’entreprise a toutefois refusé de commenter cette information.

Au revoir et écharpe

Après toutes les vicissitudes évoquées, il n'est pas surprenant que de nombreux développeurs aient dit non à iCloud, bien que probablement le cœur lourd. C'est iCloud qui était censé apporter enfin quelque chose que les développeurs attendaient : une solution simple qui garantit des bases de données identiques et leur synchronisation constante sur deux appareils ou plus. Malheureusement, la réalité est différente. « Lorsque nous avons envisagé iCloud et Core Data comme solution pour notre application, nous avons réalisé que nous ne pouvions pas les utiliser car rien ne fonctionnerait » » a déclaré le développeur de certaines des applications iPhone et Mac les plus vendues.

Une autre raison pour laquelle iCloud n'est pas facilement abandonné est le fait qu'Apple remarque les applications qui utilisent ses services (iCloud, Game Center) et ignore complètement celles qui n'ont rien d'Apple dans l'App Store. iCloud est également une bonne solution d'un point de vue marketing.

Dropbox, par exemple, est proposé comme alternative possible, mais il n'est plus aussi convivial. D'une part, l'utilisateur doit créer un autre compte (iCloud est disponible automatiquement à l'achat d'un nouvel appareil) et d'autre part, une autorisation est requise pour que l'application puisse fonctionner, ce qui échoue également avec iCloud. Et enfin, Dropbox propose la synchronisation des documents, ce qui n'est tout simplement pas ce que recherchent les développeurs. Ils veulent synchroniser les bases de données. "Dropbox, qui est le plus utilisé à l'heure actuelle, a fait ses preuves pour la synchronisation des données. Mais lorsqu'il s'agit de synchroniser la base de données, nous dépendons d'iCloud", » admet Roman Maštalíř de Touch Art.

[do action="quote"]J'aimerais dire à Apple qu'ils ont tout corrigé dans iOS 7, mais je n'y crois pas vraiment.[/do]

Cependant, les développeurs de l'application 2Do n'ont pas eu de patience, en raison de nombreuses expériences négatives avec iCloud, ils n'ont pas du tout essayé le service Apple et ont immédiatement proposé leur propre solution. « Nous n'utilisons pas iCloud à cause de tous les problèmes. C'est un système très fermé sur lequel nous ne pourrions pas avoir autant de contrôle que nous le souhaiterions", le développeur Fahad Gillani nous l’a dit. "Nous avons choisi Dropbox pour la synchronisation. Cependant, nous n'utilisons pas sa synchronisation de documents, nous avons écrit notre propre solution de synchronisation pour cela."

Un autre studio tchèque, Madfinger Games, n'a pas non plus iCloud dans ses jeux. Cependant, le créateur des titres populaires Dead Trigger et Shadowgun n'utilise pas le service Apple pour des raisons légèrement différentes. "Nous disposons de notre propre système basé sur le cloud pour sauvegarder les positions dans le jeu, car nous voulions pouvoir transférer la progression du jeu entre les plateformes." David Kolečkář nous a révélé qu'en raison du développement de jeux pour iOS et Android pour Madfinger Games, iCloud n'a jamais été une solution.

Y aura-t-il une solution ?

Au fil du temps, de nombreux développeurs perdent peu à peu l’espoir qu’Apple trouvera une solution. Par exemple, la prochaine WWDC arrive, mais comme Apple ne communique pratiquement pas avec les développeurs, on ne s'attend pas à ce qu'il vienne à la WWDC à bras ouverts, plein de conseils et de réponses. "Tout ce que nous pouvons faire, c'est continuer à envoyer des rapports de bugs à Apple et espérer qu'ils les corrigeront" » a déploré un développeur iOS anonyme, avec un autre faisant écho à ses sentiments : "J'adorerais dire à Apple qu'ils ont tout corrigé dans iOS 7 et qu'iCloud peut enfin être utilisé sans problème après deux ans, mais je n'y crois pas vraiment." Mais ce sera iOS 7 qui devrait être le thème central de la WWDC de cette année, afin que les développeurs puissent au moins espérer.

Si Apple ne propose pas de solution aux problèmes d'iCloud dans une nouvelle version de son système d'exploitation, cela pourrait être un véritable clou dans le cercueil pour certains projets. L'un des développeurs, qui a été jusqu'à présent un fervent partisan d'iCloud, déclare : "Si Apple ne résout pas ce problème dans iOS 7, nous devrons abandonner le navire."

Source: TheVerge.com, TheNextWeb.com
.