Apple et les développeurs : c'est compliqué !

Christophe Laporte |

Les développeurs indépendants gravitant autour de l'écosystème d'Apple doivent avoir la tête qui tourne. Ces dernières années, ils avaient déjà dû se dépasser avec la montée en puissance d'iOS. Proposer une application entièrement fonctionnelle sur iOS et OS X n'est pas de tout repos.

Ce qui est souvent présenté comme étant très simple par Apple est dans les faits beaucoup plus compliqué pour les développeurs. On l'a vu avec de nombreux éditeurs comme The Omni Group qui propose des apps de qualité sur chacune des plates-formes d’Apple, mais à qui il a fallu beaucoup de temps pour y arriver. Chaque plateforme a ses avantages, mais également ses spécificités et ses contraintes. De plus, le fait d’avoir une même app sur plusieurs plates-formes amène de nouvelles problématiques, dont celle de la communication entre elles. Il faut pouvoir passer d’un appareil à l’autre sans contrainte.

L'art est d'autant moins facile qu'iOS et OS X évoluent en permanence. Pour répondre aux attentes des utilisateurs, il faut donc à la fois faire évoluer son application pour qu'elle soit meilleure que ses concurrents directs, tout en exploitant au mieux les nouvelles fonctionnalités des systèmes d'exploitation d'Apple. Un marathon sans fin…

Les développeurs qui étaient déjà bien occupés viennent de voir apparaitre en l’espace de quelques mois deux nouvelles plates-formes estampillées Apple : watchOS pour l’Apple Watch et tvOS pour l’Apple TV. À cette liste, il faut également ajouter l’iPad Pro qui n’est pas un iPad comme les autres. Sur le papier, ces nouveaux produits leur offrent dans bien des cas de nouvelles opportunités, mais le jeu en vaut-il la chandelle ? La question mérite d’être posée.

Du point de vue d’Apple, les choses sont très simples. La firme de Cupertino compte plus que jamais sur ses développeurs pour rendre encore plus attractifs ses nouveaux produits. Avoir quelques killer-apps est une condition clé au succès de l’Apple Watch, l’Apple TV et l’iPad Pro.

Mais pourquoi les développeurs seraient-ils prudents ?

Lorsqu’Apple a lancé l’App Store, il y avait une sorte de ruée vers l’or. Pour le Mac App Store, le parc de Mac était déjà important et les portages aisés dans la plupart des cas. Enfin, l’iPad a été lancé dans un climat d’euphorie comme Apple en a peu connu dans son histoire. La marque à la pomme était véritablement à son apogée.

Comment pousser les développeurs à faire la killer-app pour l'Apple TV ou l'Apple Watch ? Sans parler d'étude de marché, il y a certains aspects qui sont difficiles à prendre en compte. Les développeurs ont une idée assez précise du parc installé de Mac, d'iPhone et d'iPad. Tout le monde en revanche connait le mutisme d'Apple vis-à-vis du nombre de montres qu'elle a vendues. Le « tout va bien » de Tim Cook ne suffira pas forcément à les convaincre à passer quelques mois à concevoir l’application qui pourrait tout changer.

Même chose pour l'Apple TV. D'ailleurs, c'est suffisamment rare pour être signalé, Apple a été très gentille avec les développeurs en leur permettant d'obtenir un exemplaire pour 1$ symbolique dans l'espoir de voir naître des vocations, le tout un mois avant son lancement.

Pour le moment, il n’y a pas de véritable dynamique autour de ces produits. Dans certains cas, on trouve même des développeurs qui préfèrent rester à l’écart. L’exemple le plus marquant est sans doute celui de Bohemian Coding avec l’iPad Pro.

Cet éditeur, à qui l’on doit Sketch, un éditeur de dessin vectoriel adulé (lire : Design : pas de portage de prévu sur iPad Pro), a préféré se tenir à l’écart de la nouvelle tablette d’Apple. La raison invoquée est l'impossibilité de proposer une démo pour un titre vendu 100 € :

Le plus gros problème est la plateforme. Les applications iOS sont généralement vendues à des prix faibles en raison de l'absence de version d'essai. Nous ne pouvons pas porter Sketch sur iPad si nous ne sommes pas sûrs du retour sur investissement.

