Jurnalul unui designer UX/UI

Jurnalul unui designer UX/UI prezinta modul de abordare al design-ului orientat catre User Experience si proiectarea interfetelor grafice [UI Design] dintr-un altfel de punct de vedere.

Daca analizam putin trecutul, vom observa un trend al carui inertie radiaza pana in zilele noastre. Si anume orientarea catre tehnologie. Ce inseamna orientarea catre tehnologie? Orientarea catre tehnologie inseamna atentia exclusiva asupra partii tehnice, asupra tehnologiilor software, sistemului de operare, mediului de dezvoltare si limbajului de programare.

Asta a dus la o multime de flame wars intre diferiti sustinatori ai diferitelor tehnologii software. Iar clientul era undeva la mijlocul acestui razboi high-tech. De asemenea, devenind si elementul asupra caruia se rasfrangeau in final toate aspectele negative ale acestor versus-uri inutile.

Unii sustineau C++, altii Java sau Visual Basic. Poate unii preferau Delphi sau C++ Builder iar altii lucrau in Visual C++ cu MFC. Unii nu vor sa auda decat de Linux si GCC, poate QT. Target-ul final era de fapt castigarea unui razboi surd intre sustinatorii diferitelor tehnologii, limbaje de programare si sisteme de operare, in nici un caz satisfactia consumatorului. Asta pentru ca dezvoltatorii erau pur tehnici si orgoliosi iar utilizatorii erau nimic altceva decat niste nefericiti neinitiati pentru care tehnologia era un rau necesar doar pentru a-si duce treaba la bun sfarsit.

Dezvoltarea unei aplicatii nu punea clientul final in centrul directiei de dezvoltare, ci tehnologia software folosita si eventual subtila umilire a celor care foloseau tehnologii concurente.

Astfel s-a declansat un razvboi de care nimeni nu vroia sa vorbeasca, pe care nimeni nu vroia sa il recunoasca dar pe care toti il purtau, intre Java si C++, intre J2EE si .Net, intre Visual Basic si Delphi, intre Linux si Windows, intre Microsoft si Apple, intre Oracle si SQL Server, intre open source si closed source, iar lista poate continua la nesfarsit.

Ca atare, nimeni nu dadea doi bani pe client. El trebuia suportat cat timp isi prezenta cerintele si era bun cand semna cecurile [substantiale desigur] in momentul livrarii aplicatiei. Interfetele grafice erau dezvoltate de programatori care in cele mai multe cazuri nu aveau niciun fel de simt artistic sau estetic, sa nu mai vorbim de cunostinte avansate de proiectare a interfetelor grafice sau concepte de Design UX. Concepte care chiar daca existau atunci, in foarte multe cazuri erau complet ignorate.

Cu timpul, datorita Microsoft si Apple, lumea a inceput sa puna tot mai mult accent pe User Experience si pe UI Design. Dar reminescente ale razboiului tehnologic de acum cativa ani au ramas si in zilele noastre. Pentru noi ca dezvoltatori, arhitecti software, designeri UX/UI, manageri IT, CTO, sau ce functii mai detinem in cadrul companiilor pentru care lucram, nu mai conteaza atat de mult tehnologia in sine. Trebuie sa privim lucrurile “diferit”.

Tehnologia in sine nu este decat o unealta, nu este un scop. Nu este target-ul final, este doar o modalitate prin care putem obtine ceva, in cazul nostru, un produs software. Lumea nu mai este centrata pe “in ce limbaj de programare este scris acest software? pe ce sistem de operare ruleaza?, etc…”. Din simplu motiv ca nu mai conteaza. Aceste aspecte tehnice pentru clientul final, pentru utilizatorul de rand [chiar daca el este CEO sau badea Vosi de la oi], nu conteaza. Devine irelevant pe ce platforma ruleaza aplicatia, nu conteaza in ce limbaj de programare este scrisa, nu conteaza daca programatorul si-a etalat talentul integrand cod ASM pe langa codul C++, nu conteaza ce framework foloseste.

Pentru utilizatorul final conteaza sa o poata folosi FARA MANUAL DE UTILIZARE. Utilizatorul nu citeste. Nu citeste nici mesajele de eroare, nu citeste nici help-ul, nu citeste nici manualul de utilizare. Pentru ca nu are timp sa citeasca o documentatie a ceva care ar trebui sa functioneze de la sine, fara efort din partea lui.

El vrea sa porneasca telefonul mobil si sa faca un apel. Cat de mult credeti ca il va interesa in ce limbaj de programare e scrisa aplicatia de Dialer, pe ce sistem de operare ruleaza si ce framework foloseste? Cat de mult credeti ca va citi documentatia tehnica a aplicatiei si instructiunile de utilizare? Un exemplu simplu. Aplicatia respectiva de Dialer trebuie conceputa, gandita, proiectata si implementata in asa fel incat omul respectiv sa o poata folosi instant fara niciun fel de manual de utilizare si fara sa aiba niciun fel de notiune tehnica asupra limbajelor de programare si sistemelor de operare. De cand trebuie sa ai master in informatica sa iti initiezi un apel? Este exagerat exemplul, dar utilizatorul tot timpul exagereaza atunci cand ceva nu merge asa cum se asteapta.

