Loading...

EL ERROR DE APPLE

Original

Noviembre de 2009

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

La forma en que Apple gestiona la App Store ha dañado su reputación entre los programadores más que cualquier otra cosa que haya hecho nunca. Su reputación entre los programadores solía ser muy buena. La queja más común que se escuchaba sobre Apple era que sus fans la admiraban sin sentido crítico. La App Store ha cambiado eso. Ahora muchos programadores han empezado a ver a Apple como algo malo.

¿Cuánto de la buena voluntad que Apple tenía con los programadores ha perdido a causa de la App Store? ¿Un tercio? ¿La mitad? Y eso es sólo 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 para 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 para un intermediario ser dueño del usuario. El negocio del software aprendió eso a principios de los años 80, cuando compañías 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 un tercero actuar 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 exagerado, con gustos exigentes y un estilo propio impuesto rígidamente.

Si la publicación de software no funcionaba en 1980, funciona aún menos ahora que el desarrollo de software ha evolucionado desde un pequeño número de grandes lanzamientos a un flujo constante de pequeños lanzamientos. Pero Apple tampoco lo entiende. Su modelo de desarrollo de productos se deriva del hardware. Trabajan en algo hasta que creen que está terminado y luego lo lanzan. Hay 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 lanzarlas rápidamente e iterarlas. Lo que significa que es un desastre tener retrasos largos y aleatorios cada vez que se lanza una nueva versión.

Al parecer, 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. Eso es lo que dirían, pero por muy poderosos que sean, no son lo suficientemente poderosos como para hacer retroceder la evolución de la tecnología. Los programadores no utilizan el método de lanzamiento rápido e iteración por pereza, sino porque produce los mejores resultados. Al obstruir ese proceso, Apple les obliga a hacer un mal trabajo, y los programadores odian eso tanto como lo odiaría Apple.

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

Al interrumpir el desarrollo de software, Apple consigue lo contrario de lo que pretendía: la versión de una aplicación que está disponible actualmente en la App Store suele ser antigua y llena de errores. Un desarrollador me dijo:

Como resultado de su proceso, la App Store está llena de aplicaciones a medio hacer. Casi todos los días hago una nueva versión que lanzo a los usuarios beta. La versión en la App Store parece vieja y cutre. 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 la calidad. En realidad, errores como el nuestro se producen todo el tiempo y luego puede llevar de 4 a 8 semanas que se apruebe la corrección del error, lo que hace que los usuarios piensen que a veces las aplicaciones de iPhone 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 oír las quejas de los desarrolladores, pero los socios y proveedores siempre se quejan. Sería una mala señal si no lo hicieran; significaría que están siendo demasiado indulgentes con ellos. Mientras tanto, el iPhone se vende mejor que nunca. Entonces, ¿por qué necesitan arreglar algo?

A corto plazo, se salen con la suya maltratando a los desarrolladores porque fabrican un hardware excelente. Hace un par de días me compré un nuevo iMac de 27 pulgadas. Es fabuloso. La pantalla es demasiado brillante y el disco es sorprendentemente ruidoso, pero es tan hermoso que no puedes obligarte a preocuparte.

Así que lo compré, pero lo compré, por primera vez, con recelo. Me sentí como si comprara algo fabricado en un país con un historial de derechos humanos malo. Eso era nuevo. En el pasado, cuando compraba cosas de Apple, era un placer absoluto. ¡Dios mío! Hacen cosas tan geniales. Esta vez me sentí como si hubiera hecho un pacto con el diablo. Hacen cosas tan geniales, pero son unos imbéciles. ¿Realmente quiero apoyar a esta empresa?


¿Debería importarle a Apple lo que piense gente como yo? ¿Qué diferencia hay 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 afectó mucho a Microsoft a partir de los años 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 mencionaban dónde trabajaban, había un montón de bromas autocríticas sobre haberse pasado al lado oscuro. Pero el verdadero problema para Microsoft no era la vergüenza de la gente que contrataba. Era la gente que nunca contrataba. ¿Y sabes quién los contrató? Google y Apple. Si Microsoft era el Imperio, ellos eran la Alianza Rebelde. Y es en gran parte porque contrataban a más de los mejores trabajadores que Google y Apple lo están haciendo mucho mejor que Microsoft hoy en día.

¿Por qué los programadores se preocupan tanto por la moral de sus empleadores? En parte porque pueden permitírselo. Los mejores programadores pueden trabajar donde quieran. No tienen por qué trabajar para una empresa de la que tengan dudas.

Pero creo que la otra razón por la que los programadores son tan quisquillosos 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 triunfan. Creo que la razón por la que Google adoptó con tanto entusiasmo el lema "No seas malvado" no fue tanto para impresionar al mundo exterior como para vacunarse contra la arrogancia. [ 1 ]

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

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

