miércoles, 7 de enero de 2009

Conversaciones con HAL

En la actualidad, la gran mayoría de los usuarios de ordenadores no concibe otro medio de interacción con el computador que no sea la interfaz gráfica visual. Encendemos la máquina y nos encontramos, a los pocos segundos, con un bonito "escritorio" poblado de "iconos". Si "pinchamos" sobre ellos, accedemos a diversas aplicaciones, las cuales se nos muestran como "ventanas", que a su vez, contienen más iconos agrupados en "barras de herramientas". Y, aunque sigue habiendo fragmentos de texto ---incorporados en "menús", "pestañas", "cuadros de diálogo", etc.--- a los que debemos recurrir cuando los objetos puramente figurativos y visuales no son suficientes, se procura, cada vez con mayor conciencia, diseñar interfaces de aplicación limpias y sencillas donde el recurso a lo textual se limite lo más posible. Idealmente, la presencia de texto en los objetos de la interfaz gráfica debería reducirse al máximo, hasta llegar al paraíso de su total desaparición.

Así pues, tanto las interacciones propiamente dichas con los objetos de la interfaz de usuario, es decir, el tipo de acciones que el usuario realiza sobre tales objetos ---"pincharlos", "moverlos" "arrastrarlos", etc.---, como los objetos mismos que, en su mayor parte, contribuyen a la construcción de esa interfaz, pueden calificarse de visuales, espaciales, táctiles, o cualquier otra palabra que se quiera elegir por contraposición a textuales, verbales o lingüísticos.

La metáfora se ha impuesto. A través del movimiento de nuestros ojos ---y de nuestras manos--- por la pantalla del ordenador, nos incorporamos a un mundo de entidades físicas virtuales sobre el que operamos de un modo no esencialmente diferente al del niño que manipula sus juguetes o al del artesano que con sus herramientas da forma a la materia sobre la que trabaja. Desde este punto de vista, el propio teclado, pensado básicamente para introducir texto, ---y, por extensión, cualquier otro dispositivo exótico del mismo tipo como un sintetizador de voz--- tendría que convertirse en un instrumento completamente secundario, del que finalmente se debería prescindir. Una idea que puede hacerse realidad de cuajar propuestas como las pantallas táctiles, los recientemente anunciados MacBook Wheel o las interfaces a lo Minority Report, ahora menos ciencia ficción de lo que se podría suponer.

Sin embargo, las cosas nos parecerían muy diferentes si atravesáramos la barrera mental de la interfaz del usuario y, buceando en su interior, nos parásemos a contemplar qué es lo que hace que dicha interfaz funcione. Lo que veríamos serían larguísimas líneas de puro texto ---el código del programa--- que, básicamente, consiste en un complejo entramado de instrucciones dadas a la máquina para que genere lo que luego vemos y para que eso que vemos se comporte como esperamos. Es secundario que ese conjunto de instrucciones se organice en torno a funciones independientes o como funciones miembros de ciertas estructuras de datos. Lo significativo es atender al hecho de que el ordenador se limita a ejecutar las instrucciones que el programador le indica a través del código.

Resulta, pues, evidente que, por detrás ---o por debajo--- de la metáfora visual, la interacción con la máquina es esencialmente lingüística: al programar, hablamos, literalmente, con la máquina, mediante un lenguaje artificial que ella pueda comprender, pero, en último extremo, no de un modo muy diferente a como se habla con alguien al que se le instruye para que haga lo que queremos hacer.

No es de extrañar que la primera interfaz de usuario fuera también de orden lingüístico. De hecho, los primeros usuarios de ordenadores fueron los programadores mismos, y para ellos lo más natural tenía que ser pensar su interacción con la computadora como una relación lingüística, la misma que sostenían con ella cuando la programaban.

Como ya he comentado en otras entradas de este blog, los sistemas Unix y afines ---GNU/Linux, MacOS X, BSDs, Solaris, etc.--- siguen disponiendo de esta interfaz textual, que es, en lo fundamental, la misma que imaginaron y desarrollaron los creadores de la informática.

En mi opinión, se pierde mucho si, movidos por el atractivo de la interfaz visual y por su omnipresencia, acabamos abandonando esa interacción lingüística directa con la máquina ---la indirecta o profunda, sigue estando ahí, en el código, como acabo de comentar.

