2 de noviembre de 2006

Bill Atkinson

Bill Atkinson fue programador de Apple cuando la compañía tuvo una cadena de aciertos. Bill fue responsable de gran parte de ellos.

Fue uno de los principales programadores del sistema de ventanas que aportaron tantas nuevas ideas al mundo de la informática. Mientras estaba dedicado a varias tareas, de manera intermitente fue trabajando en un programa de dibujo que se llamó MacPaint.

Echar un vistazo a MacPaint si sólo se conoce Photoshop resulta sorprendente. Hace falta pensar un buen rato para darse cuenta de qué diferencias reales hay entre los dos programas, obviando el hecho de que MacPaint es totalmente monocromático.

MacPaint tuvo una serie de propuestas nuevas y fascinantes que ya hace 25 años lo hicieron mejor que el Paint de Windows actual.

Bill tardó bastante en buscar un sistema de relleno de color (o trama) satisfactorio. Su ambición era crear algo rápido y agradable a la vista a la vez. Al final encontró un sistema casi instantáneo.

Con la selección de objetos también tuvo serias complicaciones. Hasta ese momento no había un modo claro para que el usuario viera qué porción de la imagen había seleccionado. Lo normal era ver la selección invertida, pero el efecto no resultaba tan intuitivo como Bill quería que fuera. Un día, tomándose una cerveza, vio un cuadro chino con unas cataratas y un efecto de falso movimiento hecho con luces. La idea surgió instantáneamente: Crear un contorno intermitente. En una imagen estática, algo intermitente se vería con perfecta claridad. Y para ello usó un patrón de barras diagonales, por lo que el uso de memoria era mínimo. Ese sistema también sirvió para que la nueva herramienta de lazo pudiera mostrar contornos complejos seleccionados a mano alzada.

Un problema de visualización le sirvió para matar dos pájaros de un tiro. Los ordenadores de los primeros 80 no eran lo suficientemente rápidos como para ver fluidamente una selección cuando se mueve de un sitio a otro. Para evitar el molesto parpadeo que provocaba, decidió crear un buffer oculto que tuviera la información completa de la imagen. Así, el cambio se generaba primero en el buffer y luego se veía de manera fluida. El segundo pájaro resultó ser revolucionario: Ese buffer sirvió también para dar un uso extremadamente limpio a una herramienta que acababa de nacer: La función "deshacer".

Para realzar la complejidad de los resultados, se le ocurrió implementar una brocha con distintos grosores y un spray. Ambos podían pintar blanco, negro, o los patrones que vemos en el menú inferior. Los círculos y los cuadrados se creaban con el curioso método de arrastrar el ratón de un sitio a otro. A la hora de crear líneas rectas, dio la opción en el menú de línea, polígonos y brocha de que salieran rectas verticales, horizontales y diagonales si a la vez se pulsaba la mayúscula. Y la de que se cerraran al hacer doble clic, si se activaba la opción.

La imagen que se ve en pantalla no muestra la pantalla completa, que tenía el formato de un folio. Su resolución era la máxima que los macs del 84 podían permitir, la mágica resolución de 576x720 píxeles. Existían varios métodos para ver el resto de la imagen. Eligiendo la herramienta de la mano se podía ir arrastrando la zona visible. O se podía dar a "mostrar página" para ver una versión reducida de otro el proyecto. Para los trabajos detallados, incluyó una ingeniosa opción de zoom que mostraba los píxeles ampliados y en una esquina esos mismos píxeles en tamaño real para ver ambas cosas a la vez.

Bill Atkinson hizo la programación ÍNTEGRA de la primera versión de MacPaint, que incluyó todo lo que he mencionado.

Ocupaba 50 kb, por lo que no requería disco duro: podía incluirse en un disquette que tuviera también los archivos con los que trabajar. Como venía de serie, podían hacerse tantas copias del disquette original como fueran necesarias. Fue el primer programa de amplia difusión en el que se podía ver exactamente qué cambios se hacían en los dibujos.

En una conferencia le preguntaron a Steve Jobs cuánto trabajo humano había detrás de MacPaint. Él le trasladó la pregunta a Bill, que dijo "cuatro años intermitentes". Steve Jobs tradujo: "Un año intermitente de Atkinson es como seis años completos de una persona normal, así que detrás de MacPaint hay 24 años de dura dedicación."

Hay una herramienta en la que Bill trabajó mucho para MacPaint. Cuando un usuario escribía un texto, luego no podía editarlo porque se quedaba en forma de píxeles. Él diseñó un detector que encontrara el texto fijándose en la forma de las letras, que permitiera su edición posterior. Funcionaba perfectamente, siempre que las letras no tuvieran píxeles cambiados. Sin embargo, en el último momento, decidió no implementarlo. Le parecía que la gente dejaría de usar el programa como un buen editor de imágenes para utilizarlo como un mal editor de texto, y eso era cosa del otro gran acierto de aquel momento, MacWrite. Así, una función desestimada para un programa de dibujo se convirtió en el antecesor inmediato de los OCR para textos que utilizan hoy en día todos los escáneres del mundo que transcriben documentos, periódicos y libros con un solo clic.

Posteriormente, Bill comenzó a trabajar en Hypercard. Hipercard fue el primer sistema de hipertexto que se extendió de manera masiva. También gratuito, daba la opción de crear lo que denominaban un mazo de tarjetas. Cada tarjeta ocupaba una pantalla completa y podían meterse cuadros de texto, dibujos (con herramientas más avanzadas que MacPaint) y botones que enlazaran con otras cartas. Para que el usuario supiera que estaba encima de un enlace, Bill decidió que el cursor debía cambiar de forma.
Concretamente a ésta:

Hypercard fue el precursor de Power Point, con muchas más funciones. Dibujar en la pantalla o añadir imágenes externas lo hacían todo mucho más sencillo. Los cuadros de texto podían fijarse, de modo que el continente se mantuviera constante y el contenido cambiara según la tarjeta, para por ejemplo preservar el layout de un listín telefónico y cambiar los nombres según la ficha en cuestión. Un cambio en el layout actualizaba automáticamente todas las tarjetas. Los botones no sólo servían de enlaces, también se podían programar con un lenguaje sencillo en extremo: coloca la primera palabra de la tercera línea en negrita o dibuja un cuadrado de 50 píxeles de ancho y escribe en él '¡Hola!'

Tengo la firme convicción de que si Apple hubiera mantenido su racha de buenas decisiones en los años siguientes, hoy Hypercard sería un estándar en internet, como podía haberlo sido MacPaint en lugar de Photoshop. Hypercard inspiró el código html por un lado y el lenguaje javascript por otro. El primer wiki se programó en él. La primera versión de Myst también. Quicktime nació como parte del entorno multimedia que ofrecía. Gracias a Hypercard saqué un 10 en biología dos veces.

Tras inmensas contribuciones en el mundo de la imagen informática, Bill Atkinson se retiró de la programación para trasladar sus conocimientos al arte. Ahora se dedica profesionalmente a fotografíar la naturaleza y a disfrutar con ello a través de toda la tecnología que él mismo ha creado.

EDITADO: ¿Quieres verlo con tus propios ojos a través de una descarga de dudosa legalidad? Aquí la tienes. Descomprime los tres archivos en una carpeta. Ejecuta el programa y dale a File/Open Disk Image. Abre el archivo .dsk y arrancará como si fuera un Mac antiguo. Luego haz doble clic en el icono de MacPaint o en el de Leeme, que tiene un par de consejos. Un consejo: Antes de cargar el dsk mantén la letra control pulsada mientras le das a S y luego a Z. Eso hará que la emulación vaya a la velocidad original.

13 comentarios:

Anónimo dijo...

"La primera versión de Myst también."

Te lo podrás creer o no, pero en la entrada anterior intenté poner un mensaje en el que mencionaba a Myst (al hilo de las aventuras gráficas que se mencionaban). Estoy 100% seguro de que es un juego que te gusta, o que te gustaría si lo conocieras. Yo ahora estoy viciado a la segunda parte (Riven), difícil como ella sola...

En fin, esto me sigue sin dejar poner mi nombre de usuario, pero soy Ñbrevu.

Anónimo dijo...

Joder! me dejas a cuadros (o a pixels, como gustes). Yo no se si es que tienes espias, o gente que trabaja para ti, o cómo coño sacas informaciones como estas. Este texto debería ser el primer capítulo de cualquier libro de photoshop, que cada vez proliferan más. Tras leerte me surgen varias preguntas: ¿en EEUU no se denuncian unos a otros por copiar algo como que la flecha cambie por la mano? ¿no se aplica eso de la ley de patentes? ¿cómo aprobaste biología usando la herramienta que dices? ¿por qué Bill Atkinson se dedica a hacer algo tan poco valorado generalmente como la fotografía de naturaleza?
Un saludo.

PD: estaría muy bien que algún día hagas otro post sobre estos tema, me ha encantado leerlo.

thehardmenpath dijo...

Ñbrevu, intenta firmar sin la ñ. No conozco el Myst, yo soy más del Scumm. De hecho, soy un fan absoluto del interfaz del Scumm y seguramente le dedique otro artículo vintage de éstos.

Dgr, se me ocurren varias respuestas a tu principal pregunta. La más obvia es que por entonces la ley de patentes estaba en pañales. Aunque cuenta la leyenda que ningún programa de Windows se llama "Windows" porque ésa es una patente de Apple. Pero no creo que sea cierta.

Lo que sí es cierto es que he hablado de una época en la que Apple hizo las cosas pero que muy bien. Luego surgieron los problemas. Imagina que estás en una época llena de pantallas azules y letras amarillas o rosas, y te aparece un ordenador en blanco y negro, con ratón y un procesador de textos y otro de imágenes WYSIWYG (what you see is what you get, lo que ves es lo que hay).

TODOS los interesados que se lo podían permitir corrieron a las tiendas. Pero surgió un problema acojonante: MacWrite y MacPaint eran DEMASIADO BUENOS. Tan buenos que Steve Jobs tuvo serios problemas para convencer a las compañías para que hicieran programas. Éstas pensaban que dos aplicaciones tan perfectas y sorprendentes que vienen de serie no tienen competencia. Mientras los clientes exigían mejoras a estos programas, las compañías exigían que se abandonaran para presentar ellos alternativas mejores. Jobs cedió ante ellas y separó éstos y algunos otros programas posteriores a una empresa filial llamada Claris. Claris no les dedicó mucha atención por orden expresa, y, contestando por fin a tu pregunta, seguramente en Apple hicieron la vista gorda en muchas cosas que copiaban estas nuevas empresas en sus productos.

Podría haber puesto esto en el artículo, pero el final tenía que ser el que es, como comprenderás tú especialmente.

Respecto a tus otras preguntas, Atkinson se dedica a hacer lo que quiere porque PUEDE. Y aunque hemos perdido un gran programador, tiene todo mi respeto. Lo de la biología es una larga historia que dejaremos para otro momento.

Anónimo dijo...

estoy ansioso por conocer la historia de la biologia... algún sábado, entre carrera y carrera...

Unknown dijo...

Normalmente no escribo comentarios para decir lo bueno que es el post. Me parece que no aporta nada pero voy a hacer una excepción.

Un post magnífico.

Ñbrevu dijo...

Creo que ya me deja, es una cookie que tenía desactivada (aunque el error que daba era otro).

Si no has jugado a la saga Myst, te la recomiendo efusivamente. Yo también soy megafan del sistema Scumm, pero es otro tipo distinto de juego. Éstos son los únicos juegos que realmente me hacen sentir como si estuviera allí, la ambientación es acojonante. Y además son juegos en los que hay que tener la vista, el oído y el cerebro funcionando siempre a toda máquina (aviso: no, no me pagan por hacer publicidad :P). Aunque no creo que eso sea problema para alguien como tú...

thehardmenpath dijo...

Al contrario, ñ, mi problema sería que me interesara, tal y como ando.

SR.B dijo...

Ese Hardme... Un placer coincidir ayer con usted...

Anónimo dijo...

un tipo frustrado, sí señor.

Anónimo dijo...

Hola,
Estoy interesado en adquirir el Macpaint para mi MacBook Pro ejecutando MacOSX 10.4.8.
Me gustaria saber si es posible de ejecutarlo y como puedo adquirirlo, ya que el link que tu pones al final del comentario no lo entiendo... Me sale solamente un larguísimo código, tengo que hacer algo con este código o no me tendria que salir esto?

Gracias!!!

thehardmenpath dijo...

Ese código es de un archivo comprimido que incluye un emulador con el macpaint para pc.

Unknown dijo...

¡Interesante lectura! Tan sólo me gustaría afinar un par de datos: en el 82 no había Macs (salieron en enero de 1984) y la "mágica" resolución de aquellos primeros compactos era en realidad de 512x342 y, como bien dices, en puro monocromo ("sal y pimienta", nada de escala de grises).

A propósito, otra de las hazañas de Atkinson fue el algoritmo de tramado ("dithering") que lleva su nombre, absolutamente necesario dado el carácter monocromático de los primeros Macs. Era rápido y más detallado a la vista que otros, como el Floyd-Steinberg.

thehardmenpath dijo...

Completamente correcto lo del 82. Lo corrijo. Lo de la resolución, sin embargo, no está mal. No me refiero a la pantalla, sino al tamaño de la hoja de papel del MacPaint.

Publicar un comentario