Echipa Gajim a muncit din greu în ultimele luni pentru a pregăti următoarea versiune v1.4. Viitoarea versiune aduce o reproiectare majoră a interfeței. În această postare, explicăm cum funcționează noua interfață și ce a mai rămas de decis sau de implementat înainte de lansare.
Bineînțeles, opinia ta este importantă! Nicio interfață nu poate mulțumi pe toată lumea, așa că vă rugăm să reacționați la această postare cu modul în care această schimbare v-ar afecta pozitiv și negativ, precum și cu ideile pe care le aveți pentru a o face și mai bună înainte de lansare.
Această postare pe blog se bazează parțial pe Gajim 1.4 UI/UX Preview oferită de lovetox, unul dintre mentorii actuali ai Gajim. Așadar, dacă preferați formatul video, dați clic pe acel link Youtube sau folosește instanța ta preferată de Invidious pentru a-l vizualiza cu un client ușor și prietenos cu intimitatea. Această prezentare a fost făcută în cadrul programului XMPP Office Hours, unde puteți găsi alte prezentări interesante despre ecosistemul Jabber/XMPP sau puteți propune propria prezentare!
Aplicație cu o singură fereastră
Principala schimbare în noua versiune a lui Gajim este că, în implementarea actuală, devine o aplicație cu o singură fereastră. Ne-am obișnuit de peste un deceniu să avem ferestre separate pentru lista de contacte (roster) și pentru chat-uri. Acest model de interfață de utilizator a fost comun cu mesageri de la începutul anilor 2000, cum ar fi MSN și ICQ.
În viitoarea versiune, vom face din Gajim o aplicație cu o singură fereastră, unde toate funcțiile sunt întotdeauna la îndemâna ta. Această schimbare este inspirată de mesageri mai recenți, cum ar fi Element, Discord sau Mattermost (printre altele). Iată cum arată până acum:
Unele persoane se simt lăsate pe dinafară de această nouă funcție și de eliminarea modului cu mai multe ferestre, însă sperăm să reconciliem nevoile utilizatorilor noștri în cadrul proiectului Gajim, după cum se explică în secțiunea Arii de îmbunătățire din această postare pe blog.
Spații de lucru
Gajim v1.4 va introduce un nou concept: spații de lucru. Anterior, toate filele erau considerate egale ca o listă plată în cadrul unei ferestre. Înțelegem nevoia de a organiza unele activități într-un context specific, dar fără ferestre multiple, organizăm aceste activități prin spații de lucru.
Un spațiu de lucru este o colecție de discuții de grup și discuții private, organizate pe partea clientului. Deocamdată, aceasta este o caracteristică non-standard, specifică Gajim, dar eforturile de standardizare sunt explicate în secțiunea Arii de îmbunătățire.
Am introdus o nouă bară laterală în partea stângă a ferestrei, care vă permite să navigați prin spațiile de lucru și conturile dumneavoastră. După ce faceți clic pe orice spațiu de lucru, lista de chat va fi afișată în bara laterală. Această listă de chat, aflată în dreapta listei Listă de spații de lucru, oferă navigare pentru chat-uri (atât chat-uri de grup, cât și private) în cadrul spațiului de lucru curent. Spațiul de lucru focalizat în prezent are o bară colorată care indică faptul că este contextul curent.
Sub lista spațiilor de lucru, bara laterală afișează conturile dumneavoastră. Dacă faceți clic pe un cont, se va afișa o pagină care conține lista de contacte, avatarul vostru, un selector de stare și o listă de notificări în așteptare. Contactele din lista de contacte sunt organizate pe grupuri roster, așa cum era deja cazul în versiunile anterioare.
Contextul contului
Fiecărui cont i se atribuie o anumită culoare, pe lângă avatar. Această culoare este reutilizată în lista de chat, alături de avatarul filei, astfel încât să puteți vedea instantaneu ce cont al dumneavoastră este utilizat într-un anumit chat. Atunci când un anumit chat/un anumit cont nu are un avatar definit, se generează unul din primul caracter al numelui său afișat.
Atunci când se primește o notificare într-un anumit spațiu de lucru, pe pictograma spațiului de lucru și pe chat se va afișa un indicator cu numărul de mesaje necitite.
Organizarea interfeței dumneavoastră
Spațiile de lucru pot fi reordonate manual în cadrul barei laterale prin tragere și fixare. Cu toate acestea, aceste două tipuri diferite de context sunt păstrate separat: spațiile de lucru apar în partea de sus a listei, în timp ce conturile sunt listate în partea de jos. Atunci când există prea multe intrări pentru a fi afișate, lista spațiilor de lucru/conturi devine derulabilă.
De asemenea, chat-urile pot fi mutate de la un spațiu de lucru la altul, dar nu prin tragere și fixare: dați clic dreapta pe un chat și, de acolo, meniul “Move to” va muta chat-ul selectat în spațiul de lucru dorit. Cu toate acestea, în prezent nu este posibilă copierea unui chat într-un alt spațiu de lucru; mutarea unei intrări într-un nou spațiu de lucru o va elimina din spațiul de lucru anterior.
În cadrul unui anumit spațiu de lucru, discuțiile pot fi fixate. Acestea rămân la locul lor în partea de sus a listei de chat a spațiului de lucru. Discuțiile care nu sunt fixate sunt ordonate în funcție de ultima activitate. Astfel, nu va trebui niciodată să derulați la nesfârșit pentru a găsi chat-ul care vă interesează. Deocamdată, filele fixate nu pot fi reordonate la fel ca spațiile de lucru, dar plănuim să implementăm acest lucru.
Încercați-l și anunțați-ne
Există o mulțime de schimbări majore care urmează să apară în următoarea versiune Gajim v1.4, așa că rămâneți pe blog pentru mai multe informații. Între timp, puteți testa noua interfață rulând Gajim din surse folosind doar câteva comenzi. Această caracteristică nu este încă publicată în versiunile nightly, deoarece este încă instabilă, așa că nu o utilizați încă ca daily-driver.
Important: Rețineți că trebuie să porniți Gajim cu un profil de test folosind gajim -s -p testprofile
sau launch.py -s -p testprofile
pentru a păstra profilul curent. Migrarea înapoi nu este posibilă.
git clone https://dev.gajim.org/gajim/gajim && cd gajim
pentru a descărca sursa lui Gajim într-un foldergajim
și a muta acologit checkout mainwindow
pentru a naviga în ramura de dezvoltare cu noua interfață de utilizarepip install .
pentru a instala versiunea de dezvoltare a lui Gajim și toate dependențele în mediul tău python, apoigajim -s -p testprofile
pentru a porni- alternativ,
./launch.py -s -p testprofile
pentru a porni Gajim fără a-l instala, caz în care dependențele ar trebui să fie configurate manual mai întâi (de exemplu On Ubuntu)
Comentariile sunt binevenite sub orice formă, fie pe trackerul nostru de probleme, în chat-ul comunității noastre gajim@conference.gajim.org, fie sub forma unui articol de blog pe site-ul dumneavoastră personal. Problema principală de urmărire pentru această nouă interfață de utilizator este #10628.
Domenii de îmbunătățire
În această secțiune, explicăm deficiențele implementării actuale a funcției spații de lucru și ce ar putea fi făcut pentru a o îmbunătăți. Suntem în mod activ în căutare de idei în aceste domenii, așa că, dacă vă puteți permite, vă rugăm să petreceți ceva timp pentru a vă aduna gândurile și a ne ajuta să îmbunătățim Gajim.
Accesibilitate
Contextul contului se bazează pe culorile furnizate de utilizator. Cu toate acestea, din motive de accesibilitate (daltonism), am fi interesați să susținem alte modele grafice în locul culorilor. De exemplu, puncte și liniuțe și alte modele vizuale care sunt comune în grafice și tabele. Cu toate acestea, dacă nu primim mai multe contribuții, este puțin probabil ca această caracteristică să fie lansată în v1.4.
Internaționalizare
Reproiectarea ferestrei principale nu acceptă încă în mod special limbile de la dreapta la stânga (RTL). Bara laterală de navigare va fi afișată în toate cazurile în partea stângă a ecranului.
Personalizare UI
Unii utilizatori și-au exprimat deja neliniștea în fața ideii de a renunța la suportul pentru ferestre multiple în Gajim. Cu toate acestea, din punct de vedere tehnic, nu există nicio barieră care să ne împiedice să reimplementăm este cu noua noastră interfață de utilizator. Este “doar” multă muncă grea.
De exemplu, poate că am putea avea un mod în care fiecare cont să aibă propria fereastră care să se poată deplasa separat? Sau să focalizăm un spațiu din fereastra principală în propria fereastră? Acest lucru ar fi util atunci când se utilizează birouri virtuale (uneori numite spații de lucru, ce coincidență) în mediul de lucru preferat.
În plus, am putea explora posibilitatea de a sprijini mai multe bare laterale pe mai multe axe, astfel încât să puteți decide unde să plasați lista de conturi și să împărțiți lista de spații de lucru într-o bară laterală superioară și una inferioară.
Doar imaginația și contribuțiile tale la proiectul Gajim sunt limita pentru tipul de experiență pe care o putem oferi, dar este foarte puțin probabil ca o personalizare mai profundă a interfeței să fie implementată la timp pentru versiunea v1.4. Suntem un proiect administrat de voluntari și nu ne putem permite să ne petrecem timpul pentru a satisface fiecare nevoie care există, deși contribuțiile sunt întotdeauna binevenite.
Mai multă organizare a spațiului de lucru
În prezent, filele fixate în lista de chat nu pot fi reordonate în același mod în care pot fi reordonate spațiile de lucru în lista de spații de lucru. Ar fi acest lucru util pentru dumneavoastră?
În plus, noua interfață de utilizare a spațiilor de lucru Gajim are în prezent o reprezentare pe două niveluri, precum Mattermost, unde orice chat are un singur spațiu de lucru strămoș. Lista de conturi este o excepție, deoarece prezintă o imbricație pe al treilea nivel pentru a se potrivi grupurilor de liste, unde fiecare intrare face parte dintr-un grup, care face parte din contextul spațiului de lucru al contului. Poate că spațiile de lucru ar putea beneficia de această abordare pentru a reprezenta ierarhii pe trei niveluri, ca în cazul interfeței Discord/Element.
De asemenea, un chat poate fi prezentat în prezent doar într-un singur spațiu de lucru, din motive de simplitate. Aceasta este o presupunere bună atâta timp cât spațiile de lucru sunt gestionate de un singur utilizator pentru nevoile sale, dar nu s-ar potrivi cu partajarea spațiilor de lucru cu alți utilizatori, caz în care un chat poate apărea de mai multe ori în arborele spațiului de lucru.
Standardizare și interoperabilitate
După cum am menționat pe scurt, ne gândim la modul în care noua noastră funcție de spații de lucru poate fi reprezentată pe server, astfel încât să poată fi utilizată de alți clienți și poate chiar partajată între utilizatori.
Împărtășirea unui spațiu de lucru cu mai mulți utilizatori, similar cu “spațiile” din Matrix sau cu “serverele” din Discord, s-ar putea dovedi foarte util pentru comunitățile online care administrează o mulțime de canale, de exemplu pentru a stabili permisiuni la nivel de spațiu. De asemenea, ar putea permite să vă abonați la un spațiu de lucru public întreținut de o persoană de contact a dumneavoastră, cu o grămadă de chat-uri de grup ale unor terțe părți pe un anumit subiect.
Deși nu există încă o specificație pentru o astfel de organizare ierarhică a chat-urilor în ecosistemul XMPP, iarna trecută a avut loc un XMPP Online Sprint care a studiat experiența utilizatorilor Discord pentru a aduce beneficii ecosistemului Jabber/XMPP.
Mai recent, unele persoane au început să adune idei care ar trebui să ducă la un caiet de sarcini. Există un document de lucru în curs de elaborare (un pad) pe care oricine îl poate edita cu feedback, iar un chat de grup spaces@joinjabber.org a fost configurat pentru a discuta această problemă într-o manieră transproiect. Ideile și contribuțiile dumneavoastră sunt mai mult decât binevenite, chiar dacă nu sunteți familiarizat cu ecosistemul Jabber/XMPP. Feedback-ul privind modul în care o nouă specificație ar putea fi făcută interoperabilă cu alte rețele descentralizate este foarte binevenit.