El equipo de Gajim ha estado trabajando duro en los últimos meses para preparar la próxima versión v1.4. La próxima versión trae un importante rediseño de la interfaz. En esta publicación, explicamos cómo funciona la nueva interfaz y qué queda por decidir o implementar antes del lanzamiento.
¡Por supuesto, tus comentarios son importantes! Ninguna interfaz puede complacer a todos, así que reacciona a esta publicación con la forma en que este cambio te afectaría positiva y negativamente, y las ideas que tienes para mejorarlo aún más antes del lanzamiento.
Esta publicación de blog se basa en parte en la previsualización de UI / UX de Gajim 1.4 proporcionada por lovetox, un mantenedor actual de Gajim. Si prefieres el formato de video, haz clic en ese enlace de Youtube o usa tu instancia favorita de Invidious para verlo con un cliente ligero y amigable con la privacidad. Esa presentación se realizó como parte del programa XMPP Office Hours, donde puedes encontrar otras presentaciones interesantes sobre el ecosistema Jabber/XMPP, ¡o proponer la tuya propia!
Aplicación en ventana única
El principal cambio en la nueva versión de Gajim es que, en la implementación actual, se convierte en una aplicación de ventana única. Hemos tenido durante más de una década ventanas separadas para la lista de contactos (lista) y para los chats. Este patrón de interfaz de usuario era común con los mensajeros de principios de 2000 como MSN e ICQ.
En la próxima versión, hacemos de Gajim una aplicación de ventana única, donde todas las funciones están siempre a tu alcance. Este cambio está inspirado en mensajeros más recientes como Element, Discord o Mattermost (entre otros). Así es como se ve hasta ahora:
Algunas personas se sienten excluidas por esta nueva función y la eliminación del modo de ventanas múltiples, sin embargo, esperamos conciliar las necesidades de nuestros usuarios como parte del proyecto Gajim, como se explica en la sección Áreas de mejora de esta publicación de blog.
Espacios de trabajo
Gajim v1.4 introducirá un nuevo concepto: espacios de trabajo. Anteriormente, todas las pestañas se consideraban iguales como una lista plana dentro de una ventana. Entendemos la necesidad de organizar algunas actividades en un contexto específico, pero sin múltiples ventanas, organizamos estas actividades por espacio de trabajo.
Un espacio de trabajo es una colección de grupos y chats privados, organizados en el cliente. Por el momento, esta es una característica no estándar, específica de Gajim, pero los esfuerzos de estandarización se explican en la sección Áreas de mejora.
Introdujimos una nueva barra lateral a la izquierda de la ventana que permite navegar por sus espacios de trabajo y cuentas. Después de hacer clic en cualquier espacio de trabajo, la lista de chat se mostrará en la barra lateral. Esta lista de chat, a la derecha de la lista del espacio de trabajo, proporciona navegación para los chats (tanto los grupos como los privados) dentro del espacio de trabajo actual. El espacio de trabajo actualmente enfocado tiene una barra de color que indica que es el contexto actual.
Debajo de la lista del espacio de trabajo, la barra lateral enumera tus cuentas. Al hacer clic en una cuenta, se mostrará una página que contiene la lista de contactos, tu avatar, una selección de estado y una lista de notificaciones pendientes. Los contactos de la lista de contactos están organizados por grupos roster, como ya ocurría en versiones anteriores.
Contexto de cuenta
A cada cuenta se le atribuye un color específico, además de su avatar. Este color se reutiliza en la lista de chat, junto con el avatar de la pestaña para que puedas ver instantáneamente qué cuenta tuya se usa en un chat específico. Cuando un chat/cuenta determinada no tiene un avatar definido, se genera uno a partir del primer carácter del nombre que se muestra.
Cuando se recibe una notificación dentro de un determinado espacio de trabajo, se mostrará un indicador con el número de mensajes no leídos en el icono del espacio de trabajo y en el chat.
Organizando tu interfaz
Los espacios de trabajo se pueden reordenar manualmente dentro de la barra lateral arrastrando y soltando. Sin embargo, estos dos tipos diferentes de contexto se mantienen separados: los espacios de trabajo aparecen en la parte superior de la lista, mientras que las cuentas se enumeran en la parte inferior. Cuando hay demasiadas entradas para mostrar, el área de trabajo/lista de chat se hace desplazable.
Los chats también se pueden mover de un espacio de trabajo a otro, aunque no mediante la función de arrastrar y soltar: simplemente haz clic con el botón derecho en un chat y, desde allí, el menú “Mover a” moverá el chat seleccionado al espacio de trabajo solicitado. Sin embargo, actualmente no es posible copiar un chat a otro espacio de trabajo; mover una entrada a un nuevo espacio de trabajo la eliminará de su espacio de trabajo anterior.
Dentro de un espacio de trabajo determinado, los chats se pueden fijar. Estos permanecen en la parte superior de la lista de chat del espacio de trabajo. Los chats que no están anclados se ordenan por actividad más reciente. De esta manera, nunca tendrás que desplazarte interminablemente para encontrar el chat que te interesa. Por el momento, las pestañas ancladas no se pueden reordenar como espacios de trabajo, pero planeamos implementarlo.
Pruébalo y cuéntanos
Hay muchos cambios importantes próximos en la próxima versión de Gajim v1.4, así que estad atentos al blog para obtener más información. Mientras tanto, puedes probar la nueva interfaz ejecutando Gajim desde fuentes usando solo unos pocos comandos. Esta función aún no está publicada en las versiones nocturnas porque aún es inestable, por lo que no la uses todavía de forma cotidiana.
Importante: Ten en cuenta que debes iniciar Gajim con un perfil de prueba usando gajim -s -p testprofile
o launch.py -s -p testprofile
para conservar tu perfil actual. No es posible volver hacia atrás.
git clone https://dev.gajim.org/gajim/gajim && cd gajim
para descargar los fuentes Gajim’s en una carpetagajim
y entrar en ellagit checkout mainwindow
para ver la rama de desarrollo con la nueva interfazpip install .
para instalar la versión de desaroollo de Gajim y todas las dependencias en tu entorno python, despuésgajim -s -p testprofile
para arrancar- alternativamente,
./launch.py -s -p testprofile
para arrancar Gajim sin instalarlo, en cuyo caso las dependencias deberían configurarse manualmente primero (por ejemplo En Ubuntu)
Los comentarios son bienvenidos en cualquier forma, ya sea en nuestro rastreador de problemas, en nuestro chat comunitario [gajim@conference.gajim.org](xmpp: gajim@conference.gajim.org?join), o como una publicación de blog en tu propio sitio web. El ticket principal de seguimiento de esta nueva interfaz de usuario es # 10628.
Áreas de mejora
En esta sección, explicamos las deficiencias de la implementación actual de la función espacios de trabajo y qué se podría hacer para mejorarla. Estamos buscando activamente ideas en estas áreas, por lo que si puedes permitirtelo, dedica un tiempo a ordenar tus ideas y ayudarnos a mejorar Gajim.
Accesibilidad
El contexto de cuenta se basa en los colores proporcionados por el usuario. Sin embargo, por cuestiones de accesibilidad (daltonismo), estaríamos interesados en admitir otros patrones gráficos en lugar de colores. Por ejemplo, puntos y guiones y otros patrones visuales que son comunes en gráficos y tablas. Sin embargo, a menos que obtengamos más ofrecimientos, es poco probable que esta función se lance en la v1.4.
Internacionalización
El rediseño de la ventana principal aún no admite idiomas de derecha a izquierda (RTL). La barra lateral de navegación se mostrará en el lado izquierdo de la pantalla en todos los casos.
Personalización de interfaz
Algunos usuarios ya han expresado su ansiedad ante la idea de dejar de admitir múltiples ventanas en Gajim. Sin embargo, técnicamente no existe ninguna barrera que nos impida volver a implementarla con nuestra nueva interfaz de usuario. Es “simplemente” mucho trabajo duro.
Por ejemplo, ¿quizás podríamos tener un modo en el que cada cuenta tenga su propia ventana que pueda moverse por separado? ¿O enfocar un espacio de la ventana principal en su propia ventana? Eso sería útil cuando uses escritorios virtuales (a veces llamados espacios de trabajo, qué coincidencia) en tu entorno favorito de escritorio.
Además, podríamos explorar para admitir múltiples barras laterales en múltiples ejes, de modo que puedas decidir dónde colocar tu lista de cuentas y dividir su lista de espacio de trabajo en una barra lateral superior e inferior.
Solo tu imaginación y contribuciones al proyecto Gajim son el límite para el tipo de experiencia que podemos brindar, pero es muy poco probable que se implemente una personalización más profunda de la interfaz de usuario a tiempo para el lanzamiento v1.4. Somos un proyecto dirigido por voluntarios y no podemos permitirnos dedicar tiempo a satisfacer todas las necesidades que existen, aunque las contribuciones siempre son bienvenidas.
Más organización del espacio de trabajo
Actualmente, las pestañas fijadas en la lista de chat no se pueden reordenar de la forma en que los espacios de trabajo pueden estar en la lista de espacios de trabajo. ¿Sería esto útil para ti?
Además, la nueva interfaz de usuario de los espacios de trabajo de Gajim cuenta actualmente con una representación de 2 niveles como Mattermost, donde cualquier chat solo tiene un espacio de trabajo de un nivel previo. La lista de la cuenta es una excepción, porque presenta un anidamiento de tercer nivel para adaptarse a los grupos de la lista, donde cada entrada es parte de un grupo, que es parte del contexto del espacio de trabajo de la cuenta. Puede ser que los espacios de trabajo puedan beneficiarse de este enfoque para representar jerarquías de 3 niveles similares a la interfaz Discord/Element.
Además, actualmente un chat solo se puede presentar en un único espacio de trabajo, en aras de la simplicidad. Esa es una buena suposición siempre que los espacios de trabajo sean administrados por un solo usuario para sus propias necesidades, pero no funcionaría bien compartiendo espacios de trabajo con otros usuarios, en cuyo caso un chat puede aparecer más de una vez en el árbol del espacio de trabajo.
Estandarización e interoperabilidad
Como se mencionó brevemente, estamos considerando cómo nuestra nueva función de espacios de trabajo se puede representar en el lado del servidor, de modo que pueda ser utilizada por otros clientes y tal vez incluso compartida entre usuarios.
Compartir un espacio de trabajo con varios usuarios, algo similar a los “espacios” de Matrix o los “servidores” de Discord, podría resultar muy útil para las comunidades en línea que administran un montón de canales, por ejemplo, para establecer permisos en todo el espacio. También podría permitir suscribirse a un espacio de trabajo público mantenido por un contacto tuyo, con un montón de chats grupales de terceros sobre un tema específico.
Si bien aún no existe una especificación para dicha organización jerárquica de chats en el ecosistema XMPP, hubo un XMPP Online Sprint el invierno pasado que estudió la experiencia de usuarios de Discord en beneficio del ecosistema Jabber/XMPP.
Más recientemente, algunas personas han comenzado a recopilar ideas que deberían conducir a una especificación. Hay un documento en progreso (un pad) que cualquiera puede editar con sus comentarios, y se ha configurado un chat grupal de [spaces@joinjabber.org](xmpp: spaces@joinjabber.org? join) para discutir este tema de manera cruzada entre proyectos. Tus ideas y contribuciones son más que bienvenidas, incluso si no estás familiarizado con el ecosistema Jabber / XMPP. La retroalimentación sobre cómo una nueva especificación podría ser interoperable con otras redes descentralizadas es muy bienvenida.