În Interviuri

[Interviu] Andrei Pfeiffer: Oricine creează ceva pentru oameni, în orice domeniu, ar trebui să fie preocupat și de UX

Andrei Pfeiffer

Andrei și-a început cariera ca designer, a continuat ca programator full-stack, iar mai apoi s-a specializat pe tehnologii front-end. În prezent, Andrei este Code Designer la [e-spres-oh] şi organizator al tim.js. În noiembrie, ne întâlnim cu el la Carieră în Ctrl: Angajat VS Freelancer. 

 

Există diverse controverse legate de specializarea UX Developer, unii considerând că este un termen redundant. Tu de care parte stai, crezi că există diferențe majore între UX Development și Front-end Development, diferă în vreun fel focusul?

Sincer vorbind, oricine creează ceva pentru oameni, în orice domeniu, ar trebui să fie preocupat și de „UX”. Singura diferență este între cei care o fac conștient și consecvent, pe de o parte, și cei care o fac întâmplător, pe de altă parte.

Ce înțeleg eu prin UX Developer este persoana care, pe lângă faptul că scrie cod, este interesată de experiența utilizatorului final, care colaborează interdisciplinar, care nu implementează orbește cerințele clientului, ci încearcă în permanență să aducă îmbunătățiri.

 

Ce te-a determinat să te concentrezi pe UI/UX?

Sincer? Nu am fost niciodată extraordinar de bun și nici suficient de pasionat de programare, așadar am căutat să integrez cât mai mult și partea estetica în ceea ce fac.

Dezvoltarea interfețelor a fost doar o consecință a proiectelor pe care am lucrat și cu timpul am ajuns să fiu foarte interesat și pasionat, și încercam tot timpul să îmbunătățesc partea de interacțiune a utilizatorului.

Interesul pentru UX a apărut și el oarecum firesc, ca urmare a evoluției profesionale. Când ajungi să stăpânești binișor „sculele” cu care lucrezi, ajungi să privești și din alte puncte de vedere rezultatul muncii tale. Să „faci” ceva nu mai e suficient, trebuie să „faci bine” acel ceva.

 

Ce părere ai despre hibridul UX designer/developer? Crezi că poate funcționa la un nivel calitativ ridicat? Oare cei doi trebuie să privească din același punct de vedere un proiect sau crezi că ar trebui să existe diferențe? Și dacă da, în ce ar consta ele?

Hibridul designer/developer mi se pare necesar în multe situații, și aș risca să spun că orice front-end developer ar trebui sa aibă atât cunoștințe de design, cât și de programare. El este puntea de legătură între „estetic” și „logic”, este traducătorul dintre designer și inginerul de sistem.

Rolul acestui “hibrid”, și în consecință a oricărui front-end developer este unul foarte simplu la bază: el trebuie sa se asigure că informatia provenită de la server / back-end este “prezentată” corespunzător și utilizatorii pot interacționa intuitiv cu acele informații.

 

Crezi că există într-adevăr idei preconcepute în ceea ce privește experiența utilizatorului? Ne poți da câteva exemple?

De-a lungul vremii, m-am confruntat cu câteva situații, pe care le consider bazate pe prejudecăți:

1. Toate informațiile pe o singură pagină

Am avut de-a face cu clienți care țineau neapărat să afișeze „totul” într-o pagină web, motivația din spate fiind ca „dintr-o privire să vezi toate informațiile necesare”. Rezultatul era insă un ghiveci, în care în loc să vezi totul, nu vedeai nimic.

Adevărul este că trebuie balansată cantitatea de conținut pe care îl oferi la prima vedere. Dacă e prea multă informație, va fi greu de filtrat cea necesară, iar dacă e prea puțină, va fi la fel de greu de căutat ceea ce avem nevoie.

2. Utilizatorii gândesc la fel ca noi

