(Click para agrandar)La percepción más común es que Linux es un Sistema Operativo para servidores, estable y potente, aunque muy difícil de aprender y usar, y poco atractivo gráficamente; en cambio, Windows es más limitado e inestable, pero intuitivo y bonito. En los últimos tiempos, estos preconceptos comenzaron a resquebrajarse con la aparición de Compiz. Aunque todavía está en etapa de desarrollo, este software le demostró al mundo que un Desktop Linux también puede superar en presentación visual y productividad a un equipo con Windows.

TODO ENTRA POR LOS OJOS
Una vieja frase que circula entre los programadores, al referirse a un producto de software, es la siguiente: “Si no podemos hacerlo bien, hagamos que se vea bien”. Algunas empresas de desarrollo de software propietario han hecho de este concepto un mantra (¿alguien dijo Microsoft?). Algunas veces, basan en la “cosmética” líneas enteras de productos, que tienen múltiples deficiencias, pero que se ven “lindos” y, de esta forma, logran ganar mercado, sobre todo entre los usuarios de menos conocimientos informáticos. Otras veces, las mejoras cosméticas alcanzan para justificar el lanzamiento de una nueva versión de una aplicación o de un Sistema Operativo, cuando los verdaderos cambios esperados por los usuarios, esos que solucionan problemas o agregan funcionalidad, siguen brillando por su ausencia. Mientras tanto, en el mundo del software libre, hasta hace muy poco, a menudo se tomaba el camino opuesto: se hacía tanto hincapié en la funcionalidad y en la potencia del Sistema Operativo y sus aplicaciones que se dejaba completamente de lado la estética visual y la facilidad de uso.

NO HAY MAL QUE DURE CIEN AÑOS
Pero hay una nueva tendencia entre los partidarios del Open Source, cuya punta de lanza es la distribución Ubuntu y su desarrolladora Canonical, quienes prestan especial cuidado a la cosmética y a la amigabilidad de todos los componentes de la distribución. Afortunadamente, notaron que estos aspectos son críticos para muchos usuarios, y comenzaron a tenerlos en cuenta. La consecuencia de esta tendencia es que Linux, hoy en día, ya está lo suficientemente maduro en este sentido como para representar una alternativa respecto de otros Sistemas Operativos de escritorio, como los de MS. Es por eso que en Redmond redoblaron la apuesta “estética” con el lanzamiento de Windows Vista, incluyendo, junto a las versiones más costosas del mismo, “Windows Aero”, un administrador de ventanas preparado para aprovechar el poder de los modernos procesadores gráficos. Esto permite al administrador de ventanas diversas mejoras apuntadas a incrementar la productividad (como el nuevo “task switcher” del ALT-TAB), y otras pensadas como simples “regalos para la vista”.

COMIENZA EL DESARROLLO DE XGL
En la industria informática,‭ ‬pocas veces los primeros en lanzar al mercado en forma masiva un producto innovador son los creadores de la tecnología que respalda ese producto.‭ ‬Cuando MS anuncia,‭ ‬en julio de‭ ‬2005,‭ ‬que ha comenzado el desarrollo de Vista,‭ ‬el programador de David Reveman,‭ ‬contratado ese mismo año por Novell‭ (‬dueña de SUSE Linux‭) ‬ya lleva un tiempo trabajando en Xgl,‭ ‬un nuevo servidor X‭ (‬el motor gráfico de Unix/Linux‭) ‬que hace uso,‭ ‬a través de OpenGL,‭ ‬del motor‭ ‬3D del GPU.‭ ‬El‭ ‬2‭ ‬de enero de‭ ‬2006‭ ‬el código fuente de Xgl es publicado en http://www.freedesktop.org e,‭ ‬inmediatamente,‭ ‬se forma una comunidad de desarrolladores interesados en contribuir al proyecto.‭ ‬Unos meses después,‭ ‬se hace evidente que,‭ ‬para aprovechar todos los efectos visuales que permiten los nuevos y poderosos chips gráficos,‭ ‬es necesaria una mayor integración entre el gestor de ventanas‭ (‬encargado de dibujar y administrar las ventanas en el escritorio‭) ‬y el gestor de composición‭ (‬responsable de los efectos visuales‭)‬.‭ ‬Nace entonces Compiz,‭ ‬que integra ambas funciones en una única aplicación.‭ ‬Como es costumbre en la comunidad Open Source,‭ ‬Compiz fue concebido,‭ ‬desde un principio,‭ ‬como un sistema abierto,‭ ‬modular y extensible,‭ ‬que permitía a sus usuarios diseñar sus propios efectos visuales o modificaciones a la manera de‭ “‬plugins‭”‬,‭ ‬muy sencillos de programar e implementar.‭ ‬Poco tiempo después,‭ ‬decenas de nuevos plugins inundaban los foros de http://forum.compiz.org/,‭ ‬muchos de los cuales pasaron a ser parte de la rama oficial.‭ ‬También,‭ ‬pronto aparecieron‭ ‬forks‭ ‬de Compiz,‭ ‬como el proyecto Beryl,‭ ‬que prefirieron hacer hincapié en agregar soporte para una mayor cantidad de chips gráficos,‭ ‬en detrimento de una mayor estabilidad lograda por la rama oficial.

CARACTERÍSTICAS DE COMPIZ
El corazón de Compiz es un cubo en‭ ‬3D,‭ ‬en el que cuatro de sus caras‭ (‬todas menos la superior e inferior‭) ‬representan distintas vistas del escritorio,‭ ‬similar a los workspaces a los cuales los usuarios de Linux ya están habituados.‭ ‬Puede ser rotado a gusto y placer por el usuario para acceder a ventanas de aplicación que se hayan‭ “‬repartido‭” ‬por las diferentes caras del cubo,‭ ‬permitiendo la visualización,‭ ‬en forma cómoda,‭ ‬de una gran cantidad de aplicaciones que estén abiertas de manera simultánea.‭ ‬Otra característica muy importante es la transparencia en las ventanas,‭ ‬que puede ser parcial‭ (‬por ejemplo,‭ ‬sólo en la barra de título‭) ‬o total.‭ ‬Por supuesto,‭ ‬es configurable el grado de transparencia,‭ ‬y,‭ ‬también,‭ ‬podemos aplicar la transparencia sólo al mover una ventana por el escritorio,‭ ‬para visualizar las ventanas que se hallen debajo.‭ ‬Agregando algunos de los plugins que mencionábamos anteriormente,‭ ‬se obtienen espectaculares efectos visuales al maximizar o minimizar las ventanas:‭ ‬por ejemplo,‭ ‬al minimizar una ventana,‭ ‬esta se‭ “‬prende fuego‭” ‬hasta desaparecer,‭ ‬o se hace añicos,‭ ‬o se pliega como una hoja de papel.‭ ‬Al tomar una ventana maximizada de una‭ “‬esquina‭” ‬y doblarla como si se tratara de un pañuelo,‭ ‬se ve lo que se encuentra detrás sin aplicar transparencias.‭ ‬En resumen,‭ ‬las posibilidades son miles,‭ ‬tantas como caben en la imaginación de la multitud de desarrolladores que han liberado plugins para Compiz.

HECHOS,‭ ‬NO PALABRAS
A esta altura,‭ ‬nuestros lectores deben estar ansiosos por ver con sus propios ojos tantas virtudes.‭ ‬Para‭ ‬correrlo sin problemas,‭ ‬necesitamos un procesador gráfico que esté soportado por XGL.‭ ‬El tema es que determinar esto no es sencillo,‭ ‬ya que el soporte varía según el driver‭ (‬libre o propietario‭) ‬y la distribución GNU/Linux que se elija en cada caso.‭ Una buena ‬guía es la lista elaborada por los usuarios de Gentoo Linux‭,‭ ‬aunque la información allí contenida no es concluyente,‭ ‬y no es raro obtener buenos resultados con un chip gráfico que figura como‭ “‬no soportado‭”‬.‭ ‬En principio,‭ ‬podemos afirmar sin temor a equivocarnos que la inmensa mayoría de las placas de gama media y alta,‭ ‬tanto de ATI como de Nvidia,‭ ‬que hayan sido fabricadas en los últimos tres años,‭ no ‬deberían‭ tener ‬problemas.‭ ‬Pero allí no terminan las dificultades.‭ ‬Las versiones más nuevas de las distribuciones Linux más importantes‭ (‬Debian,‭ ‬Fedora,‭ ‬Gentoo,‭ ‬Mandriva,‭ ‬Slackware,‭ ‬SUSE y Ubuntu‭) ‬ya incluyen a Compiz en sus respectivos repositorios.‭ Luego ‬se instala fácilmente mediante el administrador de paquetes que corresponda a nuestra distro.‭ ‬Pero para versiones anteriores,‭ ‬o si somos usuarios de otras distros,‭ es posible‬ bajar directamente de http://compiz.org/‭ ‬los binarios‭ (‬y rezar para que‭ ‬funcionen en nuestro entorno‭)‬,‭ ‬o descargar el código fuente y compilarlo,‭ ‬tarea no exenta de inconvenientes,‭ ‬pero que,‭ ‬de tener éxito,‭ ‬nos brindará mayor estabilidad y velocidad de ejecución.‭ ‬En‭ ‬caso de emergencia,‭ ‬encontraremos en la web una multitud de guías que nos asistirán,‭ ‬paso por paso,‭ ‬con el procedimiento de instalación,‭ ‬en varios idiomas y para un amplio abanico de distribuciones.‭ ‬Pueden comprobarlo buscando en Google la expresión‭ ‬+compiz‭ ‬+howto y eligiendo los resultados que correspondan a nuestra distro.

PARA NO QUEDARSE CON LAS GANAS
Seguramente,‭ ‬en este instante,‭ ‬los lectores que‭ tengan ‬equipos algo vetustos,‭ ‬o que carezcan de procesadores gráficos con aceleración‭ ‬3D,‭ ‬estarán insultando en varios idiomas.‭ ‬Sin dudas,‭ ‬serán secundados por los‭ ‬poseedores de motherboards con chips gráficos‭ “‬onboard‭” ‬económicos‭ (‬como los fabricados por SiS‭)‬,‭ ‬que son más que adecuados para tareas de oficina o para correr juegos sencillos,‭ ‬pero que,‭ ‬al no implementar OpenGL,‭ ‬no‭ ‬pueden ejecutar Compiz.‭ ‬Mientras ahorran moneda tras moneda para comprar una placa de video con todas las de la ley,‭ si quieren‬ enterarse de qué se trata esto de Compiz pueden recurrir a YouTube.‭ ‬Múltiples usuarios han subido al popular portal decenas de videos en los que muestran sus escritorios animados,‭ ‬en una pintoresca competencia por lograr efectos más espectaculares que los de los demás.‭ O‬btendremos un rápido panorama de los videos más populares de esta temática ingresando a‭ ‬Youtube y‭ ‬apreciaremos escritorios que dejarán boquiabierto a más de un usuario de Windows Vista.‭ ‬Y a no perder de vista que Compiz es software que se encuentra en sus fases iniciales de desarrollo,‭ ‬y todavía‭ ‬esperamos de este‭ ‬proyecto para el Desktop GNU/Linux muchas sorpresas más.‭ ¡‬Hasta la próxima‭!

Aquí vemos al cubo de Compiz corriendo en KDE, con distintas aplicaciones abiertas en cada una de sus caras. La imagen de fondo que se observa detrás del cubo es conocida como “Skydome”. (Click para agrandar)

Otro cubo pero corriendo sobre GNOME, sin Skydome. Podemos apreciar también el uso de transparencias en la ventana del reproductor multimedia. (Click para agrandar)

Vemos aquí como se puede tomar una ventana desde uno de sus bordes o esquinas, y arrastrar el puntero “plegando” la ventana, para poder observar lo que se encuentra debajo. (Click para agrandar)

Con el plugin “Scale”, al dirigir el puntero del mouse a la esquina superior derecha del monitor, miniaturas de todas las ventanas abiertas se desplegarán en pantalla, para que podamos seleccionar rápidamente la que deseamos.

El Task Switcher del ALT-TAB usa transparencias y muestra miniaturas de las ventanas. Además, estas miniaturas son “vivas” y se actualizan en simultáneo con la ventana, es decir que si teníamos un video reproduciéndose, en la miniatura lo veremos correr normalmente. (Click para agrandar)

Observamos aquí distintos “temas” de Compiz. La mayoría hace uso de transparencias para las barras de título, y algunos “iluminan” los botones de maximizar/minimizar/cerrar al ubicarles el puntero encima. (Click para agrandar)

ATI Y NVIDIA NO COLABORAN
Hace tiempo se le reclama a los fabricantes de procesadores gráficos que publiquen sus especificaciones con el fin de poder desarrollar drivers libres,‭ ‬para que algunas distribuciones GNU/Linux,‭ ‬que sólo admiten paquetes‭ ‬100%‭ ‬libres en sus repositorios,‭ ‬pudieran dar soporte a sus chips.‭ ‬Intel se mostró dispuesta a colaborar,‭ ‬y publicó una versión libre de los drivers de su GPU i965.‭ ‬ATI y Nvidia se han negado,‭ ‬argumentando que publicar los fuentes de sus drivers expondría secretos industriales de los cuales la competencia podría aprovecharse.‭ ‬Esta negativa ha provocado protestas reiteradas de parte de los representantes de las comunidades de soft libre.‭ ‬El propio Richard Stallman concurrió a una conferencia de ATI en el MIT,‭ ‬en Abril de‭ ‬2006,‭ ‬con una pancarta que protestaba ante esta situación‭ (‬ver aquí‭)‬.‭ ‬Sin embargo,‭ ‬se han logrado desarrollar,‭ ‬mediante la técnica de ingeniería inversa‭ (‬un proceso muy difícil y tedioso‭) ‬drivers libres para los chips de ATI y Nvidia.‭ ‬Estos drivers,‭ ‬aunque funcionan sin problemas al trabajar en‭ ‬2D,‭ ‬no están maduros aún para trabajar con llamadas OpenGL,‭ ‬ya que la ingeniería inversa del motor‭ ‬3D es más compleja.‭ ‬Tanto ATI como Nvidia han liberado versiones para Linux de sus drivers propietarios,‭ ‬y Compiz,‭ ‬que hace un uso extensivo de las funciones‭ ‬3D,‭ ‬funciona a la perfección con ellos.‭ ‬En cambio,‭ ‬con los drivers libres,‭ ‬Compiz trabaja correctamente en algunas placas,‭ ‬pero tiene problemas con otras.‭ ‬Por esta razón,‭ ‬la polémica drivers propietarios vs.‭ ‬libres retoma fuerza,‭ ‬y seguirá dando que hablar a la industria.

ALGUNOS PLUGINS DISPONIBLES PARA COMPIZ

Plugins nativos


Nombre Descripción
Annotate Dibujar o escribir a mano alzada sobre las ventanas
Clone Clona el escritorio actual en una pantalla secundaria
Cube Ubica cada escritorio virtual en una cara de un cubo 3D
Decoration Comunica la configuración de la decoración al administrador de decoraciones
Fade Fundido desde y hacia negro de las ventanas
Gconf Copia la configuración de GNOME
Inotify Notifica a los gestores de configuración que un nuevo plugin ha sido instalado
Minimize Aplica efectos animados a las ventanas al maximizar y minimizar
Move Movimiento animado de las ventanas
Place Ubicación automática de las nuevas ventanas
Png Permite usar imágenes en formato PNG como texturas
Resize Ajuste de tamaño de las ventanas animado
Rotate Permite rotar el cubo que contiene los escritorios visuales
Scale Muestra todas las ventanas abiertas (similar a Exposé del Mac OSX )
Svg Permite usar imágenes en formato SVG como texturas
Switcher Navega entre miniaturas de las ventanas abiertas con Alt-Tab
Water Agrega efecto de “lluvia” y “olas” al mover el puntero del mouse
Wobbly Agrega otro efecto al arrastrar ventanas
Zoom Agranda un área determinada de la pantalla

Plugins de la comunidad (paquete compiz-extra)


Nombre Descripción
Animation Más efectos de animación para eventos de las ventanas
Benchmark Permite medir la performance de Compiz
Bs Control de brillo y color
Crashhandler Gestor de errores y recuperación automática
Dbus Gestiona la interfaz dbus
Negative Invierte el color de una ventana o de la pantalla
Put Permite mover las ventanas con el teclado
Reflection Agrega marcas de agua a las decoraciones (similar a Aero-Glass)
Screenshot Captura la pantalla o regiones de la pantalla a un archivo de imagen
State Configura transparencia y otras opciones gráficas de las ventanas
Trailfocus Difumina las ventanas en segundo plano según su tiempo de inactividad
Mousegestures Posibilita controlar el escritorio mediante “gestos” de mouse
Scripting Para programar scripts que hagan uso de distintas facilidades de Compiz
Wallpaper Distintas imágenes de fondo para cada cara del cubo 3D

Aclaración: Este post fue publicado originalmente en la revista POWERUSR #45. TODOS LOS DERECHOS RESERVADOS. PROHIBIDA SU REPRODUCCIÓN TOTAL O PARCIAL SIN EL CONSENTIMIENTO EXPRESO DEL AUTOR. SE PERMITE EL ENLACE O LINKEO A ESTE POST SIN NINGÚN TIPO DE RESTRICCIONES.

Todo blogger que se precie de tal debe postear listas. Y otra tradición entre los bloggers es linkear a otros blogs. Así que para estar a la altura, y matar dos pájaros de un tiro, armé esta lista de bloggers “Consagrados”. Todos ellos de los mejores en lo suyo, aunque muchos no tengan nada en común entre sí: empresarios, programadores, escritores, actores de cine. Y todos ellos comparten el hecho de que sus blogs se destacan y son particularmente interesantes, por distintas razones.

La selección fue difícil pero finalmente elegí once, como en un equipo de fútbol. Con estos 11 jugadores, cualquier equipo blogger saldría campeón ;)

Pero no me dejen distraerlos más y vamos a la lista.

1) William Gibson, genial escritor de Ciencia Ficción, uno de los creadores
de la literatura “cyberpunk” y agudo ensayista.

2) Tim Berners-Lee, creó la World Wide Web en 1990. Como curiosidad, tanto su padre como
su madre eran matemáticos y trabajaron en el desarrollo del MARK I, una de las primeras computadoras de la historia.

3) Cory Doctorow, escritor, periodista y miembro del proyecto Creative Commons.

4) Ian McKellen, actor inglés, recordado principalmente por su encarnación de Gandalf en la trilogía de “El Señor de los Anillos”, dirigida por Peter Jackson.

5) Moby, cantante y músico electrónico norteamericano.

6) Michael Moore, cineasta y documentalista norteamericano, famoso por su estilo mordaz y su oposición al corporativismo y la corrupción.

7) Jeff Bridges, notable actor californiano muy recordado por la película The Big Lebowsky. Este blog se destaca por su aspecto visual, muy personal.

8) Richard Stallman, gurú de la programación y abanderado del software libre. Padre del proyecto GNU, componente vital de los modernos Sistemas Operativos basados en GNU/Linux, como Debian o Ubuntu.

9) Martín Varsavsky, empresario argentino, estudió en EE.UU. y actualmente reside en España. Fundador de varias empresas y emprendimientos con fines benéficos, actualmente se dedica principalmente a FON, una organización dedicada a brindar acceso inalámbrico a Internet en gran parte del mundo a sus miembros.

10) Blake Ross, joven programador norteamericano, principal creador y desarrollador de Mozilla Firefox, el mejor navegador web que existe en estos tiempos.

11) Scott Adams, dibujante y guionista autor de Dilbert, una tira cómica extremadamente popular por su irónica visión sobre el típico ambiente de oficina de las grandes empresas, enfocándose particularmente en el sector de IT, donde el protagonista de desempeña como desarrollador.