La versión original de este post se puede encontrar en Computer History Museum (inglés).

La historia del PostScript tiene muchas facetas. Es una historia sobre cambios profundos en la alfabetización humana como también una historia sobre secretos comerciales dentro del código fuente. Es una historia sobre la importancia de los equipos de trabajo, y la geometría. Y es una historia de las motivaciones y aprendizajes de ingenieros emprendedores.

El Computer History Museum está emocionado por publicar, por primera vez, el código fuente del avance de la tecnología de impresión, el PostScript. Agradecemos a Adobe, Inc. por su permiso y ayuda, y a John Warnock por defender este lanzamiento.

Accedé al código acá (requiere registro)

El panorama

La impresión ha sido siempre una tecnología con consecuencias culturales profundas. Los tipos móviles aparecieron primero en el Este Asiático, y luego, tecnología de las prensas vitivinícolas y aceiteras europeas del siglo XV fueron combinadas con nuevas técnicas para producir tipos en masa usando fundición metalúrgica para evolucionar la imprenta, y con ello generar una revolución en la alfabetización humana. Los libros se hicieron más baratos y más rápidos de producir, y como resultado aparecieron en mayor cantidad. Los lectores y las bibliotecas se expandieron. El mayor acceso a la información transformó el aprendizaje, la investigación, el gobierno, el comercio, y las artes

Los cofundadores de Adobe John Warnock (izquierda) y Chuck Geschke (derecha). Cortesía de Adobe Inc. y Doug Menuez

Desde el inicio de Adobe Systems Incorporated (ahora Adobe Inc.) exactamente cuarenta años atrás en diciembre de 1982, los cofundadores de la firma imaginaron un nuevo tipo de imprenta—una que era fundamentalmente digital, usando los últimos avances en informática. Las discusiones iniciales entre los cofundadores Chuck Geschke y John Warnock con armadores de computadoras como Digital Equipment Corporation (DEC) y Apple los convencieron de que el software era la clave para la nueva imprenta digital. Su visión: Cualquier computadora podría conectarse con impresoras y tipógrafos mediante un lenguaje común para imprimir palabras e imágenes con la más alta fidelidad. Liderado por Warnock, Adobe armó un equipo de programadores habilidosos y creativos para crear este nuevo lenguaje. Además de los dos cofundadores, el equipo incluía a Doug Brotz, Bill Paxton y Ed Taft. El lenguaje que crearon fue en efecto un lenguaje de programación completo, llamado PostScript, y fue lanzado por Adobe en 1984.

Chuck Geschke cuenta cómo Adobe se enfocó en PostScript como su negocio inicial

Al tratar de la misma manera todo lo que se iba a imprimir, con una descripción matemática común, PostScript tenía habilidades que nadie más ofrecía. El texto y las imágenes podían ser escaladas, rotadas y movidas a voluntad, como en la imagen que se encuentra al inicio de este ensayo. Adobe licenció PostScript a armadores de PCs y fabricantes de impresoras, y el negocio saltó a un período de hipercrecimiento. Había una demanda tremenda por la nueva imprenta digital por software. Los armadores de PCs, desde los establecidos mundos de las minicomputadoras y estaciones de trabajo al rápidamente creciente mundo de las computadoras personales, adoptaron la tecnología. Los fabricantes de impresoras se unieron, desde las ya establecidas impresoras a las nuevas impresoras laser y tipógrafos profesionales. Los desarrolladores de software se apresuraron en hacer sus productos compatibles con PostScript.

Alimentando este crecimiento había avances que Adobe estaba haciendo sobre necesidades críticas: Proveer tipografías digitales de calidad profesional—y las muchas fuentes que las componen—para ser usadas en PostScript. Adobe desarrolló un nuevo enfoque para describir tipografías geométricamente, y la compañía licenció muchas de las tipografías más conocidas, incluso aquellas para idiomas asiáticos. PostScript y la Biblioteca Tipográfica de Adobe revolucionaron la imprenta y la publicación, y dieron comienzo a un crecimiento explosivo a la autoedición a comienzo de los 80. PostScript se convirtió en un suceso tal que creció hasta convertirse en un estándar internacional de facto, con Adobe publicando los detalles del lenguaje PostScript, permitiendo a otros crear productos que eran compatibles con PostScript. Hoy en día, la mayoría de las impresoras dependen de la tecnologia PostScript directamente o a través de una tecnología que se desprendió de él: el PDF (Portable Document Format, “Formato de Documento Portable).

