Le cauchemar de l’AppStore pour les développeurs

Facebooktwitterlinkedinmail

Voici donc 72 heures que j’attends, en même temps que plusieurs milliers d’utilisateurs, que le chef de rayons de l’AppStore se décide à exposer la mise à jour cruciale (appelons-la «Version 2.6.2») de mon app CalJ.

Trois jours que je leur ai posté une correction qui résout le plantage que des centaines d’utilisateurs ont subi sur les iPhone 5s (peut-être des milliers, mais heureusement tous ne m’ont pas écrit, certains ont dû consulter ce blog ?). J’avais pourtant travaillé d’arrache-pied plusieurs heures, avec l’aide de mon ami David S.  en guise de cobaye, pour traquer le défaut qui ne s’observe que sur une puce A7.

Et lorsque vous recevez des centaines d’emails par jour, d’utilisateurs qui se demandent, signalent, se plaignent ou viennent aux nouvelles, 72 heures, c’est beaucoup.

On peut comprendre la politique d’Apple de conserver un contrôle total de ce qui entre sur son magasin en ligne, des fois que ma version 2.6.2 représente subitement un risque pour la sécurité nationale.

Néanmoins, ce qui me dérange plus, c’est le contrôle sur ce qui sort. Je m’explique.

C’est idiot, ma version 2.5.1 fonctionnait très bien, les gens ont été contents des mois durant. J’ai voulu poster une petite mise à jour 2.6 qui ajoutait une petite fonction inoffensive, et ce faisant j’ai introduit un bug — soit, ce sont des choses qui arrivent à tout développeur, fût-il le meilleur de l’univers et D.ieu sait que c’est bien moi — et cela arrive d’autant plus facilement lorsqu’on est un hobbyiste individuel ne disposant pas de tous les modèles d’appareils de la marque à la pomme pour les besoins de l’expérimentation sur les vers.

Ma mise à jour 2.6 a donc tout cassé chez les iPhone 5s, c’était un mercredi. Les signalements de bug ne se sont pas fait attendre, et j’ai aussitôt posté ce que je croyais être une possible solution, bien que sans grande conviction du fait que je n’observais pas, moi-même, le plantage rapporté. Et là, surprise, Apple a validé ma « correction » 2.6.1 extrêmement rapidement (le vendredi). Par malchance elle ne corrigeait rien, mais c’est donc le dimanche que j’ai posté la fameuse 2.6.2 que vous attendez comme moi transis de suspense.

Pendant tout ce temps depuis la sortie de la 2.6 coupable et sa voisine 2.6.1 guère meilleure (déjà sept jours, donc, si vous recomptez bien), des utilisateurs ont posté des avis négatifs sur l’AppStore, des mauvaises notes, des petits mots pas toujours doux. Ajoutons à cela le fait qu’Apple n’a pas jugé bon de permettre au développeur de répondre à l’auteur d’un avis. Une lettre anonyme, collée d’office à la page de l’app, au vu de tous, et sans droite de réponse… Je ne le prends pas personnellement, mais le problème est que ces avis demeurent indéfiniment, et c’est ce que voient en premier les nouveaux qui découvrent CalJ : ça peut faire fuir.

Mais, au-delà des avis négatifs, le pire est que les nouveaux venus, pendant toute cette semaine, ont téléchargé la version cassée ! Celle qui plante dès l’ouverture. Et ça, c’est rédibitoire : on perd l’utilisateur pour toujours. Et je ne peux rien faire contre ça : il m’aurait suffi de sortir la dernière version, la retirer de la distribution, au profit de la 2.5.1 d’avril, qui marche très bien. C’est ce que Google propose dans son GooglePlay. Ainsi, dans l’attente de la validation, mes utilisateurs auraient pu rétrograder leur version à la dernière réputée fonctionnelle, et les nouveaux auraient installé quelque chose de valable, bien noté et apprécié depuis des années.

Malheureusement Apple n’a pas jugé utile de prévoir ce type de retour en arrière. Je ne suis pas le seul développeur d’apps dans ce cas mais, désolé, ça ne me réconcilie pas avec cette firme.

(Monsieur Apple, si vous nous lisez, merci de permettre aux développeurs de revenir une ou deux versions en arrière, juste au cas où…)

Espérons que mes prochaines mises à jour, pour 5775, se dérouleront de façon plus reposante !

Gabriel.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *