- La interfaz de usuario (UI) compleja del software libre actúa como una barrera de entrada para los usuarios comunes
- Incluso tareas simples como convertir videos hacen que la gente abandone el intento por la UI orientada a expertos de herramientas como Handbrake
- Para resolverlo, el autor creó un frontend simple llamado Magicbrake con una interfaz de un solo botón, que solo ofrece la función de “convertir archivos de video raros en MP4 normales”
- Si se ocultan las funciones complejas y solo se expone el 20% de funciones que la mayoría de los usuarios realmente necesita, aumentan la productividad y la satisfacción
- El ecosistema del software libre podrá ampliar el alcance de uso de sus herramientas solo si adopta un diseño amigable para usuarios comunes
La brecha entre el software libre y los usuarios comunes
- Los usuarios comunes tienen dificultades con problemas de formato incluso en tareas básicas como convertir, subir y reproducir videos
- Cualquier formato que no se reproduzca en QuickTime o Facebook se percibe como “raro”
- Handbrake es potente, pero su UI centrada en usuarios avanzados genera incomodidad y confusión en la gente común
- Este problema está extendido en todo el mundo del FOSS (Free and Open Source Software) y, como resultado, los usuarios comunes terminan renunciando a usarlo o pidiendo ayuda a expertos
El caso de Magicbrake
- Magicbrake oculta las funciones complejas de Handbrake y solo realiza una función: “convertir videos raros en MP4 normales”
- El resultado de la conversión es un archivo MP4 pequeño que funciona en la mayoría de los entornos
- La interfaz solo tiene un botón
- Este enfoque es una solución rápida y simple, adecuada para usuarios que no necesitan funciones complejas
Objeciones a la simplificación y respuesta
- Algunos plantean preguntas como: “¿por qué hiciste Handbrake menos potente?”, “¿y si necesito otro formato?”, “¿qué pasa con las funciones especiales?”
- La respuesta es clara: quien necesite funciones avanzadas puede seguir usando Handbrake tal como está, y quien no, puede usar una herramienta simple
- Es una idea similar a cubrir con cinta los botones innecesarios del control remoto del televisor: si se necesitan, las funciones siguen ahí, pero no estorban en el uso básico
El valor de una UI simple
- Hay muchas herramientas en el mundo como servidores multimedia difíciles de configurar para la gente común, editores de audio que requieren aprendizaje incluso para tareas básicas y herramientas de monitoreo de red que excluyen a principiantes
- Estas herramientas son excelentes en funciones, pero los usuarios comunes no pueden acceder a ellas por un diseño que intenta meter todas las funciones en una sola UI
- Como el 80% de los usuarios solo necesita el 20% de las funciones, ocultar el resto puede ofrecer una experiencia más productiva y satisfactoria
Propuesta para desarrolladores
- Diseñar interfaces simples para usuarios comunes es algo que puede hacerse en una tarde y tiene un valor práctico importante
- En lugar de mostrar todas las funciones complejas, una filosofía de diseño que expone solo lo necesario mejora la accesibilidad del software libre
- El autor recomienda a los desarrolladores crear más herramientas simplificadas como esta
9 comentarios
Podría describirse como la complejidad de la UI/UX,
pero creo que el problema es que el software que se crea hoy en día, ya sea libre o comercial, está hecho para que solo funcione exactamente un caso específico, y no le importa mucho qué pase con las demás experiencias.
Por ejemplo, al editar una configuración en TOML o YAML, a veces algo que claramente debería funcionar no funciona. Normalmente no está bien documentado si se trata de un problema de codificación, de indentación, o de si es una función que no se puede usar cuando hay cierto
flago no. El usuario termina probando una enorme cantidad de casos uno por uno y, con dificultad, encuentra la respuesta correcta.En la UI es todavía más grave. Como se ha vuelto meme la experiencia común al restablecer una contraseña, si en una pantalla hay 100 campos, no se puede saber "sin probar" cuál es la relación entre ellos ni cuál es la mejor manera de cambiarlos.
Esto también es un problema de UI/UX, pero también de "expertise" oculta. Sin una especie de curva de aprendizaje escalonada ya preparada, un problema que alguien con experiencia puede resolver escribiendo de inmediato la respuesta correcta termina funcionando, para un principiante, como un examen o una barrera que le hace experimentar innumerables rechazos.
En un contexto similar, parece que la GUI sí es más cómoda que la CLI; también uso
yt-dlpcon la GUIyt-dlg. Conffmpegtambién voy guardando los comandos que uso seguido para tenerlos a mano, así que supongo que también se le podría hacer una GUI.¡Como siempre, por la UI/UX!!
Personalmente he pensado mucho en algo parecido, así que me identifiqué bastante. Cuando intentaba encontrar en Linux aplicaciones como Paint, el Bloc de notas o Windows Media Player de la época de WinXP~7, de esas que "simplemente abres rápido y usas más o menos como sea", si después de instalar 5 o 6 lograba encontrar una que me gustara, ya era ganancia.
Solo quería tomar una captura de pantalla y recortarla, pero no iba a usar Gimp para eso; no recuerdo qué otras cosas probé, pero como no encontré nada entre las apps de gtk, al final terminé quedándome con Kolourpaint. Para el bloc de notas estaban Gedit, Kate, Mousepad, Leafpad, Xed y demás; y si querías algo todavía más ligero, ya tenías que irte a cosas como xedit, nano o vim, que prácticamente renuncian a ser amigables con el usuario. Y con solo pensar en reproductores multimedia como mpv, VLC o mplayer ya me empieza a dar dolor de cabeza.
Este tipo de textos se siente un poco incómodo porque afirman que tienen razón sin siquiera contar con algo como estadísticas.
A los usuarios solo les importa el 20% de una aplicación
De alguna manera, parece estar conectado con el texto de arriba.
"La mayoría de los usuarios solo aprovecha alrededor del 20% de las funciones de una aplicación que necesita para sí mismo, pero ese 20% es distinto para cada usuario"
¿No será que ese es el punto clave?
Cada vez que uno pregunta algo, sale la respuesta de "lee primero el man/readme/docs".
En realidad, lo importante en UX es que puedas usarlo y entender de inmediato cómo funciona.
Como no es un trabajo por el que estén cobrando, se deja pasar, pero si lo piensas desde la perspectiva de un usuario no desarrollador, sí es cierto que la experiencia de uso no es buena.
Opinión en Hacker News
Es un buen artículo, pero creo que su lógica está equivocada
Crear una interfaz sencilla y unificada nunca es algo fácil
Implementar una UI para un caso de uso específico no es tan difícil, pero lo realmente difícil es definir ese “caso de uso exacto” y evitar que empiecen a pedir “solo agréguenle esto un poquito más”
Esa simplicidad es deseable, pero es un estado inestable
La complejidad del código se ve, pero la complejidad de la UI no
Los botones y los campos de entrada parecen simples, pero resolver problemas con ese lenguaje es muy complejo
El fracaso es claro, pero el éxito es ambiguo y distinto para cada usuario
En una buena interfaz, muchas cosas se comunican de forma “implícita”, y esa es la parte más difícil
Aunque el botón casi no tenga relación con su función original Y, insisten en que debe servir exactamente para eso
Ese tipo de pedidos de “cámbienle solo un poquito” se acumulan, la UI se vuelve cada vez más compleja y al final colapsa
No quieren sacrificar su propia comodidad por la usabilidad del 80% de los usuarios comunes
Se define el conjunto de funciones de antemano y después se enfoca solo en corregir bugs y mejorar la eficiencia
Las funciones nuevas solo podrían agregarse tras una revisión estricta
Sería difícil en software que cambia rápido, pero cree que funcionaría en la mayoría de las áreas estables
A largo plazo, las propias apps podrían integrar IA y evolucionar hacia generar automáticamente la UI que el usuario necesita
Creo que este problema al final se reduce a la familiaridad
Mi esposa no está muy acostumbrada a la tecnología, pero usa Linux
Cuando empezó un negocio nuevo tuvo que usar Windows, pero le resultó tan incómodo que quiso volver a Linux
Yo tuve una experiencia parecida con Mac vs PC
Cuando me obligaron a usar Mac, mi productividad cayó como al 10% y fue durísimo
Al final, la gente trabaja mejor en el entorno que ya conoce
Al final era “solo una computadora”
Por suerte, con VPN y las apps que necesito, todo se puede hacer con Linux + interfaz web
Hace falta una distro estable que ofrezca una UI casi idéntica a la de un OS comercial y que no obligue a abrir la terminal
No basta con que sea “más o menos parecida”; lo importante es el nivel de detalle
Las UI de open source al principio se sienten extrañas y complejas
Están hechas con una mentalidad centrada en desarrolladores, así que no se respeta el principio de “no asustes al usuario”
Pero si las usas de forma constante, te acostumbras a esa nueva filosofía y puedes usarlas con éxito
Yo uso bien Firefox, LibreOffice, Avidemux y Virt-manager
El problema es la falta de diseñadores
En FOSS suelen participar sobre todo desarrolladores con tiempo disponible, pero hay relativamente pocos artistas o diseñadores
Por eso muchas veces solo se ofrece una UI de nivel básico
Los problemas de UX del editor de audio gratuito Audacity ya son reconocidos por sus diseñadores
Subieron un video de rediseño de UX para resolver los problemas de “modos” y de “Audacity says no”
Se espera que mejore en el futuro; en open source sigue faltando buen UX, pero sí hay cambios
Al principio haces una app para tu propio uso, y luego la gente dice “las funciones están bien, pero la UX no tanto”
En cambio, si mejoras la UX, entonces te dicen “le faltan funciones”
Al intentar dejar contentos a todos, terminas atrapado en un infierno interminable de rediseños
Muchas veces el proyecto se derrumba mientras intentas hacer cosas como un motor de temas
Si simplemente la hubieran lanzado como algo nuevo con otro nombre, nadie se habría quejado
Creo que la solución a este problema está en la estandarización a nivel del OS
El OS debería ofrecer una UI y un flujo de trabajo consistentes
Por ejemplo, en vez de “Handbrake”, podría haber una app predeterminada llamada “Video Converter”,
capaz de entender órdenes como “convierte esto para que se reproduzca en Facebook” y aplicar la configuración automáticamente
La marca de las apps debería minimizarse, y el usuario debería poder controlar por completo el tema y las fuentes
También hace falta un lenguaje de shell estándar conectado con las funciones GUI
Al final, la gente quiere funcionalidad
Aunque la UI sea compleja, si al aprenderla puedes hacer lo que quieres, la gente lo tolera
El software con opciones simples nada más tiene un mercado pequeño
Los usuarios que no entienden los formatos de video al final resuelven buscando en la web “convert x to y”
Si ya estás usando herramientas especializadas, entonces ya entraste en territorio de usuario avanzado
También es posible una UI simple como “arrastra el archivo aquí y dale clic a Fix It”
Creo que ese era justo el punto central del artículo original
Hay varias razones por las que open source es complejo
Pero la mayoría del FOSS está estructurado de una forma que exige alfabetización técnica
Aprender a usar software complejo puede ser, de hecho, más eficiente a largo plazo
A los desarrolladores de open source les cuesta priorizar eso dentro del tiempo limitado que tienen
Hay una broma de que si Handbrake te parece difícil, mejor ni te enseñen ffmpeg
Yo también sentí la primera vez que usé Handbrake que era mucho más cómodo que ffmpeg
En cambio, las herramientas GUI tienes que aprenderlas viendo videos
ffmpeg -i input.avi output.mp4y listoHandbrake muestra todas las opciones, mientras que en ffmpeg solo escribes lo que necesitas
Una vez que te acostumbras, permite un control muy preciso
Esa simplicidad de “solo pones entrada y salida y ya” tiene su propio atractivo
No es perfecta, pero siento que sabe más que yo
Por eso me parece un ejemplo un poco raro para el argumento del artículo original
Personas como yo prefieren interfaces complejas
Quiero que asuman que soy inteligente
Mientras más use una herramienta, más prefiero que, aunque sea compleja, me permita trabajar rápido
El problema es que todos quieren un 20% distinto de funciones
Una buena UI/UX necesita un ciclo de retroalimentación estrecho entre testers, diseñadores, desarrolladores y usuarios
FOSS no tiene recursos suficientes para eso
Pero el usuario promedio de FOSS es un power user del 1% superior, así que no logra entender eso
Por eso, cuando se intenta reorientar el software hacia usuarios comunes, la comunidad se resiste
Lo hacen desarrolladores para sus propias necesidades, así que la satisfacción del usuario puede no ser el objetivo
Eso no es un fracaso, simplemente es una meta distinta
Solo una minoría usa las funciones avanzadas
Por eso, dividirlo entre UI básica + modo avanzado sería lo más realista
Como solo prueban quienes ya están acostumbrados a esa UI, abundan las opiniones de “mejor no lo cambien”
En cambio, las grandes empresas sí pueden hacer pruebas de usuario pagadas con personas nuevas
Por eso mejoran el UX más rápido
Cuando se les pide contribuciones a especialistas en UI/UX, casi siempre no los entienden