Una de las primera tipografías creadas por Adobe usando su nueva tecnología. Cortesía de Adobe Inc.

John Warnock lideró el desarrollo del PDF en los 90, transformando al PostScript en una tecnología más segura y fácil de usar como base para los documentos digitales, pero manteniendo todos los beneficios de la interoperabilidad, fidelidad y calidad. A lo largo de las décadas, Adobe ha desarrollado tremendamente el PDF, mejorando sus características, y convirtiéndolo en un estándar crucial para los documentos digitales, impresión, y para la visualización de gráficos de todo tipo en pantallas desde laptops a celulares y relojes.

Hoy, la imprenta digital ha excedido con creces cualquier cosa imaginada por los cofundadores de Adobe cuando crearon PostScript con su equipo de trabajo. Casi todo lo impreso en papel se hace usando computadoras. De hecho, en muchas áreas del mundo, las computadoras se han convertido en una abrumadora herramienta para escribir. Como dice Doug Brotz, PostScript “democratizó el mundo de la impresión.” Ahora con el PDF tan exitoso eso también se ha convertido en un estándar global, el número de PDFs creados cada año se mide en trillones.

El trasfondo gráfico

La tipografía es la combinación de arte y técnica que se ocupa de mostrar la escritura, especialmente impresa. Se preocupa por la forma y la ubicación de caracteres, palabras, párrafos y demás. Por eso, la tipografía es exhaustivamente gráfica, un tema de diseño visual. La tipografía digital no es diferente, solo enfocada a técnicas y pantallas de computadora. Es adecuado, entonces, que las raíces del PostScript, y sus contribuciones al desarrollo de la tipografía digital, se basen en el avance de los gráficos por computadora. El cofundador de Adobe John Warnock, el arquitecto del PostScript, lanzó su carrera informática como estudiante de grado en la Universidad de Utah a finales de los 60. Utah era en ese entonces uno de los centros mundiales de investigación en gráficos por computadora avanzados. En su trabajo allí, y subsecuentemente en una empresa líder en gráficos por computadora gerenciada por los principales profesores en Utah, David Evans e Ivan Sutherland, Warnock tomó su enfoque geométrico característico respecto de los gráficos por computadora. Formas, escenas, imágenes, y animaciones eran creadas y diseñadas usando matemática para describir la geometría de lo visual, y usando varios procedimientos informáticos para convertir estas descripciones en imágenes. En particular, Warnock estaba sorprendido por el poder de un lenguaje de computadoras procedural que él y John Gaffnet ayudaron a desarrollar en la empresa Evans and Sutherland, el “Design System” (“Sistema de Diseño”). En 1978, Chuck Geschke había recientemente armado una nueva organización en el famoso Xerox Palo Alto Research Center (PARC), el Imaging Science Laboratory (“Laboratorio Científico de Imagen”). Geschke contrató a Warnock en su laboratorio, donde Warnock se hizo cargo de un desafío urgente para el laboratorio. PARC estaba creando un conjunto de nuevas computadoras experimentales con nuevos tipos de pantallas, y destinadas a ser usadas con un conjunto de impresoras nuevas—PARC había inventado la impresora laser recientemente. El desafío, que Warnock tomó, era crear un sistema de gráficos “independiente-del-dispositivo”, que pudiera ser usado en cualquier computadora, pantalla o impresora. Para resolver este desafío, Warnock se dio cuenta de que algo como el Desing System podría funcionar si fuera reimplementado en este nuevo ambiente informático, pero reenfocado de gráficos 3D a lo que a PARC le interesaba que era impresiones de calidad profesional, y visualización de alta calidad de texto e imágenes en pantallas. El resultado fue otro lenguaje procedural geométrico llamado JaM, que Warnock creó en conjunto con otro investigador del PARC, Martin Newell.

Una imagen hecha usando JaM, el predecesor de PostScript. Cortesía de Adobe Inc.

