27 octombrie 2011

La revedere Ubuntu, bine ai venit ArchLinux




Pentru cine nu știe, Ubuntu este una dintre cele mai populare distribuții de Linux. Nu mă mai obosesc să zic că Linux este cel mai tare, mai șmecher mai iubit și mai stabil sistem de operare care mai e și open source pe deasupra (și pe dedesupt)...

Am spus că e GRATIS? Bun.. mi-era că n-am spus...

Motivul pentru care este atât de popular Ubuntu este că este deosebit de prietenos cu un untilizator începător pe Linux care n-a rulat toată viața lui decât Windows. Marele său merit este că a "convins" mulți utilizatori să treacă de la Windows la Linux, adică de la un software închis, pe bani, pe care oricum 99% din utilizatori îl piratau (și chiar dacă ar fi plătit ar fi primit suport din părțile laterale) la un software deschis, gratuit care este îmbunătățit în mod constant de probabil sute de mii de oameni.

Punctul cheie aici, este că încet încet, acest model de a crea un produs gratuit prin colaborarea benevolă a unor indivizi pasionați, a început să-și dovedească beneficiile nete față de modelul produselor pe bani, dezvoltate de un grup restrâns, care nu permit utilizatorilor nici măcar să le îmbunătățească după ce că mai și dau bani pe ele.

Bun, acum că am menționat asta, am să revin să discut puțin "user-friendliness-ul" în general având ca exemplu Ubuntu.

Să definim întâi conceptul.

 Un produs este user-friendly, prietenos cum s-ar zice, atunci când, pe lângă faptul că merge brici și face ceea ce spune că face, dă posibilitatea utilizatorului să acceseze niște funcționalități care în sine sunt complexe, într-un mod ușor și intuitiv fără prea multe acțiuni din partea acestuia.

Exemple sunt nenumărate: De exemplu un program complex poate fi rulat de către utilizator cu un simplu click pe un buton, după ce eventual a completat anumiți parametri de intrare într-un formular vizual. Nimic mai simplu... Oare?

Iar la nivelul sistemului de operare, asta înseamnă că poți folosi ecranul, mouse-ul și tastatura pentru a interacționa cu o mașină pe care nu o înțelegi într-un mod pe care-l înțelegi. Pentru dezvoltatorii de software înseamnă chiar mult mai mult decât atât avânt acces la diverse funcționalități bazice de-a gata, fără să-și mai bată capul cu implementarea lor, putând să se concentreze pe scopul final.

Accesibilitatea, faptul că îți permite să execuți niște acțiuni complexe într-un mod rapid și ușor este probabil cel mai mare beneficiu.

Însă așa cum bine știm, ce e prea mult strică. Și așa ajungem la problema mai puțin evidentă la început dar care în timp își arată colții monstruoși.

Treaba stă în felul următor:

Pentru a ascunde acea complexitate inițială în spatele unei interfețe frumoase, colorate și fâșnețe, este nevoie de mai multe niveluri de abstractizare și de decuplare însă toate acestea se întâmplă cu prețul unei complexități suplimentare.

În mod evident, până la un punct abstractizarea și adăugarea de niveluri de funcționalitate sunt absolut necesare, că dacă ar trebui să scriu un program în cod mașină ca să public mesaju' ăsta pe internet probabil m-aș lăsa păgubaș, însă este vital să înțelegem că odată acest punct depășit lucrurile încep să funcționeze împotriva noastră.

Ei bine cred că Ubuntu a depășit acest punct critic cam de-acum 2-3 versiuni, dacă nu cumva a pornit de la-nceput pe partea cealaltă. Asta e, uneori în funcție de ce urmărești trebuie să faci niște compromisuri. Pe lângă asta a devenit și cam comercial (adică nu c-ar cere bani, dar acuma că te-au prins încep să-ți bage pe sub nas tot soiul de mizerii gen UbuntuOne & shit.. ). Cloud is Evil!!

Mă rog, revenind la creșterea complexității, sunt în principiu două mari probleme:
1) Se ajunge să se depună mai mult efort pentru a susține întreaga fațadă prietenoasă decât pentru funcționalitatea în sine ( Principiul lui Pareto în acțiune)
2) Cu cât crești mai mult complexitatea ca să-l faci pe utilizator mai fericit cu atât îl faci și mai incompetent. Este un soi de paradox și asta mi se pare că e cea mai mare problemă cu acest sindrom "user-friendly".

Întrebarea care se pune este: Vrem asta? Vrem ca lucrurile să fie din ce în ce mai simple la suprafață și mai accesibile plătind însă prețul faptului că înțelegem din ce în ce mai puțin din ce se întâmplă de fapt?
Sau poate vrem să depunem ceva mai mult efort să înțelegem ce se întâmplă având două beneficii: păstrăm lucrurile mai simple și doi ... înțelegem ce se întâmplă!

