Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




INTERACTIUNEA - INTERFETE

Informatica


INTERACTIUNEA - INTERFETE

1. UTILIZARE MOUSE

Primul dispozitiv de calculator pentru a puncta a fost light pen-ul. Cu acesta īn māna se puncta pe ecran ca si cu un creion. Utilizarea light pen-ului pe un ecran risipeste controlul motor fin al degetelor si ne forteaza la un control grosolan al muschilor bratului, care nu pot asigura precizia pentru a putea puncta cu acuratete si este foarte dificil de desenat pe o suprafata verticala sprijinind māna pe ea. Nefiind practic pentru calculator deci au fost inventate alte dispozitive - mouse-ul.



Pe masura ce utilizam un mouse observam un simbol vizual/cursor care se misca la fel. Prima data cānd un utilizator foloseste mouse-ul are senzatia ca mouse-ul si cursorul sunt conectate, o senzatie greu de uitat. Deplasarea mouse-ului fata de cursor nu este de obicei de unu la unu, dar deplasarea este proportionala. Pe majoritatea PC-urilor cursorul traverseaza īntreg ecranul de 30 cm īn aproximativ 4 cm de deplasare mouse. Avānd mouse-ul īn māna sprijinita ferm pe masa, degetele pot deplasa mouse-ul cu mare acuratete, chiar si pentru o rata de deplasare de 1:8.

Mouse-ul ne permite sa punctam obiectele de pe un ecran vertical fara a avea de-a face cu dezavantajele inerente ale punctarii sau desenarii pe o suprafata verticala. Faptul ca putem introduce scriere cursiva cu un pen dar nu o putem face cu un mouse sugereaza faptul ca un pen este manevrabil cu mai multa precizie si acuratete decāt un mouse. Cānd apare problema scrierii pe verticala un mouse este mult mai bun. Cānd display-urile plane vor deveni ieftine si uzuale īn mod inevitabil ele vor migra spre pozitia orizontala.

Cānd deplasam mouse-ul pe ecran exista o linie de divizare, distincta īntre deplasari apropiate si deplasari distante. Mutarea cursoului de mouse de-a lungul ecranului pentru a actiona un control obliga o schimbare de la fin la grosolan pentru controlul motor. Apasarea butonului de mouse necesita un control motor fin. Aceasta īnseamna ca īn timp ce este posibil un compromis īntre controlul motor fin si cel grosolan privind aspectul de deplasare al mouse-ului atunci cānd se pune problema apasarii butonului utilizatorul trebuie sa aiba mai īntāi māna bine fixata, obligatoriu fiind fortat un control fin.

Pentru a manipula un simbol vizual/gizmo cu mouse-ul, pentru a pozitiona cursorul cu precizie pentru un check-box sau push-button, utilizatorul trebuie sa foloseasca controlul motor fin. Daca īnsa cursorul este departe de acel simbol vizual, īntāi va trebui sa utilizeze controlul motor grosolan pentru a aduce cursorul mai aproape de simbol vizual si va trece la controlul motor fin pentru terminare actiune. Deci orice program care īsi plaseaza zonele de clic distantate la mai mult de cītiva pixeli īnvita īn mod deschis la neplaceri.

Daca un control dat necesita un clic aici si unul foarte departe este vorba de o proiectare gresita. Totusi omniprezentul scrollbar este o astfel de creatie. Daca dorim sa realizam scroll-down īntr-un document apasam sageata de jos de cāteva ori pāna gasim ceea ce cautam, folosind un control motor fin dar s-ar putea sa fi depasit destinatia, fiind necesar sa revenim. Pentru a realiza acest lucru apasam sageata de sus, dar pentru a face acest lucru trebuie realizata o miscare grosolana de deplasare si una fina de localizare a pozitiei. Dar sagetile scrollbar-ului sunt separate de īntreaga lungime a barei fiind simetric, dar mai greu de utilizat. Daca sagetile ar fi fot plasate adicent la unul din capete schimbarea directiei de scroll ar fi fost realizata printr-o simpla miscare deci un control 131c28b fin. (vezi figura de mai jos).

 

Cei carora le lipseste dexteritatea manuala considera mouse-ul problematic. Uneori si multi utilizatori calculatoristi/ īn particular cei care introduc date - considera mouse-ul uneori dificil. Pntru multe din task-urile bazate pe date, tastatura este superioara mouse-ului. Este frustant sa fi nevoit sa iei māna de pe tastatura pentru a pozitiona cursorul cu mouse-ul pentru ca apoi sa revii din nou la tastatura.

Programele trebuie sa suporte din plin atāt mouse-ul cāt si tastatura pentru toate miscarile si task-urile.

2. BUTOANE MOUSE

Inventatorii mouse-ului au īncercat sa īsi imagineze cāt de multe butoane sa puna pe el, dar nu au ajuns la nici un rezultat. Unii au pledat pentru un buton, altii pentru doua sau chiar mai multe. Īn prezent unul din marile dezavantaje ale Macintosh-ului este mouse-ul sau cu un singur buton.

Un singur buton sacrifica puterea majoritatii utilizatorilor de calculatoare īn schimbul simplitatii pentru īncepatori. Butonul drept de mouse este privit ca un buton suplimentar, butonul stāng fiind singurul de care utilizatorul are nevoie cu adevarat. Aceasta afirmatie devine tot mai putin adevarata pe masura ce interfata utilizator Windows evolueaza.

Īn general butonul stāng de mouse este utilizat pentru toate functiile principale de manipulare directa sau pentru controale de actionare, pentru selectare, pentru desenare. Prin deductie aceasta īnseamna ca functiile pe care butonul stāng nu le suporta trebuie sa nu fie functii majore. Īntelesul cel mai comun pentru butonul stāng de mouse este activare sau selectare. Pentru un control ca push-button sau check-box butonul stāng de mouse īnseamna apasarea butonului sau marcarea casetei. Daca se face clic stānga pe date īn general aceasta īnseamna selectare.

Timp īndelungat acest buton a fost tratat ca inexitent de Microsoft dar si de multi altii. Cānd Borland International a īnglobat orientarea pe obiect īn īntreaga companie, butonul drept de mouse a fost utilizat ca un instrument pentru accesarea unei casete de dialog care sa prezinte proprietatile obiectului. Acest lucru a fost acceptat dar si criticat de Mac-uri care aveau un buton dar si de Microsoft care dispretuia firma Borland. Totusi aceste lucruri s-au schimbat odata cu Windows 95 cānd firma Microsoft a urmat linia deschisa de Borland si a consacrat butonul drept.

Butonul drept are ca scop furnizarea accesului direct la proprietati. Īn Windows 3.x Microsoft a avut tentativa de a defini butonul drept de mouse ca fiind un buton shortcut. Adica operatiile care sunt disponibile si prin alte idiomuri sunt disponibile prin butonul drept de mouse. Īn Windows 95 i s-au atribuit butonului drept actiunile specifice de context (context-specific actions) o modalitate desteapta de a spune proprietati.

Acest buton nu poate fi utilizat decāt pentru shortcut. De fapt Microsoft statuteaza ca butonul din mijloc ar trebui asignat operatiilor si functiilor care sunt deja prezente īn interfata - definitie pe care altadata a rezervat-o butonului drept de mouse.

Cel mai frecvent folosim un mouse cu doua butoane, dar unele calculatoare au un mouse de tip Logitech cu trei butoane. Aproape niciodata nu ajungem īn situatia de a cauta functionalitate suplimentara pe butonul din mijloc. Cei care īl utilizeaza, o fac ca shortcut pentru dublu clic pe buton stāng mouse, o caracteristica care poate fi creata prin configurarea soft-ului de driver mouse, care este de fapt un siretlic la care aplicatia ramāne ignoranta.

3. ACTIUNI REALIZATE CU MOUSE

Din punct de vedere fizic un mouse poate fi mutat de ici colo pentru a puncta diferite lucruri si putem apasa pe buton. Acesta sunt primitivele vocabularului discutate īntr-un curs anterior. Īn afara de point si clic orice alte actiuni ale mouse-ului vor fi realizate prin combinarea uneia sau a mai multor astfel de actiuni numite componente.

Actiunile mouse-ului pot fi alterate folosind meta-chei: CTRL, SHIFT,ALT. Setul complet de actiuni mouse ce pot fi realizate fara a utiliza meta-chei este prezentat īn lista de mai jos. Pentru a se putea discuta despre ele, i s-a asignat fiecarei actiuni un nume scurt precizat īn paranteza.

a)      Point (Point)

Aceasta operatie simpla este piatra de temelie a interfetelor grafice utilizator si baza tuturor operatiilor cu mouse-ul. Utilizatorul muta mouse-ul pāna cānd cursorul corespunzator de pe ecran puncteaza sau este plasat peste obiectul vizat.

b)      Point, click, release (Click)

Īn timp ce utilizatorul tine mouse-ul īntr-o pozitie ferma el face click cu butonul si-l elibereaza. Īn general aceasta actiune este definita ca actiunea de schimbare a starii unui simbol vizual sau selectarea unui obiect. Īntr-o matrice de text sau celule click īnseamna - de adus acolo punctul de selectare. Pentru un simbol vizual push-button, o schimbare de stare īnseamna ca īn timp ce butonul de mouse e apasat (down) si mouse-ul este directionat peste simbol vizual, butonul se va afunda si va ramāne apasat (pushed). Cānd se elibereaza butonul de mouse butonul simbol vizual este actionat si actiunea lui asociata se produce.

