El Error de Apple

¿Quieres empezar una startup? Obtén financiación de Y Combinator.


Noviembre de 2009

No creo que Apple se dé cuenta de lo mal que está roto el proceso de aprobación de la App Store. O mejor dicho, no creo que se den cuenta de lo mucho que importa que esté roto.

La forma en que Apple dirige la App Store ha dañado su reputación entre los programadores más que cualquier otra cosa que hayan hecho jamás. Su reputación entre los programadores solía ser excelente. La queja más común que se oía sobre Apple era que sus fans los admiraban de forma demasiado acrítica. La App Store ha cambiado eso. Ahora muchos programadores han empezado a ver a Apple como malvada.

¿Cuánta de la buena voluntad que Apple tenía con los programadores han perdido por la App Store? ¿Un tercio? ¿La mitad? Y eso es solo hasta ahora. La App Store es una fuga de karma continua.


¿Cómo llegó Apple a este lío? Su problema fundamental es que no entienden el software.

Tratan las aplicaciones de iPhone como tratan la música que venden a través de iTunes. Apple es el canal; ellos poseen al usuario; si quieres llegar a los usuarios, lo haces en sus términos. Las discográficas accedieron, a regañadientes. Pero este modelo no funciona para el software. No funciona que un intermediario posea al usuario. El negocio del software lo aprendió a principios de los 80, cuando empresas como VisiCorp demostraron que, aunque las palabras "software" y "editor" encajan, los conceptos subyacentes no lo hacen. El software no es como la música o los libros. Es demasiado complicado para que un tercero actúe como intermediario entre el desarrollador y el usuario. Y sin embargo, eso es lo que Apple está intentando ser con la App Store: un editor de software. Y uno particularmente exagerado, con gustos quisquillosos y un estilo de casa rígidamente impuesto.

Si la edición de software no funcionó en 1980, funciona aún menos ahora que el desarrollo de software ha evolucionado de un pequeño número de lanzamientos grandes a un flujo constante de pequeños. Pero Apple tampoco entiende eso. Su modelo de desarrollo de productos deriva del hardware. Trabajan en algo hasta que creen que está terminado, luego lo lanzan. Tienes que hacer eso con el hardware, pero como el software es tan fácil de cambiar, su diseño puede beneficiarse de la evolución. La forma estándar de desarrollar aplicaciones ahora es lanzar rápido e iterar. Lo que significa que es un desastre tener retrasos largos y aleatorios cada vez que lanzas una nueva versión.

Aparentemente, la actitud de Apple es que los desarrolladores deberían ser más cuidadosos al enviar una nueva versión a la App Store. Dirían eso. Pero tan poderosos como son, no son lo suficientemente poderosos como para revertir la evolución de la tecnología. Los programadores no usan el "lanzar rápido e iterar" por pereza. Lo usan porque produce los mejores resultados. Al obstruir ese proceso, Apple los está obligando a hacer un mal trabajo, y los programadores odian eso tanto como Apple.

¿Cómo le gustaría a Apple si, al descubrir un error grave en OS X, en lugar de lanzar una actualización de software inmediatamente, tuvieran que enviar su código a un intermediario que lo retuviera durante un mes y luego lo rechazara porque contenía un icono que no le gustaba?

Al romper el desarrollo de software, Apple obtiene lo contrario de lo que pretendía: la versión de una aplicación actualmente disponible en la App Store tiende a ser antigua y con errores. Un desarrollador me dijo:

Como resultado de su proceso, la App Store está llena de aplicaciones a medio hacer. Hago una nueva versión casi todos los días que lanzo a usuarios beta. La versión en la App Store se siente vieja y cutre. Estoy seguro de que muchos desarrolladores se sienten así: una emoción es "Realmente no estoy orgulloso de lo que hay en la App Store", y se combina con la emoción "En realidad, es culpa de Apple".

Otro escribió:

Creo que piensan que su proceso de aprobación ayuda a los usuarios garantizando la calidad. En realidad, los errores como los nuestros pasan todo el tiempo y luego puede llevar de 4 a 8 semanas que se apruebe la corrección de ese error, dejando a los usuarios pensando que las aplicaciones de iPhone a veces simplemente no funcionan. Peor para Apple, estas aplicaciones funcionan perfectamente en otras plataformas que tienen procesos de aprobación inmediatos.