În mai multe cazuri am avut de a face cu clienți care gândeau anumite procese complexe și structurate, cu mulți pași și multe opțiuni, pentru a oferi utilizatorilor libertate de configurare, fără să înțeleagă de fapt care sunt nevoile lor reale.

În consecință, toți utilizatorii acestor sisteme căutau de fapt „scurtături”, iar procesul, așa cum era el proiectat, nu era urmat de nimeni deoarece era prea complicat.

Principiul KISS ne învață să nu complicăm inutil lucrurile, iar termenul Desire Path ne învață să înțelegem nevoile utilizatorilor înainte de a proiecta soluții.

 

Cum putem identifica și face diferența dintre un site care folosește dark patterns și unul care folosește honest patterns?

În cele mai multe cazuri, cei ce folosesc Honest Patterns nu îți „aruncă” în față elemente pe care să dai click, nu afișează mare, colorat și animat „Click aici”, nu se străduiesc să te ademenească dincolo de o anumită limită a bunului simț.

 

Te declari un susținător al principiilor DRY și KISS. Ne poți spune, în câteva cuvinte, despre aportul pe care îl aduc ele unui proiect?

În câteva cuvinte, oferă un excelent DX (Developer eXperience).
DRY-ul este mai palpabil, iar prin exercițiu se poate însuși de către oricine. Cum ziceam și în seria de articole legate de acest principiu, el ajută la:

  • mentenanța și extinderea codului;
  • eliminarea anumitor tipuri de erori umane;
  • scurtarea codului;
  • reutilizarea codului;
  • testarea codului.

KISS este mult mai abstract, vag și deschis la polemici, însă o aplicare corespunzătoare a sa e benefică nu numai developerilor:

  • daca e să aplici KISS în UI/UX și elimini din complexitatea (inutilă) a unui anumit proces, vei avea clienți mai mulțumiți, care chiar vor utiliza ceea ce ai creat;
  • în același timp sunt afectați și developerii, deoarece o logică mai simplă este mai ușor de scris, de citit, de îmbunătățit, de extins.


Ce se găsește în “toolbox-ul” tău personal?

Există câteva aplicații pe care le utilizez mai mult sau mai puțin zilnic:

  • Sublime/Atom – editor de cod;
  • Wallaby.js – plugin pentru rularea in timp real a testelor;
  • iTerm2 – terminal și consolă;
  • Photoshop – editare raster;
  • Keynote – pentru prezentări;
  • Evernote – pentru notițe și idei.

 

Ai o meserie în care înveți mereu lucruri noi. Ce faci pentru a evolua în permanență? 

Momentan, rețeta mea include 3 ingrediente:

Am renunțat acum ceva timp la RSS în favoarea Twitter-ului, care are marele avantaj că iți permite să interacționezi ușor cu cei pe care îi urmărești. Astfel, mi-e foarte ușor să stau la curent cu tot ceea ce apare nou în domeniu.

Întâlnirile cu colegii de breaslă, cum ar fi meetup-urile sau conferințele, sunt foarte utile, deoarece afli multe lucruri noi, abordări la care nu te-ai gandit, tehnologii de care nu ai auzit sau nu le acordai încredere, ceea ce te ajută să îți lărgesti orizonturile și să ai o atitudine mai deschisă.

Nu în ultimul rând, când vreau să aprofundez anumite cunoștințe, prefer să citesc o carte în loc să urmăresc tutoriale online.

 

În final, poți împărtăși cu noi două învățăminte importante pe care le-ai tras și de care ții cont la fiecare proiect de UX?

  1. Utilizatorul nu ar trebui să fie niciodată dezorientat în urma interacțiunii cu interfața unei aplicații. Orice rezultat al unei interactiuni ar trebuie să aibe exact rezultatul la care se aștepta utilizatorul.
  2. Nu toți utilizatorii gândesc la fel ca noi. Trebuie să înțelegem nevoile lor prin înțelegerea domeniul și contextului în care ei vor utiliza aplicația sau produsul nostru pentru a putea proiecta și implementa soluțiile adecvate.