Pe acest principiu gandesc absolut toti utilizatorii. Fie ca e vorba de aplicatii folosite in scop personal, de divertisment sau pentru business. Nimeni nu vrea o aplicatie pentru care trebuie sa citeasca documentatia tehnica sau manualul de utilizare. Acest lucru ii frustreaza iar daca maine concurenta va oferi un produs software care sa le satisfaca aceste simple cerinte, vor deveni clientii lor. Iar noi nu vrem asta, nu?

In principiu nu mai conteaza sistemul de operare si tehnologia pe care o folosim. Sistemul de operare il alegem in functie de target-ul audientei. Nu alegem sistemul de operare apoi fortam audienta sa il foloseasca. Lasam utilizatorul sa foloseasca mediul in care se simte confortabil. Daca foloseste produse Apple de o vreme, nu il vom obliga sa isi achizitioneze un smartphone cu Android sau chiar cu Windows Mobile pentru simplu motiv ca noi am decis sa dezvoltam aplicatia de care are nevoie in Visual Studio si C# pentru ca toata lumea stie ca “Objective C si XCode sunt greu de folosit”. De asemenea daca utilizatorul doreste mobilitate si accesarea aplicatiei dintr-un portal WEB, nu vom incerca sa il convingem sa foloseasca o aplicatie desktop din simplu motiv ca noi stim prea bine ca WEB sucks si WPF rulz and Desktop rocks.

Vom studia mediul in care utilizatorul se simte “acasa”. Vom analiza ce foloseste, cu ce este familiarizat, daca prefera un Desktop sau poate tot timpul lucreaza pe un laptop, daca prefera tableta sau smartphone-ul. In functie de stilul de viata al acestuia vom trece la proiectarea solutiei de care are nevoie. Ulterior, vom stabili sistemul de operare target si in functie de sistemul de operare, vom alege mediul de dezvoltare, framework-ul si limbajul de programare.

O experienta placuta pentru utilizator este in momentul in care aplicatia ruleaza in mediul in care el se simte cel mai confortabil, in momentul in care nu mai are nevoie de manual de utilizare, in momentul in care interfata grafica este intuitiva si placuta ochiului, in momentul in care aplicatia este logica iar pasii pe care trebuie sa ii urmeze sunt naturali, in momentul in care simte ca utilizand-o isi creste productivitatea si devine mai eficient.

Everything should be made as simple as possible, but no simpler. [Albert Einstein]

Complexitatea unei aplicatii se muta. Se muta de la utilizator la programator. Se muta din interfata grafica in codul sursa. Poate ca pentru a face viata utilizatorului mai usoara o ingreunam pe cea a dezvoltatorilor. Dar sa nu uitam un aspect esential. Bunastarea dezvoltatorilor este direct proportionala cu satisfactia clientilor. Si odata cu satisfactia clientului vine si satisfactia personala pentru ca am realizat ceva cu adevarat util, ceva de care utilizatorului si lumii sa ii pese.

Tehnologia trebuie sa deserveasca utilizatorul si nu invers. Tehnologia trebuie sa fie o extensie naturala a individului, indiferent ca vorbim de un PC sau de un smartphone. Utilizatorul nu trebuie sa fie sclavul tehnologiei, ci stapanul ei, trebuie sa simta ca o are sub control, nu ca este controlat de ea. Orientarea corecta este catre utilizator si catre nevoile acestuia. Aplicatia pe care o construim nu este decat un tool care sa ii faca viata mai usoara, cu ajutorul careia sa isi termine cat mai rapid treaba pentru a se putea dedica lucrurilor cu adevarat importante – familia, pasiunile, prietenii.

Scopul vietii unui utilizator nu este acela de pierde timp invatand aplicatia voastra sau a mea. Este acela de a scapa cat mai repede de ea. V-ati facut treaba in momentul in care utilizatorul doreste sa mai deschida o data aplicatia voastra, pentru simplu motiv ca ii place.

Design is not just what it looks like and feels like. Design is how it works. [Steve Jobs]

Am inventat computerele personale acum multi ani cu scopul de a ne face viata mai usoara, noua si tuturor celor care le folosesc. Dar in loc sa facem viata oamenilor mai usoara, am sfarsit prin a obliga toti utilizatorii de tehnologie sa devina mini-technicus. E timpul sa ne regandim strategia si sa facem tehnologia sa isi indeplineasca scopul pentru care a fost creata, acela de a face viata oamenilor mai simpla, nu de a o transforma intr-un calvar.

Traim, gandim si visam in culori. Iar eu cred ca PC-ul, tableta si smartphone-ul trebuie sa faca la fel. Tehnologia trebuie sa devina o parte din noi, sa ne conecteze ca indivizi, ca oameni, ca societate. Si cel mai important, sa ne atinga inimile. Pentru ca daca poti atinge inima cuiva, posibilitatile sunt nelimitate.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.