Design tip - Simplu click selecteaza datele sau schimba starea unui simbol vizual

Daca totusi utilizatorul īn timp ce tine butonul apasat muta cursorul de pe un simbol vizual, un simbol vizual de tip push-button revine īn starea anterioara (unpushed). Daca apoi utilizatorul elibereaza butonul de mouse nu se īntāmpla nimic. Aceasta comportare furnizeaza o cale de escape convenabila īn cazul īn care utilizatorul se razgāndeste. Dezavantajul unei astfel de cai pentru escape este faptul ca ea consuma unul dintre cele mai reci idiomuri: a face drag cu un push-button undeva. Butonul sau buticonul poate fi translatabil deci ar trebui creat un idiom care sa permita o gramatica verb-obiect īn plus fata de norma normala obiect-verb.

c)      Point, click, drag, release (Click&Drag)



Aceasta operatie are multe utilizari comune incluzānd selectare, reformatare, repozitionare, desenare si drag&drop. Ele vor fi discutate mai pe larg īn cursurile urmatoare.

d)      Point, click, release, click, release(Dublu-Click)

Daca simplu click selecteaza ceva, dublu click selecteaza ceva si realizeaza o actiune. Aceasta interpretare fundamnetala provine de la Machintosh si ramāne un standard īn toate interfetele grafice utilizator contemporane.

Design tip - Dublu-click īnseamna simplu click plus actiune

Īn ciuda unor divergente rolul lui dublu-click īn Windows 95 este diminuat semnificativ. Īn timp ce dublu-click pe date este binevenit, dublu-click pe majoritatea simbol vizual-urilor nu au nici o semnificatie iar un click suplimentar este respins. Multe simboluri vizuale nu reping un click dar īl ignora. Daca un simbol vizual ramāne pe loc se va interpreta ca un al doilea click pe el. Īn functie de simbol vizual acest click suplimentar poate fi benign sau problematic.

Daca e vorba de un buton on-off se va constata ca s-a revenit īn starea din care s-a pornit. Daca īn schimb este vorba de un simbol vizual care dispare dupa primul click, precum butonul OK dintr-o caseta de dialog, rezultatele pot fi imprevizibile.

e)      Point, click, click alt buton, release, release (Chord-Click)

Chord-clicking īnseamna apasarea a doua butoane de mouse simultan desi nu este neaparata nevoie sa fie apasate sau eliberate exact īn acelasi timp. Pentru a fi recunoscut drept chord-click al doilea buton de mouse trebuie apasat putin īnaninte de eliberarea primului buton.

Exista 2 variante de chord-click. Prima este mai simpla cānd utilizatorul puncteaza mai degraba ceva si apasa ambele butoane īn acelasi timp. Acest idiom nu este prea uzual īn soft-ul actual desi unii programatori creativi l-au implementat ca pe un substituent pentru cheia Shift de selectare. A doua varianta utilizeaza chord-clicking pentru a termina un drag. Drag īncepe ca un simplu drag cu un buton, apoi utilizatorul foloseste al doilea buton. Desi aceasta tehnica este putin ciudata ea si-a gasit o larga utilizare deoarece ea se potriveste perfect pentru anularea operatiilor de drag.

f)       Point, click, release, click, release, click, release (Triplu-Click)

Exista programe care au actiuni ce implica triplu-click. De exemplu īn Word triplu-click este utilizat pentru a selecta paragrafe īntregi. Logica este simpla - un simplu click selecteaza un caracter, dublu-click selecteaza un cuvānt, iar un triplu-click selecteaza un paragraf.

Pentru aplicatiile suverane orizontale care au o utilizare larga, precum procesoarele de text si spreadsheet-urile merita sa se implementeze triplu-click. Pentru programele care sunt mai putin utilizate cāteva ore zilnic este caraghios. Īn timp ce recurgem la acest idiom trebuie sa asiguram utilizatorului si alte metode pentru realizarea aceluiasi task. De exemplu īn Word pentru a selecta un paragraf fara triplu-click putem proceda astfel:

dublu click īn marginea din stānga

click īn marginea din stānga dupa prima linie si drag īn jos pāna la ultimul cuvānt

click la īnceputul primului cuvānt si drag pāna la sfārsitul ultimului cuvānt

click la īnceputul primului cuvānt si CTRL-SHIFT-RIGHT-ARROW pāna cānd toate cuvintele din paragraf sunt selectate

