Anuncio cerrado

El columnista checo Patrick Zandl publicó este mes un libro sobre la transformación del negocio de los ordenadores personales a los teléfonos móviles y la siguiente era, que duró cinco años, durante la cual Apple se convirtió en la empresa más valiosa del mundo. Leerás en detalle todo lo que se esconde detrás de la gran revolución de los teléfonos móviles y cómo ayudó a crear un mercado de tabletas completamente nuevo. Aquí tenéis las primeras muestras del libro.

Cómo se creó el sistema operativo para iPhone OS X - iOS

El sistema operativo también fue decisivo para el éxito del próximo teléfono móvil de Apple. Esta era una creencia que no era del todo común en 2005, los "smartphones" no eran los más vendidos, al contrario, los teléfonos con firmware de un solo propósito se vendían como pan caliente. Pero Jobs necesitaba de su teléfono una considerable posibilidad de expansión futura, flexibilidad en el desarrollo y, por tanto, la capacidad de responder a las tendencias emergentes. Y también, si es posible, la mejor compatibilidad posible con la plataforma Mac, porque temía que la empresa se viera abrumada por el desarrollo de otro sistema operativo. El desarrollo de software, como hemos demostrado, hace tiempo que no es uno de los puntos fuertes de Apple.

La decisión se tomó en febrero de 2005, poco después de una reunión secreta con representantes de Cingular Wireless, a la que Motorola no fue invitada. Jobs pudo convencer a Cingular de que Apple obtendría una parte de los ingresos generados por su propio teléfono y convencer a Cingular de que se tomara en serio la construcción de una red celular. Ya en ese momento Jobs promovía la idea de descargar música desde la red móvil, pero los representantes de Cingular se mostraban pesimistas sobre el aumento de carga que podría generar la descarga de Internet. Discutieron la experiencia de descargar tonos de llamada y sitios web y, como mostrará el futuro, subestimaron el revuelo que Jobs pudo generar con su dispositivo. Lo que pronto les resulta contraproducente.

Así empieza el proyecto Purple 2, con el que Jobs quiere ir más allá de los horizontes de la insatisfactoria cooperación con Motorola. El objetivo: un teléfono móvil propio basado en tecnologías que Apple ya ha adquirido o desarrollará rápidamente, algunas de ellas (como FingerWorks) que Jobs tenía previsto utilizar para la construcción de la tableta que quería lanzar. Pero tenía que elegir: o lanzar rápidamente un teléfono móvil con un iPod combinado y salvar así la inminente crisis de ventas del iPod, o cumplir su sueño y lanzar una tableta. No podrá tener ambos, porque la cooperación con Motorola no le permitirá tener un iPod en su teléfono móvil, eso ya era bastante obvio en ese momento, aunque pasará otro medio año antes de que el Motorola ROKR llegue al mercado. mercado. Al final, quizás de manera sorprendente, pero muy racional, Jobs apostó por salvar el mercado de la música, pospuso el lanzamiento de la tableta y desvió todos los recursos al proyecto Purple 2, cuyo objetivo era construir un teléfono con pantalla táctil y un iPod.

La decisión de adaptar el sistema operativo Mac OS X de la compañía para teléfonos móviles no sólo se debió a que no había muchas otras opciones, sino también a la posibilidad de una posterior convergencia de dispositivos. La creciente potencia informática y capacidad de memoria de los dispositivos móviles convencieron a Jobs de que en el futuro sería posible ofrecer en el teléfono aplicaciones similares a las utilizadas en los ordenadores de sobremesa y que sería ventajoso confiar en un único núcleo del sistema operativo.

Para acelerar el desarrollo, también se decidió crear dos equipos independientes. El equipo de hardware tendrá la tarea de construir rápidamente el teléfono móvil, el otro equipo se centrará en adaptar el sistema operativo OS X.

 Mac OS X, OS X e iOS

Hay un poco de confusión en Apple con el etiquetado de las versiones del sistema operativo. La versión original del sistema operativo para iPhone en realidad no tiene nombre: Apple utiliza la designación lacónica "iPhone ejecuta una versión de OS X" en sus materiales de marketing. Luego comienza a usar "iPhone OS" para referirse al sistema operativo del teléfono. Con el lanzamiento de su cuarta versión en 2010, Apple empezó a utilizar sistemáticamente el nombre iOS. En febrero de 2012, el sistema operativo de escritorio "Mac OS X" pasará a llamarse simplemente "OS X", lo que puede resultar confuso. Por ejemplo, en el título de este capítulo, donde trato de tener en cuenta el hecho de que iOS en esencia proviene de OS X.

Darwin al fondo

