Archivo categoría Software
Librerías de archivos: en busca de lo esencial
Por ivan - Mundo Apple, Software - 5/Jul/2009
Después de utilizar algunas aplicaciones muy conocidas de gestión de fotos y archivos de música, tengo la sensación de que este software carece normalmente de algo esencial: herramientas para mantener coherente y consistente la información de la biblioteca digital.
El iTunes de Apple es un perfecto ejemplo. En el menú de preferencias puede elegirse si se desea que iTunes gestione los archivos de música, o si por el contrario, el usuario se encarga de esta tarea. Personalmente, no me disgusta la forma que tiene esta aplicación de clasificar y ordenar los ficheros. El iTunes crea carpetas por autor y subcarpetas por álbum, de manera que todo queda muy bien ordenado en el disco.
Pero, ¿significa esto que la información es consistente y coherente? No, ciertamente. Supongamos que quiero saber si tengo canciones duplicadas o repetidas en mi biblioteca. Lástima, no existe ninguna función en el iTunes para explorar los archivos en busca de duplicados. Imaginemos ahora que deseo averiguar si alguno de los archivos no está correctamente enlazado en la base de datos interna del programa (los odiosos archivos huérfanos): mala suerte, tampoco podemos buscarlos. Lo único que podemos hacer es reconstruir toda la base de datos a partir de los ficheros del disco, cosa que, evidentemente, te hace perder todo los contadores de reproducción y las puntuaciones. Mala cosa.
¿Y si quiero averiguar si alguno de los ficheros de mi biblioteca musical no está correctamente clasificado? ¿O tiene una calidad insuficiente? Esto tampoco es posible usando únicamente iTunes. Si, por ejemplo, quisiera procesar todos los archivos MP3 de mi colección para averiguar si hay canciones a las que les falta información en los tags ID3, tendría que recurrir a herramientas externas.
Me preocupa que funciones esenciales como las descritas no estén contempladas en el diseño de un gestor de archivos, cuya misión es, básicamente, mantener una biblioteca de objetos clasificada y ordenada de forma eficiente. La carencia de lo básico nos lleva al desastre: conforme la librería de archivos MP3 crece, aumenta el caos. Como bien dicen la Ley de Chaney de las conocidas Leyes de Murphy:
La entropía no requiere mantenimiento
El iTunes juega con ventaja, ya que implementa la posibilidad de ejecutar AppleScripts, pequeños scripts para automatizar tareas en el sistema Mac. El paralelismo que se me viene a la cabeza es el de las macros de Visual Basic que todos conocemos y probablemente hemos usado en el Word o en el Excel de Microsoft. Se trata del mismo concepto, pero para el OS X de Apple. En la página web Dougscripts.com podemos econtrar varios scripts de libre uso diseñados para realizar tareas básicas como las que he descrito anteriormente. Sin duda, una página web muy recomendable si eres usuario de iTunes.
Lo ideal sería que el iTunes incluyera funciones como las que he comentado en su menú de herramientas. Y que todas las aplicaciones cuya misión consista en gestionar libreías de archivos explotaran realmente las posibilidades de un archivo digital. No se trata de una colección de libros en una estantería. Se trata de ficheros en el disco duro de un ordenador. Y no es un bibliotecario el que tiene que recorrer con la vista cada estante. Es un programa informático el que abre y lee los ficheros. Las posibilidades son, obviamente, infinitamente mayores. ¿Por qué se empeñan los fabricantes de software en desperdiciarlas?
Las absurdas limitaciones del Outlook
El Microsoft Outlook es seguramente uno de los clientes de correo más utilizados en el ámbito empresarial, un software mejorable, pero aceptable en mi opinión. Lo peor es, sin duda, el increíble grado de enrevesamiento logrado en los menús de preferencias, donde todo se mezcla y combina de la forma más confusa y difícil que uno pueda llegar a imaginar.
Sin embargo, el Outlook es sólo un esclavo de la pieza maestra de la suite de correo de Microsoft, el Exchange Server. Como es habitual en los productos del gigante americano, todo en él es propietario y privado, desde los protocolos hasta los formatos de archivo de mensajes.
Pero no es esto lo más doloroso del Exchange Server. Podemos vivir con ello, y con la mayoría de sus peculiaridades, sin sufrir graves trastornos mentales. Con lo que es difícil vivir es con su absurdas limitaciones.
Las versiones del Exchange lanzadas en los años 2000 y 2003 tienen una inexplicable limitación en el número de reglas que el usuario puede definir por carpeta. Se pueden crear tantas reglas como se quiera, pero siempre que no ocupen más de 32 Kb de espacio de almacenamiento en el servidor (queda abierta la duda de en qué formato se guardan las reglas para poder determinar cuánto ocuparán).
Normalmente, las reglas se crean para la bandeja de entrada, de modo que esta limitación es inherente al uso del servicio de correo, y se extiende al propio Outlook, porque el cliente no puede filtrar los mensajes de correo (no tiene esa funcionalidad). Resulta increíble que en el año 2003, poco antes de que Google lanzara su servicio de correo GMail con buzones de 1 Gb, el servidor de correo Exchange Server diseñado para dar servicio a empresas ofrezca a los usuarios la increíble capacidad de 32 Kb para almacenar sus reglas de filtrado de mensajes.
Mi primer ordenador personal, el entrañable Commodore Vic-20, tenía 5 Kb de memoria RAM. Las tarjetas de expansión eran del tamaño de una cinta de vídeo VHS, y permitían ampliar la memoria hasta unos increíbles 32 Kb (o incluso, 64 Kb). 32 Kb eran, en el año 1981, muchos bytes. En el año 2003, era ya una cantidad miserable. Hoy en día es mucho menos de lo que ocupa cualquier documento sencillo del Office, es 200 veces menos que lo que ocupa una canción MP3, y 20.000 veces menos que lo que ocupa una película en DivX. Sin embargo, el Exchange Server nos limita a 32 Kb la capacidad de almacenamiento para reglas de filtrado. Con la versión de 2007 podríamos llegar hasta 128 Kb. Un gran avance, al menos para Microsoft.
Otra limitación notable que he recordado tras tropezar con la anterior es la de los buzones locales de almacenamiento de mensajes, que el Outlook guarda como archivos de extensión .pst (Personal Storage Table). El Outlook 97 permitía crear buzones locales de hasta 2 Gb. Cuando se sobrepasaba este tamaño, simplemente se corrompía el fichero y ya no se podía acceder a él (una funcionalidad realmente interesante para facilitar la vida del usuario). Con el Outlook 2003, el límite se eleva a 20 Gb. Realmente incompresible la necesidad de poner límites a algo que debiera ser tan grande como permitiera el soporte físico (en este caso, el espacio del disco duro). Cualquier otra limitación es, simple y llanamente, la demostración de que algo no está bien hecho en el software.
Ningún programa informático resiste bien el paso del tiempo, pero si se añaden limitaciones de diseño ridículas, nos encontraremos pronto con la cruda realidad de una herramienta inútil por un diseño deficiente.
Diseñar programas para usuarios idiotas
Me he encontrado hoy con una interesante frase de Linus Torvalds, citada en el blog de Jose M. Aguilar, en un artículo titulado Otras 101 citas célebres del mundo de la informática:
Si piensas que los usuarios de tus programas son idiotas, sólo los idiotas usarán tus programas
Realmente interesante, me hace recordar la de veces que he sufrido una interfaz de usuario diseñada para idiotas, o peor aún, diseñada para Homer Simpson, que pronunció la divertida pregunta “¿Dónde está la tecla ANY?” cuando la máquina le presentó el conocido mensaje “press any key…”.
En el mundo del software, el exceso de poder en manos del usuario final se ve como un riesgo potencial, al que no hay que exponerse. El riesgo no es ficticio, los idiotas abundan y la autodestrucción (informáticamente hablando) del idiota es un hecho demostrado. El ejemplo básico es el de aquel que estrena un PC y en pocos minutos vuelve a la tienda porque ya no le funciona. Se le coló un virus, borró algún archivo que no había que borrar, o simplemente no reparó en que tomar café encima del teclado puede resultar peligroso.
De esta forma, los desarrolladores se estrujan los sesos para diseñar a prueba de idiotas. Y el resultado, como nos recuerda Linus Torvalds, es que esas herramientas tan cuidadosamente concebidas para que la mente menos capaz no pueda cometer un acto de PC-cidio resultan insufribles para la mayoría de los mortales.
El Windows Vista es el caso práctico. Cada micro-acción que acomete el usuario es convenientemente acompañada de un cuadro de diálogo advirtiendo de los peligros inherentes. ¿Está seguro de que desea borrar? ¿Está seguro de que desea aceptar? ¿Está seguro de que desea pulsar ese botón? Y qué decir de los mensajes recurrentes tipo “Windows ha detectado que no tiene anti-virus”, o los pertinentes mensajes de las actualizaciones. El sistema operativo es obstinado, quiere proteger y acaba siendo agobiante, infernal, insufrible. La configuración del Vista (y del XP) por defecto, es absolutamente inútil, lo que podríamos llamar un Sistema No-Operativo.
Sospecho que se está confundiendo el poder de hacer cosas (que se limita por miedo), con el poder de hacer cosas de forma simple (que debería ser el objetivo final del sistema operativo, y de cualquier programa informático). Realmente, el usuario no es idiota, o no es más idiota que el idiota que está diseñando la interfaz de usuario. El usuario sólo quiere que para hacer una tarea básica la aplicación le proporcione una vía simple, directa y comprensible.
Quizá lo que habría que hacer es diseñar para que los usuarios más idiotas puedan hacer lo mismo que hacen los que saben la tabla de multiplicar en binario y programan en ensamblador. Supongo que es un reto, pero creo que no estamos tan lejos de lograrlo. De momento, los que hemos renegado del Vista hemos descubierto que se puede hacer lo mismo, más fácilmente. Para los que somos idiotas es un verdadero alivio.
Por qué no hay que odiar a Microsoft
Por ivan - Sociedad y Tecnología, Software - 5/Jun/2009
Microsoft está a punto de lanzar el Windows 7, el sistema operativo que hará que los usuarios olviden las penurias sufridas con el Windows Vista, que los fabricantes de ordenadores puedan ofrecer al cliente un producto competitivo, y que los fabricantes de software puedan vender nuevas versiones de sus viejos productos, ahora sí, para un sistema operativo que funciona. Todos ellos tienen, al parecer, motivos para odiar a Microsoft por no haber fabricado antes el Windows 7 (mucho antes). Pero lo cierto es que, si se piensa un poco, todos ellos deberían estar eternamente agradecidos a Bill Gates.
El planteamiento que me hago es el siguiente: Microsoft ha impulsado como nadie la industria informática, a base de grandes e increíbles errores, de los que no podemos si no estar eternamente agradecidos. ¿Cómo es esto posible?
Desde el primer sistema operativo Windows hasta hoy, los agujeros de seguridad del software de Microsoft se cuentan por millares. El impacto en el usuario, probablemente nefasto, se compensa con el enorme empuje y desarrollo dado a los fabricantes de software de seguridad, ya sean antivirus, firewalls, detectores de spyware, o de troyanos. Las empresas de este sector se frotan las manos cada vez que Microsoft mete la pata. No en vano, el beneficio que genera el mercado del software de seguridad fue en el año 2008 de más de 200 millones de dólares.
Los desarrolladores de las diferentes versiones de Linux no han contribuido para nada al desarrollo de esta industria. Tampoco ha contribuido mucho Apple y su OS X. En estos sistemas operativos (y en muchos otros, naturalmente), los problemas de seguridad son poco frecuentes, y los virus especies en extinción.
Y lo mismo podemos decir de la enorme cantidad de empresas dedicadas al desarrollo de aplicaciones para suplir las increíbles deficiencias del Windows 2000, del XP, del Office y de tantos otros productos fabricados bajo el imperio de Bill Gates. Hablo de aplicaciones de limpieza del registro, optimización de la configuración, gestión del almacenamiento y de la memoria, cifrado de datos y seguridad, etc.. El abanico es amplio. Microsoft es una mina para todos ellos.
El gigante de Redmond es también el mecenas del software libre. Gracias a Microsoft y a la mala calidad de sus invenciones, la comunidad ha reaccionado e impulsado opciones de software libre mucho más eficientes y funcionales. El ejemplo más claro es el Internet Explorer: ¿existiría el Firefox si Microsoft hubiera desarrollado un navegador decente para su sistema operativo?
¿Y qué decir de los fabricantes de hardware, componentes y ordenadores? Sin duda deberían proponer la beatificación de Gates y establecer rutas de peregrinación a las oficinas centrales de Redmond como símbolo de gratitud. Cada nueva versión del Windows ha requerido más disco duro, más memoria, más CPU, más de todo, aunque al final no aportara nada realmente.
El Vista ha sido el climax del más de todo, y menos que nada. Como bien reza una popular frase de Internet, la velocidad de los ordenadores se duplica cada año, justo el tiempo que tarda Microsoft en sacar una nueva versión de su sistema operativo, para volver a la situación anterior.
Para terminar, nos queda sólo aclarar por qué los usuarios deberían amar Microsoft. Ellos no parecen obtener ningún beneficio, y son conscientes de que van a sufrir innumerables problemas. Quizá esto sea en sí mismo un aliciente: ¿en qué iba el usuario a entretenerse si todo funcionara a la primera? Pero yo me inclino más por la explicación de Esther Schindler (OS/2 Magazine):
Microsoft’s biggest and most dangerous contribution to the software industry may be the degree to which it has lowered user expectations.
Id est,
La mayor y más peligrosa contribución de Microsoft a la industria del software podría ser el grado en que ha rebajado las expectativas del usuario.
Linux en la lavadora
Hace tiempo me sorprendió encontrar la página web de un grupo de desarrolladores que está trabajando para compilar Linux en los diferentes reproductores MP3 de Apple (iPod, iTouch, iPhone). La idea de reemplazar el firmware del fabricante por un micro-Linux, específicamente adaptado al dispositivo en cuestión, es sumamente atractiva. Abre la puerta a nuevas aplicaciones para un hardware que, inicialmente, ha sido diseñado con propósitos mucho más específicos, pero que debido a su naturaleza intrínseca (no deja de ser un ordenador en miniatura) puede ejecutar otros programas.
Animado por esta idea, he buscado ejemplos similares aplicados a otros dispositivos. Conocía ya uno de ellos: el proyecto NSLU2-Linux, dedicado a convertir el servidor de almacenamiento en red NSLU2 de Linksys en un mini PC capaz de ejecutar servicios de red, servidores web, de correo o FTP, o programas de intercambio de archivos peer to peer, por poner algunos ejemplo. El NSLU2 es una pieza hardware codiciada, dada su versatilidad y bajo coste, y también por el hecho de que ya no se fabrica (una pena).
Otros ejemplos los he encontrado en el vasto mundo de las vídeo consolas. La XBox tuvo enseguida un ejército de desarrolladores trabajando para hacer que pudiera correr Linux, lo cual no era demasiado difícil, dado que en el fondo, esta consola era un PC en una caja bonita. El proyecto XBox-Linux ya no tiene tanta vigencia, puesto que esta consola ha sido reemplazada por la XBox 360, en la que Microsoft incorporó algunos mecanismos anti-hacking dirigidos a obstaculizar la instalación de otro sistema operativo. Por lo visto, no fueron del todo eficaces (como era de esperar). Sony fue algo más inteligente, y decidió incorporar a su Play Station la posibilidad de correr Linux de serie. El Linux Kit para Play Station 2 es un ejemplo de cómo ampliar la funcionalidad de un producto para que sea totalmente disfrutado por sus usuarios.
Lo más interesante de todos estos ejemplos es el increíble trabajo colaborativo desinteresado que subyace detrás de cada proyecto de llevar Linux a una plataforma hardware muchas veces desconocida, y para la que no ha sido diseñado. Este esfuerzo resume como pocos la fuerza de Internet como herramienta de colaboración y trabajo en grupo, y como vía para explotar y obtener sinergias de las ideas de todos.
A este paso podremos ver Linux en aparatos que nunca imaginamos podrían llegar a necesitarlo, como por ejemplo, en el frigorífico, o ya puestos, por qué no, en la lavadora. Esto último no es realmente una novedad. Muchas de las lavadoras del mundo ya usan Linux (sobre todo, las de suiza).