Sketch sur iPad Pro serait très probablement un outil formidable, qui constituerait pour un nombre non négligeable d’utilisateurs un motif suffisant pour acquérir la grande tablette.

Apple et les développeurs : je t'aime, moi non plus !

Les relations entre les développeurs et la firme de Cupertino ne sont pas forcément au beau fixe. Il y a des points d'achoppements qui reviennent souvent sur le coin de la table. Le plus récurrent est sans doute qu'Apple ne leur permet pas de proposer des mises à jour payantes. On pense également à d'autres points comme les délais de validation, le système des commentaires sur l'App Store qui ne permet pas de dialoguer avec les utilisateurs confrontés à des bugs…

Mais le nerf de la guerre, comme le montre l’exemple de Sketch, est souvent d’ordre financier… Comment s’y retrouver avec une application vendue une poignée d’euros ? L’argument est souvent mis en avant par les développeurs.

Face à ce problème, des solutions existent pourtant. Il y a ceux à l’image de The Omni Group qui n’hésitent pas à garder une tarification élevée. Son gestionnaire de tâches, OmniFocus 2, coûte 39,99 € sur l’App Store. L’éditeur qui jouit d'une excellente réputation parvient à maintenir des prix de cet ordre sur tous ses logiciels.

Il y a également la voie du freemium qui est de plus en plus utilisée. C’est très facile à mettre en oeuvre dans certaines applications, notamment dans les logiciels graphiques où l’éditeur peut réserver certains outils aux utilisateurs payants. Enfin, il y a la voie de l’abonnement qui est de plus en plus prisée. Les deux cas les plus symboliques sont Adobe et Microsoft.

Cercle vertueux ou cercle vicieux ?

Avec l’App Store et l’iPhone (puis l’iPad), Apple est parvenue à créer un cercle vertueux. Avec l’Apple TV, l’Apple Watch et l’iPad Pro, la tâche s’annonce plus ardue.

Ces produits sont des promesses et sont amenés, au moins à court terme, à vivre dans l’ombre de l’iPhone, qui plus que jamais constitue le centre de gravité d’Apple et des développeurs. Le Mac App Store en sait quelque chose (lire : Le Mac App Store est-il un échec ?), alors même qu’il bénéficie d’un parc d’ordinateurs installé important. Mais il y a une vie après l’iPhone, et c’est sans doute aussi pour cela qu’Apple s'attache à ouvrir tant de nouveaux marchés.

avatar xavier25 | 

En tant que dév, deux trois choses de mon expérience :
- chaque année, il faut se mettre à la page (apparition de Swift, nouveaux appareils, nouveaux process), c'est devenu très chronophage (on le fait par passion, mais on finit par se mettre à la page qu'en fonction des besoins des projets, on explore l'essentiel).
- Adapter une app à chaque plate-forme n'est jamais quelque chose de simple et la multiplication des devices (mobile, tablette, montre etc) explose le temps de développement donc on restreint le nombre de plate formes en attendant de voir (clients frileux sur la pertinence)
- enfin, hors demande client, trouver un concept qui permet de gagner de l'argent n'est pas forcément une mince affaire, d'autant plus sur une montre (dont les perfs laissent à désirer) ou un boitier TV dont on a aucun retour sur les volumes. Donc oui certaines plate formes peinent à décoller, ce n'est pas faute de vouloir faire des apps, mais le temps de développement est devenu très important sans aucune garantie de retour sur investissement.
Les iTV et iWatch, c'est un peu le windows mobile d'iOS. Y'a les outils, on a envie de tester, mais on n'a pas envie de se bruler les ailes.

avatar marc_os | 

« chaque année, il faut se mettre à la page »

Euh... c'est pas un peu vrai pour tous les langages en informatique, quelque soit la plateforme ?
Sauf en Cobol peut-être...

avatar xavier25 | 

Ben disons que si t'es dev web, même si t'as de nouveaux frameworks (que tu n'as pas d'obligation à suivre), c'est moins lourd que les changements d'OS et d'ajout de matos à prendre en compte.
Mais bien sur que la base en tant que dev, c'est de se documenter en continu, mais je trouve ça + "prenant" sur mobile.