Iată o întrebare poate nu chiar atât de tâmpită: N-ar fi mai eficient ca în loc să irosim timp și resurse să dezvoltăm interfețe mai prietenoase ce ajung să fie din ce în ce mai greu de menținut, să antrenăm utilizatorii să folosească anumite programe din linie de comandă? E un exemplu, nu dați cu pietre... ideea de bază e .. să ne gândim de două, trei, oricâte ori este nevoie până înțelegem că dincolo de un anumit punct complexitatea distruge orice posibilitate de înțelegere...

Treaba e că tendința asta de a "simplifica" lucrurile în aparență complicându-le în esență pare să se manifeste în majoritatea aspectelor existenței noastre. Părerea mea este că ar trebui să fim mult mai atenți la punctul acela critic și să încercăm pe cât posibil să nu-l depășim și zic eu, să înțelegem că probabil pe termen lung este mult mai eficient să investești energie în a înțelege lucrurile cât mai aproape de starea lor naturală decât să încercăm să le ascundem în spatele unor filtre de simplificare. În fond este vorba de a ascunde complexitatea sub preș... sau afară-i vopsit gardu' și-nnăuntru leopardu'...

Oare nu cumva legile sunt exact această încercare de optimizare a existenței printr-o complicare a ei?
N-ar fi mai inteligent să încurajezi oamenii să gândească și să evalueze situațiile așa cum apar ele în loc să-i dresezi să asculte niște norme rudimentare?

În fine exemplele sunt multe și nu mai zăbovesc.

Acum ca să închei. Am renunțat la a mai folosi Ubuntu din motivele menționate mai sus.
Am descoperit o distribuție mult mai aproape de concepțiile mele, care încearcă să păstreze simplitatea și eleganța, cerând de la utilizator doar un singur lucru: SĂ ȘTIE CE DRACULUI FACE!
Un târg corect după părerea mea.

Deci: Archlinux

L-am folsit de două săptămâni și verdictul e sigur: Mai curat, mai uscat, mai rapid, mai "simplu", mai puternic, muuuuuuult mai flexibil!

Pentru mai multe detalii: The Arch Way sau Calea Arch.

Hai libertate la tot satu'!

2 comentarii:

Gab spunea...

Eu încă folosesc Ubuntu 10.04 cu GNOME 2. Când o să am chef să o schimb, nu știu ce-o să fac, dar cred că aș vrea să evit Unity... Poate încerc și eu un Arch, poate merg în sus pe râu, la Debian. Mai văd eu.

Cu simplificarea lucrurilor în aparență și complicarea lor în sesnță... Știu exact ce spui.

Dar mă gândeam că și în restul lumii vii, lucrurile tind să se complice în esență, pe măsură ce evoluează devin tot mai complexe. Dacă tehnologia e o extensie a noastră (ființe fii), poate că și ea poate fi privită ca fiind vie.

Simplificarea în aparență... ce-mi vine în minte este noul val de interfețe pentru utilizator: NUI, cu pinch to zoom, etc. Nici nu le-ai menționat pe astea. Să înțeleg că ești absolut împotrivă? Eu încă încerc să-mi dau seama ce se întâmplă...

individul_x spunea...

Eu nu spun că nu există o complexitate inerentă a realității, care într-adevăr presupun că devine și mai complexă odată cu evoluția. Spun doar că acolo unde este posibil o complicare suplimentară ar trebui evitată.

Cred că simplificarea aparentă poate fi înlocuită cu un efort intelectual comun, care în schimb îți deschide niște oportunități. Cu cât înțelegi mai mult din ce se întâmplă cu atât ai nevoie de mai puține simplificări inutile. Probabil cea mai simplă interfață utilizabilă se apropie de punctul ăla critic de care ziceam.

E vorba într-un fel de atitudine.

O atitudine optimă mi se pare a fi cea în care fiecare depune și un mic efort de înțelegere și nu doar așteaptă ca lucrurile să se simlifice suficient pentru a le putea folosi. Adică uneori efortul necesar pentru a suprasimplifica o interfață este mult mai mare decât efortul depus de utilizator să-i înțelegă complexitatea actuală.

Oricum complicarea inutilă a lucrurilor mi se pare că transcende domeniul tehnologiei. E prezentă cam în toate domeniile vieții, sociale, economice, etc.
Iar dacă vrei supracomplicare inutilă vezi juridic... te doare capu...

Ideea de bază este că cu cât gândești mai mult cu atât contribui mai puțin la creșterea inutilă a complexității....și accentul ar trebui să se pună pe dezvoltarea capacităților cognitive ale indivizilor nu pe suprasimplificarea mediului...