EL ERROR DE APPLE
Originalnoviembre 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 más bien, no creo que se den cuenta de cuánto importa que esté roto.
La forma en que Apple maneja la App Store ha dañado su reputación con los programadores más que cualquier otra cosa que hayan hecho. Su reputación con los programadores solía ser excelente. Solía ser la queja más común que escuchabas sobre Apple: que sus fanáticos los admiraban de manera demasiado acrítica. La App Store ha cambiado eso. Ahora muchos programadores han comenzado a ver a Apple como el villano.
¿Cuánto del buen nombre que Apple alguna vez tuvo 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 en curso.
¿Cómo se metió Apple en este lío? Su problema fundamental es que no entienden el software.
Tratan las aplicaciones de iPhone de la misma manera que 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 aceptaron, de mala gana. Pero este modelo no funciona para el software. No funciona que un intermediario posea al usuario. La industria del software aprendió eso a principios de la década de 1980, cuando empresas como VisiCorp demostraron que aunque las palabras "software" y "editor" encajan, los conceptos subyacentes no. 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á tratando de ser con la App Store: un editor de software. Y uno particularmente intrusivo, con gustos quisquillosos y un estilo de casa rígidamente impuesto.
Si la publicación de software no funcionó en 1980, ahora funciona aún menos, ya que el desarrollo de software ha evolucionado de un pequeño número de grandes lanzamientos 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 hardware, pero debido a que 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 largos retrasos aleatorios cada vez que lanzas una nueva versión.
Aparentemente, la actitud de Apple es que los desarrolladores deberían ser más cuidadosos cuando envían una nueva versión a la App Store. Ellos dirían eso. Pero, por poderosos que sean, no son lo suficientemente poderosos como para revertir la evolución de la tecnología. Los programadores no utilizan lanzar rápido e iterar por pereza. Lo utilizan porque produce los mejores resultados. Al obstruir ese proceso, Apple está haciendo que realicen un mal trabajo, y a los programadores les desagrada tanto como a Apple.
¿Cómo le gustaría a Apple si, cuando descubrieran un error grave en OS X, en lugar de lanzar una actualización de software de inmediato, tuvieran que enviar su código a un intermediario que lo retuviera durante un mes y luego lo rechazara porque contenía un ícono que no les gustaba?
Al romper el desarrollo de software, Apple obtiene lo opuesto de lo que pretendía: la versión de una aplicación actualmente disponible en la App Store tiende a ser una versión antigua y con errores. Un desarrollador me dijo:
Como resultado de su proceso, la App Store está llena de aplicaciones a medio cocer. Hago una nueva versión casi todos los días que lanzo a los usuarios beta. La versión en la App Store se siente vieja y de mala calidad. Estoy seguro de que muchos desarrolladores se sienten así: una emoción es "no estoy realmente orgulloso de lo que hay en la App Store", y se combina con la emoción "realmente, es culpa de Apple".
Otro escribió:
Creo que piensan que su proceso de aprobación ayuda a los usuarios al garantizar calidad. En realidad, errores como el nuestro pasan todo el tiempo y luego puede tardar de 4 a 8 semanas en aprobar esa corrección de errores, 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 serio. Deben escuchar a los desarrolladores quejándose. 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 indulgente 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 hacen un hardware tan excelente. Acabo de comprar un nuevo iMac de 27" 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 recelos. Me sentí como me sentiría al comprar 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 sin reservas. ¡Oh, vaya! Hacen cosas tan geniales. Esta vez se sintió como un pacto faustiano. Hacen cosas tan geniales, pero son unos idiotas. ¿Realmente quiero apoyar a esta empresa?
¿Debería a Apple importarle lo que piensan personas 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 preocuparse. 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 le dolió mucho a Microsoft a partir de los años 90. Los programadores comenzaron a sentirse avergonzados de trabajar allí. Parecía que se estaban vendiendo. Cuando las personas de Microsoft hablaban con otros programadores y mencionaban dónde trabajaban, había muchas bromas autocríticas sobre haber pasado al lado oscuro. Pero el verdadero problema para Microsoft no era la vergüenza de las personas que contrataron. Era la gente que nunca obtuvieron. Y sabes quién los obtuvo? Google y Apple. Si Microsoft era el Imperio, ellos eran la Alianza Rebelde. Y es en gran parte porque obtuvieron más de las mejores personas que Google y Apple están haciendo mucho mejor que Microsoft hoy.
¿Por qué los programadores son tan exigentes 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 dudas.
Pero la otra razón por la que los programadores son exigentes, creo, es que el mal engendra estupidez. Una organización que gana ejerciendo poder comienza 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 abrazó "No seas malvado" con tanto entusiasmo 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 de otro modo parecen haber mantenido fieles a sus principios originales. Con Apple, eso parece 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 inquietantemente como una profecía de la App Store.
Hemos triunfado sobre la difusión poco ética de hechos.
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 Apple debería preocuparse por lo que piensan los programadores es que cuando vendes una plataforma, los desarrolladores te hacen o te rompen. Si alguien debería saber esto, debería ser Apple. VisiCalc hizo el Apple II.
Y los programadores construyen aplicaciones para las plataformas que utilizan. La mayoría de las aplicaciones—la mayoría de las startups, probablemente—nacen de proyectos personales. Apple mismo lo hizo. Apple hizo microcomputadoras porque eso es lo que Steve Wozniak quería para sí mismo. No podría haber pagado una minicomputadora. [3] Microsoft, igualmente, comenzó haciendo intérpretes para pequeñas microcomputadoras porque Bill Gates y Paul Allen estaban interesados en usarlas. 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, que Blackberry tiene tal y cual cuota de mercado. 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 para 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é desarrollar 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 esperanza. El único contendiente creíble es Android. Pero Android es un huérfano; a Google realmente no le importa, no de la manera en que a Apple le importa el iPhone. A Apple le importa el iPhone de la manera en que a Google le importa la búsqueda.
¿Es el futuro de los dispositivos portátiles uno bloqueado por Apple? Es una perspectiva preocupante. Sería un fastidio tener otra monocultura sombría como la que tuvimos en la década de 1990. En 1995, escribir software para usuarios finales era efectivamente idéntico a escribir aplicaciones para Windows. Nuestro horror ante esa perspectiva fue la única cosa más grande que nos impulsó a comenzar a construir aplicaciones web.
Al menos ahora sabemos lo que se necesitaría para romper el cerrojo de Apple. Tendrías que sacar los iPhones de las manos de los programadores. Si los programadores usaran algún otro dispositivo para el acceso web móvil, comenzarían a desarrollar aplicaciones para eso en su lugar.
¿Cómo podrías hacer un dispositivo que a los programadores les gustara más que el iPhone? Es poco probable que pudieras hacer algo mejor diseñado. Apple no deja espacio allí. Así que este dispositivo alternativo probablemente no podría ganar en atractivo general. Tendría que ganar en virtud de algún atractivo 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 tuvieran que tener, pero que sería imposible en el mundo restringido del iPhone, presumiblemente podrías hacer que cambiaran.
Eso definitivamente sucedería si los programadores comenzaran a usar dispositivos portátiles como máquinas de desarrollo—si los dispositivos portátiles desplazaran a las laptops de la misma manera que las laptops desplazaron a las computadoras de escritorio. Necesitas más control de una máquina de desarrollo de lo que Apple te permitirá tener sobre un iPhone.
¿Podría alguien hacer un dispositivo que llevarías en tu bolsillo como un teléfono, y que también funcionara como una máquina de desarrollo? Es difícil imaginar cómo se vería. Pero he aprendido a nunca decir nunca sobre la tecnología. Un dispositivo del tamaño de un teléfono que funcionara como una máquina de desarrollo no es más milagroso según los estándares actuales de lo que el iPhone mismo habría parecido según los estándares de 1995.
Mi máquina de desarrollo actual es un MacBook Air, que uso con un monitor externo y teclado en mi oficina, y por sí solo cuando viajo. Si hubiera una versión de la mitad del 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 dentro de un factor de 4 más o menos. Seguramente esa brecha es superable. De hecho, hagámoslo un RFS. Se busca: Mujer con martillo.
Notas
[1] Cuando Google adoptó "No seas malvado", eran tan pequeños que nadie habría esperado que lo fueran, aún.
[2] El dictador en el anuncio de 1984 no es Microsoft, por cierto; es IBM. IBM parecía mucho más aterrador en esos días, pero eran más amigables con los desarrolladores que Apple ahora.
[3] Él 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. Es útil, ¿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.