click la īnceputul primului cuvānt si CTRL-SHIFT-PAGEDOWN

dublu-click la īnceputul primului cuvānt si drag pāna la sfārsitul ultimului cuvānt

g)      Point, click, release, click, drag, release (Dublu-Drag)

Executia unui dublu-click si drag cere o īndemānare deosebita. Ca si triplu-click este util doar īn aplicatiile suverane, orizontale. Īn Word putem utiliza dublu-drag īn permanenta ca instrument de selectare. Un dublu-click pe text selecteaza īntreg cuvāntul; extintānd functia se poate extinde selectia cuvānt cu cuvānt prin dublu-drag. De exemplu faca dorim sa stergem o fraza īn mijlocul unei secvente facem dublu-click īn mijlocul primului cuvānt apoi drag pāna selectez toata fraza. Este greu de procedat astfel dar Microsoft a adaugat o caracteristica īn Word care extinde automat selectia, la limita de cuvānt, īn mod implicit. Pentru cei carora nu le place caracteristica poate fi pusa pe off tolerānd dublu-drag. Īn aplicatii mari suverane, astfel de idiomuri sunt corespunzatoare.

Oricare dintre aceste actiuni enumerate mai sus (exceptānd chord-click) poate fi realizata cu oricare din butoanele unui mouse cu doua butoane. Teoretic este posibil un cvadruplu-click sau un cvintuplu-click .dar si un triplu-click necesita īndemānare, iar un dublu click adesea demoralizeaza o persoana neīntemānatica. Windows 95 este proiectat pentru a se putea lucra cu el 100% doar cu primele trei actiuni.

Tratare evenimente actionare mouse

De fiecare data cānd un utilizator apasa pe un buton de mouse, programul are de tratat doua evenimente discrete: evenimentul button-down si button-up. Cānd se selecteaza un obiect selectia trebuie sa aiba loc īntotdeauna la button-down deoarece acesta reprezinta primul pas dintr-o secventa drag. Prin definitie nu se poate face drag cu ceva īnaninte de a-l selecta deci selectia trebuie sa aiba loc la button-down. Daca nu utilizatorul va trebui sa realizeze o cerere de dublu-drag.

Design tip - Button down īnseamna selectare de date

Pe de alta parte daca cursorul este pozitionat mai degraba, peste un simbol vizual decāt pe date selectabile, actiunea asociata evenimentului button-down este tentativa de a activa tranzitia de stare pentru simbol vizual. Cānd simbol vizual-ul vede evenimentul button-up el īnregistraza tranzitia de stare.

Design tip - Button-down īnseamna propunere de actiune;

button-up īnseamna īnregistrarea actiunii pentru simbol vizual

Acesta este un mecanism care permite utilizatorului sa se aplece gratios la un click necorespunzator. De exemplu pe un push-button, utilizatorul poate sa mute mouse-ul īn afara butonului iar selectia va fi dezactivata chiar daca butonul mouse-ului e apasat. Pentru un check-box semnificatia e simulara: la button-down īn mod vizual check-box-ul arata ca este activat, dar marcarea nu apare pāna la tranzitia button-up.

Cursor mouse

Cursorul este reprezentarea vizibila pe ecran a pozitiei mouse-ului. Prin conventie īn mod normal este o mica sageata indicānd usor Vest spre Nord, dar sub controlul programului poate fi modificat la orice forma cāt timp ramāne relativ mic: 32 x 32 pixeli. Deoarece cursorul trebuie sa se rezume la un singur pixel, trebuie sa existe cale pentru ca acesta sa indice precis pixelul punctat. Acest lucru se realizeaza desemnānd īntotdeauna un singur pixel al oricarui cursor drept focus curent pentru punctare numit hotspot.



Pe parcursul mutarii mouse-ului pe ecran unele obiecte pe care mouse-ul le puncteaza ramān inerte. Denumim orice obiect sau zona de pe ecran care reactioneaza la o actiune mouse ca fiind pliant , avānd flexibilitate. Un simbol vizual push-button este pliant deoarece poate fi apasat prin cursorul de mouse. Orice obiect care poate fi luat si translatat este pliant - orice icon de director sau fisier din Explorer.

Cānd obiectele de pe ecran sunt pliante acest fapt trebuie comunicat utilizatorului. Daca faptul nu este facut evident, idiomurile īnceteaza de a mai fi utile. Exista trei metode de a comunica utilizatorului faptul ca un obiect este pliant: prin propietatile vizuale statice ale obiectului īnsusi, prin schimbarea dinamica a propietatilor sale vizuale sau prin schimbarea proprietatilor vizuale ale cursorului cīnd trece peste obiect.

