comparte

El iPhone cumple 10 años: la historia de una revolución

Como suele suceder, la joya de Apple nació de uno de los mayores fracasos en la historia de la informática: a continuación, la empresa iniciada por Steve Jobs que construyó estaciones de trabajo basadas en un software que era demasiado futurista para su época: así fue.

El iPhone cumple 10 años: la historia de una revolución

Sobre las quiebras

Así como no fue una tirada de dados lo que causó el nacimiento del Renacimiento en Italia y no en Finlandia, tampoco fue una tirada de dados lo que hizo que el iPhone se originara en Apple. Así como a los humanistas italianos les bastaba mirar el entorno, imbuido de clasicismo, que les rodeaba con nuevos ojos, a la gente de Apple les bastaba tomar lo que habían elaborado y verterlo en un nuevo molde. Nokia no pudo haber creado el dispositivo de dispositivos, que originalmente era una empresa que fabricaba botas de plástico. Tampoco podría ser Samsung que se había especializado en la producción de espaguetis y luego en la refinación de azúcar.

Casi medio siglo de obsesión de Apple por las interfaces de usuario, la facilidad de uso, la indisoluble integración entre hardware y software, impulsada por la visión holística de su jefe, sólo podía desembocar en algo tan revolucionario como el iPhone. Del mismo modo, la herencia clásica omnipresente del paisaje y la mentalidad italianos dio como resultado el humanismo y el Renacimiento.

Es una de las muchas paradojas que marcan la marcha de la tecnología que iOS, el software que impulsa el iPhone, nació del legado de uno de los cinco mayores fracasos en la historia de la computadora: NeXT. NeXT fue la empresa iniciada por Steve Jobs después de su salida de Apple en 1985. Construía estaciones de trabajo futuristas impulsadas por un software igualmente futurista, NeXTstep. Llamado por Steve Jobs "la verdadera joya" de la innovación NeXT, NeXTstep estaba demasiado adelantado a su tiempo. Fue uno de los mayores fracasos, por supuesto, pero también una de las experiencias más trascendentales en la historia de la computadora, solo superada por la del Xerox Parc en Palo Alto. NeXT también fue el gimnasio donde Jobs aprendió a meditar y corregir sus errores. La otra gran escuela de liderazgo fue Pixar, donde Jobs aprendió mucho de Edwin Catmull y John Lassater.

Apple, un NeXT con otro nombre

La historia de NeXT se ha contado muchas veces y, más recientemente, con gran detalle por Walter Isaacson, el biógrafo de Steve Jobs. Baste saber que en 1996, la tecnología de NeXT y todos sus empleados fueron absorbidos por Apple tras el regreso de Jobs a la empresa que cofundó. A partir de ahí comenzó la larga marcha hacia la Apple de hoy: 1000 dólares de inversión en acciones de Apple de 1995 valdrían hoy 117 dólares. Los que llegaron con Jobs de NeXT a Apple habían recorrido ese largo y arduo camino similar al que describe Jenofonte en la Anábasis.

Pero esto se sabe. Una cosa, sin embargo, se sabe menos. La tecnología NeXT y especialmente su sistema operativo, NeXTstep, ha alimentado incansablemente la tecnología de Apple durante más de 20 años y los hombres y mujeres de NeXT han sido colocados en los puestos de mayor responsabilidad de la empresa Apple. Tanto es así que en un momento no hubo ningún misterio sobre la existencia de una especie de "NeXT mafia" o "NeXT casta", tan importante fue la influencia y la remuneración de las personas que surgieron de esa experiencia, los NeXTonians.

los nextonianos

Entre los NeXTonianos que se mudaron a Apple en roles destacados se encuentra Avie Tevanian, el autor intelectual detrás de la arquitectura de software de NeXT y más tarde de Mac OS X, quien permaneció en Apple hasta 2006 como Director de Tecnología de Software. Proviene del NeXT Scott Forstall, quien estuvo a cargo del desarrollo del software IOS hasta octubre de 2010. Craig Federighi, sucesor de Tevanian y ahora responsable de toda el área de software de Apple, también es NEXToniano. Entre ellos también se encuentra Budd Tribble, uno de los fundadores de NeXT, a quien debemos la famosa definición de "campo de distorsión de la realidad" con respecto a la visión de Jobs. Budd regresó a Apple en 2002 y se desempeñó hasta 2015 como vicepresidente de Tecnología de software.

Recientemente Scott Forstall, en el Computer History Museum de Mountain View en un encuentro organizado para celebrar el décimo aniversario del iPhone, contó cómo nació el iPhone en la mente de Steve Jobs y cómo fue creado por el equipo que él mismo junto con los demás gerentes que habían sido llamados para dirigirlo. De este testimonio nos ocuparemos en otro post. Ahora hablemos de NeXTstep y su legado en Apple.

