101 Despre intuitivitatea programelor de calculator

Posted: Jul 5, 2008, under Technology, Software, [În română]. Add a comment!

Aţi auzit probabil foarte des vorbindu-se de programe sau interfeţe “intuitive”. E o temă de discuţie extrem de populară în IT (şi nu numai). Programatorii ajung să fie acuzaţi de rea-voinţă, obtuzitate sau mai rău.

În primul rînd, cred că se exagerează cînd se atribuie sentimente procesului de elaborare de interfeţe. Desigur, rezultatul poate deseori sugera o oarecare cantitate de rea-voinţă, ca şi cum s-ar fi urmărit intenţionat ridicarea unei bariere pentru anumite categorii de utilizatori, mai puţin avansaţi. Dar asta are o explicaţie simplă.

Fiecare om îşi dezvoltă o serie de concepte pentru operarea cu orice fel de unelte. Cei care posedă concepte mai avansate vor imagina, firesc, metode de interacţiune care nu vor fi intuitive pentru cei care posedă concepte mai puţin avansate. Prin definiţie, orice programator lucrează la un nivel mai înalt decît utilizatorii simpli şi va tinde să creeze interfeţe potrivite nivelului propriu. Nu e vorba de rea-voinţă ci e o reacţie perfect naturală.

Apoi, modul de abordare al problemei este defectuos. Enunţul “cutare program nu e intuitiv pentru utilizatori” e foarte relativ. Se porneşte de la premisa falsă că intuitivitatea are o scală de valori absolută şi de asta auzim foarte des vorbindu-se de “Grandma” sau de “oamenii normali”. Dar care-i coeficientul de intuitivitate al Grandma? Dar al “oamenilor obişnuiţi”? În ce se măsoară? Pe la ce valori se învîrte? Are rost să vorbim de el în asemenea termeni?

Luaţi “cel mai intuitiv” program din lume şi garantat vor exista totuşi oameni care nu vor reuşi să-l folosească eficient sau chiar deloc. Nu pentru că ar fi proşti sau pentru că ar fi fost trataţi ca şi cum ar fi, sau pentru că-i urăşte proiectantul. Pur şi simplu le lipsesc conceptele necesare şi e ridicol să vorbim de intenţii sau inteligenţă în acest context. Şi încă ceva: ce ne spune asta despre acel program? Este el prost din cauză că nu poate fi folosit de 100% dintre oamenii în viaţă?

Consider că o versiune a unui program e “intuitivă” (sau mai bine spus, că are o interfaţă eficientă) dacă exploatează corect nivelul conceptual al unei majorităţi dintre cei cărora le este destinată, la un moment şi context date.

Carenţa majoră în proiectarea interfeţelor este ignorarea acestui fapt. La modul ideal, ar trebui să se pornească de la acceptarea scopului de mai sus, urmată de identificarea unui grup destinaţie şi apoi a nivelului conceptual preponderent în acel grup.

Ce înseamnă atunci “design prost”? E un design care-şi ignoră propriul target de utilizatori, care eşuează în a opera cu concepte care le sînt lor familiare.

Vor exista întotdeauna oameni care nu vor corespunde targetului. Bagajul de cunoştinţe şi de concepte al fiecăruia este diferit. Putem spera ca anumite concepte să devină suficient de răspîndite pentru a permite o “intuitivitate” cvasi-universală, şi pentru unele chiar se întîmplă. Dar e mult mai uşor pentru conceptele simple şi din ce în ce mai complicat pe măsură ce creşte complexitatea unei interfeţe.

De asemenea, putem spera că oamenii, utilizatorii potenţiali, cei care au picat în afara targetului, cei cărora programul nostru nu li se pare “intuitiv”, putem spera aşadar că aceştia vor face uz de capacitatea lor de a se adapta şi vor face pasul spre grupul target, care astfel se va lărgi.

Fac oamenii asta? Sînt multe de spus despre facerea acestui pas care desparte pe cineva la un moment dat de utilizarea unei noi interfeţe sau unei noi unelte. În măsura în care sînt nevoiţi s-o facă, forţaţi de împrejurări, da, majoritatea o vor face. Metodele însă vor diferi. Dacă posedă concepte apropiate de cele necesare vor putea face mai uşor saltul. Dacă nu le posedă vor recurge la reacţii de bază: imitarea orbească a acţiunilor necesare obţinerii unui rezultat.

Acest din urmă caz nu este niciodată dezirabil. Capacitatea de a ne însuşi concepte abstracte e una dintre cele mai importante caracteristici ale speciei noastre, unul dintre lucrurile care ne despart de animalele inferioare. E cu siguranţă păcat să nu ne-o folosim.

Pe de altă parte, intervin considerente practice. Trăim într-un timp şi societate care ne cer să asimilăm concepte din ce în ce mai avansate. Unii dintre noi îşi epuizează la un moment dat capacitatea sau cheful de-a o face şi atunci revenim la metoda maimuţelor.

Bun, deci… ce facem? Care-i soluţia la problema lipsei de intuitivitate a programelor de calculator? Pentru că dacă discuţiile interminabile cu acest subiect ne spun ceva, atunci ne spun că există o problemă.

Probabil că soluţia este să ne întîlnim undeva la mijloc. Cei care au avut norocul s-o ia înainte să ajute la elaborarea unor interfeţe adecvate celorlalţi. Iar cei mai puţin avansaţi să facă minime eforturi pentru a-şi îmbunătăţi condiţia. În definitiv vrem cu toţii să evoluăm. Nu?