Daca flexibilitatea obiectului este comunicata prin propietatile vizuale statice ale obiectului īnsusi prin schimbarea dinamica a proprietatilor sale vizuale statice ale obiectului īnsusi numim aceasta sugerare vizuala statica (static visual hinting). Sugerare vizuala statica indica mai degraba modalitatea prin care obiectul este desenat pe ecran. Unele obiecte vizuale nu sunt chiar atāt de evidente fie datorita faptului ca sunt prea mici sau sunt ascunse.

Daca obiectul direct manipulabil este īn afara zonei centrale a programului - scrollbar-uri, bara Status de la baza ecran - se poate īntāmpla ca utilizatorul sa nu īnteleaga ca acele obiecte sunt direct manipulabile. Acest caz cere o sugerare vizuala mai agresiva pe care o numim sugerare vizuala activa (active visual hinting). Ea functioneaza astfel - cānd cursorul trece peste un obiect pliant obiectul īsi schimba aparenta printr-o deplasare animata. Aceasta actiune intervine mai degraba cānd cursorul trece peste obiect īnainte ca oricare dintre butoanele mouse-ului sa fie apasate.

Daca flexibilitatea obiectului este comunicata printr-o schimbare a cursorului cānd trece peste obiect, numim aceasta sugerarea cursorului (cursor hinting). Deoarece cursorul se schimba dinamic, sugerarea acestuia este activa.

Majoritatea soft-urilor deja populare mixeaza sugerarea vizuala cu sugerarea cursorului. De exemplu push-buttonul este redat tridimnesional iar forma sa indica īn mod clar ca obiectul este ridicat si permite sa fie apasat dar cānd cursorul trece peste el nu se modifica. Cānd cursorul trece peste frame-ul unei ferestre cumulate, se modifica īntr-o sageata cu doua capete, aratānd axele dupa care fereastra poate fi redimensionata. Simbol vizual-urile ofera īn mod uzual sugerare vizuala statica īn timp ce datele liante ofera frecvent sugerarea cursorului. Sugerarea cursorului implica schimbarea acestuia īntr-o forma care indica care este tipul de actiune de manipulare directa acceptabila, totusi rolul sau cel mai important este de a face ca utilizatorului sa īi fie clar faptul ca acel obiect este pliant.

Exista o a treia varianta e sugerare a cursorului numita sugerarea cursorului wait (wait cursor hinting). Ori de cāte ori programul executa ceva care necesita un volum semnificativ de timp (īn termeni umani) programul schimba cursorul īntr-o indicatie vizuala, īn sensul ca programul a devenit stupid, īn Windows aceasta imagine este familiara clepsidra. Alte sisteme de operare au utilizat ceasuri de māna, tamburines au tobe, sfārleze si cesti de cafea aburinde.

Problema interfetei utilizator apare deoarece cursorul apartine sistemului si este doar īmprumutat de un program atunci cānd invadeaza spatiul acestuia. Īntr-un sistem ne-preemptiv precum Windows 3.x, folosirea cursorului pentru a indica Wait este un idiom rezonabil. Īn lumea multitasking preemptiv din Windows 95 cānd un program devine stupid nu mai e necesar ca si alte programe care se executa sa devina stupide. Īn acest caz cursorul nu poate fi folosit pentru a indica starea ocupat a unui singur program. Windows 95 a fortat Microsoft sa regāndeasca cursorul Wait. S-a dorit pastrarea idiomului familiar pentru sugerarea cursorului Wait. S-a decis ca programele sa arate cursorul clepsidra doar īn cadrul ferestrelor proprii , ceea ce logic este corect. Daca din neatentie utilizatorul muta cursorul de pe fereastra principala a unui program ocupat pe cea a unui program care se executa cursorul va reveni la forma normala, deci sugerarea vizuala este eronata. Īn ultima instanta fiecare program trebuie sa indice starea sa de ocupat prin schimbarea vizuala a propriei imagini. Daca starea de ocupat depinde de unde puncteaza cursorul, nu merge utilizarea acestuia pentru indicarea starii de ocupat, deci multitasking-ul preemptiv va omorī ideea de cursor Wait.

Meta chei

Meta-cheile (meta-keys) pot fi utilizate īn conjunctie cu mouse-ul. Meta-cheile includ - CTRL, ALT si cele doua SHIFT-uri. Desi Microsoft a articulat īn Windows 95 standardele pentru meta-chei, eforturile sunt zadarnice, deoarece chiar ei violeaza liber propriile standarde referitoare la acestea. Fiecare program tinde sa aiba propriul sau standard dar unele semnificatii predomina.