Desde 1979 a 1981, JaM se convirtió en un componente importante en el nuevo trabajo del laboratorio de Geschke. Esto consistía en un esfuerzo para desarrollar un lenguaje de impresión que pudiera comercializarse, para ser usado en la versión productiva de las computadoras experimentales de PARC llamadas Xerox Star, y más ampliamente usada en toda la línea de impresoras de Xerox. Un grupo de seis desarrolladores de Xerox—Chuck Geschke, Butler Lampson, Jerry Mendelson, Brian Reid, Bob Sproull, y John Warnock—fusionó el enfoque de JaM con técnicas de protocolos más establecidos. El resultado fue llamado Interpress. La gerencia de Xerox se convenció rápidamente del potencial de Interpress, y decidió que sería incluido en el el estándar de impresión de la compañía. Sin embargo, migrar a este estándar tomaría varios años durante los cuales Interpress se mantendría en secreto. Este retraso en el refinamiento de Interpress que podía ser generado por su uso y desafío de una base de usuarios más amplia por fuera de Xerox hizo que Geschke y Warnock se fueran. Se irían de PARC para crear una startup en la cual crearían un rival de Interpress, pero armado más en son del enfoque del lenguaje procedural geométrico que Warnock creía tan poderoso. Pero para que la nueva startup pudiera convertir este nuevo lenguaje, PostScript, en la nueva imprenta digital iba a requerir un equipo brillante.

Chuck Geschke cuenta las motivaciones para la formación de Adobe. https://www.computerhistory.org/collections/catalog/102738493
Warnock cuenta los primeros pasos clave para fundar Adobe

El equipo de PostScript

En diciembre de 1982, cuando Chuck Geschke y John Warnock crearon Adobe Systems Incorporated, el nuevo lenguaje de impresión que querían crear estaba en el corazón de sus planes, esperanzas y visión. El futuro de la compañía pendía de PostScript. Geshcke y Warnock eran ambos creadores de software muy experimentados. Geschke había obtenido su Ph.D. en la Universidad de Carnegie Mellon trabajando con compiladores avanzados, y había sido líder en la creación de un importante lenguaje de programación desarrollado y usado en PARC llamado Mesa. Como ya fue discutido, Warnock tenía un Ph.D. en software de gráficos por computadora de la Universidad de Utah y años de experiencia en crear lenguajes tales como su imaginado PostScript. Pero incluso con, y tal vez debido a, su extensiva experiencia en crear software de punta, los cofundadores sabían que necesitaban expandir su equipo para crear PostScript.

Esta foto muestra a los primeros empleados de Adobe y algunos amigos durante una fiesta corporativa, navegando en el Bahía de San Francisco. Muchos de ellos fueron traídos por Chuck Geschke (segundo de la derecha en el fondo) y John Warnock (en el medio, al fondo) del PARC de Xerox, incluído Doug Brotz (a la izquierda atrás), Dan Putman (tercero a la izquierda al frente) y Tom Boyton (a la derecha de Putman). Steve MacDonald (entre Brotz y Warnock) vinieron de Hewlett-Packard para trabajar como los primeros jefes de ventas y marketing. Linda Garger (tercera de la derecha al frente) era la asistente administrativa de Geschke y Warnock y la primera empleada oficial de Adobe. Carolyn Bell (primera a la derecha) era una ingeniera. Marva Warnock, quien diseñó el primer logo de Adobe está sentada inmediatamente delante de John Warnock. Nancy Geschke, una bibliotecaria, se sienta en frente y a la izquierda de Chuck Geshcke. Cortesía de Adobe, Inc.

El equipo de PostScript de Adobe rápidamente tomó forma cuando otros tres creadores de software altamente capacitados de PARC decidieron irse y reunirse con Geschke y Warnock: Doug Brotz, Bill Paxton y Ed Taft. Brotz había obtenido su Ph.D. en ciencias de la computación de Stanford antes de unirse a PARC en 1977, y se convirtió en el primer científico informático de la nómina, luego de los cofundadores por supuesto. Paxton también tenía un Ph.D. en ciencias de la computación de Stanford, y entró a PARC el mismo año que Bortz. Taft había entrado a PARC antes, contratado por Geshcke al momento en que Taft terminó sus estudios de grado en Harvard en 1973. Juntos, con ayuda de colegas de la compañía como Andy Shore, el equipo creó PostScript para fines de 1984.

Un secreto comercial en el código fuente

