Loading...

L'ERREUR D'APPLE

Original

novembre 2009

Je ne pense pas qu'Apple réalise à quel point le processus d'approbation de l'App Store est cassé. Ou plutôt, je ne pense pas qu'ils réalisent à quel point cela compte que ce soit cassé.

La façon dont Apple gère l'App Store a nui à leur réputation auprès des programmeurs plus que tout ce qu'ils ont jamais fait. Leur réputation auprès des programmeurs était autrefois excellente. La plainte la plus courante que l'on entendait sur Apple était que leurs fans les admiraient de manière trop peu critique. L'App Store a changé cela. Maintenant, beaucoup de programmeurs ont commencé à voir Apple comme un mal.

Combien de la bonne volonté qu'Apple a autrefois eue avec les programmeurs ont-ils perdu avec l'App Store? Un tiers? La moitié? Et ce n'est que jusqu'à présent. L'App Store est une fuite de karma constante.


Comment Apple s'est-il mis dans ce pétrin? Leur problème fondamental est qu'ils ne comprennent pas le logiciel.

Ils traitent les applications iPhone de la même manière qu'ils traitent la musique qu'ils vendent via iTunes. Apple est le canal; ils possèdent l'utilisateur; si vous voulez atteindre les utilisateurs, vous le faites selon leurs conditions. Les maisons de disques ont accepté, à contrecœur. Mais ce modèle ne fonctionne pas pour les logiciels. Un intermédiaire ne peut pas posséder l'utilisateur. Le secteur du logiciel l'a appris au début des années 1980, quand des sociétés comme VisiCorp ont montré que bien que les mots "logiciel" et "éditeur" aillent bien ensemble, les concepts sous-jacents ne le sont pas. Les logiciels ne ressemblent pas à la musique ou aux livres. C'est trop compliqué pour qu'un tiers agisse comme un intermédiaire entre le développeur et l'utilisateur. Et pourtant, c'est ce qu'Apple essaie de faire avec l'App Store: un éditeur de logiciels. Et un éditeur particulièrement envahissant, avec des goûts pointilleux et un style de maison appliqué de manière rigide.

Si l'édition de logiciels ne fonctionnait pas en 1980, elle fonctionne encore moins maintenant que le développement de logiciels a évolué d'un petit nombre de grandes sorties à un flux constant de petites sorties. Mais Apple ne comprend pas cela non plus. Leur modèle de développement de produits dérive du matériel. Ils travaillent sur quelque chose jusqu'à ce qu'ils pensent qu'il est terminé, puis ils le libèrent. Vous devez le faire avec le matériel, mais parce que les logiciels sont si faciles à modifier, leur conception peut bénéficier de l'évolution. La façon standard de développer des applications maintenant est de lancer rapidement et d'itérer. Ce qui signifie que c'est un désastre d'avoir de longs retards aléatoires à chaque fois qu'on publie une nouvelle version.

Apparemment, l'attitude d'Apple est que les développeurs devraient être plus prudents lorsqu'ils soumettent une nouvelle version à l'App Store. Ils diraient cela. Mais aussi puissants qu'ils soient, ils ne sont pas assez puissants pour faire marche arrière sur l'évolution de la technologie. Les programmeurs n'utilisent pas le lancement rapide et l'itération par paresse. Ils l'utilisent parce que cela donne les meilleurs résultats. En entravant ce processus, Apple les oblige à faire un mauvais travail, et les programmeurs détestent cela autant qu'Apple le ferait.

Comment Apple aimerait-il que lorsqu'ils découvrent un bogue grave dans OS X, au lieu de publier une mise à jour logicielle immédiatement, ils doivent soumettre leur code à un intermédiaire qui le conserve pendant un mois et le rejette ensuite parce qu'il contient une icône qu'il n'aime pas?

En cassant le développement de logiciels, Apple obtient le contraire de ce qu'ils avaient l'intention: la version d'une application actuellement disponible sur l'App Store a tendance à être une version ancienne et boguée. Un développeur m'a dit:

En raison de leur processus, l'App Store est rempli d'applications à moitié cuites. Je fais une nouvelle version presque tous les jours que je publie pour les utilisateurs bêta. La version sur l'App Store semble ancienne et pourrie. Je suis sûr que beaucoup de développeurs se sentent comme ça: une émotion est "Je ne suis pas vraiment fier de ce qui est dans l'App Store", et elle est combinée avec l'émotion "En réalité, c'est la faute d'Apple".

Un autre a écrit:

Je crois qu'ils pensent que leur processus d'approbation aide les utilisateurs en assurant la qualité. En réalité, des bugs comme le nôtre passent tout le temps et ensuite il peut falloir 4 à 8 semaines pour faire approuver ce correctif de bug, laissant les utilisateurs penser que les applications iPhone ne fonctionnent parfois tout simplement pas. Pire pour Apple, ces applications fonctionnent très bien sur d'autres plateformes qui ont des processus d'approbation immédiats.

En fait, je suppose qu'Apple a une troisième idée fausse: que toutes les plaintes concernant les approbations de l'App Store ne sont pas un problème sérieux. Ils doivent entendre les développeurs se plaindre. Mais les partenaires et les fournisseurs se plaignent toujours. Ce serait un mauvais signe s'ils ne le faisaient pas; cela signifierait que vous les traitez trop facilement. Pendant ce temps, l'iPhone se vend mieux que jamais. Alors pourquoi devraient-ils corriger quoi que ce soit?

Ils s'en tirent en maltraitant les développeurs, à court terme, parce qu'ils fabriquent du si bon matériel. Je viens d'acheter un nouvel iMac 27" il y a quelques jours. C'est fabuleux. L'écran est trop brillant et le disque est étonnamment bruyant, mais il est tellement beau que vous ne pouvez pas vous forcer à vous en soucier.

Donc je l'ai acheté, mais je l'ai acheté, pour la première fois, avec des réserves. Je me suis senti comme si j'achetais quelque chose fabriqué dans un pays avec un mauvais bilan en matière de droits de l'homme. C'était nouveau. Par le passé, quand j'achetais des choses chez Apple, c'était un plaisir sans alliage. Oh, super! Ils font de si belles choses. Cette fois, cela a semblé être un marché de Faust. Ils font de si belles choses, mais ce sont de tels enfoirés. Est-ce que je veux vraiment soutenir cette entreprise?


Apple devrait-il se soucier de ce que des gens comme moi pensent? Quelle différence cela fait-il s'ils aliènent une petite minorité de leurs utilisateurs?

Il y a quelques raisons pour lesquelles ils devraient s'en soucier. L'une d'elles est que ces utilisateurs sont les personnes qu'ils veulent comme employés. Si votre entreprise semble mauvaise, les meilleurs programmeurs ne travailleront pas pour vous. Cela a beaucoup nui à Microsoft à partir des années 90. Les programmeurs ont commencé à se sentir gênés de travailler là-bas. Cela semblait être une trahison. Quand les gens de Microsoft parlaient à d'autres programmeurs et mentionnaient où ils travaillaient, il y avait beaucoup de blagues d'auto-dérision sur être passé du côté obscur. Mais le vrai problème pour Microsoft n'était pas la gêne des gens qu'ils ont embauchés. C'était les gens qu'ils n'ont jamais eus. Et vous savez qui les a eus? Google et Apple. Si Microsoft était l'Empire, ils étaient l'Alliance Rebelle. Et c'est en grande partie parce qu'ils ont obtenu plus des meilleurs éléments que Google et Apple s'en sortent tellement mieux que Microsoft aujourd'hui.

Pourquoi les programmeurs sont-ils si pointilleux sur la moralité de leurs employeurs? En partie parce qu'ils peuvent se le permettre. Les meilleurs programmeurs peuvent travailler où ils veulent. Ils n'ont pas à travailler pour une entreprise dont ils ont des doutes.