E o idee buna sa folosim sugerarea cursorului pentru a ilustra semnificatia meta-cheilor, īn ansamblu si multe programe ar trebui sa o faca. De asemenea asa ceva trebuie facut īn mod dinamic. Cānd meta-cheia este apasata (down) cursorul ar trebui sa se schimbe imediat pentru a reflecta noua intentie a idiom-ului.

ALT est cheia problema a familiei. Microsoft a evitat sa o umple de semnificatie, lasānd-o libera la dispozitia programatorilor destepti care fie o folosesc fie o ignora. Fara īndoiala ca cineva de la Microsoft o va zavorī īntr-un idiom favorit si va deveni un standard.

Allen Cooper prefere sa utilizeze ALT pentru a indica o operatie drag&drop cu doua aplicatii. si totusi primul idiom ALT-TAB iar acum Startbar au avut de parcurs un drum lung pentru a-l trezi pe Allan Cooper la realitatea ca ideea sa de drag&drop cu doua aplicatii ar fi urmatoarea gaselnita.

4. UTILIZARE MOUSE PENTRU SELECTII

Cu ajutorul mouse-ului putem realiza doua lucruri de baza - sa alegem ceva si sa selectam ce sa facem cu ce am ales. Aceste actiuni de alegere sunt referite ca selectie (selection).

Obiect-verb

Īntr-o interfata utilizator o aparitie fundamentala o reprezinta secventa īn care sunt date comenzile. Fiecare comanda are o operatie si unul sau mai multi operanzi. Operatia descrie actiunea iar operanzii reprezinta tinta operatiei. Proiectantii interefetelor utilizator utilizeaza terminologia urmatoare: operatie = verb (verb) si operand = obiect (object). Putem specifica verbul urmat de obiect sau specificam obiectul urmat de verb. Acestea se numesc ordine verb-obiect (verb-object) si respectiv obiect-verb (object-verb). Interfetele moderne utilizator le folosesc pe amāndoua.

Īn epoca īn care compilatorele unor limbaje (Cobol,Fortran) erau vārful īnaltei tehnologii toate limbajele de calculator utilizau ordonarea verb-obiect. Scriitorii de compilatoare au facilitat transformarea codului sursa īn cod executabil dar nu s-a pus problema ca ordonarea verb-obiect este cea mai corecta. Cānd au aparut interfetele grafice utilizator ordonarea verb-obiect a creat o problema. Īntr-o interfata īnteractiva daca utilizatorul alege un verb atunci sistemul trebuie sa intre īntr-o stare care difera de norma -asteptarea unui obiect. Īn mod normal utilizatorul va alege un obiect si toate vor fi OK. Īnsa utilizatorul poate doreste sa actioneze asupra mai multor obiecte, caz īn care programul trebuie sa accepte toti operanzii pāna utilizatorul va introduce o comanda speciala de terminare a listei de obiecte.

Prin inversarea ordinii comenzii īn obiect-verb nu mai avem nevoie de terminatie, utilizatorul selecteaza obiectele asupra carora va opera, apoi va indica ce verb va fi executat asupra acestora. Īn loc ca programul sa tina minte verbul īn timp ce utilizatorul specifica unul sau mai multe obiecte, solicitam programului sa memoreze unul sau mai multe obiecte īn timp ce utilizatorul alege verbul. Procedānd astfel avem nevoie de un mecanism pentru a identifica, marca si tine minte operatorii alesi. Selectia este mecanismul prin care utilizatorul informeaza programul despre obiectele tinute minte de el.

Īntr-o interfata interactiva precum casetele de dialog conceptul de selectie nu este neaparat necesar īntotdeauna. Īn mod natural casetele de dialog vin cu o comanda de terminare a listei de obiecte - buton OK. Utilizatorul poate alege mai īntāi o functie apoi obiectul sau invers deoarece īntreaga operatie nu se produce decāt dupa apasarea butonului de confirmare - buton OK. Deci ordonarea obiect-verb nu este utilizata īn majoritatea casetelor de dialog.

Īn varianta cea mai simpla teoretica selectia este realizata astfel: utilizatorul puncteaza folosind cursor de mouse pe un obiect de date, face click si obiectul e selectat. Īn practica sunt implementate mai multe variante.

Date concrete si discrete

Unele programe reprezinta datele ca obiecte vizuale distincte, care pot fi manipulate independent de alte obiecte. Aceste obiecte sunt selectate independent una de cealalta. Ele sun date discrete(discrete data) iar selectia care le cuprinde se numeste selectie discreta(discrete selection). Datele discrete nu sunt īn mod necesar omogene iar selectia discreta nu este īn mod necesar continua. Alte programe īsi prezinta datele ca o matrice de piese de date contigue. Textul dintr-un procesor de text sau celulele unui spreadsheet sunt concretizarea a sute de mii de obiecte similare care formeaza īmpreuna un īntreg coerent. Adesea aceste obiecte sunt selectate īn grupuri solide pe care le numim date concrete (concrete data) iar selectia lor - selectie concreta (concrete selection).



