Hagamos Todo de Nuevo

Todo está altamente interrelacionado,
Ted Nelson, el inventor de Xanadu.

La columna de este mes es un grito de cordura. Hace unos días, un importante ejecutivo de una gran compañía de computación de Estados Unidos me dijo: podíamos darnos el lujo de hacerlo bien porque teníamos los recursos y queríamos entrar a un mercado nuevo. A nivel técnico siempre nos gustaría hacerlo bien, pero el mercado dice otra cosa. No hay tiempo, no hay recursos, es ahora o nunca. El resultado son productos mal diseñados y mal probados. Actualmente, la única compañía que podría darse el lujo de hacer las cosas bien es Microsoft. Pero no pareciera querer hacerlo.

Problemas Fundamentales

La mayoría de la tecnología computacional que usamos hoy está basada en la suposición de que los recursos computacionales son caros. Esto no es cierto hoy en día. Sin embargo la solución no es usar el diseño que ya teníamos, sin optimizarlo y pedirle al usuario que se compre un computador dos veces más grande y más rápido. La velocidad de los procesadores ha aumentado 100 veces en los últimos 15 años y la memoria normal ha crecido unas 1000 veces. ¿Por qué entonces los sistemas operativos no son al menos 100 veces más rápidos? El auge de la computación móvil puede ayudar a que se mejoren los diseños en este ámbito, pues no podemos darnos el lujo de tener muchos recursos o usar mucha energía (batería).

Por las limitaciones del MacIntosh original que no podía ejecutar dos aplicaciones simultáneamente (muy distinto a sus poderosos predecesores: Lisa y Altos), la metáfora de escritorio del MacIntosh no estuvo centrada en los documentos. Por lo tanto el usuario estaba forzado a seleccionar una aplicación y luego escoger un documento, en vez de seleccionar primero un documento y luego la aplicación a usar en ese documento. Esto que parece ser lo mismo, supondría una diferencia fundamental en el desarrollo de interfaces. Sólo desde hace algunos años es posible seleccionar un documento y ejecutar una aplicación predefinida o escogerla de un menú. Citando a Bruce Tognazzini, uno de los diseñadores del MacIntosh: Hemos aceptado que la única manera de crear o editar un documento es abrirlo desde el interior de una aplicación o herramienta. Esto es equivalente a introducir una casa entera dentro de un martillo antes de poder colgar un cuadro en una pared o como poner los dientes dentro del cepillo antes de poder lavarlos (del ensayo Nehru Jacket Computers del libro Tog on Software Design, Addison Wesley, 1996).

Interfaces con Sentido Común

Analicemos las interfaces actuales. La información que almacenamos está basada en una jerarquía de archivos y directorios en la que navegamos de padre a hijo y viceversa. Es decir, en una sola dimensión. Más aún, debemos recordar en qué lugar está y qué nombre le pusimos a cada archivo que creamos (sin incluir las limitaciones de largo, símbolos, o de no poder poner nombres iguales). Por otra parte, aunque la pantalla es un espacio bidimensional, la interfaz usa muy poco este hecho y tampoco aprende de cómo la usamos y en que orden hacemos las cosas. Por ejemplo, podemos mover un archivo a través de toda la pantalla para tirarlo a la basura y justo al final nuestro pulso nos falla. Resultado: dos iconos quedan uno encima del otro. ¡La interfaz podría haber inferido que lo que intentaba hacer era deshacerme del archivo!.

La tecnología computacional que se usa debería ser transparente para el usuario. De hecho, ¿cuantos usuarios novatos sólo usan un directorio para poner todos los archivos que usan? El usuario no tiene para que saber que existen directorios o archivos. Además, no todo puede ser clasificado en directorios y archivos. Un archivo debería poder pertenecer a dos o más clasificaciones distintas y éstas podrían cambiar también en el tiempo. Cómo entendemos las cosas depende de nuestro contexto espacial y temporal. Nuestro alrededor no es estático, pero el computador sin necesidad nos fuerza a guardar nuestros documentos de una manera fija en el espacio y en el tiempo.

Pensémoslo bien. El computador debiera - y puede - nombrar y agrupar archivos y recuperarlos usando su contenido o los valores de algún atributo. Por ejemplo, poder decir: mostrar todas las cartas que estaba editando ayer; y obtener las primeras líneas de cada carta, escogiendo de ellas la que necesito. Otra suposición sin base es que necesitamos una interfaz común para todo el mundo. Las personas son distintas, piensan y trabajan de forma distinta. ¿Por qué no tenemos interfaces que se adaptan a cada usuario, que puedan ser personalizadas y que aprendan de la forma y orden en que hacemos las cosas? Para lograr esto debemos botar el pasado, reemplazar los sistemas de archivos por datos organizados de manera más flexible y poderosa. No se desanimen, ya estamos trabajando en ello.


Si tiene preguntas o sugerencias, envíe e-mail a rbaeza@dcc.uchile.cl