avatar marc_os | 

@ xavier25
Je pense exactement l'inverse.
Un dev web complet doit maîtriser au moins cinq langages et deux frameworks: php (ou un autre langage serveur), sql, javascript, html, css, less, xml, etc. et les frameworks qui vont bien comme ZendFramework et JQuery. Et maîtriser l'Ajax. En plus faut aussi gérer les différentes capacités des navigateurs en fonction et de la plateforme, et de la version. Savoir que Microsoft a du mal avec les coins arrondis, (d'où les tuiles carrées :P ) et les png si je me souviens bien. Et ça n'arrête pas de changer.
En comparaison, le développement pour OS X ou iOS me paraît incomparablement plus stable. J'ai pas à me poser la question si avec Internet Explorer version tartampion ou Opera ça marche ou pas. Encore récemment j'ai dû zapper Safari (à jour sous Maverick) et utiliser Firefox parce qu'un site à la con marchait mal avec Safari. Ah oui, il me semble que c'était le site de cdiscount.

avatar xavier25 | 

Oui ton avis se défend ^^
Je précise que je ne fais que des apps web pour dépanner (Rails), ce n'est pas mon job, donc je ne comparerai pas davantage.
Disons que je fais iOS + Android et je trouve quand même qu'il y a beaucoup de changements à intégrer (et de + en + au fil des ans).
Après c'est sûr, ce n'est peut être pas aussi contraignant en terme de "compatibilité", mais a-on a quand même plein de formats à gérer, d'interface à re-penser, là où bootstrap fait des merveilles avec 3 fois rien.
De plus, et ce n'est pas négligeable, quand j'envoie en prod, c'est beaucoup plus critique que sur un projet web. On ne peut pas intervenir immédiatement en cas de bug et on peut se faire descendre très rapidement sur les stores (sans pouvoir répondre).

Bref c'est un autre monde, avec des contraintes, peut-être pas autant de languages à maitriser (quoique pour te citer, php (ou un autre langage serveur), sql, javascript, html, css, xml je les utilise dans les apps, et les frameworks iOS ou Android demandent tout autant d'investissement qu'un Zend ou un Symfony2 pour être bien appliqués. Après, j'avoue, les problèmes liés à IE ça doit être désespérant au quotidien...

avatar RyDroid | 

C, C++, Java, JavaScript, Common Lisp, GNU R, GNU Octave ne cassent pas la compatibilité, et ça n'empêche pas les 4 premiers cités d'être parmi les 10 langages de programmation les plus utilisés au monde et d'être multi-plateformes.

avatar BeePotato | 

@ RyDroid : « C, C++, Java, JavaScript, Common Lisp, GNU R, GNU Octave ne cassent pas la compatibilité »

Quel rapport avec ce qu’il disait ? Il parlait de devoir « se mettre à la page ».
Ok, pour le C, ça fait un moment qu’on n’a pas trop eu ce besoin. Mais pour C++ et Java, par exemple, il y a régulièrement des mises à jour importantes nécessitant de se mettre à jour sérieusement.

Quant au côté multi-plateformes, on ne voit pas trop ce qu’il vient faire là dedans…

avatar nemrix | 

Sinon il y a la méthode de Firecore avec le player Infuse qui fait "repayer" un in-app (appelé "pro") qui débloque des fonctions supplémentaires lors des mises à jour majeurs (sorte de mix entre freemium/premium et upgrade payant).

C'est une manière de faire payer les upgrade lorsqu'ils sont importants tout en permettant un accès gratuit (limité mais largement utilisable) aux utilisateurs ne souhaitant pas payer les nouvelles fonctionnalités.

