PROIECTAREA INTERFEŢELOR VIZUALE
1. Procesarea vizuala
Calitatile care fac o interfata utilizator sa fie buna sunt centrate pe utilizator si nu pe tehnologie. Graficalitatea este un concept centrat pe tehnologie. Exista doua calitati centrate pe utilizator cu adevarat importante- vizualitatea software-ului si vocabularul programului.
Majoritatea oamenilor prelucreaza mai bine informatia vizual decât o fac textual. Pentru a realiza avantajele tehnologiei interactiunea cu utilizatorul trebuie sa devina vizuala. Aparitia nu este natura grafica a programului ci vizualitatea interactiunii. În loc de o interfata grafica utilizator ceea ce cautam este de fapt o interfata vizuala utilizator.
Daca o interfata vizuala este bine realizata ea da impresia unei cursivitati de deplasare lina, fara efort, pri 515f55f ntre scopurile utilizatorului, fara smucituri sau opriri pe mici probleme confuze, de întelegere. Mintea umana este un calculator superb pentru procesarea pattern-urilor(sablon, model), si o folosim pentru a da curs volumului de informatii vizuale cu care suntem bombardati în tot timpul zilei. Mintea umana gestioneaza intrarea discernând înconstient pattern-urile si utilizându-le pentru a gestiona ceea ce cautam. Ea stabileste propritatile sistemului pentru lucrurile pe care le vedem, ceea ce ne permite sa analizam constiincios input-ul vizual.
Daca mintea noastra subconstienta nu poate clasifica un pattern trebuie sa implicam mintea constienta îm prelucrarea preliminara. Este mult mai rapid daca mintea subconstienta furnizeaza prima solutie deoarece pattern-matching-ul este mai rapid si mai eficient decât daca ar trebui sa ne gândim la el. Abilitatea subconstientului de a grupa lucrurile dupa pattern-uri bazate pe indicatii vizuale este ceea ce ne permite sa prelucram informatia vizuala atât de repede si eficient.
Întelegerea si aplicarea modelului privind modul în care mintea umana prelucreaza informatia vizuala este unul dintre elementele cheie ale proiectarii interfetelor vizuale. O interfata eficienta e construita din pattern-uri vizuale pe care le cream prin modalitati simple. Cel mai simplu mod îl reprezinta crearea simbolurilor grafice identificabile si atribuirea unor valori prin asociere. Pentru fiecare obiect din interfata cream simboluri.
Aceste simboluri nu trebuie neaparat sa fie reprezentative dar ar fi indicat sa fie. Fie ca obiectul este un element dintr-un lista, o întreaga caseta de dialog sau un element dintr-o interfata grafica din toolbar - obiectul trebuie acompaniat de un simbol vizual. Prin prezenta unui simbol vizual în timp vom actiona asupra subconstientului utilizatorului determinându-l sa îl retina. Este ceea ce se numeste fuga vizuala (visual fuge).
Mintea noastra diferentiaza fiecare obiect prin simbolul sau vizual si odata identificat tipul care ne intereseaza citim textul pentru a-l separa de alte obiecte comune. Nu trebuie sa citim despre obiectele care nu ne intereseaza. Acest tip de procesare este foarte natural pentru oameni si el se realizeaza repede si cu efort minim.
2.Restrângerea vocabularului
Intr-o interfata de tip linie de comanda utilizatorul putea introduce orice combinatie de caractere din limbaj. Pentru ca input-ul utilizatorului sa fie corect acesta trebuia sa cunoasca exact ce asteapta programul. El trebuia sa-si aduca aminte literele si simbolurile utilizate cu exactitate.
Interfetele grafice utilizator atunci când au fost inventate pentru prima data, în mod evident erau net superioare deoarece restrângeau limitele vocabularului pentru comunicarea cu utilizatorul. Acesta poate puncta imaginile sau cuvintele de pe ecran folosind cursorul mouse iar cu ajutorul butoanelor de mouse poate executa click, dublu-click sau click&drag. Tastatura este utilizata doar pentru introducerea datelor. Fata de combinatiile de taste disponibile utilizatorul are la dispozitie doar trei actiuni de baza din care sa aleaga.
Cu cât elementele dintr-un vocabular de comunicatie sunt mai multe procesul de învatare este mai lent. Reducerea numarului de elemente din vocabular reduce expresivitatea acestuia .Un vocabular format corespunzator este figurat ca o piramida inversata. Toate elementele de comunicatie,usor de învatat, asculta de acest pattern. El este fundamental si este denumit vocabular canonic (canonical vocabulary).
Segmentul de baza contine primitivele, elemente cu ajutorul carora se întelege orice limbaj. El trebuie sa fie cât de mic posibil dar nu foarte mic. Într-o interfata grafica utilizator aceste elemente sunt - pointing, clicking si dragging. Un set de 2-4 primitive este corect, mai multe ar conduce la probleme. Mijlocul este format din componente (compounds). Constructiile sunt mult mai complexe daca sunt create prin combinarea uneia sau a mai multor primitive.
The Canonical Vocabulary
Idioms
Delete, Create Application-specific commands and feedback Scrolling, Sorting
Draw Dialogs
Compounds
Double click Generic input and output Edit fields
Buttonclick actions and symbols Checkboxes
Selection Highlighting
Primitives
Smallest
indivisible actions
and feedback
mechanisms
Click, Drag Cursor
Keypress Text
Input Output
Nu se adauga nimic altceva, ele sunt construite exclusiv din elementele aflate dedesubtul lor în piramida. Într-o interfata utilizator sunt incluse actiuni precum dublu-click, click &drag, precum si obiecte manevrabile ca: push-buton, check-box. Nivelul de sus al piramidei contine idiomuri (idioms). Idiomurile combina componentele cu cunostintele problemei considerate, cunoscute drept cunoasterea domeniului (domain knowledge).
Cunoasterea domeniului reprezinta informatia relativa la aria aplicatiei utilizatorului si nu în mod specific la solutia computerizata. Setul idiomurilor deschide vocabularul catre informatia privind o problema particulara pe care programul încearca sa o adreseze. Într-o interfata grafica utilizator acestea ar include butoanele OK, barele de captare, list-box-uri si simbolurile utilizate pentru fisiere.
Interfetele utilizator reusite sunt acelea care se focalizeaza pe scopurile utilizatorului chiar daca trebuie sa ignore tehnologia de implementare. Pentru crearea de interfete vizuale eficiente proiectantii trebuie sa creeze interactiunea pornind de la un vocabular în format canonic care este exprimat vizual. Acest vocabular urmeaza modelul mental al utilizatorului chiar daca este în dezacord cu modelul corect fizic.
ALEGEREA PLATFORMELOR
Prima alegere strategica de dezbatut cu un proiectant va privi platformele. Trebuie sa ne decidem daca scriem pentru Unix, Macintosh, Microsoft sau pentru toate. De asemenea trebuie sa decidem daca suportam sau nu vechiul hardware. Astfel de decizii sunt dificile, deoarece combina incertitudini neclare ale consideratiilor privind lumea reala cu lumea curata a constructiei de software. Trebuie deci sa amestecam cele doua lumi ramânând constienti de faptul ca proportiile corespunzatoare fiecareia se schimba zilnic.
1 Software-ul este partea costisitoare
Calculatoarele moderne sunt consumabile dar sunt si stationare. Problema nu este ca sistemele de calcul nu pot realiza ceva sau nu sunt valoroase dupa 1-2 ani ci faptul ca tehnologia avanseaza atât de rapid încât problemele de interactiune scad semnificativ din productivitate.
Fiecare aspect al software-ului este mai scump decât hardware-ul. Consideram ca avem 1000 de calculatoare iar la un moment dat avem o singura aplicatie de rezolvat. Sa zicem ca dezvoltarea unui program ia 350.000 iar fiecare calculator costa 3000 $, deci valoarea totala a calculatoarelor este 30000000 $. Comparatia nu se face între cele 2 sume obtinute deoarece costul software-ului include si costul instalarii, instruirii si suportarii a 1000 de utilizatori ai aplicatiei respective. S-ar putea sa dureze o saptamâna ca fiecare angajat sa se obisnuiasca cu programul (sa aiba rapiditate). Considerând costul instruirii de persoana 500 $ iar 200 $ pe zi salarul unui angajat, costul implementarii software-ului este cam de 6500 $ per utilizator. Deci instalarea software-ului pentru cele 1000 calculatoare este 6500000$!
PC-urile sunt instrumente de business, unice care nu îmbatrânesc respectabil. Pentru a mentine calculatoarele cât mai utile costurile asociate sunt enorme. Costurile principale provin din probleme de interactiune. Un PC tipic are zeci de componente principale hardware si software iar problema incompatibilitatii dintre ele creste exponential cu vârsta sistemului si cu adaugarea de noi componente.
Potentialul unei erori la un moment dat este relativ mic. Majoritatea furnizorilor hardware au deja o reputatie recunoscuta si îsi testeaza bine produsele. si totusi avantajele marcii particulare de modem pe care o detinem- testata din plin cu un chip de comunicatie seriala si un driver software de comunicatie seriala - descresc pe masura ce aceste trei produse devin divergente în timp.
Daca costul pastrarii vechilor PC-uri în servicii este mai mare decât costul lor, actualizarea lor reprezinta o orientare buna pentru business. Daca functie de valoarea de vânzare, timpul optim pentru un calculator este 10 luni, ne putem astepta ca valoarea reziduala sa atinga zero cu mult înainte de a trece 4 ani. Se considera ca intervalul optim pentru pastrarea unui calculator înainte de a-l înlocui este între 24 si 30 luni de la achizitionarea initiala. Înainte de acest interval platim în pierdere dupa aceea platim pentru învechire.
2 Alegerea platformei de dezvoltare
Industria calculatoarelor face adesea un calcul eronat conform caruia vechile calculatoare trebuie pastrate dupa termenul indicat. Este vorba evident de deciziile privind platformele tinta pentru dezvoltarea de software. Multe echipe de dezvoltare creaza software care se va acomoda la tot hardware-ul existent. Chiar daca se argumenteaza de unele voci faptul ca înlocuirea unor calculatoare de 5-6 ani ar fi costisitoare se ignora faptul ca, costul dezvoltarii software pentru a suporta vechiul si noul hardware este semnificativ mai mare decât costul achizitionarii si suportarii noului hardware mai puternic.
Pentru a dezvolta software pentru platformele moderne acesta trebuie proiectat pentru hardware-ul care va fi disponibil 6 pâna la 12 luni de la data primei lansari a produsului. Trebuie sa se tina cont si de faptul ca pentru a dezvolta software s-ar putea sa fie nevoie de un an si de alte 6 luni pentru a-l introduce în firme, iar starea pietei calculatoarelor va fi mai puternica.
Daca dezvoltam software pentru o platforma hardware tinta mai veche decât standardul anului urmator ne ancoram cu fermitate în trecut. Daca un competitor face o alegere mai inteligenta vom fi depasiti. Costul programarii este mult mai ridicat în comparatie cu cel al soft-ului. Una dintre problemele care se pun rezida în dorinta de a amortiza complet investitia în software prin acoperirea tuturor platformelor existente. Dar acoperind toate platformele existente ramânem în urma eliminându-ne de la platformele viitoare. Ideea generala este aceea de a nu lasa niciodata ca deciziile de software sa fie influentate de limitarile hard-ului existent. Când este lansat un produs trebuie sa se execute pe calculatoarele cele mai raspândite si utilizate din acel moment, dar pentru acest lucru va trebui sa se adapteze. Produsul trebuie proiectat astfel încât sa se comporte optim cu hard-ul frecent utilizat în urmatoarele 6 -12 luni dupa lansare. Acest lucru este mai putin important pentru soft-ul sistemelor de operare sau compilatoarele limbajelor, ci se refera la lumea aplicatiilor si a interfetelor utilizator unde interactiunea este maxima.
Daca se creaza soft specializat care va fi vândut clientilor pentru pentru câteva sute de dolari sau mai mult cu siguranta putem dicta hard-ul pe care sa se execute. O mare parte a bugetului utilizatorului se va duce mai degraba pe soft decât pe hard.
Înca de la începutul revolutiei microcalculatoarelor nici o axioma nu a fost mai adevarata si cel mai frecvent violata :
Achizitionati software corect apoi cumparati calculatorul pe care sa se execute.
Dar majoritatea utilizatorilor cumpara mai întâi un calculator si apoi se uita dupa software-ul care sa le rezolve problemele si care sa se execute pe calculatorul respectiv. O astfel de atitudine este o remninscenta di epoca mainframe-urilor si ea influenteaza gândirea elaboratorilor de software la fel de mult ca si pe cea a cumparatorilor. De multe ori pentru a face vânzare elaboratorii sut gata sa se adapteze la o platforma hard specifica. Chiar daca lumea business-ului dicteaza astfel de alegeri nu sunt facute pentru o proiectare buna. Cheia este soft-ul si nu hard-ul.
3 Dezvoltare multiplatforma simultana
Nu este indicat sa se dezvolte software pe mai multe platforme simultan, trebuie dezvoltat soft pentru piata principala. Dupa care din veniturile realizate din vânzarea acestui produs realizati portabilitatea lui pe platforme secundare.
Pentru dezvoltarea unui produs soft pe mai multe platforme simultan exista 2 modalitati (ambele la fel de proaste) - realizam codul mult mai complicat sau omogenizam interfata.
Design tip
Construiti programul pentru a se executa doar pentru o singura platforma la un moment dat!
Tot ce sporeste complexitatea codului sursa trebuie prevenit, interzis cu orice pret, pentru a nu spori timpul necesar scrierii si depanarii acestuia. De asemenea dezvoltarea multiplatforma simultana genereaza nesiguranta si întârziere mai mare decât orice tactica. În final compromisurile si confuzia vor avea ca rezultat micsorarea calitatii produsului. La o prima privire nu ar fi prea greu sa mai adaugam câteva instructiuni if-then-else pe ici pe colo, pentru ca programul sa poata fi utilizat pe doua platforme diferite, dar nu trebuie sa uitam ca trebuie sa luam fiecare decizie de proiectare pentru ambele platforme. Compromisurile îsi vor face loc în produs pentru a explica diferentele dintre cele doua. Cresterea volumului de cod datorita introducerii unei a doua platforme este de 5% si poate creste înca pe atât pentru o a treia platforma.
Sunt disponibile câteva biblioteci de cod comercial care permit sa dezvoltam simultan pe mai multe platforme. Pentru aceasta e necesar sa proiectam o interfata grafica utilizator generica pe care biblioteca o va executa pe fiecare platforma. Inconvenientele acestei metode - utilizatorii nu vor aprecia acest lucru deoarece cei ce utilizeaza Macintosh prefera programele cu sensibilitate Mac, cei de Windows doresc aplicatii Windows.
Programatorii se pot amuza dezvoltând în stil multiplatforma considerând-o ca pe o competitie în care participi si câstigi , indiferent de numarul de linii moarte din program. Dar o modalitate mai simpla si mai sigura este de a dezvolta pentru o singura platforma si anume cea a pietii principale (Windows). Se evita deci complexitatile multiplatforma, se finalizeaza prima versiune cu cea mai mare viteza posibila si se lanseaza pe cea mai extinsa piata posibila. Din veniturile rezultate se va începe dezvoltarea pentru alte platforme. Nu se vor neglija însa nici pietele secundare. Având un model functional al produsului (executabil sub Winndows) pe care-l folosim ca prototip, putem aranja o echipa de programatori cu aptitudini dovedite pentru noua platforma, Daca se porneste de la un model clar, vizibil timpul de proiectare se reduce vizibil.
4 Mitul interoperabilitatii
De multe ori elaboratorii de Windows au fost pusi în fata unor programe DOS reusite, multe dintre acestea fiind aduse sub Windows dupa ce si-au facut stagiul în DOS - meniu tip linie de comanda. Windows trebuia sa emuleze DOS cât mai mult posibil, astfel încât trecerea de la unul la altul sa se realizeze mai usor, sa nu fie prea diferit de ceea ce a fost înainte si utilizatorii sa nu fie prea dezamagiti. Multi utilizatori lucrau în domenii eterogene si doreau ca versiunea Windows sa lucreze ca si sistemele DOS - acest concept se numeste interoperabilitate.
Cei care sunt împotriva interoperabilitatii sunt motivati de teama de un nou sistem, teama de a trebui sa se adapteze la ceva, sa învete ceva. Practic cel mai mult sperie procesul de învatare. Solicitând interoperabilitate ei spera ca vor fi capabili sa ia cu ei în noul sistem cunostintele dobândite din utilizarea celuilat.
În ciuda numeroaselor simularitati vizuale Mac si Windows sunt doua culturi diferite iar mutarea de la una la alta nu este un proces usor. Chiar daca într-o firma exista atât PC-uri cât si Mac-uri putini sunt acei indivizi care sa-si petreaca timpul lucrând cu amândoua. Daca se examineaza si piata se constata ca sunt putine firmele care fac aplicatii interoperabile reusite pe ambele platforme. În general acestea au un client local bazat pe una dintre platforme- cea nativa, în timp ce clientii de pe alte platforme asteapta un produs usor de utilizat pe platforma lor.
|