| Full Text |
Historia y futuro de la interfaz hombre-máquina
Frecuentemente nos mostramos maravillados de cómo ha avanzado
la manera en que interactuamos con la computadora en los últimos
años, sin detenernos a pensar cuánta verdad hay –o no– detrás de
esta afirmación. A fin de cuentas, hace apenas unos años el uso
de las computadoras era verdaderamente limitado, y hoy en día
están en todos lados, y parecería que cualquiera es capaz de
manejarlas — Al menos, en sus funciones básicas.
Yo sostengo que esta es una afirmación falsa, basada en las
apreciaciones de gente ajena a nuestro campo, y producto más de
la popularización que de un verdadero cambio cualitativo. Claro
está, al poner en duda lo universalmente aceptado, recae en mí
sustentar mi afirmación.
Vamos, pues, con un breve recorrido de cómo evolucionó la
interacción hasta el día de hoy.
Los inicios
Las primeras décadas del desarrollo de la computación como una
disciplina aplicada de la ingeniería (tomando como punto de
partida de forma un tanto arbitraria a la primer computadora
electrónica en 1943, ENIAC) verdaderamente vieron un cambio
radical en la manera en que los usuarios se aproximaban a la
computadora — Esto resulta poco más que una obviedad, dado que
antes de 1943 no existían las computadoras siquiera.
Las primeras computadoras no tenían nada que hoy reconoceríamos
como interfaz — Tanto instrucciones como datos eran introducidos
directamente a las ubicaciones de memoria al iniciar la
ejecución a través de tarjetas perforadas, y eran leídos de
los registros del procesador, mostrándolos directamente
en un volcado binario, hacia tarjetas o cintas perforadas, que
debían ser traducidas a algo legible empleando dispositivos
mecánicos independientes.
Teletipos y terminales
El primer avance resultó en una dirección obvia, pero facilitó
tremendamente tanto el uso como el aprovechamiento de los
resultados: La interfaz textual. No hablo aún de una pantalla,
sino de la adecuación del teletipo, híbrido de teclado
e impresora, que comenzó su existencia como un reemplazo más
ágil y confiable que el código Morse para la comunicación a
larga distancia. El teletipo permitía ingresar programas mucho
más complejos a memoria, lo cual llevó a que naciera y
popularizara un concepto que nos parece muy ajeno a las
interfaces de usuario: El de los archivos. Aparecieron
los primeros editores (obviamente, mucho más espartanos de lo
que conocemos hoy, y orientados a trabajo línea por línea), y
como consecuencia directa, los programas pudieron comenzar a
presentar una mucho mayor complejidad – llevando a la
introducción de bibliotecas de código y a las diversas
abstracciones y estrategias para manejar la complejidad.
La transición del teletipo a la pantalla no es tan simple como
podría parecer. Dejando de lado la mera complejidad técnica
(relativa al estado del arte de la época) de crear dispositivos
independientes y de relativo bajo costo capaces de mantener
comunicación con la computadora central, generando la imagen en
pantalla del texto que iban recibiendo — lo cual implicaba que
tuvieran una memoria interna, aunque mínima para estándares
modernos1, las
ventajas de tener terminales con cierto grado de inteligencia se
hicieron obvias, y comenzaron a aparecer terminales con
diferentes
estándares2 capaces
de reposicionar el cursor, o de desplegar texto con atributos
(negritas, subrayado, colores), caracteres semi-gráficos, hasta
verdaderas capacidades de formularios como las que manejaban las
IBM 3270, que comenzaron a permitir desacoplar la lógica de un
programa de su presentación tal como hoy lo vemos en los
navegadores Web.
Las terminales además fueron centrales para la aparición de
computadoras multitarea/multiusuario. Quienes gustamos de
utilizar sistemas Unix utilizamos como una de nuestras
herramientas más poderosas al emulador de terminal, o
como le dice el resto del mundo, la ventana negra. Si
bien las terminales como producto de hardware hace mucho tiempo
que ya no existen para propósitos prácticos, la interfaz de
línea de comandos programable permite un grado de expresividad
tan rico que no ha podido ser reemplazado por ningún otro
medio.
WIMP: Window, Icon, Menu, Pointer
En diciembre de 1968, en los laboratorios de Palo Alto de
Xerox, Douglas Engelbart presentó la que al día de hoy se conoce
como la madre de todas las demos: La introducción de la
interfaz gráfica básica que seguimos utilizando hoy en día,
manejada a través de un apuntador controlado por un
mouse, presentando ventanas para la visualización de
las diferentes aplicaciones en uso (o vistas de una misma
aplicación), iconos representando atajos a las acciones
de sistema disponibles, y con un menú como elemento
estándar presentando las acciones relacionadas con cada
aplicación activa. Y, claro, para la entrada y manipulación de
datos dentro de cada aplicación, el dispositivo primario seguirá
siendo el teclado.
La demostración de Engelbart incluía ejemplos de aplicaciones
verdaderamente revolucionarias en esa época, como la
videoconferencia, el correo electrónico, el hipertexto o un
editor colaborativo de tiempo real.
Y aunque ha habido refinamientos sucesivos y grandes cambios en
la parte estética de esta propuesta, para las computadoras de
uso general seguimos utilizando este esquema de interacción —
Con más de cuarenta años de antigüedad.
Interfaces de propósito acotado
Posiblemente el mayor cambio en las interfaces de usuario viene
de que, cada vez con mayor fuerza, tenemos dispositivos con gran
poder de proceso de cómputo sin un formato de computadora de
propósito general. No veo como casualidad que hoy veamos con
entusiasmo a las interfaces tan revolucionarias como
las presentes en teléfonos celulares o consolas de videojuego —
Estamos llegando al punto en que vamos encontrando formas muy
convenientes de interactuar con computadoras de
propósito acotado, aunque éstas no sean adecuadas para
aquellas de propósito general. Ilustro esto con dos ejemplos:
Con la generación actual de consolas de videojuegos, Nintendo
se anotó el mayor éxito al introducir su Wii: Una consola de
relativamente bajas prestaciones y muy inferior a su competencia
en las áreas en que típicamente competían, la capacidad
gráfica. Sin embargo, su apuesta más fuerte fue hacia una
interfaz novedosa: Los controles basados en acelerómetros, que
permitieron modelar diferentes actividades como nunca
antes se habían presentado en videojuegos.
Por otro lado, el iPod de Apple introdujo una interfaz
largamente prometida, basada en una pantalla táctil de tamaño
reducido, y orientada a equipos destinados al entretenimiento, a
la consulta rápida de información, y especialmente popularizada
a través del teléfono aparecido poco tiempo después. Sin
embargo, si bien esta interfaz ha resultado natural para una
gran cantidad de personas, resultaría indudablemente impráctica
y antiergonómica para una computadora de propósito general.
Y claro, seguiremos viendo nuevas interfaces dedicadas a tareas
específicas — Las más exitosas serán, sin duda, las más
transparentes: Las que se integren de manera transparente a las
tareas, mejorando nuestra vida sin requerir que reparemos
siquiera en su existencia. Por ejemplo, ¿cuánta gente está
consciente de la cantidad de cálculos que se realizan en un
automóvil? ¿No es acaso uno de los mejores ejemplos de cómputo
ubicuo que se ha insertado silenciosamente en nuestras vidas?
Otras ideas
Han habido, claro, otras muchas propuestas de interfaces para
uso general. En general no han sido bien aceptadas, o han sido
empleadas sólo en contextos muy específicos. Algunos ejemplos
son:
- Pantallas táctiles
- Desde mediados de los 1980, Hewlett-Packard introdujo su
línea de computadoras HP110, con una pantalla sensible al
tacto. Esta interfaz prometía ser más ágil y natural que el
mouse (que requiere un nivel de coordinación no trivial). Y si
bien esta interfaz tuvo un moderado éxito en áreas como los
kioscos (cajeros automáticos, puntos de toma de pedido en
restaurantes de comida rápida, etc.), nunca fue del todo
aceptada para un uso general por lo poco ergonómico que
resulta tener que levantar la mano constantemente para apuntar
a puntos de la pantalla.
- Reconocimiento de voz
- La ciencia ficción de los 1970 (piensen en HAL de 2001 o en
la serie Star Trek) presentó a la voz como la
principal forma de interacción hacia la computadora (y un
combinación de voz y despliegue en pantallas para los
resultados). Se han ensayado interfaces de reconocimiento de
voz, pero han fallado una tras otra por la dificultad que
presenta el lenguaje humano, la alta variabilidad de los
elementos que permiten reconocer las palabras en diferentes
idiomas e incluso con diferentes acentos. Además de esto,
fuera de dar comandos puntuales, "dictar" un texto a la
computadora no es una tarea tan simple como podría parecer: Al
redactar un texto, el proceso normal que seguimos implica ir
hacia atrás y hacia adelante, corrigiendo el texto,
reemplazando y reformulando las frases. Una interfaz de
dictado deberá saber discriminar el texto de las órdenes, lo
cual requerirá un entrenamiento nada trivial al usuario.
- Manipulación 3D
- Presentar la información como objetos del mundo real,
manipulables a través de guantes o gestos, aparece como muy
atractivo. Podemos ver un ejemplo muy cuidadosamente
desarrollado de una interfaz basada en estas ideas en la
película Minority Report (Steven Spielberg, 2002). El
poder de procesamiento y el hardware especializado para hacer
este tipo de manipulaciones, sin embargo, no justifica –al día
de hoy– el costo que significaría. Hay aplicaciones, claro,
para las que este costo sí se justifica; en México, la
Dirección General de Servicios de Cómputo Académico de la UNAM
cuenta con la computadora especializada Ixtli para
simulación y visualización, y si están interesados en conocer
esta tecnología pueden solicitar visitas guiadas demostrando
su funcionamiento.
Claro, hay muchas más ideas en el tintero, y en los años por
venir seguro veremos varias más. Sin embargo, no ha habido
cambios substantivos en las interfaces para interactuar con una
computadora de propósito general en los últimos 40
años. Me resisto a creeer que esto sea porque el modelo actual
sea perfecto; como desarrolladores, tenemos la tarea de
proponer, adoptar y evaluar nuevos modelos de interacción.
1 Una terminal
tonta, la categoría más simple de terminal, requiere de
una memoria interna a partir de unos 2KB en anillo para
representar los 80x25 caracteres que puede presentar en
pantalla; (no olvidemos que las primeras computadoras
personales que se vendieron al público, ya en los 1970,
tenían típicamente una memoria total de 4Kb)
2 Estándares como
ANSI, VT100, VT220, Wyse, y muchos otros que aún a 40 años de
su introducción siguen en amplio uso
|
Post new comment