En realidad, supongo que Apple tiene una tercera idea errónea: que todas las quejas sobre las aprobaciones de la App Store no son un problema grave. Deben escuchar a los desarrolladores quejarse. Pero los socios y proveedores siempre se quejan. Sería una mala señal si no lo hicieran; significaría que estás siendo demasiado blando con ellos. Mientras tanto, el iPhone se vende mejor que nunca. Entonces, ¿por qué necesitan arreglar algo?

Se salen con la suya maltratando a los desarrolladores, a corto plazo, porque fabrican un hardware tan bueno. Acabo de comprar un nuevo iMac de 27 pulgadas hace un par de días. Es fabuloso. La pantalla es demasiado brillante y el disco es sorprendentemente ruidoso, pero es tan hermoso que no puedes hacer que te importe.

Así que lo compré, pero lo compré, por primera vez, con reservas. Me sentí como me sentiría comprando algo hecho en un país con un mal historial de derechos humanos. Eso era nuevo. En el pasado, cuando compraba cosas de Apple, era un placer puro. ¡Oh, vaya! Hacen cosas tan geniales. Esta vez se sintió como un pacto faústico. Hacen cosas tan geniales, pero son unos cabrones. ¿Realmente quiero apoyar a esta empresa?


¿Debería importarle a Apple lo que piense gente como yo? ¿Qué diferencia hace si alienan a una pequeña minoría de sus usuarios?

Hay un par de razones por las que deberían importarle. Una es que estos usuarios son las personas que quieren como empleados. Si tu empresa parece malvada, los mejores programadores no trabajarán para ti. Eso perjudicó mucho a Microsoft a partir de los 90. Los programadores empezaron a sentirse avergonzados de trabajar allí. Parecía una traición. Cuando la gente de Microsoft hablaba con otros programadores y mencionaba dónde trabajaban, había muchas bromas autocríticas sobre haberse pasado al lado oscuro. Pero el verdadero problema para Microsoft no fue la vergüenza de las personas que contrataron. Fueron las personas que nunca consiguieron. ¿Y sabes quién los consiguió? Google y Apple. Si Microsoft era el Imperio, ellos eran la Alianza Rebelde. Y es en gran medida porque consiguieron a más de las mejores personas que Google y Apple lo están haciendo mucho mejor que Microsoft hoy en día.

¿Por qué los programadores son tan quisquillosos con la moral de sus empleadores? En parte porque pueden permitírselo. Los mejores programadores pueden trabajar donde quieran. No tienen que trabajar para una empresa que les cause problemas.

Pero la otra razón por la que los programadores son quisquillosos, creo, es que el mal engendra estupidez. Una organización que gana ejerciendo poder empieza a perder la capacidad de ganar haciendo un mejor trabajo. Y no es divertido para una persona inteligente trabajar en un lugar donde las mejores ideas no son las que ganan. Creo que la razón por la que Google adoptó "Don't be evil" (No seas malvado) tan ansiosamente no fue tanto para impresionar al mundo exterior como para inmunizarse contra la arrogancia. [1]

Eso ha funcionado para Google hasta ahora. Se han vuelto más burocráticos, pero por lo demás parecen haberse mantenido fieles a sus principios originales. Con Apple parece ser menos el caso. Cuando miras el famoso anuncio de 1984 ahora, es más fácil imaginar a Apple como el dictador en la pantalla que a la mujer con el martillo. [2] De hecho, si lees el discurso del dictador, suena extrañamente como una profecía de la App Store.

Hemos triunfado sobre la difusión de hechos sin principios.

Hemos creado, por primera vez en toda la historia, un jardín de pura ideología, donde cada trabajador puede florecer seguro de las plagas de verdades contradictorias y confusas.

La otra razón por la que a Apple debería importarle lo que los programadores piensan de ellos es que cuando vendes una plataforma, los desarrolladores te hacen o te deshacen. Si alguien debería saber esto, debería ser Apple. VisiCalc hizo el Apple II.

Y los programadores crean aplicaciones para las plataformas que usan. La mayoría de las aplicaciones, la mayoría de las startups, probablemente, surgen de proyectos personales. La propia Apple lo hizo. Apple fabricó microordenadores porque eso es lo que Steve Wozniak quería para sí mismo. No podría haber pagado un minicomputador. [3] Microsoft, del mismo modo, empezó a crear intérpretes para pequeños microordenadores porque Bill Gates y Paul Allen estaban interesados en usarlos. Es una startup rara la que no construye algo que los fundadores usan.