Mais la raison pour laquelle les programmeurs sont tatillons, je pense, c'est que le mal engendre la stupidité. Une organisation qui gagne en exerçant le pouvoir commence à perdre la capacité de gagner en faisant un meilleur travail. Et ce n'est pas amusant pour une personne intelligente de travailler dans un endroit où les meilleures idées ne sont pas celles qui gagnent. Je pense que la raison pour laquelle Google a adopté si avidement "Ne soyez pas mal" n'était pas tant d'impressionner le monde extérieur que de s'innoculer contre l'arrogance.[1]

Cela a fonctionné pour Google jusqu'à présent. Ils sont devenus plus bureaucratiques, mais autrement, ils semblent avoir tenu bon à leurs principes d'origine. Avec Apple, cela semble moins le cas. Quand on regarde maintenant la fameuse publicité de 1984, il est plus facile d'imaginer Apple comme le dictateur sur l'écran que la femme avec le marteau.[2] En fait, si vous lisez le discours du dictateur, il sonne étrangement comme une prophétie de l'App Store.

Nous avons triomphé de la dissémination sans principe des faits.

Nous avons créé, pour la première fois de toute l'histoire, un jardin d'une pure idéologie, où chaque travailleur peut s'épanouir à l'abri des parasites des vérités contradictoires et confuses.

La raison pour laquelle Apple devrait s'inquiéter de ce que les programmeurs pensent d'eux est que lorsque vous vendez une plateforme, les développeurs vous font ou vous cassent. Si quelqu'un devrait le savoir, c'est Apple. VisiCalc a fait le Apple II.

Et les programmeurs construisent des applications pour les plateformes qu'ils utilisent. La plupart des applications - la plupart des startups, probablement - naissent de projets personnels. Apple elle-même en a fait. Apple a fabriqué des micro-ordinateurs parce que c'est ce que Steve Wozniak voulait pour lui-même. Il n'aurait pas pu se permettre un mini-ordinateur.[3] Microsoft a également commencé par fabriquer des interpréteurs pour de petits micro-ordinateurs parce que Bill Gates et Paul Allen s'y intéressaient.

La raison principale pour laquelle il y a tant d'applications iPhone est que tant de programmeurs ont des iPhone. Ils peuvent savoir, parce qu'ils l'ont lu dans un article, que Blackberry a telle ou telle part de marché. Mais dans la pratique, c'est comme si RIM n'existait pas. S'ils doivent construire quelque chose, ils veulent pouvoir l'utiliser eux-mêmes, et cela signifie construire une application iPhone.

Donc, les programmeurs continuent à développer des applications iPhone, même si Apple continue à les maltraiter. Ils sont comme quelqu'un coincé dans une relation abusive. Ils sont tellement attirés par l'iPhone qu'ils ne peuvent pas le quitter. Mais ils cherchent un moyen d'en sortir. Un a écrit :

Bien que j'aie apprécié le développement pour l'iPhone, le contrôle qu'ils exercent sur l'App Store ne me donne pas l'envie de développer des applications comme je le voudrais. En fait, je n'ai pas l'intention de faire d'autres applications iPhone à moins que ce ne soit absolument nécessaire.[4]

Quelque chose peut-il briser ce cycle ? Aucun appareil que j'ai vu jusqu'à présent ne le pourrait. Palm et RIM n'ont aucun espoir. Le seul concurrent crédible est Android. Mais Android est un orphelin ; Google ne s'en soucie vraiment pas, pas comme Apple se soucie de l'iPhone. Apple se soucie de l'iPhone comme Google se soucie de la recherche.


L'avenir des appareils portables est-il verrouillé par Apple ? C'est une perspective inquiétante. Ce serait une déception d'avoir une autre monoculture sombre comme nous en avions dans les années 1990. En 1995, écrire des logiciels pour les utilisateurs finaux était pratiquement identique à écrire des applications Windows. Notre horreur de cette perspective était la principale chose qui nous a poussés à commencer à construire des applications web.