De NeXTstep a Mac OS X a iOS

Que entre NeXTstep e iOS exista una relación de filiación directa, mediada por Mac Os X, es algo que escapa a toda duda razonable. Una gran cantidad de clases que componen la arquitectura del sistema de desarrollo de iOS (denominadas Cocoa y luego Swift) tienen el prefijo “NS”, que significa NextStep. Incluso antes de iOS, NeXTstep se había convertido en Mac OS X, que en 2001 se lanzó como el sistema operativo de la nueva generación de Mac.

La herramienta gráfica, parte de XCode (el entorno de desarrollo de iOS), para construir la interfaz de usuario de las aplicaciones para dispositivos iOS y combinar los diversos elementos que la componen proviene directamente de NeXT. Ni siquiera ha cambiado su nombre, se llama Interface Builder y produce un archivo .nib (abreviatura de NeXT Interface Builder).

Incluso la "X" incluida en el nombre del nuevo sistema operativo Mac no es una pista pequeña: significa NeXT o, quizás más probablemente, significa UniX, que además de constituir el núcleo de NeXTstep también es el núcleo de Mac OS. X. De todos modos, no sabemos el origen de esta "X", pero hay una relación muy estrecha entre todo esto.

Que Jobs quería preservar y construir sobre el legado de sus 10 años de arduo trabajo y sufrimiento en NeXT está fuera de toda duda. Durante esa experiencia, libre de restricciones externas y con el capital proporcionado por Ross Perot y Canon, había implementado su visión de hacer de la computadora el electrodoméstico más inteligente.

Unix y el micronúcleo de Mach

Al igual que NeXTstep, Mac OS X e iOS se basan en Unix, el sistema operativo portátil desarrollado en Bell Labs y lanzado en 1969. La característica principal de Unix es su capacidad para ejecutar aplicaciones de tiempo compartido. El tiempo compartido permite que la memoria principal (CPU) de la computadora distribuya su tiempo entre múltiples tareas y múltiples usuarios. Esto significa que si una aplicación falla inesperadamente por cualquier motivo, este evento no hace que todo el sistema se bloquee y, en consecuencia, otras aplicaciones de tiempo compartido.

Unix permite fácilmente la multitarea, la protección de la memoria y la ejecución de programas y servicios en segundo plano, es decir, sin el control directo del usuario. Todas propiedades que no tenían los sistemas operativos de los primeros ordenadores personales. Por ejemplo, un sistema basado en Unix puede estar reproduciendo una pieza musical mientras imprime, el usuario está procesando una fórmula en una hoja de cálculo y un segundo usuario remoto está descargando un archivo a través de la red desde los recursos de esa computadora.

Para desarrollar la arquitectura del sistema NeXTstep, Jobs recurrió a Avie Tevanian, que había trabajado en el proyecto Mach en la Universidad Carnegie-Mellon. Mach, que se convertirá en el núcleo NeXT, se creó con un enfoque radical conocido como "arquitectura de micronúcleo", por el cual el sistema operativo tenía que subcontratar tantas funciones como fuera posible para mejorar su estabilidad. Un principio contrario al que estaba en boga en ese momento.

Objective-C

Al igual que NeXTstep, Mac OS X e iOS se desarrollaron en Objective-C, un lenguaje de programación orientado a objetos derivado del lenguaje C. Objective-C permite a los desarrolladores de aplicaciones usar bloques de código preestablecidos (objetos) para desarrollar ciertas funciones de rutina, sin necesidad de programarlos desde cero. Los objetos son una especie de componentes prefabricados que se pueden ensamblar para obtener un edificio específico, como se hace con el lego.

En una entrevista de 1995, Jobs afirmó que la programación orientada a objetos revolucionaría la forma en que creamos software en los próximos 20 a 30 años. Y así fue.

Algunas aplicaciones que todavía se utilizan hoy en Mac o iPhone son la evolución del software desarrollado inicialmente para la plataforma NeXT. Entre estos Números (inicialmente Parasheet), Keynote (inicialmente Concurrence), Pages, OmniGraffle (inicialmente Diagram!).

Objective-C había sido creado por Brad Cox, un brillante desarrollador del Centro de Investigación de Palo Alto de Xerox, como una evolución de SmallTalk cuyo gran potencial Jobs había percibido de inmediato durante su legendaria visita al centro en 1977. Jobs obtuvo de Cox la licencia para el uso de Objective-C en el NeXT y en 1995 Apple adquirió Stepstone, la empresa fundada por Cox, dueño del lenguaje.

Marco de aplicaciones

