martes, mayo 16, 2006

Extensiones

Sigo probando el Vista Windows y veo que por defecto y como sus antecesores, este sistema operativo también oculta las extensiones de los archivos, como si tuviera vergüenza de ellas.

Las extensiones identifican el formato del archivo. Si termina en .jpg es una imagen. Es un sistema barato, malo y fácil. Si le cambiamos la extensión el archivo es reinterpretado como otra cosa, y aunque tengamos una imagen jpg en perfecto estado, el programa de música dirá que este mp3 (ji ji, le cambié la extensión a .mp3) no es válido.

Existen otros métodos, como el de darle por convención a los archivos un formato de encabezado que define su tipo de contenido, no es tan difícil, pero todos los productores de software tendrían que adaptar y cambiar el formato que definieron para sus archivos.

Otra alternativa es agregarle estos datos en un pequeño agregado al archivo y que es accesible sólo por el sistema operativo, el famoso fork (tenedor) de Mac. Tiene una contra: los forks se pierden cuando el archivo se graba en un sistema de archivos -esa es la traducción de file system- como por ejemplo, el infame CD (formato iso 9660).

De todos modos, si se tiene a mano la opción más barata, y esa es justamente que los archivos tengan un nombre que termina con una extensión, por qué ocultarlas? En KDE, cuando uno desea renombrar un archivo -que aparece con el nombre completo y extensión-, el texto seleccionado sólo incluye el nombre, y no la extensión. De esta manera uno no se ve tentado a cambiarle la extensión de buenas a primeras: es elegante.

Ocultar las extensiones hace que no podamos entender rápidamente si el archivo que tenemos es el que necesitamos. Hace que puedan  aparecer dos archivos que aparentan tener el mismo nombre y que en realidad tienen extensiones distintas. Si por ejemplo, dentro de una carpeta que se llama proyecto, pongo una imagen que se llama frente, y una planilla de cálculo que tiene los materiales llamada frente, tengo dos archivos que aparecen con el mismo nombre y que sólo están difrenciados porque tienen íconos diferentes.

Entiendo, para el usuario inexperto las extensiones son algo complicado y pueden borrarlas, y dejarlo manipularlas sólo haría que potencialmente sus archivo dejaran de funcionar. Muy malo para la oficina de soporte que tiene que ir a renombrar los archivos de la notebook del gerente porque "dejan de funcionar" más allá de que le hayan explicado el por qué mas de doscientas veces. Ya bastante problema tienen con la tecla de mayúsculas en las contraseñas.

Pero ocultarla las extensiones no es una solución, sigue siendo un parche horrible.

No sería una idea tan mala que el sistema operativo entendiera el formato de los archivos más comunes y determinara el contenido leyendo el principio del archivo. No es tan complicado, puede hacer las cosas un poquitito más lentas, pero se podría utilizar este criterio como alternativa, sólo cuando la extensión -o la falta de ella- se desconociera.

Distorsionar el nombre de un archivo conlleva a fallas de seguridad. Supongamos que hago un programa que se llama midibujo.exe y le pongo como ícono el clásico dibujito que tienen los archivos de imagen. Este usuario inexperto, y muchos usuarios expertos desprevenidos lo ejecutarían pensando que se trata de una imagen y de hecho, estarían ejecutando un programa que hace cosas malas.

No puedo educar al usuario y advertirle que no ejecute aplicaciones que no sean las que conoce. Se puede cuestionar qué cómo llegó esa aplicación allí de todas formas, pero no es el caso de este artículo. El archivo está allí, es una lástima.

Estos usuarios inexpertos dependen del antivirus para detectar esta clase de amenaza. Y ese antivirus tiene que estar al día. Ni hablar de un archivo hecho por alguien interno para instalar un programa que espíe o moleste o lo que sea.

El día que esta falla sea explotada por algún virus y se vuelva un bochorno, Microsoft va a estar más cerca de ponerle a todas las aplicaciones una figurita superpuesta al ícono inicial -otro parche- antes que revisar su política de poner la basura debajo de la alfombra.

De todos modos, con Vista Windows, Microsoft se puso más cerca de virtualizar carpetas, muy al estilo del Finder de Mac, y eso permite manipular enteramente la forma en la que se muestra el listado de archivos, su contenido y su ubicación.