Au moins, nous savons maintenant ce qu'il faudrait pour briser le verrouillage d'Apple. Il faudrait sortir les iPhone des mains des programmeurs. Si les programmeurs utilisaient un autre appareil pour l'accès mobile au Web, ils commenceraient à développer des applications pour cela à la place.

Comment pourriez-vous faire un appareil que les programmeurs aimeraient mieux que l'iPhone ? Il est peu probable que vous puissiez faire quelque chose de mieux conçu. Apple ne laisse aucune place là-bas. Donc cet appareil alternatif ne pourrait probablement pas gagner en attrait général. Il devrait gagner en vertu de quelque attrait qu'il aurait spécifiquement pour les programmeurs.

Une façon d'attirer les programmeurs est avec le logiciel. Si vous pouviez penser à une application que les programmeurs devraient avoir, mais qui serait impossible dans le monde limité de l'iPhone, vous pourriez probablement les faire passer.

Cela se produirait certainement si les programmeurs commençaient à utiliser des appareils portables comme machines de développement - si les appareils portables remplaçaient les ordinateurs portables comme les ordinateurs portables ont remplacé les bureautiques. Vous avez besoin de plus de contrôle sur une machine de développement que ce qu'Apple ne vous laissera avoir sur un iPhone.

Quelqu'un pourrait-il faire un appareil que vous pourriez transporter dans votre poche comme un téléphone, et qui fonctionnerait pourtant comme une machine de développement ? C'est dur à imaginer à quoi il ressemblerait. Mais j'ai appris à ne jamais dire jamais à propos de la technologie. Un appareil de la taille d'un téléphone qui fonctionnerait comme une machine de développement n'est pas plus miraculeux par les normes actuelles que l'iPhone lui-même l'aurait semblé selon les normes de 1995.

Ma machine de développement actuelle est un MacBook Air, que j'utilise avec un moniteur et un clavier externes dans mon bureau, et tout seul lorsque je voyage. S'il y avait une version moitié plus petite, je la préférerais. Cela ne serait toujours pas assez petit pour le transporter partout comme un téléphone, mais nous sommes dans un facteur d'environ 4. Sûrement que cet écart peut être comblé. En fait, faisons-en un RFS. Recherché : femme avec marteau.

Notes

[1] Quand Google a adopté "Ne soyez pas mal", ils étaient encore si petits que personne ne s'attendait à ce qu'ils le soient, pas encore.

[2] Le dictateur de la publicité de 1984 n'est pas Microsoft, soit dit en passant ; c'est IBM. IBM semblait beaucoup plus effrayant à l'époque, mais ils étaient plus amicaux envers les développeurs qu'Apple ne l'est maintenant.

[3] Il ne pouvait même pas se permettre un moniteur. C'est pourquoi l'Apple I utilisait une télévision comme moniteur.

[4] Tandis que j'ai apprécié le développement pour l'iPhone, le contrôle qu'ils exercent sur l'App Store ne me donne pas l'envie de développer des applications comme je le voudrais. En fait, je n'ai pas l'intention de faire d'autres applications iPhone à moins que ce ne soit absolument nécessaire.

[4] Plusieurs personnes avec lesquelles j'ai parlé ont mentionné à quel point elles aimaient le SDK iPhone. Le problème n'est pas les produits d'Apple, mais leurs politiques. Heureusement, les politiques sont un logiciel ; Apple peut les changer instantanément s'il le souhaite. Pratique, n'est-ce pas ?

Merci à Sam Altman, Trevor Blackwell, Ross Boucher, James Bracy, Gabor Cselle, Patrick Collison, Jason Freedman, John Gruber, Joe Hewitt, Jessica Livingston, Robert Morris, Teng Siong Ong, Nikhil Pandit, Savraj Singh et Jared Tame pour avoir lu les brouillons de ce texte.