Loading...

EL ERROR DE APPLE

Original

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 más bien, no creo que se den cuenta de cuánto importa que esté roto.

La forma en que Apple administra 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. Lo más común que se escuchaba sobre Apple era que sus fanáticos las admiraban demasiado sin críticas. La App Store ha cambiado eso. Ahora muchos programadores han comenzado a ver a Apple como malvada.

¿Cuánta de la buena voluntad que una vez tuvieron los programadores con Apple 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 iPhone de la misma manera que tratan la música que venden a través de iTunes. Apple es el canal; son dueños del usuario; si quieres llegar a los usuarios, lo haces en sus términos. Las discográficas aceptaron, a regañadientes. Pero este modelo no funciona para el software. No funciona que un intermediario sea dueño del usuario. La industria del software aprendió eso a principios de la década de 1980, cuando empresas como VisiCorp mostraron que, aunque las palabras "software" y "editorial" 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: una editorial de software. Y uno particularmente exigente, con gustos caprichosos y un estilo de casa rígidamente impuesto.

Si la publicació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 grandes lanzamientos a una corriente constante de pequeños. Pero Apple tampoco entiende eso. Su modelo de desarrollo de productos se deriva del hardware. Trabajan en algo hasta que creen que está terminado, luego lo lanzan. Tienes que hacer eso con el 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 retrasos largos y aleatorios cada vez que se lanza 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 hacer retroceder la evolución de la tecnología. Los programadores no usan lanzamiento rápido e iteración por pereza. Lo usan porque produce los mejores resultados. Al obstruir ese proceso, Apple los está obligando a hacer un trabajo deficiente, y los programadores odian eso tanto como 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 guardara durante un mes y luego lo rechazara porque contenía un icono que no les gustaba?

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

Como resultado de su proceso, la App Store está llena de aplicaciones a medio hornear. 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 deficiente. 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 al asegurar la calidad. En realidad, los errores como el nuestro se filtran 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 iPhone a veces simplemente no funcionan. Peor para Apple, estas aplicaciones funcionan perfectamente en otras plataformas que tienen procesos de aprobación inmediata.

En realidad, supongo que Apple tiene una tercera idea equivocada: que todas las quejas sobre las aprobaciones de la App Store no son un problema grave. 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 les estás siendo demasiado fácil. Mientras tanto, el iPhone se vende mejor que nunca. Entonces, ¿por qué necesitan arreglar algo?

Se salen con la suya al maltratar a los desarrolladores, a corto plazo, porque fabrican un hardware tan excelente. 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 evitar que te importe.

Así que lo compré, pero lo compré, por primera vez, con reparos. 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 mezcla. ¡Oh, chico! Hacen cosas tan geniales. Esta vez se sintió como un pacto de Fausto. Hacen cosas tan geniales, pero son unos imbéciles. ¿Realmente quiero apoyar a esta empresa?


¿Debería Apple preocuparse por 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 hizo mucho daño a Microsoft a partir de la década de 1990. Los programadores comenzaron a sentirse avergonzados de trabajar allí. Parecía como venderse. Cuando las personas de Microsoft hablaban con otros programadores y mencionaban dónde trabajaban, había muchas bromas de autodesprecio 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 obtuvieron. ¿Y sabes quién los consiguió? 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 lo 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 darse el lujo de serlo. Los mejores programadores pueden trabajar donde quieran. No tienen que trabajar para una empresa que les genere dudas.

Pero la otra razón por la que los programadores son exigentes, creo, es que la maldad engendra estupidez. Una organización que gana ejerciendo el 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ó tan ansiosamente "No seas malvado" no fue tanto para impresionar al mundo exterior como para inocularse contra la arrogancia. [1]

Eso ha funcionado para Google hasta ahora. Se han vuelto más burocráticos, pero de lo demás parecen haber mantenido fieles a sus principios originales. Con Apple, eso 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 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 diseminación sin principios de los hechos.

Hemos creado, por primera vez en toda la historia, un jardín de pura ideología, donde cada trabajador puede florecer a salvo 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 de ellos es que cuando vendes una plataforma, los desarrolladores la hacen o la rompen. Si alguien debería saber esto, es Apple. VisiCalc hizo el Apple II.

Y los programadores construyen aplicaciones para las plataformas que usan. La mayoría de las aplicaciones, la mayoría de las startups, probablemente, surgen de proyectos personales. El mismo Apple lo hizo. Apple hizo microcomputadoras porque eso es lo que quería para sí mismo Steve Wozniak. No podría haberse permitido una minicomputadora. [3] Microsoft, de manera similar, comenzó haciendo intérpretes para pequeños microcomputadores porque Bill Gates y Paul Allen estaban interesados en usarlos. Es raro que una startup no construya algo que usen los fundadores.

La razón principal de que haya tantas aplicaciones 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 iPhone.

Entonces, los programadores siguen desarrollando aplicaciones 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 iPhone a menos que sea absolutamente necesario. [4]

¿Puede algo romper este ciclo? Ningún dispositivo que haya 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 como a Apple le importa el iPhone. A Apple le importa el iPhone como 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 una lástima tener otra lúgubre monocultura como la que teníamos en la década de 1990. En 1995, escribir software para usuarios finales era prácticamente idéntico a escribir aplicaciones de Windows. Nuestro horror ante esa perspectiva fue lo que más nos impulsó a comenzar a construir aplicaciones web.

Al menos ahora sabemos lo que se necesitaría para romper el bloqueo 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 móvil a la web, comenzarían a desarrollar aplicaciones para eso en su lugar.

¿Cómo podrías hacer un dispositivo que a los programadores les guste más que el iPhone? Es poco probable que puedas hacer algo mejor diseñado. Apple no deja espacio allí. Así que este dispositivo alternativo probablemente no podría ganar por su atractivo general. Tendría que ganar en virtud de algún atractivo que tuviera específicamente para los programadores.

Una forma de apelar a los programadores es con el software. Si pudieras pensar en una aplicación que los programadores tuvieran que tener, pero que sería imposible en el mundo circunscrito del iPhone, podrías presumiblemente hacerlos cambiar.

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 computadoras portátiles como estas desplazaron a los escritorios. 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 pudieras llevar en el bolsillo como un teléfono, y que aun así funcionara como una máquina de desarrollo? Es difícil imaginar cómo sería. Pero he aprendido a nunca decir nunca sobre tecnología. Un dispositivo del tamaño de un teléfono que funcionara como una máquina de desarrollo no es más milagroso por los estándares actuales que el propio iPhone lo habría parecido por los estándares de 1995.

Mi máquina de desarrollo actual es una MacBook Air, que uso con un monitor y un teclado externos en mi oficina, y por sí sola cuando viajo. Si hubiera una versión de la mitad de tamaño, la preferiría. 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 o así. Seguramente ese vacío se puede salvar. De hecho, hagámoslo un RFS. Se busca: mujer con martillo.

Notas

[1] Cuando Google adoptó "No seas malvado", todavía eran tan pequeños que nadie habría esperado que lo fueran, aún.

[2] El dictador del 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] 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 al instante si quiere. Práctico, ¿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.