Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » scoala » informatica » calculatoare
Proiectarea interfetelor vizuale

Proiectarea interfetelor vizuale


PROIECTAREA INTERFETELOR 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 decat 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. In 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, printre scopurile utilizatorului, fara smucituri sau opriri pe mici probleme confuze, de intelegere. 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 in tot timpul zilei. Mintea umana gestioneaza intrarea discernand inconstient pattern-urile si utilizandu-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 im prelucrarea preliminara. Este mult mai rapid daca mintea subconstienta furnizeaza prima solutie deoarece pattern-matching-ul este mai rapid si mai eficient decat daca ar trebui sa ne gandim la el. Abilitatea subconstientului de a grupa lucrurile dupa pattern-uri bazate pe indicatii vizuale este ceea ce ne permite sa prelucram informatia vizuala atat de repede si eficient.

Intelegerea si aplicarea modelului privind modul in 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 il 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 intreaga caseta de dialog sau un element dintr-o interfata grafica din toolbar - obiectul trebuie acompaniat de un simbol vizual. Prin prezenta unui simbol vizual in timp vom actiona asupra subconstientului utilizatorului determinandu-l sa il 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.Restrangerea 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 cand au fost inventate pentru prima data, in mod evident erau net superioare deoarece restrangeau 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 cat elementele dintr-un vocabular de comunicatie sunt mai multe procesul de invatare 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 invatat, asculta de acest pattern. El este fundamental si este denumit vocabular canonic (canonical vocabulary).

Segmentul de baza contine primitivele, elemente cu ajutorul carora se intelege orice limbaj. El trebuie sa fie cat de mic posibil dar nu foarte mic. Intr-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 in piramida. Intr-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 in mod specific la solutia computerizata. Setul idiomurilor deschide vocabularul catre informatia privind o problema particulara pe care programul incearca sa o adreseze. Intr-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 in format canonic care este exprimat vizual. Acest vocabular urmeaza modelul mental al utilizatorului chiar daca este in 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 ramanand 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 atat de rapid incat problemele de interactiune scad semnificativ din productivitate.

Fiecare aspect al software-ului este mai scump decat 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 intre 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 saptamana ca fiecare angajat sa se obisnuiasca cu programul (sa aiba rapiditate). Considerand 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 imbatranesc respectabil. Pentru a mentine calculatoarele cat 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 varsta 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 isi 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 in timp.

Daca costul pastrarii vechilor PC-uri in servicii este mai mare decat costul lor, actualizarea lor reprezinta o orientare buna pentru business. Daca functie de valoarea de vanzare, timpul optim pentru un calculator este 10 luni, ne putem astepta ca valoarea reziduala sa atinga zero cu mult inainte de a trece 4 ani. Se considera ca intervalul optim pentru pastrarea unui calculator inainte de a-l inlocui este intre 24 si 30 luni de la achizitionarea initiala. Inainte de acest interval platim in pierdere dupa aceea platim pentru invechire.

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 inlocuirea 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 decat 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 pana 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 in firme, iar starea pietei calculatoarelor va fi mai puternica.

Daca dezvoltam software pentru o platforma hardware tinta mai veche decat standardul anului urmator ne ancoram cu fermitate in trecut. Daca un competitor face o alegere mai inteligenta vom fi depasiti. Costul programarii este mult mai ridicat in comparatie cu cel al soft-ului. Una dintre problemele care se pun rezida in dorinta de a amortiza complet investitia in software prin acoperirea tuturor platformelor existente. Dar acoperind toate platformele existente ramanem in urma eliminandu-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. Cand este lansat un produs trebuie sa se execute pe calculatoarele cele mai raspandite si utilizate din acel moment, dar pentru acest lucru va trebui sa se adapteze. Produsul trebuie proiectat astfel incat sa se comporte optim cu hard-ul frecent utilizat in 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 vandut clientilor pentru pentru cateva 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 decat pe hard.

Inca de la inceputul 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 intai 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 gandirea elaboratorilor de software la fel de mult ca si pe cea a cumparatorilor. De multe ori pentru a face vanzare 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 vanzarea 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 intarziere mai mare decat orice tactica. In final compromisurile si confuzia vor avea ca rezultat micsorarea calitatii produsului. La o prima privire nu ar fi prea greu sa mai adaugam cateva 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 isi vor face loc in produs pentru a explica diferentele dintre cele doua. Cresterea volumului de cod datorita introducerii unei a doua platforme este de 5% si poate creste inca pe atat pentru o a treia platforma.

Sunt disponibile cateva 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 dezvoltand in stil multiplatforma considerand-o ca pe o competitie in care participi si castigi , 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 incepe dezvoltarea pentru alte platforme. Nu se vor neglija insa nici pietele secundare. Avand 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 in fata unor programe DOS reusite, multe dintre acestea fiind aduse sub Windows dupa ce si-au facut stagiul in DOS - meniu tip linie de comanda. Windows trebuia sa emuleze DOS cat mai mult posibil, astfel incat trecerea de la unul la altul sa se realizeze mai usor, sa nu fie prea diferit de ceea ce a fost inainte si utilizatorii sa nu fie prea dezamagiti. Multi utilizatori lucrau in domenii eterogene si doreau ca versiunea Windows sa lucreze ca si sistemele DOS - acest concept se numeste interoperabilitate.

Cei care sunt impotriva interoperabilitatii sunt motivati de teama de un nou sistem, teama de a trebui sa se adapteze la ceva, sa invete ceva. Practic cel mai mult sperie procesul de invatare. Solicitand interoperabilitate ei spera ca vor fi capabili sa ia cu ei in noul sistem cunostintele dobandite din utilizarea celuilat.

In 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 intr-o firma exista atat PC-uri cat si Mac-uri putini sunt acei indivizi care sa-si petreaca timpul lucrand cu amandoua. Daca se examineaza si piata se constata ca sunt putine firmele care fac aplicatii interoperabile reusite pe ambele platforme. In general acestea au un client local bazat pe una dintre platforme- cea nativa, in timp ce clientii de pe alte platforme asteapta un produs usor de utilizat pe platforma lor.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.