L'erreur d'Apple

Vous voulez créer une startup ? Obtenez un financement de Y Combinator.


Novembre 2009

Je ne pense pas qu'Apple réalise à quel point le processus d'approbation de l'App Store est défectueux. Ou plutôt, je ne pense pas qu'ils réalisent à quel point c'est important qu'il soit défectueux.

La manière 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 vous entendiez à propos d'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 malveillant.

Combien de la bonne volonté qu'Apple avait autrefois auprès des programmeurs ont-ils perdue à cause de l'App Store ? Un tiers ? La moitié ? Et ce n'est que pour l'instant. L'App Store est une fuite de karma continue.


Comment Apple s'est-il retrouvé dans cette situation ? Leur problème fondamental est qu'ils ne comprennent pas le logiciel.

Ils traitent les applications iPhone comme 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 labels de musique ont accepté, à contrecoeur. Mais ce modèle ne fonctionne pas pour les logiciels. Il ne fonctionne pas qu'un intermédiaire possède l'utilisateur. L'industrie du logiciel a appris cela au début des années 1980, lorsque des entreprises comme VisiCorp ont montré que bien que les mots "logiciel" et "éditeur" aillent ensemble, les concepts sous-jacents ne le font pas. Le logiciel n'est pas comme la musique ou les livres. Il 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 d'être avec l'App Store : un éditeur de logiciels. Et un particulièrement ambitieux, avec des goûts difficiles et un style de maison rigidement appliqué.

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 versions vers un flux constant de petites. Mais Apple ne comprend pas cela non plus. Leur modèle de développement de produit dérive du matériel. Ils travaillent sur quelque chose jusqu'à ce qu'ils pensent qu'il est terminé, puis ils le publient. Vous devez faire cela avec le matériel, mais parce que le logiciel est si facile à changer, sa conception peut bénéficier de l'évolution. La manière 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 délais aléatoires chaque fois que vous publiez 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 reculer l'évolution de la technologie. Les programmeurs n'utilisent pas le lancement-rapide-et-itération par paresse. Ils l'utilisent parce que cela donne les meilleurs résultats. En entravant ce processus, Apple les oblige à faire du mauvais travail, et les programmeurs détestent cela autant qu'Apple le ferait.

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

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

À cause de leur processus, l'App Store est plein 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 vieille et merdique. Je suis sûr que beaucoup de développeurs ressentent cela : Une émotion est "Je ne suis pas vraiment fier de ce qui est dans l'App Store", et c'est combiné avec l'émotion "Vraiment, 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 les nôtres passent tout le temps et ensuite cela peut prendre 4-8 semaines pour que cette correction de bug soit approuvée, 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 un troisième malentendu : 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 voudrait dire que vous êtes trop indulgent avec eux. Pendant ce temps, l'iPhone se vend mieux que jamais. Alors pourquoi auraient-ils besoin de réparer quoi que ce soit ?

Ils s'en sortent en maltraitant les développeurs, à court terme, parce qu'ils fabriquent un matériel si génial. 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 c'est si beau que vous ne pouvez pas vous empêcher de l'aimer.

Donc je l'ai acheté, mais je l'ai acheté, pour la première fois, avec des réticences. 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. Dans le passé, quand j'achetais des choses d'Apple, c'était un plaisir sans mélange. Oh boy ! Ils fabriquent des choses si géniales. Cette fois, cela ressemblait à un pacte faustien. Ils fabriquent des choses si géniales, mais ils sont si cons. 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 est que ces utilisateurs sont les gens qu'ils veulent comme employés. Si votre entreprise semble malveillante, 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 d'y travailler. Cela semblait comme vendre son âme. Quand les gens de Microsoft parlaient à d'autres programmeurs et qu'ils mentionnaient où ils travaillaient, il y avait beaucoup de blagues auto-dépréciatives sur être passés du côté obscur. Mais le vrai problème pour Microsoft n'était pas l'embarras des gens qu'ils embauchaient. C'était les gens qu'ils n'ont jamais obtenus. Et vous savez qui les a obtenus ? Google et Apple. Si Microsoft était l'Empire, ils étaient l'Alliance Rebelle. Et c'est largement parce qu'ils ont obtenu plus des meilleures personnes que Google et Apple font tellement mieux que Microsoft aujourd'hui.