Hemos creado, por primera vez en toda la historia, un jardín de ideología pura, 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 los programadores piensan de ellos es que, cuando vendes una plataforma, los desarrolladores son los que te hacen triunfar o fracasar. Si alguien debería saberlo, es Apple. VisiCalc creó el Apple II.

Y los programadores crean aplicaciones para las plataformas que utilizan. La mayoría de las aplicaciones (y probablemente la mayoría de las empresas emergentes) surgen de proyectos personales. La propia Apple lo hizo. Apple fabricó microcomputadoras porque eso era lo que Steve Wozniak quería para sí mismo. No habría podido permitirse una minicomputadora. [ 3 ] Asimismo, Microsoft comenzó a fabricar intérpretes para pequeñas microcomputadoras porque Bill Gates y Paul Allen estaban interesados en utilizarlas. Es rara la empresa emergente que no crea algo que utilicen sus fundadores.

La razón principal por la que hay tantas aplicaciones para iPhone es que muchos programadores tienen iPhones. Puede que sepan, porque lo leyeron en un artículo, que Blackberry tiene tal o cual cuota de mercado, pero en la práctica es como si RIM no existiera. Si van a crear algo, quieren poder usarlo ellos mismos, y eso significa crear una aplicación para iPhone.

Así que los programadores siguen desarrollando aplicaciones para el iPhone, aunque Apple sigue maltratándolos. Son como alguien atrapado en una relación abusiva. Se sienten tan atraídos por el iPhone que no pueden irse, pero están buscando una salida. Uno escribió:

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

¿Hay algo que pueda romper este ciclo? Ningún dispositivo que haya visto hasta ahora podría hacerlo. Palm y RIM no tienen ninguna esperanza. El único contendiente creíble es Android. Pero Android es un sistema huérfano; a Google no le importa realmente, no del mismo modo que a Apple le importa el iPhone. A Apple le importa el iPhone del mismo modo que a Google le importa la búsqueda.


¿El futuro de los dispositivos portátiles está en manos de Apple? Es una perspectiva preocupante. Sería una lástima volver a tener una monocultura tan sombría como la que tuvimos en los años 90. En 1995, escribir software para usuarios finales era prácticamente idéntico a escribir aplicaciones para Windows. Nuestro horror ante esa perspectiva fue lo que más nos impulsó a empezar a crear aplicaciones web .

Al menos ahora sabemos lo que haría falta para romper el bloqueo de Apple. Habría que sacar los iPhones de las manos de los programadores. Si los programadores utilizaran algún otro dispositivo para acceder a la web desde el móvil, empezarían a desarrollar aplicaciones para ese dispositivo.

¿Cómo se podría crear un dispositivo que gustara más a los programadores que el iPhone? Es poco probable que se pudiera crear algo mejor diseñado. Apple no deja lugar a dudas al respecto. Por lo tanto, este dispositivo alternativo probablemente no podría ganar en cuanto a atractivo general. Tendría que ganar en virtud de algún atractivo que tuviera para los programadores en particular.

Una forma de atraer a los programadores es con software. Si pudieras pensar en una aplicación que los programadores debieran tener, pero eso sería imposible en el mundo limitado del iPhone, probablemente podrías lograr que se cambiaran.

Eso ocurriría sin duda si los programadores empezaran a utilizar dispositivos portátiles como máquinas de desarrollo, si los dispositivos portátiles sustituyeran a las computadoras portátiles de la misma forma que estas desplazaran a las computadoras de escritorio. Es necesario tener más control sobre una máquina de desarrollo del que Apple te permite tener sobre un iPhone.

¿Podría alguien fabricar un dispositivo que pudiera llevarse en el bolsillo como un teléfono y que, al mismo tiempo, funcionara como máquina de desarrollo? Es difícil imaginar cómo sería, pero he aprendido a no decir nunca nunca en materia de 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 de lo que habría parecido el propio iPhone según los estándares de 1995.

Mi máquina de desarrollo actual es una MacBook Air, que utilizo con un monitor externo y un teclado en mi oficina, y por sí sola cuando viajo. Si hubiera una versión de la mitad del tamaño, la preferiría. Aún así, no sería lo suficientemente pequeña para llevarla a todas partes como un teléfono, pero estamos dentro de un factor de 4 o algo así. Seguramente esa brecha se puede salvar. De hecho, hagámosla una RFS . Se busca: Mujer con martillo.

Notas

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

[ 2 ] El dictador del anuncio de 1984 no es Microsoft, por cierto, sino IBM. IBM parecía mucho más aterradora en aquella época, pero era más amigable 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 lo mucho que les gustaba el SDK del 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 lo desea. 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 este libro.