La razón principal por la que hay tantas aplicaciones de iPhone es que tantos programadores tienen iPhones. Pueden saber, porque lo leyeron en un artículo, qué cuota de mercado tiene Blackberry. Pero en la práctica es como si RIM no existiera. Si van a construir algo, quieren poder usarlo ellos mismos, y eso significa construir una aplicación de iPhone.

Así que los programadores continúan desarrollando aplicaciones para iPhone, a pesar de que Apple continúa maltratándolos. Son como alguien atrapado en una relación abusiva. Están tan atraídos por el iPhone que no pueden irse. Pero están buscando una salida. Uno escribió:

Si bien disfruté desarrollando para el iPhone, el control que ejercen sobre la App Store no me da el impulso para desarrollar aplicaciones como me gustaría. De hecho, no tengo la intención de hacer más aplicaciones para iPhone a menos que sea absolutamente necesario. [4]

¿Puede algo romper este ciclo? Ningún dispositivo que he visto hasta ahora podría. Palm y RIM no tienen ninguna esperanza. El único contendiente creíble es Android. Pero Android es un huérfano; a Google realmente no le importa, no de la manera que Apple se preocupa por el iPhone. Apple se preocupa por el iPhone como Google se preocupa por la búsqueda.


¿Es el futuro de los dispositivos portátiles uno bloqueado por Apple? Es una perspectiva preocupante. Sería una lástima tener otra monocultura sombría como la que tuvimos en los años 90. En 1995, escribir software para usuarios finales era efectivamente idéntico a escribir aplicaciones de Windows. Nuestro horror ante esa perspectiva fue lo que más nos impulsó a empezar a construir aplicaciones web.

Al menos ahora sabemos lo que se necesitaría para romper el control de Apple. Habría que sacar los iPhones de las manos de los programadores. Si los programadores usaran algún otro dispositivo para acceder a la web móvil, empezarían a desarrollar aplicaciones para ese en su lugar.

¿Cómo se podría crear un dispositivo que los programadores prefirieran al iPhone? Es poco probable que se pueda crear algo mejor diseñado. Apple no deja espacio ahí. Así que este dispositivo alternativo probablemente no podría ganar por atractivo general. Tendría que ganar por alguna atracción que tuviera específicamente para los programadores.

Una forma de atraer a los programadores es con software. Si pudieras pensar en una aplicación que los programadores necesitaran, pero que fuera imposible en el mundo circunscrito del iPhone, presumiblemente podrías hacer que cambiaran.

Eso sucedería definitivamente si los programadores empezaran a usar dispositivos portátiles como máquinas de desarrollo; si los dispositivos portátiles desplazaran a los portátiles como los portátiles desplazaron a los de escritorio. Necesitas más control sobre una máquina de desarrollo del que Apple te permite tener sobre un iPhone.

¿Podría alguien crear un dispositivo que llevaras en el bolsillo como un teléfono, y que además funcionara como máquina de desarrollo? Es difícil imaginar cómo sería. Pero he aprendido a no decir nunca jamás sobre tecnología. Un dispositivo del tamaño de un teléfono que funcionara como máquina de desarrollo no es más milagroso según los estándares actuales que el propio iPhone lo habría parecido según los estándares de 1995.

Mi actual máquina de desarrollo es un MacBook Air, que uso con un monitor y teclado externos en mi oficina, y solo cuando viajo. Si hubiera una versión la mitad de tamaño, la preferiría. Eso aún no sería lo suficientemente pequeño como para llevarlo a todas partes como un teléfono, pero estamos a un factor de 4 o así. Seguramente esa brecha es salvable. De hecho, hagamos un RFS. Se busca: Mujer con martillo.

Notas

[1] Cuando Google adoptó "Don't be evil", todavía eran tan pequeños que nadie habría esperado que lo fueran, todavía.

[2] El dictador en el anuncio de 1984 no es Microsoft, por cierto; es IBM. IBM parecía mucho más aterrador en aquellos días, pero eran más amigables con los desarrolladores de lo que es Apple ahora.

[3] Ni siquiera podía permitirse un monitor. Por eso el Apple I usaba un televisor como monitor.

[4] Varias personas con las que hablé mencionaron cuánto les gustaba el SDK de iPhone. El problema no son los productos de Apple sino sus políticas. Afortunadamente, las políticas son software; Apple puede cambiarlas instantáneamente si quiere. Conveniente, ¿no?

Gracias a 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 y Jared Tame por leer borradores de esto.