Aquí tenemos que dar otro rodeo hacia el sistema operativo Darwin. Cuando Apple compró NeXT, la empresa de Jobs, en 1997, el sistema operativo NeXTSTEP y su variante creada en cooperación con Sun Microsystems y llamada OpenSTEP pasaron a formar parte de la transacción. El sistema operativo NeXTSTEP también se convertiría en la base del nuevo sistema operativo de Apple; después de todo, esta fue una de las razones por las que Apple compró NeXT de Jobs. Un encanto atractivo y quizás subestimado en ese momento de NeXTSTEP fue su naturaleza multiplataforma, este sistema podía funcionar tanto en la plataforma Intel x86 como en Motorola 68K, PA-RISC y SPARC, es decir, prácticamente en todos los procesadores utilizados por las plataformas de escritorio. En el momento. Y fue posible crear archivos de distribución que contienen versiones binarias del programa para todas las plataformas de procesador, los llamados binarios gordos.

El legado de NeXT sirvió así de base para el desarrollo de un nuevo sistema operativo llamado Rhapsody, que Apple presentó por primera vez en una conferencia de desarrolladores en 1997. Este sistema trajo una serie de cambios en comparación con las versiones anteriores de Mac OS, desde nuestro punto de vista, estos son principalmente los siguientes:

  • el kernel y los subsistemas relacionados se basaron en Mach y BSD
  • un subsistema para compatibilidad con el Mac OS anterior (Blue Box), más tarde conocido como interfaz clásica
  • Implementación extendida de OpenStep API (Yellow Box), que luego evolucionó a Cocoa.
  • Máquina virtual de Java
  • un sistema de ventanas basado en Displa PostScript
  • una interfaz basada en Mac OS pero combinada con OpenSTEP

Apple planeó transferir a Rhapsody la mayoría de las estructuras de software (frameworks) de Mac OS, como QuickTime, QuickDraw 3D, QuickDraw GX o ColorSync, así como los sistemas de archivos de las computadoras Apple originales Apple Filing Protocol (AFP), HFS, UFS y otros. . Pero pronto quedó claro que no era una tarea nada fácil. A la primera versión para desarrolladores (DR1) en septiembre de 1997 le siguió una segunda DR2 en mayo de 1998, pero aún quedaba mucho trabajo por hacer. La primera vista previa para desarrolladores (Developer Preview 1) llegó solo un año después, en mayo de 1999, y el sistema ya se llamaba Mac OS X, un mes antes de que Apple separara la versión de servidor Mac OS X Server 1, que oficialmente versión publicada y también de código abierto de Darwin, cumpliendo así con la (muy controvertida y debatida) parte de la condición de publicar los códigos fuente de un sistema que utiliza otras partes de código abierto que lo requieren y que Apple incluyó en su sistema cuando se basó en los núcleos Mach y BSD.

Darwin es en realidad Mac OS X sin una interfaz gráfica y sin una serie de bibliotecas propietarias, como la seguridad de archivos de música FairPlay. Puede descargarlo, ya que más adelante solo estarán disponibles los archivos fuente, no las versiones binarias, podrá compilarlos y ejecutarlos como un sistema operativo en una amplia gama de plataformas de procesador. En el futuro, Darwin desempeñará dos funciones en Apple: será un recordatorio constante de que trasladar Mac OS X a otra plataforma de procesador no será tan difícil como imposible. Y será una respuesta a las objeciones de que el software de Apple es cerrado, propietario, impresión que Apple creará más tarde, especialmente en Europa. En Estados Unidos, donde está más extendido en la educación y Darwin se usa comúnmente aquí en varios servidores escolares, la conciencia de la apertura y el uso de componentes estándar dentro del software de Apple es mucho mayor. Darwin sigue siendo el núcleo de todos los sistemas Mac OS X actuales y cuenta con un grupo bastante amplio de contribuyentes a su desarrollo de código abierto, desarrollo que también retroalimenta el núcleo de Mac OS X.

La primera versión de Mac OS X 10.0, denominada Cheetah, se lanzó en marzo de 2001, cuatro años después de que comenzara el desarrollo de Rhapsody, que se pensaba que era fácil de usar en la plataforma de Apple. Una ironía que creó una serie de problemas a la empresa, porque durante esos cuatro años obligó a sus usuarios a una plataforma Mac OS insatisfactoria y poco prometedora.

Darwin se convirtió así en la base del sistema operativo del Proyecto Purple 2. En un momento en el que no estaba claro si Apple decidiría utilizar procesadores ARM, en los que tenía participación en el diseño, o Intel, que apenas empezaba a utilizarse en ordenadores de sobremesa. , fue una elección muy prudente, porque permitía cambiar la plataforma del procesador sin mucho dolor, tal como lo hizo Apple con PowerPC e Intel. Además, era un sistema compacto y probado al que era necesario añadir una interfaz (API), en este caso Cocoa Touch, una API OpenSTEP táctil optimizada con una biblioteca para teléfonos móviles.