Ambele tipuri de selectie suporta selectia simplu clcik si cea clik&drag. Simplu click selectaza cantitatea discreta cea mai mica posibila iar click&drag selecteaza o cantitate ceva mai mare. Natura unei selectii discrete este discontinua īn timp ce selectia concreta este continua. Īntr-un document procesor de texte exista o ordine naturala a textului- date concrete. Stricānd ordinea literelor se distruge sensul textului. Datele discrete nu au o ordine inerenta. Īntr-un program de desenare obiectele sunt independente.

Majoritatea programelor de desenare ofera o facilitate de grupare care permite gruparea īmpreuna, logica a mai multor obiecte discrete pentru a forma un singur obiect discret nou. Putem selecta mai mult de un obiect discret dar acestea ramān o serie de selectii independente si nu un subset de date ordonate.

Insertie si īnlocuire

Selectia indica datele asupra carora va opera urmatoare functie. Daca aceasta este o comanda write - datele introduse se vor scrie īn datele selectate. Īntr-o selectie discreta sunt selectate mai multe obiecte iar datele sunt oferite obiectelor selectate, discrete care le prelucreaza īn maniera proprie. Acestea ar putea provoca o actiune de īnlocuire (replacement) īn care datele introduse īnlocuiesc obiectul selectat.

Īntr-o selectie concreta datele introduse īnlocuiesc īntotdeauna datele selectate īn mod curent. Selectia concreta arata o remarca unica legata de insertie, acolo unde selectia poate sa se reduca la un singur punct care indica locul dintre doi biti de date. Acest loc se numeste punct de insertie (insertion point). O alta modalitate de a gāndi despre punctul de insertie este selectia nula. Prin definitie tastānd īntr-o selectie aceasta se īnlocuieste prin noile caractere, dar daca selectia e nula, noile caractere nu īnlocuiesc nimic mai degraba sunt inserate. Deci cu alte cuvinte insertia este un caz ordinar al īnlocuirii.

Īn general cānd se realizeaza o selectie, orice selectie anterioara este anulata. Aceasta comportare se numeste excludere mutuala (mutual exclusion) cāt timp selectia uneia exclude selectia celeilalte. Excluderea mutuala este regula atāt pentru selectia discreta cāt si pentru cea concreta. Unele sisteme permit ca un obiect selectat sa fie deselectat prin click pe el a doua oara; trebuie decis daca acest lucru este sau nu corespunzator pentru program.

Selectie aditiva

Este de neimaginat un program de selectie concreta si care sa nu aiba excludere mutuala, deoarece utilizatorul nu poate vedea ce efect vor avea actiunile sale. Sa ne imaginam ca putem selecta paragrafe de text independente īntr-un document amplu, problema o reprezinta scroll-ul, majoritatea programelor avīnd datele selectabile concret sunt scroll-abile. Daca punem excluderea mutuala pe off īntr-o selectie discreta avem de-a face cu cazul simplu īn care mai multe obiecte independente pot fi selectate mai degraba prin click pe cāteva din ele. Aceasta este selectia aditiva.

Majoritatea sistemelor de selectie discreta implementeaza implicit excluderea mutuala utilizānd o meta-cheie. Cea mai utilizata meta-cheie este SHIFT. Sistemele cu selectie concreta nu ar trebui sa permita niciodata selectie aditiva deoarece nu ar trebui sa existe mai mult de o selectie īntr-un sistem concret. Sistemele cu selectie concreta nu au nevoie sa asigure extensia selectiei unice pentru aceasta utilizāndu-se meta-chei - se pot utiliza CTRL sau SHIFT. Īn Word cheia SHIFT determina selectarea a orice se afla īntre selectia initiala si SHIFT-click. Exista alte programe care au functii de selectie aditiva similare si optiuni diferite pentru meta-chei. Oricum īntre alternative exista putine diferente practice.

Selectie de grup

Operatia clic&drag este baza pentru selectia de grup. Īntr-o matrice de text sau celule īnseamna extinde slelectia de la punctare mouse-down la punctare mouse-up. O astfel de selectie se poate modifica si cu meta-chei. Aplicatiile ar trebui sa-si īmbogateasca interactiunea cu cāt mai multe variante posibile. Utilizatorii experimentati vor ajunge sa le memoreze si sa le utilizeze atāta timp cāt varinatele sunt simple din punct de vedere manual.

