jueves, 31 de julio de 2014

Camino a Linux: pilares del escritorio

Acabamos julio terminando esta colección de artículos sobre el escritorio informático.

Hasta ahora he tratado de abordar la metáfora de escritorio. Como el lector habrá podido adivinar, el objetivo era conseguir observar la interfaz de escritorio de una forma más general al típico manual al uso. Podrías pensar que mi objetivo es que vuelvas a usar la metáfora del escritorio como tal y no como una aplicación de un sistema operativo determinado, y estarías muy cerca de mi intención.

Naturalmente, no he abordado ni de lejos todos los elementos básicos de un buen escritorio informático. Ni siquiera he tratado apenas la evolución de los mismos, solamente cuando he considerado que la explicación podría introducir un matiz interesante para otro tema relacionado. En la wikipedia, tanto la inglesa como la española, y en otro buen puñado de lugares, puedes encontrar mucha información al respecto de éste y otros aspectos de los escritorios.

En este artículo voy a seguir principalmente el sistema empleado en cualquier "Unix-like" como GNU/Linux. No tanto por la razón de estos artículos (Camino a Linux ;) ), sino porque es el sistema con el que estoy más familiarizado. De todas formas, cualquier sistema operativo emplea ideas similares.

La Interfaz Gráfica


Para poder usar dibujos botones, iconos y otros elementos gráficos, lo primero que necesita el sistema es la capacidad de dibujar
Interfaz de texto
puntos del tamaño más pequeño posible. Esto no es baladí: al principio los sistemas informáticos proporcionaban una imagen que generalmente llamamos "interfaz de texto". En este sistema, la pantalla que vemos simplemente muestra un número de columnas y filas. En cada "celda" resultante se dibuja un carácter. Digamos una letra, o un número. Aunque puedes usar signos escritos para realizar dibujos simples, lo que tienes siempre es una sucesión de caracteres.

también hay ventanas en interfaces de texto
¿Podemos dibujar una recta? eso es sencillo. Tomamos el carácter "guión" (-) y lo repetimos el número suficiente de veces. Como esa línea nos queda entrecortada, en lugar del guión tradicional usamos el "guión largo" (—). Para un rectángulo, usamos ángulos, guiones y barras verticales.

Para poder hacer cosas más elaboradas se desarrollaron los "Sistemas Gráficos". En estos sistemas, la pantalla nos muestra filas y columnas pero de puntos en lugar de caracteres. Un carácter puede requerir, digamos, 96 puntos para formarlo.
Xerox, the first

El número de líneas y columnas que forman la imagen se denomina "resolución"; Desde que se incorporó la capacidad de reproducir color, el número de bits necesario para especificar el color de cada punto de la imagen se denomina "profundidad de color". Habitualmente se denomina color real a profundidades de colores de 24 bits o más, ya que se supone que el ojo humano no distingue muchos más. El número de colores que se pueden mostrar con una profundidad dada es de 2^profundidad. Así, con 8 bits tenemos 256 colores para elegir, con 16 algo más de 65000 y con 24 más de 16 millones.
Mac

La resolución es lo que hace que una interfaz gráfica resulte adecuada para representar un escritorio en lugar de la interfaz de texto. Si bien es posible obtener interfaces de texto con resoluciones de más de 100 líneas, lo cierto es que la interfaz gráfica más cutre tendrá más de 250. Cuando hablamos de la resolución, con frecuencia nos referimos solamente a la altura de la imagen, el número de líneas que la forman, ya que es con diferencia la menor cifra de las dos que forman la resolución.

El Gestor de Ventanas

Tenga el nombre que tenga, es buena idea disponer de un software que se encargue de dibujar los elementos típicos de un escritorio informático: las ventanas, botones, iconos varios, ec. En cierta forma, el gestor de ventanas actúa de intermediario entre las aplicaciones del escritorio y el sistema gráfico. Así, un programa necesita una ventana, una barra de menú, una serie de botones y un espacio de trabajo. El escritorio le "solicita" al gestor de ventanas que dibuje dichos elementos, y el Gestor de Ventanas le indica al sistema gráfico qué puntos y de qué colores debe de representar en la pantalla.
Elementos de una ventana

Por supuesto, el gestor de ventanas se encarga de la decoración de los elementos gráficos. Es lo que se suele llamar "tema de escritorio". Si un fondo se rellena
con texturas, si por defecto se utiliza una

fuente de texto (tipografía) dada, si los bordes de la ventana tienen cierto grosor, si se dispone de botones para maximizar, minimizar o cerrar la aplicación y dónde se disponen... Fijaos que la aplicación no se preocupa de los elementos básicos del escritorio. La aplicación simplemente indica que necesita una ventana donde ejecutarse, los elementos que requiere (digamos, un menú de opciones y un espacio donde escribir texto) y el gestor de ventanas proveerá de todo lo demás, encargándose también de la presentación: colores, texturas, fuentes... Algunos desarrolladores crean software que se ocupan de estos detalles, particularmente los desarrolladores de aplicaciones escritas en Java. Bien, si siempre has creído que es redundante, ¡tenías razón!. Además, la consistencia con el resto de aplicaciones suele ser mucho menor.. cosas.
X11 : sin gestor de ventanas, no hay bordes
Realmente, algo similar sucede si usas diferentes toolkits. Un toolkit es un conjunto de herramientas para escribir aplicaciones, o más bien un conjunto de elementos gráficos de escritorio para escribir dichas aplicaciones: botones, menús, fondos de ventana, cuadros de texttoolkits pueden requerir formas de decoración diferentes. Sin embargo, al fin y al cabo será el gestor de ventanas el encargado de llevar a cabo esa decoración. Hay muchos para distintos escritorios: GTK, FK, QT, el de Borland, el de Windows, etc.
QT: Amaya
o, etc. Diferentes

Compiz: posiblemente el mejor gestor de ventanas con composición
Las interfaces más modernas (digamos las de los últimos diez años) incorporan un elemento más con el gestor de ventanas, muchas veces denominado "Compositor". La función de este elemento es facilitarle al gestor de ventanas crear elementos que simulen determinados efectos visuales, desde transparencias hasta efectos 3D. Para que el sistema pueda hacer esto, debe disponerse de hardware adecuado y el sistema debe de configurarse para ello. Por supuesto, cualquier equipo mínimamente moderno es compatible con la composición, si bien aun en algunos casos puede requerirle demasiado esfuerzo.
KWin, el primero de los "grandes" en incluir composición

El Escritorio

Kde 5 para escritorio. La convergencia es cosa del equipo
En ocasiones se le denomina Espacio de Trabajo, pero esto puede resultar confuso, particularmente en sistemas Unix y similares. Otra forma que a veces se utiliza de forma indistinguible, añadiendo confusión, es Sesión Gráfica de Usuario.
Windows, de MS: ideas no faltan, pero las interpretan mal

GNOME 3, que no ninguna de sus encarnaciones
Mac OS
Un Escritorio Informático no es más que una Interfaz Gráfica de Usuario que dispone de elmentos con los que trata de representar la metáfora de escritorio. El Escritorio hará uso de un gestor de ventanas para representar tales elementos, el cuál a su vez requerirá de una Interfáz Gráfica para poder hacer los dibujos necesarios en la pantalla.

Android
iOS
Para el usuario humano, el Escritorio incluirá distintos elementos, pero siempre tendrá uno o varios Espacios de Trabajo, un menú de aplicaciones y lanzadores de las aplicaciones.

Hay vida más allá: Enlightenment 17
Desde hace años está aumentando la importancia de unos elementos especiales, generalmente denominados "widgets de escritorio". Estos elementos en lugar representar lanzadores de la aplicación, proporcionan vistas de algún tipo de información. Por ejemplo, puedes tener un widget que muestre la previsión metereológica, otro con el uso de tu red, etc. Su uso aumenta espoleado por las interfaces de los dispositivos móviles, tanto smartphones  como tablets.

Estos widgets proporcionan información de forma pasiva y no esperan una gran interactuación del usuario. Eso los diferencia de las aplicaciones, diseñadas precisamente con ese fin en mente.

Widgets de KDE: Plasmoides
KDE netbook, nadie interpretó mejor la convergencia de dispositivos


¡Vaya!, creo que hemos dado un buen repaso a la idea de escritorio informático. El Camino a Linux está asfaltado con el trabajo de mucha gente a lo largo de más de 20 años, y también del fracaso de aquellos que pretendieron conducirnos como un rebaño. Pero también de originalidad y talento, y de diversidad.

Para terminar, ahí van un par de vídeos sobre Plasma 5 y Elementary OS.


No hay comentarios:

Publicar un comentario