Finalmente, se creó un diseño que dividió el sistema en cuatro capas de abstracción:

  • la capa del núcleo del sistema
  • capa de servicios del kernel
  • capa de medios
  • la capa de interfaz táctil Cocoa Touch

¿Por qué fue importante y vale la pena mencionarlo? Jobs creía que el teléfono móvil debía responder perfectamente a las necesidades del usuario. Si el usuario presiona un botón, el teléfono debe responder. Obviamente debe reconocer que ha aceptado la entrada del usuario, y la mejor manera de hacerlo es realizar la función deseada. Uno de los desarrolladores le demostró a Jobs este enfoque en un teléfono Nokia con sistema Symbian, donde el teléfono respondía demasiado tarde al presionar el dial. El usuario deslizó un nombre en la lista y accidentalmente llamó a otro nombre. Esto fue frustrante para Jobs y no quería ver algo así en su móvil. El sistema operativo tenía que procesar la elección del usuario como prioridad, la interfaz táctil Cocoa Touch tenía la máxima prioridad en el sistema. Sólo después de él tuvieron prioridad las otras capas del sistema. Si el usuario hacía una elección o hacía una entrada, algo tenía que suceder para asegurarle que todo iba bien. Otro argumento a favor de este enfoque fueron los "iconos de salto" en el escritorio de Mac OS X. Si el usuario iniciaba un programa desde la base del sistema, normalmente no pasaba nada visible durante un tiempo hasta que el programa se cargaba por completo desde el disco a la RAM de la computadora. Los usuarios seguirían haciendo clic en el icono porque no sabrían que el programa ya se está cargando en la memoria. Luego, los desarrolladores lo resolvieron haciendo que el ícono rebotara hasta que todo el programa se cargara en la memoria. En la versión móvil, el sistema necesitaba responder a cualquier entrada del usuario de manera similar e inmediata.

Posteriormente, este enfoque se ha arraigado tanto en el sistema móvil que incluso funciones individuales dentro de Cocoa Touch se procesan en el sistema con diferentes clases de prioridad, para que el usuario tenga la mejor apariencia posible de funcionamiento fluido del teléfono.

En ese momento, Apple no se tomaba en serio la ejecución de aplicaciones de terceros en el teléfono. Ni siquiera era deseable en ese momento. Por supuesto, el próximo sistema operativo era totalmente compatible con la multitarea preventiva, la protección de la memoria y otras características avanzadas de los sistemas operativos modernos, a diferencia de otros sistemas operativos de la época que luchaban con la protección de la memoria (Symbian), la multitarea (Palm OS) o, alternativamente, con ambos (Windows CE). Pero Jobs consideraba el próximo móvil principalmente como un dispositivo que se utilizará para consumir música suministrada por Apple. Las aplicaciones de terceros solo se retrasarían, y Jobs se dio cuenta de que habría que resolver una serie de detalles en torno a ellas, como el sistema de distribución, por lo que, aunque OS X móvil admitía la capacidad de ejecutar aplicaciones adicionales en segundo plano de forma nativa, Apple limitó artificialmente esta posibilidad. Cuando salió el iPhone, sólo los teléfonos con jailbreak y sin esta protección podían instalar aplicaciones emergentes de terceros. Mucho después del lanzamiento del iPhone en enero de 2007, Jobs supuso que los desarrolladores crearían aplicaciones sólo web y que sólo Apple crearía aplicaciones nativas.

Sin embargo, ya en el verano de 2006 el desarrollo de la versión móvil de OS X se encontraba en un estado completamente insatisfactorio. Aunque la portabilidad básica del sistema se realizó en un tiempo récord con un equipo de sólo dos ingenieros, la interconexión y coordinación de los elementos individuales de la interfaz del teléfono móvil fue desesperada. Las llamadas se cortaban, el software fallaba con frecuencia y la duración de la batería era excesivamente baja. Si en septiembre de 2005 trabajaban en el proyecto 200 personas, el número creció rápidamente hasta XNUMX en dos equipos paralelos, pero todavía no era suficiente. Una grave desventaja fue el secreto con el que trabajaba Apple: no se podía encontrar gente nueva mediante contratación pública, sino mediante recomendación, a menudo a través de intermediarios. Por ejemplo, la parte de pruebas del equipo de software fue en gran parte virtual, la creación de prototipos y las pruebas se llevaron a cabo con personas que se comunicaban principalmente por correo electrónico y durante mucho tiempo ni siquiera sabían que trabajaban para Apple. Hasta que se alcance tal nivel de secreto.

 

Puedes encontrar más información sobre el libro en Sitio web de Patrick Zandl. El libro se puede adquirir impreso en librerías. Neoluxor a Kosmas, se está preparando una versión electrónica.

.