GALLO
Barra de escritorio para Linux donde cada decisión de disposición está justificada por cómo se lee de reojo, no por cómo se ve.
This case study hasn't been translated yet — the text below is in Spanish. Read it on the Spanish site
Outcome
12 horas
de uso diario detrás de cada decisión
7
paneles que aparecen solo cuando hacen falta
Cero
clics de más para saber cómo está la máquina
4
diseños comparados antes de elegir uno
Constraints
- El visualizador de audio quedó apagado: libastal-cava produce un segfault. La función se desactiva y se documenta en el código, en vez de dejar una barra que se cae sola.
- El contador de contenedores dice cuándo se miró, no cómo está ahora. Mantenerlo fresco costaría un docker ps cada pocos segundos, las 24 horas, para un dato que cambia dos veces al día.
- Apagar exige mantener pulsado 800ms. Es la única acción sin vuelta atrás de toda la interfaz.
El problema
Una barra de escritorio parece un proyecto de adorno hasta que se usa doce horas al día. Ahí aparece el problema real: la barra no es un panel de control, es un resumen que se lee de reojo cientos de veces por jornada. Todo lo que exija detenerse a interpretar es un costo que se paga cada vez.
La versión inicial tenía el defecto clásico: siete widgets amontonados a la derecha, dos sueltos a la izquierda y aire de sobra en medio. Con espaciado uniforme, el ojo no puede agrupar — la barra se leía como una fila indistinta de íconos.
Lo que decidí, y por qué
La proximidad es lo que dice qué va con qué. La separación dentro de cada cápsula es de 2px y entre cápsulas de 8px: cuatro veces más. Esos dos números no son gusto, salen de una escala de espaciado de siete tokens. Antes había dieciséis valores sueltos —casi todos los enteros del 1 al 14— y las cápsulas tenían siete paddings horizontales distintos entre elementos que se leen juntos.
Tray, CPU y RAM viven a la izquierda. Son de la misma naturaleza que los workspaces —la máquina y dónde estoy parado— así que van con ellos, no con las acciones.
El título de la ventana activa no lleva cápsula. Es texto de ancho variable: con fondo
propio, la cápsula cambiaría de ancho cada vez que cambia el foco y correría de lugar todo
lo que tiene al lado. Sin fondo, crece y encoge sin que se note un borde moviéndose. Por
la misma razón el reproductor va primero de la derecha: con halign en END crece hacia el
espacio vacío en vez de empujar a sus vecinos.
Apagar dejó de ser vecino del reloj. Con el reloj en el centro, apagar cierra la cápsula de acciones. El hold de 800ms sigue siendo la guarda real; esto solo elimina la vecindad entre lo que más se mira y lo único irreversible.
Siete ventanas, no un panel gigante. La barra muestra estado; lo que necesita espacio —red, bluetooth, sliders, reproductor completo, contenedores, calendario— vive en ventanas que aparecen cuando hacen falta y desaparecen cuando no.
Antes del código, cuatro barras
Antes de escribir el primer widget hubo cuatro variantes construidas en HTML para poder compararlas de verdad —centro flotante con cristal, barra lateral, notch e híbrida— más el mapa de arquitectura de widgets. La que ganó fue la híbrida, y ganó por argumentos que solo se ven al ponerlas una al lado de otra.
Construirlas en HTML en vez de dibujarlas tuvo una ventaja que no esperaba: una maqueta estática deja evaluar la proporción, pero no si el título de ventana empuja a sus vecinos al cambiar de foco. Eso solo se ve con algo que se pueda redimensionar.
Qué me llevo
Que casi todas las decisiones que mejoraron la barra fueron restas: quitar fondos, quitar valores de espaciado, quitar frescura a un dato que no la necesitaba. El trabajo no fue agregar widgets, fue conseguir que los que ya estaban se pudieran leer sin mirarlos.