Īn general īntr-o colectie de obiecte discrete, operatia click&drag īncepe printr-o deplasare drag&drop. Daca butonul mouse-ului este apasat īn zona "open dintre obiecte mai degraba decāt pe fiecare obiect specific semnificatie este una aparte - se creaza un dreptunghi-drag (dragrect).

Un dragrect este un dreptunghi dinamic al carui colt din stānga-sus este punctarea mouse-down, iar coltul dreapta-jos este punctarea mouse-up. Atunci cānd butonul a fost eliberat orice obiect si cele incluse īn dreptunghiul virtual deci īn dragrect sunt selectate ca un grup.

Dar trebuie sa fim siguri ca oricine poate indica usor prin simpla inspectare care este obiectul selectat si care nu. Nu este sificient sa putem vedea ca sunt doar diferite. De asemenea un numar semnificativ de persoane nu percep culoarea, deci doar ea singura nu este suficienta pentru a distinge selectii.

Design tip - Sa facem astfel īncāt selectia sa fie marcanta vizual si neambigua

Indicare vizuala selectie

Īn mod traditional selectia se realizeaza prin inversare (inversion) - prin inversarea pixelilor obiectului selectat. Pe un ecran monocrom īnseamna comutarea tuturor pixelilor albi īn negri si a celor negri īn albi. Tehnica utilizata pentru inversare de Apple a fost prin intermediul unui Xor (sau exclusiv) aplicat asupra pixelilor obiectului selectat. Nu īntāmplator Xor este una din operatiile cele mai rapide pe care le poate executa un CPU. Un Xor este si inversabil operatia putānd fi anulata repetānd un Xor identic.

Microsoft a continuat aceasta tehnica chiar daca nu a fost niciodata un sistem monocrom. Gaselnita a fost aceea ca rezultatul unei operatii Xor este definit doar cānd operanzii sunt binari - on sau off (unu sau zero). Colorul este reprezentat prin mai mult de un singur bit. Un ecran de 256 culori utilizeaza 8 biti. Cānd Xor se foloseste cu numere mai complexe bitii individuali se inverseaza fiabil īnsa apare o problema cānd noua valoare este transmisa ecranului video-fizic. Diferitele driver-e video interpreteaza acesti biti īn maniere diferite. Rezultatul este acela ca desi operatia Xor va fi reprezentata consistent pe un calculator va fi complet diferita pe un altul.

Procesoarele de text si spreadsheet-urile arata īntotdeauna text albastru pe background alb, deci este rezonabil sa se utilizeze Xor pentru a arata selectia inversata. Inversarea functioneaza chiar si cānd se folosesc culorile dar rezultatelor le va lipsi estetica.

Īn versiunea Windows 3.0 Microsoft a definit doua noi setari de sistem - COLOR_HIGHLIGHT si COLOR_HIGHLIGHTTEXT. Aceste constante reprezinta culori modificabile decāt culori fixate. Fiecare utilizator poate modifica definitia acestor variabile care vor ramāne constante apoi pentru toate aplicatiile. Odata cu acestea a mai aparut un standard nou de utilizat - cānd un obiect e selectat culoarea sa se modifica īn oricare ar fi culoarea reprezentata de COLOR_HIGHLIGHT. Orice text sau pixeli de contrastare din cadrul obiectului selectat se schimba īn oricare ar fi culoarea reprezentata de COLOR_HIGHLIGHTTEXT.

Design tip - Folositi COLOR_HIGHLIGHT si COLOR_HIGHLIGHTTEXT

pentru a arata selectia.

Daca sunteti responsabil cu selectia intensiva pentru un program precum un procesor de text sau spreadsheet ar fi bine sa folositi inversarea Xor pentru a indica selectia. Daca doriti sa o faceti corect si sa aratati tuturor abilitatea practica folositi COLOR_HIGHLIGHT.

Īn cazul īn care avem de-a face cu obiecte multicolore singura solutie decenta pe care putem sa o utilizam este sa adaugam imaginii indicatoare de selectie decāt sa schimbam culoare imaginii selectate prin inversare sau COLOR_HIGHLIGHT.

Indiferent de culoarea pe care o alegem īntr-un mediu puternic colorat selectia ar putea fi pierduta vizual. Solutia utilizata este de a marca vizual selectia printr-un grafic aditional care arata conturul acesteia. Aceasta se realizeaza cu mici casete care īnconjoara obiectul selelctat numite grapples. Aceste casete se pot pierde īn programele puternice de manipulare a imaginilor. Exista o modalitate de asigura ca selectia va fi mereu vizibila, referitor la culorile utilizate - indicare selectiei prin miscare.




Document Info


Accesari: 1035
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )