next up previous contents
Siguiente: Lucha de clases en Subir: . Anterior: Lanzador de bits   Índice General

Las Interfaces Gráficas de Usuario

LO PRIMERO QUE TIENE QUE HACER cualquier programador al escribir un nuevo fragmento de software es decidir cómo tomar la información con que está trabajando (en un programa gráfico, una imagen; en una hoja de cálculo, una tabla de números) y convertirla en una serie lineal de bytes. Estas cadenas de bytes se suelen denominar archivos o (de modo algo más a la última) flujos. Son a los telegramas lo que los humanos actuales son al hombre de Cromañón, lo que quiere decir la misma cosa con distinto nombre. Todo lo que se ve en la pantalla del ordenador --Tomb Raider, los correos electrónicos de voz digitalizada, los faxes y los documentos de procesador de textos escritos en treinta y siete tipos diferentes-- sigue siendo, desde el punto de vista del ordenador, igual que telegramas, sólo que son mucho más largos, y requieren más aritmética.

El modo más rápido de apreciarlo es abriendo el navegador, visitando un sitio web y seleccionando la opción «Ver Código Fuente» en el menú. Se mostrará un código informático parecido a este:

  <HTML>
  <HEAD>
    <TITLE>C R Y P T O N O M I C O N</TITLE>
  </HEAD>
  <BODY BGCOLOR="#000000" LINK="#996600" ALINK="#FFFFFF" 
        VLINK="#663300">

  <MAP NAME="navtext">
    <AREA SHAPE=RECT HREF="praise.html" COORDS="0,37,84,55">
    <AREA SHAPE=RECT HREF="author.html" COORDS="0,59,137,75">
    <AREA SHAPE=RECT HREF="text.html" COORDS="0,81,101,96">
    <AREA SHAPE=RECT HREF="tour.html" COORDS="0,100,121,117">
    <AREA SHAPE=RECT HREF="order.html" 
        COORDS="0,122,143,138">
    <AREA SHAPE=RECT HREF="beginning.html" 
        COORDS="0,140,213,157">
  </MAP>

  <CENTER>
  <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" 
        WIDTH="520">
  <TR>
  <TD VALIGN=TOP ROWSPAN="5">
    <IMG SRC="images/spacer.gif" WIDTH="30" HEIGHT="1" 
        BORDER="0">
  </TD>
  <TD VALIGN=TOP COLSPAN="2">
    <IMG SRC="images/main_banner.gif" ALT="Cryptonomicon by 
        Neal Stephenson" WIDTH="479" HEIGHT="122" BORDER="0">
  </TD>
  </TR>

Esto se llama HTML (Lenguaje de Marcado de HiperTexto) y básicamente es un lenguaje de programación muy sencillo que le dice al navegador cómo dibujar una página en la pantalla. Cualquiera puede aprender HTML y mucha gente lo hace. Lo importante es que, por muchas espléndidas páginas multimedia que representen, los archivos de HTML son sólo telegramas.

Cuando Ronald Reagan era locutor de radio, solía informar de los partidos de béisbol leyendo las concisas descripciones que llegaban por el telégrafo y se imprimían en cinta de papel. Se sentaba solo en una habitación insonorizada con un micrófono y la cinta de papel salía de la máquina y le caía en la palma de la mano, cubierta de crípticas abreviaturas. Si el tanteo pasaba de tres a dos, Reagan describía la escena como se la imaginaba: «El fornido zurdo sale del puesto de bateo para secarse el sudor. El árbitro se adelanta para limpiar el polvo de la base», etc. Cuando el criptograma en la cinta de papel anunciaba un golpe en una base, Reagan golpeaba el borde de la mesa con un lápiz, creando un pequeño efecto sonoro y describía el arco de la pelota como si pudiera verlo de verdad. Sus oyentes, muchos de los cuales presumiblemente creían que Reagan estaba de hecho en el campo de juego viendo el partido, reconstruían la escena en su mente según sus descripciones.

Así es exactamente como funciona la WWW: los archivos HTML son la concisa descripción en la cinta de papel y el navegador es Ronald Reagan. Lo mismo vale para las interfaces gráficas en general.

De modo que un sistema operativo consiste en una pila de metáforas y abstracciones que media entre los telegramas y tú, encarnando diversos trucos que el programador usó para convertir la información con la que estás trabajando --ya sean imágenes, mensajes de correo electrónico, películas o documentos de procesador de textos-- en las cadenas de bytes, que son lo único con lo que funcionan los ordenadores. Cuando usamos equipo telegráfico genuino (teletipos) o sus sustitutos de alta tecnología (teletipos de vidrio, o la línea de comandos de MS-DOS) para trabajar con nuestros ordenadores, estamos muy cerca de la base de esa pila. Cuando usamos la mayor parte de sistemas operativos modernos, sin embargo, nuestra interacción con la máquina se ve fuertemente mediada. Todo lo que hacemos es interpretado y traducido una y otra vez mientras se abre camino a través de todas las metáforas y abstracciones.

El sistema operativo de Macintosh fue una revolución en el buen y en el mal sentido de la palabra. Obviamente era cierto que las interfaces de línea de comandos (conocidas como CLI, Command Line Interfaces) no eran para todo el mundo, y que estaría bien hacer los ordenadores accesibles a un público menos técnico --si no por razones altruistas, siquiera porque este tipo de gente constituía un mercado incomparablemente mayor--. Está claro que los ingenieros de Mac vieron todo un país nuevo que se les abría; casi se les podía oír mascullar, «¡Caray! ¡Ya no tendremos que limitarnos más a los archivos como flujos lineales de bytes, vive la révolution, veamos lo lejos que llegamos con esto!» No había ninguna interfaz de línea de comandos disponible en el Macintosh; hablabas con la máquina a través del ratón, o no hablabas. Era una especie de declaración de principios, una credencial de pureza revolucionaria. Parecía que los diseñadores del Mac pretendían barrer las interfaces de línea de comandos a la papelera de la historia.

Mi propia historia de amor con el Macintosh comenzó en la primavera de 1984 en una tienda de ordenadores en Cedar Rapids, Iowa, cuando un amigo mío --por coincidencia, el hijo del dueño del descapotable-- me mostró un Macintosh ejecutando MacPaint, el revolucionario programa de diseño. Terminó en julio de 1995, cuando traté de guardar un archivo grande e importante en mi Macintosh PowerBook y, en vez de eso, destruyó los datos de modo tan concienzudo que dos programas distintos de recuperación de datos fueron incapaces de hallar rastro alguno de que hubiera existido jamás. En aquellos diez años sentí una pasión por el MacOS que por entonces parecía virtuosa y razonable, pero que mirando atrás me parece el mismo tipo de enamoramiento engañoso que el padre de mi amigo tenía con su coche.

La introducción del Mac inició una especie de guerra santa en el mundo de la informática. ¿Eran las interfaces gráficas una brillante innovación tecnológica que convertía a los ordenadores en más accesibles para los humanos y por tanto para las masas, llevándonos a una revolución sin precedentes en la sociedad humana, o una insultante chorrada audiovisual diseñada por hackers zumbados de San Francisco, que despojaba a los ordenadores de su potencia y flexibilidad y convertía el serio y noble arte de la computación en un pueril videojuego?

De hecho, este debate me parece más interesante hoy en día que a mediados de los ochenta. Pero la gente más o menos dejó de debatir cuando Microsoft respaldó la idea de las interfaces gráficas al sacar el primer Windows. En aquel momento, los partidarios de la línea de comandos se vieron relegados al estatus de viejos carcamales, mientras se disparaba un nuevo conflicto entre usuarios de MacOS y de Windows.1

Había mucho sobre lo que discutir. Los primeros Macintosh parecían distintos de otros PC incluso estando apagados: consistían en una caja que contenía tanto la CPU (la parte del ordenador que hace aritmética con los bits) como la pantalla del monitor. Esto suponía, en aquel momento, una especie de afirmación filosófica: Apple quería convertir el ordenador personal en un electrodoméstico, como la tostadora. Pero también reflejaba las exigencias puramente técnicas de ejecutar una inferfaz gráfica de usuario. En una máquina con interfaz gráfica, los chips que dibujan las cosas en la pantalla tienen que ir integrados con la unidad de procesamiento central, o CPU, del ordenador, en un grado mucho mayor que en las interfaces de línea de comandos, que hasta hace poco ni siquiera sabían que no estaban hablando sólo con teletipos.

Esta distinción era de naturaleza técnica y abstracta, pero se hacía más clara cuando la máquina fallaba (como sucede frecuentemente con tecnologías cuyo funcionamiento se comprende mejor viéndolas fallar). Cuando todo se iba a la porra y la CPU empezaba a escupir bits aleatoriamente, el resultado, en una máquina de interfaz de línea de comandos, era líneas y líneas de caracteres perfectamente formados pero aleatorios en la pantalla --lo que los conocedores llamaban ponerse cirílico. Pero para el MacOS la pantalla no era un teletipo sino un lugar en el que poner gráficos; la imagen en pantalla era un mapa de bits, una representación literal de los contenidos de una parte dada de la memoria del ordenador. Cuando el ordenador fallaba y escribía tonterías en el mapa de bits, el resultado era algo que recordaba vagamente a la nieve en una televisión estropeada: un snow crash.2

E incluso, tras la introducción de Windows, las diferencias subyacentes persistieron: cuando una máquina Windows tenía problemas, la vieja interfaz de línea de comandos caía sobre la interfaz gráfica como un telón de amianto, sellando el escenario de una ópera incendiada. Cuando un Macintosh tenía problemas, te presentaba el dibujito de una bomba, que resultaba gracioso la primera vez que lo veías.

Y estas no eran en absoluto diferencias superficiales. El retorno de Windows a una interfaz de línea de comandos cuando tenía problemas les demostraba a los partidarios del Mac que Windows no era más que una fachada barata, como una chillona manta afgana tendida sobre un sofá putrefacto. Les perturbaba y molestaba la sensación de que bajo la ostensiblemente amistosa interfaz de usuario de Windows había --literalmente-- un subtexto.

Por su parte, los fans de Windows podrían haber observado agriamente que todos los ordenadores, incluso los Macintosh, estaban construidos sobre ese mismo subtexto, y que la negativa de los dueños de Macs a admitir ese hecho parecía apuntar a una voluntad, incluso un deseo, de dejarse engañar.

En cualquier caso, un Macintosh tenía que mover bits individuales en los chips de memoria en la tarjeta de vídeo, y tenía que hacerlo muy rápido, y en patrones arbitrariamente complicados. Hoy en día esto resulta barato y fácil, pero en el régimen tecnológico vigente a principios de los ochenta, el único modo realista de hacerlo era integrar la placa base (que contenía la CPU) y el sistema de vídeo (que contenía la memoria proyectada sobre la pantalla) como un todo --de ahí el único contenedor, herméticamente sellado, que hacía al Macintosh tan distintivo.

Cuando apareció Windows llamaba la atención por su fealdad, y sus actuales sucesores, Windows 95 y Windows NT, no son cosas que la gente pagaría por ver. La absoluta falta de atención de Microsoft por la estética nos proporcionaba muchas oportunidades a todos los amantes de Mac para mirarles por encima del hombro. El que Windows se pareciera un montón a un calco directo de MacOS nos daba además una fuerte sensación de ultraje moral.3 Entre las personas que realmente conocían y apreciaban los ordenadores (los hackers, en el sentido no peyorativo que Steven Levy le da a la palabra4 y unos pocos otros ámbitos como los músicos profesionales, los artistas gráficos y los maestros), el Macintosh, durante un tiempo, era simplemente el ordenador. No sólo se consideraba una obra soberbia de ingeniería, sino la encarnación de ciertos ideales acerca del uso de la tecnología para beneficiar a la humanidad, mientras que Windows se consideraba una imitación patéticamente torpe y una siniestra combinación para dominar el mundo, todo en uno. Ya entonces se había establecido un patrón que persiste hasta nuestros días: a la gente no le gusta Microsoft, lo cual es comprensible; pero no les gusta por razones poco reflexionadas y, en último término, contradictorias.


next up previous contents
Siguiente: Lucha de clases en Subir: . Anterior: Lanzador de bits   Índice General
2003-05-11