Se pueden esgrimir varios argumentos para defender esta opinión. Me abstengo, no obstante, de ofrecerlos ahora. Me interesa bastante más plantear explicaciones concretas del uso de la interfaz textual, que ayuden a los no familiarizados con ella a comprender por qué unos cuantos seguimos prefiriendo "hablar" con la máquina en lugar de sucumbir por completo al encanto del universo virtual de ventanas, iconos y widgets de todas las clases que se nos propone como sustituto de ese diálogo. Quizá el ejemplo concreto tenga, al cabo, una fuerza mayor que cualquier argumento abstracto y haga que algunos curiosos se atrevan también a "conversar" con su computadora.

Con este fin me he propuesto escribir algunas entradas, que etiquetaré bajo el epígrafe "Conversaciones con HAL", a modo de introducción, probablemente poco convencional, al terminal de Unix.

Que haya elegido semejante título ---"Conversaciones con HAL"--- como etiqueta de la serie es, claro está, en recuerdo de esa celebérrima aparición de una interacción hombre-máquina en las pantallas de cine: 2001 de Kubrick, en donde tal relación fue concebida igualmente en forma de diálogo.

Y aquí termina la necesaria introducción, no sin antes aclarar que, como esto es un blog personal, y como en él sólo escribo de tarde en tarde ;-), no puedo determinar ni la frecuencia con que aparecerán los artículos previstos ni el número posible de ellos. Puede que me canse pronto y quede todo en agua de borrajas. De momento, se trata sólo de un proyecto. Cuál vaya a ser su destino es tan desconocido para el que esto firma como para sus potenciales lectores. Ventajas e inconvenientes de escribir sólo por placer y sin presión externa de ninguna clase.

11 comentarios:

  1. ¡¡Enhorabuena!!

    Te felicito por la idea que has tenido. Yo te sigo las conversaciones con HAL. Es divertido.

    ResponderEliminar
  2. Me alegro que más de uno se beneficie de la diversión, aparte de la persona para la que van dirigidas ;-)

    ResponderEliminar
  3. Hola átopos, estoy encantado de tu blog. Soy un gran admirador tuyo. ¿que hariamos sin gente como tu los que un día decidimos pasarnos al sofware libre?
    Por favor no lo dejes.

    ResponderEliminar
  4. Gracias, Ana. Me alegra saber que con mi grano de arena puedo ayudar a mantener viva la ilusión y el interés por el software libre y todo lo que sigue significando para muchos de nosotros. Espero seguir en la brecha en la medida de mis posibilidades.

    Esto es lo bueno del software libre. Todos podemos aportar para que siga creciendo y, de paso, para sentirnos parte de un proyecto que va más allá de nosotros mismos.

    ResponderEliminar
  5. Muy interesante proyecto. No digo mucho más porque he empezado por donde se tiene que empezar y voy a ver ahora qué hay en las demás entradas, pero, en principio, parece interesante y útil. A ver qué podemos hacer con esto los peces en informática que hemos decidido lanzarnos a Linux.

    Me ha parecido, además, muy bonito el carácter lingüístico y comunicativo que le ha dado Vd. a la relación entre usuario y sistema operativo.

    Un saludo.

    ResponderEliminar
  6. Bien, lo he tomado para darte a conocer en el podcast.
    Saludos!

    ResponderEliminar
  7. Gracias, Ariel. Estupendo :-) Y toma nota de vuestro sitio que, increíblemente, no conocía todavía :-O

    ResponderEliminar
  8. Hola Ariel. Me acabo de encontrar con este blog a través de mi lector de noticias Liferea y me encanta esta idea de conversaciones con Hal. Es justo lo que necesito para dar ese salto y entender las cosas más a fondo. Gracias.

    ResponderEliminar
  9. Hola Átopos. Me acabo de encontrar con este blog a través de mi lector de noticias Liferea y me encanta esta idea de conversaciones con Hal. Es justo lo que necesito para dar ese salto y entender las cosas más a fondo. Gracias.

    ResponderEliminar
  10. Este comentario ha sido eliminado por un administrador del blog.

    ResponderEliminar
  11. Hola mi nombre es Kikiloven. He leido con detenimiento los argumentos dados en este editorial y no puedo decir mas que siento una gran admiración por quien lo ha escrito. Un servidor nunca podrá estar a la altura de quien es capaz de ordenar y hablar con una computadora, como si de una persona se tratara. Le felicito por ello.

    ResponderEliminar