Junto con el lenguaje Objective C, NeXT también desarrolló un conjunto de objetos listos para usar para desarrollar software. Estos objetos se recopilaron en un marco llamado AppKit que en Apple se convirtió en Cocoa para OS X y en 2008 Cocoa Touch para iOS. Además de liberar a los desarrolladores de la ardua tarea de desarrollar partes rutinarias del software, AppKit permite que las aplicaciones más dispares pongan al usuario en condiciones de utilizar los mismos métodos de uso de algunas funciones, aliviando al usuario de cualquier problema de aprendizaje.

interfaz del generador

Interface Builder es una herramienta gráfica que permite a los desarrolladores construir una interfaz de usuario arrastrando y soltando los elementos (botones, cuadros de texto, menús emergentes, ventanas, etc.) desde una paleta que conforman una interfaz gráfica. Además de presentar un aspecto gráfico definido, estos elementos tienen incorporadas todas las funciones necesarias. La paleta se puede ampliar con nuevos objetos que, una vez construidos, se pueden arrastrar y desde ese momento estar disponibles como los objetos nativos. Las leyendas de los objetos se autolocalizan según el idioma seleccionado en el software del sistema.

Interface Builder fue creado por el desarrollador francés Jean-Marie Hullot, a quien Steve Jobs llamó para trabajar en NeXT en 1985 después de ver una demostración que lo convenció de que tenía

puso sus manos en una "aplicación asesina". Interface Builder no se integró en NeXTstep, pero se ofreció como una aplicación independiente junto con el Sofware Development Kit. Apple luego integró Interface Builder en Mac OS X e iOS. Con Interface Builder, en una computadora NeXT, Tim Berners Lee, en Cern en Ginebra, desarrolló el primer prototipo de WordWideWeb.

Mostrar postscript

Mientras que todos los sistemas operativos de los años noventa usaban gráficos de trama (es decir, construidos con cuadrículas de píxeles) para mostrar texto e íconos en las pantallas de las computadoras, NeXT usaba gráficos vectoriales (es decir, puntos, líneas, curvas y polígonos) para mostrar íconos, texto e ilustraciones. La calidad de una imagen vectorial es muy superior a la de una imagen bitmap o raster porque es capaz de aprovechar la máxima resolución del dispositivo donde se visualice. Mientras que en los gráficos de trama es la resolución de la imagen la que determina su calidad de visualización.

La tecnología utilizada por NeXT, para obtener gráficos vectoriales en video, fue proporcionada por Adobe (el hogar del software Photoshop, Illustrator y Acrobat) a través de una herramienta llamada Display Postscript. Los ingenieros de NeXT reescribieron por completo el motor de herramientas de Adobe para adaptarlo al sistema operativo orientado a objetos.

Mac OS X e iOS ahora usan una herramienta diferente, llamada Quartz, para mostrar gráficos en pantalla que, sin embargo, usa el mismo concepto de gráficos vectoriales. Quartz produce imágenes vectoriales tipo Postscript utilizando el modelo de renderizado PDF. El abandono de Postscript se debe fundamentalmente a los costes derivados de la adquisición de licencias de uso de Adobe.

los paquetes

Tanto OS X como iOS utilizan una forma de administrar aplicaciones derivadas de NeXTstep. Estos son paquetes, es decir, un directorio que le permite agrupar el código fuente ejecutable y todos los recursos, incluidos los complementos, necesarios para el funcionamiento de una aplicación. Todos estos archivos residen dentro de este paquete sin compilarse en el ejecutable como es el caso de Windows. El sistema operativo, en un nivel bajo, ve el paquete como un conjunto de archivos y al usuario como un simple ícono. Es una solución que simplifica mucho el funcionamiento gracias a la sencilla estructura jerárquica de los directorios.

El administrador de archivos

El Finder es el administrador de archivos de Apple que se encarga de navegar a través de discos, carpetas y archivos. Con Mac OS X, Finder se rediseñó por completo según el modelo del administrador de archivos NeXTstep, que en su esencia es similar al de Windows. Además de la simple lista de archivos o iconos relacionados de un directorio, típico de Mac OS de los orígenes, Mac OS X también introduce una visualización de tipo jerárquico completamente análoga a la de NeXTstep. Esta estructura se desarrolla en ventanas contiguas mostrando el contenido del directorio o del recurso seleccionado de manera de tener visualizado todo el camino del recurso dentro del sistema de archivos.

Hay muchos otros aspectos que Mac OS X e iOS han derivado de NeXTstep y su experiencia, verdaderamente una de las experiencias más trascendentales y de aprendizaje en la historia de la tecnología.

Y luego, ¡vítores triples por los fracasos!

Revisión