Pourquoi les programmeurs sont-ils si pointilleux sur la morale 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 qui les inquiète.

Mais l'autre raison pour laquelle les programmeurs sont pointilleux, je pense, 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 embrassé "Ne soyez pas malveillant" si avidement n'était pas tant pour impressionner le monde extérieur que pour se vacciner contre l'arrogance. [1]

Cela a fonctionné pour Google jusqu'à présent. Ils sont devenus plus bureaucratiques, mais sinon ils semblent être restés fidèles à leurs principes originaux. Avec Apple, cela semble moins être le cas. Quand vous regardez la célèbre publicité 1984 maintenant, il est plus facile d'imaginer Apple comme le dictateur à l'écran que la femme avec le marteau. [2] En fait, si vous lisez le discours du dictateur, cela ressemble étrangement à une prophétie de l'App Store.

Nous avons triomphé de la diffusion non principielle des faits.

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

L'autre raison pour laquelle Apple devrait se soucier de ce que les programmeurs pensent d'eux est que lorsque vous vendez une plateforme, les développeurs vous font ou vous défont. Si quelqu'un devrait le savoir, Apple devrait. VisiCalc a fait l'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 lui-même l'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 étaient intéressés par leur utilisation. C'est une startup rare qui ne construit pas quelque chose que les fondateurs utilisent.

La principale raison pour laquelle il y a tant d'applications iPhone est que tant de programmeurs ont des iPhones. Ils peuvent savoir, parce qu'ils l'ont lu dans un article, que Blackberry a telle ou telle part de marché. Mais en pratique, c'est comme si RIM n'existait pas. S'ils vont 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 partir. Mais ils cherchent une issue. Un a écrit :

Bien que j'aie apprécié de développer 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 pas vraiment, 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 dommage 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 effectivement identique à écrire des applications Windows. Notre horreur à cette perspective était la chose la plus importante qui nous a poussés à commencer à construire des applications web.

Au moins, nous savons maintenant ce qu'il faudrait pour briser le verrou d'Apple. Vous devriez sortir les iPhones 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 fabriquer un appareil que les programmeurs aimeraient plus que l'iPhone ? Il est peu probable que vous puissiez fabriquer quelque chose de mieux conçu. Apple ne laisse aucune place là. Donc cet appareil alternatif ne pourrait probablement pas gagner sur l'appel général. Il devrait gagner en vertu d'un certain attrait qu'il aurait spécifiquement pour les programmeurs.

Une manière d'attirer les programmeurs est avec des logiciels. Si vous pouviez penser à une application que les programmeurs devraient avoir, mais qui serait impossible dans le monde circonscrit de l'iPhone, vous pourriez probablement les faire changer.

Cela arriverait 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 ordinateurs de bureau. Vous avez besoin de plus de contrôle sur une machine de développement qu'Apple ne vous laissera en avoir sur un iPhone.

Quelqu'un pourrait-il fabriquer un appareil que vous porteriez dans votre poche comme un téléphone, et qui fonctionnerait aussi comme une machine de développement ? Il est difficile d'imaginer à quoi cela 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 selon les normes actuelles que l'iPhone lui-même 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 seul lorsque je voyage. S'il y avait une version deux fois plus petite, je la préférerais. Cela ne serait toujours pas assez petit pour être emporté partout comme un téléphone, mais nous sommes à un facteur de 4 environ. Sûrement que cet écart est franchissable. En fait, faisons-en un RFS. Recherché : Femme avec un marteau.

Notes

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

[2] Le dictateur dans la publicité de 1984 n'est pas Microsoft, incidemment ; c'est IBM. IBM semblait beaucoup plus effrayant à cette é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] Plusieurs personnes à qui 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 des logiciels ; Apple peut les changer instantanément s'ils le veulent. Pratique, n'est-ce pas ?

Remerciements à 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 ceci.