El compromiso de Adobe con un enfoque geométrico para PostScript acarreó consecuencias sobre cómo iba a tratar las tipografías—formas distintas de carácteres—y las numerosas fuentes que en realidad crean estos tipografías a diferentes tamaños y estilos (tamaño regular, cursiva, negrita, etc). En PARC, las fuentes habían sido creadas como un conjunto de imágenes de mapas de bits creadas individualmente y de forma artesanal—definiciones estáticas de qué bits estaban prendidos, y cuales apagados, para crear cada caracter de la fuente. En contraste, los investigadores de PARC y otros estaban explorando maneras de definir las formas de los caracteres matemáticamente. En Adobe, el equipo siguió con este enfoque de descripción matemática para con las fuentes, siguiendo con la dirección más amplia de PostScript, definiendo los carácteres usando curvas de Bézier. Pero esto todavía los dejaba con el problema de la independencia de dispositivos. ¿Cómo podían las definiciones de fuentes de Adobe tratar con diferentes pantallas, impresoras, y diferentes resoluciones en ambas? Para los ojos acostumbrados a leer texto impreso, incluso las menores inconsistencias o irregularidades en la apariencia del texto son notadas de inmediato y molestan. A resoluciones más bajas, las posibilidades de obtener estos defectos solo empeoran. Renderizar fuentes confiablemente a diferentes resoluciones era un tema crítico. Sin una solución, PostScript no se convertiría nunca en la imprenta digital.

Elementos de la solución secreta de Adobe para crear fuentes de calidad profesional para diferentes resoluciones. Cortesía de John Warnock.

Fue John Warnock a quien se le ocurrió la solución de Adobe, convirtiendo el problema en sí en una solución. La resolución de salida determinaría un conjunto de procedimientos que corregirían las fuentes para optimizar su apariencia en esa resolución. Warnock, Brotz y Paxton trabajaron en los procedimientos por meses, eventualmente decidiendo quedarse con maneras para definir aspectos clave de las formas de las fuentes, y acomodándolos en las filas y columnas de píxeles de la resolución especificada, y cambiando algunos aspectos de las formas de los carácteres dependiendo de la resolución. Eventualmente, el equipo de Adobe decidió que lo mejor era mantener este enfoque y procedimientos como secreto comercial. Se mantuvieron en secreto en el código fuente de PostScript, conocidos por muy pocos en la compañía, hasta que Warnock los dio a conocer públicamente en una conferencia en 2010.

La versión del código fuente de PostScript publicada por el Computer History Museum es una versión muy temprana, fechada a fines de febrero de 1984. Mientras que esta versión contiene una primera versión de los procedimientos de “sugerencias de fuentes” luego mantenidos como secreto comercial, estos enfoques fueron completamente reescritos, expandidos y refinados por Bill Paxton en los meses subsecuentes. Estos cambios fueron críticos para el éxito de PostScript cuando salió al mercado.

Chuck Geschke habla sobre los secretos comerciales en el código fuente de PostScript.

Agradecimientos

Gracias a Doug Brotz y Bill Paxton por sus útiles comentarios sobre el borrador de este ensayo. Gracias a Adobe Inc. y Doug Mendez por el permiso para usar varias imágenes. Este ensayo está basado en historia oral y entrevistas llevadas a cabo por el Computer History Museum, y varias importantes fuentes publicadas:

  • J. E. Warnock, “The Origins of PostScript,” in IEEE Annals of the History of Computing, vol. 40, no. 3, pp. 68-76, Jul.-Sep. 2018, doi: 10.1109/MAHC.2018.033841112.

  • WARNOCK, JOHN E. “Simple Ideas That Changed Printing and Publishing.” Proceedings of the American Philosophical Society, vol. 156, no. 4, 2012, pp. 363–78. JSTOR, http://www.jstor.org/stable/23558230. Accessed 13 Oct. 2022.

  • J. E. Warnock and C. Geschke, “Founding and Growing Adobe Systems, Inc.,” in IEEE Annals of the History of Computing, vol. 41, no. 3, pp. 24-34, 1 July-Sept. 2019, doi: 10.1109/MAHC.2019.2923397.

Legalmente, PostScript® es una marca registrada de Adobe, Inc. usada para identificar su lenguaje e intérprete. Para facilidad de lectura, usamos la forma más común “PostScript” para denotar tanto el lenguaje PostScript® y el intérprete de PostScript®.