Cela reste malgré tout un moyen de contourner cette limite imposée par Apple et qui dans certains cas est handicapant pour les dev et les client (J'aurais déjà un iPad pro si Sketch était adapté à la tablette [et au pencil])

avatar fousfous | 

Je trouve que c'est plutôt les développeurs qui veulent avoir le plus en faisant le moins possible.
Passer d'une plateforme à une autre est justement ultra simple grâce aux apis et ça ne prend pas de temps, mais évidement y en a pleins qui ne veulent pas utiliser ces apis, dans ce cas il ne faut pas venir se plaindre...

Pour les versions d'essais je ne vois pas où est le problème, j'ai connu une époque où sur l'app store il y avait dès version lite gratuite et la version complète payante, donc encore un faux problème.
Et pour les MAJ payante (bien que je sois contre se principe), il y a toujours la solution de utiliser les bundle qui permettent de réduire le coût d'achat pour les gens ayant déjà la précédente version tout en baissant le prix de la précédente version et en lui apportant des corrections de bug pour ne pas abandonner les gens qui ne sont pas passé à l'autre version qui coute beaucoup plus chère.

Donc il y a des solutions, juste que les développeurs ne veulent pas les utiliser pour je ne sais qu'elle raison...

avatar treizep | 

@fousfous

Tous des flemmards les développeurs c'est bien connu, sauf Apple bien sur.

avatar iGeek07 | 

@fousfous :
Lorsqu'on parle de version d'essai, on parle d'un logiciel entièrement fonctionnel pour un temps limité au bout duquel l'achat est obligatoire pour profiter de l'application. Pas des versions Lite amputées de fonctions (car elles ne peuvent être limitées dans le temps). Pour remplacer ces versions "Lite" il y a maintenant l'application avec l'achat in-app intégré pour débloquer les fonctionnalités. Et les développeurs utilisent beaucoup ce mécanisme, mais ce n'est pas une version d'essai à proprement parler.

avatar heret | 

Va apprendre à programmer sur iOS et OSX, rien que ça, même pas tvOS ou watchOS, et tu arrêteras de dire des conneries. Et je ne vais pas t'expliquer pourquoi, ça t'instruirait...

avatar ovea | 

@heret
Ben !? Justement instruis-nous … ça évitera d'être un gros cow boy qui au fil du temps devient intransigeant … par plaisir ou par intérêt

avatar LimeJuicy | 

@fousfous :
Bon, je débute donc je peux me tromper, mais je ne suis pas d'accord avec toi.

Adapter une app à l'iPad n'est pas le plus compliqué grâce aux API similaires. Or, sur watchOS et tvOS ce ne sont pas les mêmes.

De plus il ne faut pas oublier la question du design de l'application qui est une réflexion qui peut prendre du temps.

Donc je ne sais pas si tu es toi même développeur, mais soit j'ai manqué quelque chose (ce qui est possible, je débute) soit tu minimise beaucoup le travail que peut avoir un développeur pour designer une app et la porter sur des systèmes différents...

avatar Bigdidou | 

@fousfous :
En tout cas, ce qui fait l'essentiel de l'intérêt de la plateforme iOS, c'est la qualité de l'offre logicielle (variété et qualité intrinsèque) et donc des développeurs qu'il y a derrière. Dans chaque domaine qui m'intéresse, il y a de véritables bijoux, où, souvent, les développeurs rivalisent d'ingéniosité pour pallier les limitations imposées par Apple.
Partir en croisade contre eux et leur expliquer que leur métier est facile quand on ne connaît pas me paraît quelque peu inapproprié et injuste.
Mais, je te l'accorde, ça fait bien partie de l'ambiance actuelle de ces réactions aux News ou dénigrer tout et n'importe quoi à coup d'arguments de café du commerce et d'affirmations binaires, surtout si on n'y connaît rien soi-même, est devenu le sport à la mode.

avatar fousfous | 

@Bigdidou :
Enfin quand tu parles de qualité malheureusement j'en vois plus beaucoup...
Je ne dépense presque plus rien en app (et pourtant je suis demandeur) parce qu'il n'y a plus d'app de qualité, dit c'est remplis de bug, soit ça ne sert à rien ou alors c'est gangrené par là pub, et j'en veux beaucoup aux devs pour avoir laissé faire ça.
Quand on a connu un store remplis d'app de qualité et qu'on voit le relâchement de ces dernier temps ça ne donne pas envie de faire confiance aux développeurs pour la suite.
Surtout que je remarque qu'il y a beaucoup de conservatisme, de gens qui se plaignent que ça va trop vite, mais c'est quand même le principe de la technologie, ce serait idiot de s'arrêter...

avatar Un Type Vrai | 

"Quand on a connu un store remplis d'app de qualité"

Ces applications ont disaprus puisque le store n'a plus d'applications de qualité.
Donc la qualité ne paye pas et et en danger l'entreprise qui publie ces applications.
C'est pour ça que la qualité baisse, pas à cause des développeurs.

Soit ce raisonnement s'applique, soit ton discours ne tiens pas.

Choisi.

avatar vrts | 

Foufous au secours d'Apple sur tous les fronts, même quand c'est pour raconter n'importe quoi...

avatar BeePotato | 

@ fousfous : « Passer d'une plateforme à une autre est justement ultra simple grâce aux apis et ça ne prend pas de temps »

Toi, tu n’as jamais fait de développement d’application pour ces OS et tu ne connais rien du tout à ce domaine, c’est bien ça ? ;-)

avatar Ducletho | 

@fousfous :
Je trouve que c'est très difficile d'être d'accord avec toi.
Bon à part certains, mais ils sont au même niveau que tes commentaires.
Un jour peut être que quand t'auras l'impression de sortir une connerie je serais d'accord avec toi.
John MEynard doit te manquer.

Un dose de réflexion, bouge, mange au moins 5 fruits et légumes par jour et tout ira bien pour toi

avatar Domsware | 

@fousfous :

Tu te trompes lourdement. Passer d'une plateforme à l'autre n'est pas si simple que tu le penses. Ne serait-ce que l'interface utilisateur qui est entièrement différente et qu'il faut repenser.

Ensuite à chaque mise à jour d'OS il y a les nouveautés et aussi les bugs qui vont avec. Pour les nouveautés, cela prend du temps de la prise de connaissance à la mise en pratique.
Quand aux bugs cela est très chronophage : entre ce qui marchait avec l'OS n-1 et qui ne marche plus avec l'OS n, les bugs sur les nouvelles fonctionnalités, les bugs dans Xcode...

Donc oui cela est chronophage même si je pense que Sketch exagère énormément le trait. Sketch est une application très connue et reconnue qui dispose ainsi d'une large base de clients potentielle pour une version iPad. Reste que l'éditeur de Sketch a tout de même intérêt à débarrasser son outil de ses nombreux bugs.

avatar marc_os | 

@ Domsware
« ce qui marchait avec l'OS n-1 et qui ne marche plus avec l'OS n »

Pourrais-tu citer au moins deux exemples de bogues pour chaque passage de n à n+1 que tu as dû contourner ?
(Je dis deux, car le monde n'étant pas parfait nulle part, tu en trouveras certainement un).

avatar Domsware | 

Disons la gestion des fichiers PDF dans les assets, la création d'atlas de textures à partir d'images dynamiques, la gestion des images selon la résolution de l'appareil...

Pour t'en convaincre, je t'invite à prendre le temps d'aller sur StackOverflow ou bien sur le forum des développeurs d'Apple : et là tu trouveras plus que 2 bugs.

avatar iGeek07 | 

Je suis d'accord qu'Apple à dévoilé beaucoup de nouvelles plateformes ces derniers temps, mais il faut aussi se rappeler que le nombre de plateformes ne devrait pas trop changer avant un certain nombre d'années maintenant.
Même s'il est vrai qu'il faut aussi maintenir les logiciels avec les nouveautés de chaque plateforme, qui ne manqueront pas d'être dévoilées chaque année…

avatar iPal | 

Pour mon team, on "bloque" tous les développements pendant le mois d'octobre. C'est le mois "mise à niveau, recherche et formation". C'est aussi là qu'on fait une petite retraite d'une semaine pour aller geeker au calme.

Tant qu'Apple reste fidèle à son calendrier, c'est facile à organiser. Plus que l'ajout de matériel et techniques, ce serait un changement de calendrier (WWDC, sorties iOS, etc) qui poserait problème.

Pages

CONNEXION UTILISATEUR