upotrebljivost grafiČkih raČunarskih …vljubovic.members.epn.ba/diplomski.pdf(usability...
TRANSCRIPT
U N I V E R Z I T E T U S A R A J E V UE L E K T R O T E H N I Č K I F A K U L T E T S A R A J E V O
UPOTREBLJIVOST GRAFIČKIH RAČUNARSKIHINTERFEJSA
DIPLOMSKI RAD
Mentor:
Doc. dr Tadej Mateljan, dipl. el. ing
Kandidat:
Vedran Ljubović
Sarajevo, april 2005.
1
Sadržaj1. UVOD........................................................................................................................32. OPĆENITO O UPOTREBLJIVOSTI........................................................................4
2.1. Ergonomski dizajn proizvoda.............................................................................42.2. Problem interakcije čovjekračunar (Human Computer Interaction – HCI)......52.3. Definicija upotrebljivosti (usability) i razvoj te oblasti......................................52.4. Inženjering upotrebljivosti..................................................................................7
3. MJERENJE UPOTREBLJIVOSTI............................................................................83.1. Efektivnost..........................................................................................................93.2. Efikasnost.........................................................................................................103.3. Zadovoljstvo korisnika.....................................................................................103.4. Ostale metrike...................................................................................................113.5. Specifikacija upotrebljivosti.............................................................................13
4. OSNOVNI PROBLEMI UPOTREBLJIVOG GUI DIZAJNA................................154.1. Grafički korisnički interfejs (GUI)...................................................................154.2. Dizajn interakcije..............................................................................................164.3. Uticaj dizajna interakcije na klasične metode razvoja softvera........................174.4. Problemi – jedno viđenje..................................................................................184.5. Problemi – drugo viđenje.................................................................................19
5. PRIMJERI................................................................................................................215.1. Interfejs za pretragu dokumenata aplikacije.....................................................215.2. Sistemski program za pretraživanje datoteka...................................................23
6. ZAKLJUČAK..........................................................................................................25L I T E R A T U R A...........................................................................................25
2
1. UVOD
Pojmovi upotrebljivost (eng. usability), inženjering upotrebljivosti (eng. usabilityengineering), interakcija čovjekračunar (eng. humancomputer interaction – HCI) uproteklih desetak godina postali su nezaobilazan dio informatičke nauke. Predmetipod ovim imenima uvedeni su na sve vodeće studije informatike na svijetu.Konferencije poput CHI1 rezultiraju vrijednim naučnim radovima. Vodeće softverskekompanije, kao što su Microsoft, Apple, IBM i Sun, posvetile su čitave odjele razvojuupotrebljivosti, a rezultat njihovog rada su vrlo korisni priručnici.2
Početkom osamdesetih godina, pojavio se opravdan strah od moguće softverske krize.Zaposleni u firmama su otvoreno odbijali da koriste uvedene informacione sistemetvrdeći da su bili produktivniji “na stari način”. Naravno, žalosno je da se novetehnologije ne koriste isključivo zbog nepažnje programera, ali poseban problempredstavlja to što su firme utrošile veliki novac na uvođenje sistema koji se ne koristi.
Analizom razloga ove pojave došlo se do zaključka da programeri prilikom razvojasoftvera nemaju u vidu krajnjeg korisnika. Interfejs nije zasnovan na potrebama izahtjevima korisnika, nego na funkcijama samog programa. Pojedine kontrole sukomplikovane i teške za naučiti, što programer ne uočava jer ih je sam dizajnirao.Korisnik je nezadovoljan konačnim sistemom i smatra da on ne obavlja neke zadatkekoje je trebao obavljati, dok s druge strane nudi funkcije koje su nepotrebne.
U posljednje vrijeme, zahvaljujući naravno i studiji upotrebljivosti, ostvareni suznačajni pomaci u rješavanju ovih problema. Kod korisnički usmjerenog dizajna (eng.usercentered design) interfejs, kao i ostatak sistema, projektuje se na osnovukorisničkih zahtjeva, a korisnik je uključen u sve faze životnog ciklusa informacionogsistema kroz prototipove i testiranje.
Ovu temu sam odabrao prije svega zato što je to aktuelna i značajna oblast koja sedotiče moje omiljene teme – razvoj softvera – kao i drugih oblasti kao što supsihologija, grafički dizajn, ergonomija, antropologija itd.; ali i zato što sam se usvom radu susretao sa loše dizajniranim i neupotrebljivim uređajima i programima,kao i problemima koje korisnici imaju pri radu s njima. Obzirom da je kod nas vrlomalo diplomskih i magistarskih radova odbranjeno na ovu temu, odlučio sam da šireprezentiram temu upotrebljivosti grafičkih interfejsa, u nadi da ću u svom budućemradu imati priliku da se detaljnije posvetim nekim od problema iz ove oblasti.
Nagli razvoj grafičkih interfejsa (grafički operativni sistemi, web itd.) u posljednjevrijeme otvorio je jedan potpuno novi skup problema, kao što su: dizajn
1 http://www.chi2005.org/2 http://www.microsoft.com/usability/default.htm
http://developer.apple.com/documentation/mac/HIGuidelines/HIGuidelines2.html
3
interaktivnosti, dizajn ilustrativnih grafičkih elemenata (ikone itd.) koji bi trebali da sepozovu na sličnost sa stvarnim svijetom i na taj način budu “intuitivni” (u smislu danikakva posebna obuka za rad sa sistemom nije potrebna), novi načini komunikacijesa računarom, nove grafičke paradigme itd.
2. OPĆENITO O UPOTREBLJIVOSTI
2.1. Ergonomski dizajn proizvoda
Svakako ne možemo govoriti o upotrebljivom dizajnu računarskih programa a daprethodno ne spomenemo upotrebljiv dizajn proizvoda uopšte.
Tokom Drugog svjetskog rata, američka vojna industrija je ubrzano proizvodila novanapredna oružja. Pokazalo se da dizajn aviona ili tenka može drastično uticati narezultate na bojnom polju. Ovi pokazatelji su sačuvani, pa se nakon rata razvila čitavanova oblast pod nazivom ergonomija (grč. ergos = rad i nomoi = prirodni zakoni) čijije zadatak da proučava dizajn objekata tako da su oni bolje prilagođeni oblikuljudskog tijela. Ergonomija je većinom usko povezana sa medicinom, a do svojihrezultata dolazi dobrim dijelom statistički tj. analizom negativnih posljedica korištenjaloše dizajniranih proizvoda.
Danas je većini ljudi pojam “ergonomski” poznat putem ergonomski dizajniranihpredmeta kao što su stolice ili stolovi. Ipak, fokus ergonomije od samog početka bioje ne samo na ljudskoj anatomiji. Ergonomija se definiše prije svega kaoprilagođavanje radnog mjesta čovjeku, umjesto obratno.
U SAD se obično koristi termin “ljudski faktori” ili “inženjering ljudskih faktora”(Human Factors Engineering) koji bolje odražava ovu činjenicu, dok je “ergonomija”termin uobičajen u Evropi.
Jedna od disciplina ergonomije je i primijenjena psihologija, koja se bavi pitanjimakao što su:• kakve su prosječne sposobnosti korisnika?• kakva je korisnikova sposobnost učenja novih stvari?• kolika je vjerovatnoća greške i kako će se ta greška odraziti na objekat (da li
objekat ima sposobnost kompenziranja greške)?• kakav je odnos pojedinca i grupe prema objektu?• da li objekat omogućuje komunikaciju među članovima grupe? itd.
Budući da je i računar (sve više) dio radnog mjesta, sasvim je razumljivo razmatrati iproblem ergonomije računara, posebno kada imamo u vidu da su mnogi proizvodniprocesi u industriji danas automatizirani putem računarskog interfejsa.
4
Pitanje ergonomije računara postavio je Brian Shackel još 1959. godine, ali tek 80tihgodina prošlog vijeka se ozbiljnije pristupilo tom problemu.
2.2. Problem interakcije čovjekračunar (Human Computer Interaction – HCI)
Interakcija čovjekračunar (HCI) je oblast koja se bavi proučavanjem interakcijeizmeđu ljudi (korisnika) i računarskih sistema. To je interdisciplinarno polje vezanoza računarske nauke, psihologiju, kognitivnu nauku, ergonomiju (ljudske faktore),dizajn, sociologiju, bibliotekarstvo, vještačku inteligenciju i druge oblasti.
Najvažniji pojam u HCI je interfejs (eng. interface). Interfejs je tačka na kojoj dolazido interakcije između čovjeka i računara. Interfejs uključuje hardver (tj. ulazne iizlazne uređaje) i softver (npr. određivanje koje informacije se prezentiraju korisniku ina koji način).
Osnovni cilj HCI je – poboljšati interakciju između korisnika i računara tako što će seračunari učiniti lakšim za korištenje. HCI se bavi:
• metodologijama i procesima za dizajniranje interfejsa (tj. ako je dat zadatak i klasakorisnika, dizajnirati najbolji mogući interfejs uz data ograničenja, optimizirajućiga za željeno svojstvo kao što je jednostavnost učenja ili efikasnost korištenja);
• metodama implementacije interfejsa (npr. softverski alati i biblioteke ilinajefikasniji algoritmi);
• tehnikama procjene i usporedbe interfejsa;• razvojem novih interfejsa i tehnika interakcije;• razvojem deskriptivnih i prediktivnih modela i teorija interakcije.
2.3. Definicija upotrebljivosti (usability) i razvoj te oblasti
Već početkom 80tih godina postalo je jasno da se postojeći računarski sistemi nekoriste dovoljno efikasno, ali ne zbog ograničenja tehničke prirode (hardverskih ilisoftverskih) već zbog – nepravilnog dizajna. The Standish Group, istraživački centar uoblasti IT, u jednoj studiji tvrdi da je svega 30% svih informacionih sistema uspješno,a preostalih 70% su ili potpuni promašaj ili predstavljaju tek marginalan doprinossvojoj organizaciji. Britanska novina Sunday Times obavila je studiju računarskihkorisnika čiji je zaključak da “tri četvrtine korisnika računara ne može natjerati svojemašine da rade ono što oni žele, a pojedini ih udaraju iz čiste frustracije...”
Jedan termin koji se počeo koristiti 80tih, a popularan je i danas, su userfriendlyproizvodi (prijateljski prema korisniku). U ozbiljnim studijama ovaj termin seodbacuje jer je nedovoljno precizan: koje osobine treba da posjeduje proizvod koji jeuserfriendly? Ipak, vrijedno ga je spomenuti jer on predstavlja vezu sa ranijimstudijama ergonomičnosti, a bitno je i to da se samim terminom stavlja korisnika na
5
centralno mjesto koje on i zaslužuje.
Thomas Landauer, svakako jedan od najznačajnijih autora u ovoj oblasti, zagovornikje termina user centered design (dizajn koji se fokusira na korisnika). Ipak pojam kojije najviše zaživio u računarskim naukama je usability, koji ću prevoditi kaoupotrebljivost.
Međunarodna organizacija za standardizaciju (ISO) dala je definiciju upotrebljivosti:Efektivnost, efikasnost i zadovoljstvo s kojim je zadati korisnik u stanju
da obavi zadate zadatke u određenom okruženju.
Ova definicija ujedno ističe i osnovne probleme upotrebljivosti:• Efektivnost (effectiveness) – sistem je efektivan ako su korisnici u stanju da izvrše
postavljene zadatke. Koncept utrošenog vremena ili jednostavnosti upotrebe nijedio “efektivnosti”. Drugim riječima, ako je jedan sistem u stanju da izvrši određenizadatak a drugi nije, samim time prvi sistem je upotrebljiviji za taj zadatak.
• Efikasnost (efficiency) – je pojam kojim se uključuje vrijeme u definicijuupotrebljivosti. Ako je za obavljanje zadatka na jednom sistemu potrebno 5minuta, a na drugom 10 minuta, brže vrijeme obavljanja zadatka na prvom sistemuimplicira da on ima bolju upotrebljivost.
• Konačno, treća komponenta ISO definicije je zadovoljstvo korisnika sistemom(eng. user satisfaction). Zadovoljstvo korisnika je komplikovano pitanje koje semože odnositi na razne aspekte sistema, ali je ono ipak konkretno i može se mjeriti.Za sada, zadovoljstvo korisnika definisaćemo kao ono što korisnika opredjeljuje zajedan od dva sistema pod uslovom da su sistemi u svim drugim aspektima jednaki.
Slabost ISO definicije je što ona ne uključuje pojam jednostavnosti učenja (eng.learnability), mada se može pretpostaviti da je ona dio pojma efikasnosti ilizadovoljstva.
Još jedna stvar na koju treba obratiti pažnju prilikom definisanja upotrebljivosti jestepreciznost definicije. Problemi o kojima se govori mogu varirati izuzetno od jednogdo drugog korisnika; takođe, broj različitih načina na koje korisnici mogu koristitisistem i zadataka koje njime mogu obavljati su skoro beskonačni; i okruženje ukojima se ovi zadaci obavljaju može uticati na njihovo obavljanje na najrazličitijenačine.
Iz tog razloga ISO definicija govori o konkretnom tj. zadatom korisniku i konkretnomtj. zadatom zadatku (cilju), kao i o jednom određenom okruženju. Ovo je povod zbogkojeg mnogi autori iz oblasti upotrebljivosti govore o “pesimizmu” i “pesimističnojdefiniciji” sistem koji savršeno zadovoljava sve korisnike u svim okruženjima i zasve zadatke je nemoguć. Smatra se da je ovaj pesimizam dobra stvar, jer prisiljavastručnjake iz oblasti upotrebljivosti da razmotre najrazličitije faktore pri dizajnusistema. Potrebne su naravno određene metode generalizacije korisnika, platformi izadataka, a o tome ćemo govoriti kasnije.
6
2.4. Inženjering upotrebljivosti
Ideja “inženjeringa upotrebljivosti” je da se problemu upotrebljivosti sistema pristupina kvantitativan način, odnosno na takav način da se razne osobine upotrebljivostimogu izraziti brojčano. Tako se upotrebljivost može ugraditi u same specifikacijeproizvoda.
Najvažniji koncept je sposobnost mjerenja upotrebljivosti sistema. Tradicionalnipristup je da se sistem najprije dizajnira i primijeni kod korisnika, a zatim da se naosnovu povratnih informacija korisnika vrše izmjene radi poboljšanja upotrebljivostisistema. Naravno ovo nije najbolji način. Mjerenje i procjena upotrebljivosti se moževršiti već od faze dizajna informacionog sistema, tako da se korisniku odmahisporučuje upotrebljiv sistem, a to znači manje troškove implementacije.
Studij upotrebljivosti i HCI je danas standardan dio programa univerziteta širomsvijeta, a jedno od usmjerenja na tim univerzitetima je i “inženjer upotrebljivosti”(usability engineer), tj. softverski inženjer koji razumiju probleme korisnika.
Upotrebljivost se odnosi na mjeru uspješnosti proizvoda – bio to softver, računarskisistem ili konačan proizvod. Inženjering upotrebljivosti je cjelokupan procesproizvodnje upotrebljivih proizvoda, a inženjer upotrebljivosti je osoba koja toomogućuje. Procjena upotrebljivosti je proces tokom kojeg se sistemi i proizvodiprocjenjuju koristeći neke od metoda dostupnih inženjeru upotrebljivosti iliprocjenitelju.
Inženjer upotrebljivosti je uključen i u proces specificiranja zahtjeva korisnika i u saminženjering softvera. Na taj način veza između krajnjeg korisnika i programera jedirektna, te se garantuje uključenost korisnika u sve faze dizajna softverskogproizvoda. Ovo je takođe jedan od elemenata user centered designa.
Životni ciklus upotrebljivosti sastoji se od sljedećih koraka:• upoznavanje korisnika• upoznavanje zadatka• specificiranje zahtjeva korisnika• postavljanje dometa upotrebljivosti• proces dizajna• primjena pravila, heuristika• prototipiranje• evaluacija sa korisnicima• redizajn i evaluacija• konačna evaluacija sa korisnicima i pravljenje izvještaja
Kao što smo vidjeli u prethodnom poglavlju, upoznavanje korisnika i zadataka koje
7
korisnik želi obavljati su ključni problem upotrebljivosti.
Najčešći način identificiranja korisnika sistema jeste pravljenje upitnika. Pored toga,koriste se metode neformalnog razgovora, posmatranja, “sampling” i “logging”aktivnosti (pravljenje dnevnika aktivnosti korisnika pri radu sa sistemom), analizakorisničkog radnog mjesta i intervju. Ono što je važno naglasiti jeste da korisnik nemože dati odgovor na pitanje kako treba dizajnirati sistem, ali može dati mnoštvokorisnih savjeta i informacija. Na kraju korisnike razvrstavamo u kategorije, npr.prema nivou ekspertize (poznavanja rada s računarom), pri čemu treba naglasiti danije uvijek moguće apsolutno smjestiti korisnika u određenu kategoriju ili grupu.
Što se tiče identificiranja zadataka, u priručnicima se preporučuje korišenje metodeNormanovih ciklusa ili etnografske metode. Pošto to izlazi iz okvira ovog diplomskograda, neću se detaljnije osvrnuti na te metode.
Faza specificiranja zahtjeva korisnika je vrlo važna za dobijanje upotrebljivogproizvoda. Nakon što se identificiraju zadaci koje sistem treba da obavlja, skicira sedokument pod nazivom Zahtjevi korisnika koji se zatim usavršava kroz dijalog sakorisnikom. Osnovni elementi koje ovaj dokument mora sadržati su: organizacioni iposlovni zahtjevi; sistemski tehnički zahtjevi; i korisnički zahtjevi odnosnofunkcionalnost. Postoji više metoda za predstavljanje zahtjeva korisniku kao što sustoryboards, simulacije, rapidno prototipiranje itd.
3. MJERENJE UPOTREBLJIVOSTI
Prema mom mišljenju ovo je najvažniji aspekt upotrebljivosti, pa ću o tome govoritinešto detaljnije.
Podsjetimo se prije svega definicije upotrebljivosti koja je data u ISO standardu:Efektivnost, efikasnost i zadovoljstvo s kojim je zadati korisnik u stanju
da obavi zadate zadatke u određenom okruženju.
Dakle, obraćamo pažnju na tri faktora pri dizajnu softvera: program treba biti• efektivan – korisnik može izvršiti zadatak;• efikasan – korisnik može izvršiti zadatak u najmanjem mogućem vremenu i uz
najmanji mogući trud;• zadovoljavajući – korištenje programa treba biti zadovoljstvo korisniku.
Još jedna korisna definicija upotrebljivosti je ona koju je dao Shackel, a koja seobično obilježava skraćenicom LEAF: Learnability (jednostavnost učenja korištenja),Effectiveness (efektivnost), Attitude (stav korisnika prema sistemu), Flexibility(fleksibilnost).
8
3.1. Efektivnost
Definicija efektivnosti prema ISO standardu glasi: “preciznost i potpunost kojomkorisnici postižu određeni zadatak”. U kontekstu osnovne definicije ovo znači stepenu kojem je zadatak obavljen, zadatim alatom, od strane konkretnog korisnika, ukonkretnom okruženju. Kod jednostavnih zadataka dovoljno je dati zadatak korisnikui vidjeti da li ga on može izvršiti ili ne. Složeniji zadaci mogu biti i djelomičnoizvršeni.
Poželjno je ponekad razbiti zadatak na podzadatke kako bi se svaki odvojenoistraživao. Na primjer, pisanje pisma u programu za obradu teksta možemo posmatratikao cjelovit zadatak – da li je korisnik odštampao pismo? Ali ako je odgovor na ovopitanje da pismo nije odštampano, to nam ne govori ništa o problemima koje našsoftver možda ima, pa stoga bismo mogli razbiti problem na podzadatke:
a) unos tekstab) provjera pravopisa (spellchecking)c) formatiranje tekstad) snimanje datotekee) štampanje na papir.
Mogli bismo i dalje razbijati ove zadatke, npr. zadatak provjere pravopisa napodzadatke pokretanja programa za provjeru i izbora/odbacivanja ponuđenih varijanti.Čak i ovo možemo podijeliti na pojedinačne zadatke pomjeranja miša i klikanja! Alinajčešće tako detaljna podjela nije potrebna.
Osnovne metrike efektivnosti, odnosno kategorije za pobliže ispitivanje i mjerenje,su:➢ Omjer uspješnog i neuspješnog ispunjavanja zadatka.➢ Frekvencija upotrebe pojedinih komandi odnosno mogućnosti/funkcija programa.➢ Broj i obim problema koje ima korisnik pri ispunjavanju zadatka.➢ Kvaliteta izlaza.
Omjere uspjeha i neuspjeha posmatramo na nivou čitavog zadatka ili pojedinihpodzadataka.
Frekvencija upotrebe pojedinih mogućnosti nas upućuje na probleme sa efektivnošćusistema, na primjer: Da li postoji redundantna (dvostruka, nepotrebna)funkcionalnost? Zašto se pojedine komande ne koriste? Da li su uopšte potrebne? Dali postoji neki drugi, efikasniji način rješavanja problema? itd.
Ovisno o problemu, izlaz koji proizvede korisnik može biti ili ispravan ili pogrešan,odnosno može imati razne nivoe prihvatljivosti. Tačan nivo prihvatljivog izlazadefinišemo imajući u vidu zadatak, npr. tipfeler u poštanskoj adresi nije tolikokatastrofalan kao onaj u telefonskom broju.
9
3.2. Efikasnost
Definicija efikasnosti glasi: “preciznost i potpunost ostvarenja cilja u odnosu napotrošene resurse”. Neki za ovo koriste termin “propusnost” (eng. throughput).
U najjednostavnijem smislu, pod resursima se posmatra utrošeno vrijeme. Ponekadželimo takođe posmatrati i uloženi trud, dakle poželjno je da korisnik koristi sistem uzšto manje napora.
Glavni problemi koji se javljaju su izbor odgovarajućeg vremenskog okvira u kojemzadatak treba biti zadovoljen, te problem nepotpuno ispunjenih zadataka koji serješava razbijanjem zadatka na podzadatke kao što je već objašnjeno. Pitanje truda jemalo složenije. Da li ćemo posmatrati pojedinačne akcije tastaturom ili mišem, ilićemo se pozivati na korisnikovu subjektivnu procjenu truda koji je uložio/la – to ovisiod samog problema koji rješavamo.
Tako bi metrike efikasnosti sistema mogle biti:➢ Vrijeme potrebno za obavljanje izabranih zadataka.➢ Broj pojedinačnih akcija potrebnih za obavljanje zadatka.➢ Vrijeme potrošeno na čitanje dokumentacije.➢ Vrijeme potrošeno na pretraživanje Interneta.➢ Vrijeme potrošeno na otklanjanje grešaka.
Prve dvije metrike bi mogle predstavljati vrijeme i trud. Vrijeme i broj akcija običnostoje u međuzavisnosti, mada to ne mora obavezno biti slučaj. Neke akcije traju duženego druge, pa ih je nekad potrebno razbiti sve do broja pritisaka na tipku ili klikovamišem.
3.3. Zadovoljstvo korisnika
Definicija zadovoljstva prema ISO standardu je: “komfor i prihvatljivost sistema”.Očito, ovo je teško izraziti na mjerljiv način. Jedina mogućnost jeste da izvršimoeksperiment na korisnicima, tj. da ih zamolimo da koriste naš sistem i zatim da opišukoliko su zadovoljni njegovim radom. Međutim i ovo ima svojih problema. Npr. akozamolimo grupu od 50 ljudi da ocijene koliko vole čokoladu brojem od 1 do 10,uvijek se postavlja pitanje da li je ocjena 10 jednog ispitanika isto što i ocjena 10drugog. Postoje ideje da se komfor korisnika mjeri količinom nepotrebnih radnji kojevrše pri korištenju sistema. Npr. ako korisnik puno “šara” mišem prije izbora opcije,moguće je da se nervira jer se opcije ne nalaze tamo gdje želi ili očekuje da budu.
Cilj dizajniranja sistema je da se promovira kontinuirana i produžena upotreba sistemaod strane korisnika. Stoga je zadatak inženjeringa upotrebljivosti, između ostalog, daosigura da korisnik ima pozitivne stavove prema sistemu.
10
Moguće je mjeriti stav korisnika koristeći upitnik, na primjer:
Kako biste ocijenili vaše opšte mišljenje o sistemu?1 = vrlo loš do 5 = vrlo dobar
Razuman uslov koji možemo postaviti je da treba biti barem 90% korisnika koji suocijenili sistem sa 4 ili 5. Na ovaj ili sličan način može se dobiti relativno objektivnamjera zadovoljstva korisnika. Ipak, nove ideje za rješavanje ovog problema se javljajusvakodnevno.
3.4. Ostale metrike
Kod definicije upotrebljivosti koju je ponudio Shackel spomenuta je i jednostavnostučenja (learnability) kao metrika odvojena od efikasnosti, zatim stav korisnika(attitude) kao nešto vrlo slično ranije opisanom zadovoljstvu korisnika, te potpunonova kategorija – fleksibilnost. Poslužićemo se ovom Shackelovom definicijom dabismo dopunili našu malu listu metrika koje generalno primjenjujemo na sistem.
Da bi bilo moguće koristiti sistem efektivno i što je brže moguće, potrebno je da onbude lagan za učenje korisnicima. Jednostavnost učenja je prvo što korisniciprimjećuju na sistemu, pa će vjerovatno doprinijeti njihovom prvom utisku. Važno jeda sistem bude brzo naučen pošto su troškovi obuke visoki, a poslodavac bi volio dakorisnici što prije budu produktivni. Povrh toga, povećano vrijeme obuke povećavatrošak prelaska na novi sistem što bi moglo učiniti promjenu sistema neprofitabilnomkratkoročno ili čak dugoročno ako se kadar rijetko mijenja.
Obično se govori o “krivoj učenja”. Važno je da korisnik za što je kraće mogućevrijeme stekne osnovna znanja potrebna za obavljanje zadataka. S druge strane, svoznanje o sistemu može biti teško steći i najvjerovatnije neće nikada biti ni ostvareno –niti je vjerovatno potrebno većini korisnika. Neki sistemi, npr. oni postavljeni najavnim mjestima (ATM mašine), ciljaju na tzv. nulto vrijeme učenja (zero learningtime). Ovakvi sistemi se oslanjaju na korisnikovo “znanje svijeta” kako bi omogućilida ih korisnik vrlo lako nauči koristiti, drugim riječima biće napravljeno upravo onošto korisnik već zna ili očekuje, a biće ponuđeni i vizuelni nagovještaji kako trebaobaviti zadatak.
Neki ljudi vole da uče nove stvari ili posmatraju to kao izazov. Ali to nije uvijek tako.Mnogi jednostavno mrze da uče nove sisteme, posebno ako su vezani za druge stvarikoje takođe ne vole kao što je posao ili škola. Korisnici obično žele da što prije počnuobavljati zadatke i pri tome često prave greške ili nesmotrene stvari.
Kada govorimo o jednostavnosti učenja, očito je najvažniji pojam vrijeme potrebno dakorisnik počne koristiti sistem. Ali mogu se mjeriti i neke druge stvari, na primjer
11
možemo proširiti uobičajeni skup metrika sljedećim kriterijima:➢ Vrijeme potrebno da se nauči sistem.➢ Vrijeme potrebno da se postigne odabrani kriterij performansi.➢ Teškoće uočene prilikom sticanja potrebnog znanja.➢ Vrijeme potrebno za održavanje znanja o sistemu➢ Vrijeme potrebno za ponovno učenje sistema nakon određenog vremena bez
korištenja.
Naravno tu su i metrike koje smo ranije spominjali u kontekstu efikasnosti:➢ Vrijeme potrošeno na čitanje dokumentacije.➢ Vrijeme potrošeno na pretraživanje Interneta.➢ Vrijeme potrošeno na otklanjanje grešaka.
Ali jednostavnost učenja ne uključuje samo vrijeme provedeno na učenje, nego imjeru koliko je sistem uspješno naučen. Neki od kriterija koji mogu poslužiti za ovosu:➢ Učestalost grešaka.➢ Učestalost neke konkretne greške.➢ Učestalost upotrebe Interneta za pomoć.➢ Broj situacija kada je korisniku bila potrebna pomoć za neki problem.
Shackel je definisao fleksibilnost kao “dozvoljenu adaptaciju na određeni nivovarijacije u zadatku i/ili okruženju.” Očito da je pri formulisanju ove definicije ključniuticaj imao studij ergonomije, jer se govori o adaptiranju proizvoda zadatku a nekorisniku, dakle nema govora o svjesnoj operaciji “adaptiranja” od strane korisnika.Ipak, mi ćemo proširiti ovu definiciju da uključimo i mogućnost korištenja proizvodana razne načine ili za razne namjene. Npr. u nekom programu za obradu teksta možetenapraviti novi dokument tako što:• izaberete opciju Novi iz menija Datoteka• pritisnete kraticu na tastaturi• kliknete na ikonu sa praznim listom• izaberete šablon (template) i otvorite ga• otvorite postojeći dokument, pobrišete sav njegov sadržaj i kada otkucate izaberete
opciju Snimi kao...Na ovaj način program se prilagođava korisniku tj. korisnik može izabrati način kojimu najviše odgovara.
Konačno Shackelova definicija spominje i stav korisnika prema sistemu, kao kriterijbogatiji od “zadovoljstva” koje specificira ISO. Nije dovoljno samo definisatiprihvatljiv nivo problema i prepreka koje korisnik rješava; kroz stalne susrete sasistemom i njegovo korištenje, korisnik bi trebao osjećati povećano zadovoljstvo.Drugim riječima, ljudi trebaju uživati u korištenju sistema. Zabavan sistem je neštošto je u računarskim tehnologijama rijetkost. To je takođe i vrlo subjektivan pojam.
12
3.5. Specifikacija upotrebljivosti
Pristup koji nazivamo “inženjering upotrebljivosti” podrazumijeva da se prije početkaproizvodnje aplikacije napravi jedan dokument koji se naziva specifikacijaupotrebljivosti. To je izjava o uslovima koje će proizvod morati zadovoljavati kadabude napravljen, a njome se definišu elementi na koje će se obratiti pažnja prilikommjerenja upotrebljivosti.
Specifikacija sadrži:• skup ili podskup korisnika na koje se odnosi;• preduslovi za mjerenje;• kako će kriteriji biti izmjereni;• kako znamo da su kriteriji ispunjeni.
Ova specifikacija se zatim koristi kao osnova za ciklus procjena – redizajn – ponovnaprocjena koji je dio inženjeringa upotrebljivosti. Kao sporedni efekat, dobija se jasnomjerilo kada završiti sa razvojem, što rješava jedan čest problem kod rapidnogprototipiranja – a to je da inženjeri ne znaju kada da se zaustave.
Na osnovu ranije spomenutog, možemo napraviti checklistu mjerenja odnosnokriterija koje ćemo koristiti u specifikaciji:• Vrijeme potrebno za obavljanje zadatka.• Procenat ostvarenja zadatka.• Procenat ostvarenja zadatka po jedinici vremena.• Omjer uspjeha i neuspjeha.• Vrijeme potrošeno na otklanjanje grešaka.• Frekvencija upotrebe online pomoći i dokumentacije.• Vrijeme potrošeno na upotrebu pomoći i dokumentacije.• Procenat povoljnih/nepovoljnih komentara korisnika.• Broj ponovljenih ili neuspješnih naredbi.• Broj dobrih osobina sistema, prema sjećanju korisnika.• Broj naredbi koje nisu nikako korištene.Naravno, konačna lista kriterija ovisi o projektu.
Whiteside, Bennett i Holtzblatt su predložili da se specifikacija upotrebljivosti proširijednim skupom ekstenzija koje pobliže određuju kriterije. Ove ekstenzije su:• Najgori slučaj. Ovim je dat najgori mogući scenario za sistem koji ujedno
predstavlja sistem neprihvatljiv korisniku. To je korisno znati prije početkaprojekta.
• Najniži prihvatljivi nivo. Najniži nivo performansi koji je prihvatljiv korisniku.• Planirani slučaj. Ovo je nivo za koji se očekuje da će ga sistem postići.• Najbolji slučaj. Najbolji mogući scenario. Primjećujemo da ovo ne mora biti ono
što se očekuje.• Trenutni nivo. Ovo je eventualno stanje sistema koji se trenutno koristi odnosno
13
sistema koji pokušavamo da unaprijedimo. On služi kao bazni nivo sa kojimupoređujemo naš novi sistem. Poznavanje trenutnog sistema nam pomaže, zato štoje korisniku vrlo lako da izrazi mišljenje o tome koliko je zadovoljan postojećimsistemom.
Ovo predloženo proširenje specifikacije ima osobine da je do pomenutih podatakarelativno lako doći, a pružaju dobru bazu sa kojom se performanse novog sistemamogu uporediti i eventualno ponoviti ciklus inženjeringa upotrebljivosti.
Sljedeća tabela je jedan primjer specifikacije upotrebljivosti zajedno sa spomenutimdodacima:
Specifikacija upotrebljivosti
korisnička populacija: svi korisnicipreduslovi: mjerenja treba izvršiti nakon 1 sedmice upotrebe
Najgorislučaj
Najnižiprihvatljivi nivo
Planiranislučaj
Najboljislučaj
Trenutninivo
Atribut: Mjerenje:
efikasnost grešaka pozadatku
5 ili više 2 1 0 5
efikasnost potrebnovrijeme
10 ili više 5 minuta 3 minute 1 minuta 10 minuta
Kako doći do metrika upotrebljivosti? Prije svega, specifikacija upotrebljivosti seformira na osnovu zahtjeva korisnika. Kada su i korisnik i inženjer zadovoljnispecifikacijom, može se formirati ugovor koji je obavezujući za obje strane. Izmjeneugovora se moraju vršiti uz obostranu saglasnost.
Sistem se zatim razvija metodologijom dizajna usmjerenog na korisnika (usercentered design). Na primjer, to može biti rapidno prototipiranje. Kada se završiprojektovanje sistema, može se aplicirati metrika i analizirati rezultati kako bi seutvrdilo (ne)slaganje sa specifikacijom.
Jedan dio metoda “inženjeringa upotrebljivosti” je da od korisnika zatražimo da obavineki zadatak ili zadatke dok inžinjeri analiziraju njegov rad. To se može obaviti naviše načina.
Prvo, može se prepustiti korisniku da obavi zadatak, nakon čega tim za procjenu mjeriutrošeno vrijeme, broj grešaka ili koliko je puta zatražena pomoć. Zatim, mogu seposmatrati korisnici tokom korištenja sistema, čime se uočavaju problemi sa kojimase korisnici susreću i kako su ih riješili. Jedan koristan metod je i da natjeramokorisnika da “glasno razmišlja” prilikom rada i time uočavamo stvari koje mu se (ne)
14
sviđaju.
Konačno, tim za procjenu može provesti intervjue i tako doći do informacije ozadovoljstvu korisnika sistemom. Sličan metod je i korištenje upitnika.
Važno je naglasiti da se metodom specifikacije upotrebljivosti dolazi tek do opštihperformansi sistema. Da bi se došlo do stvarnih informacija o zadovoljstvu korisnikasistemom, njihovim performansama i stavu prema sistemu, potrebna su podrobnijaispitivanja. No pošto bi opisivanje ovih naprednih metoda bilo preopširno za jedandiplomski rad, nastavićemo sa drugim temama.
4. OSNOVNI PROBLEMI UPOTREBLJIVOG GUI DIZAJNA
4.1. Grafički korisnički interfejs (GUI)
U nastavku teksta posvetiću se grafičkim računarskim interfejsima, odnosno danasdominantnoj tzv. WIMP metafori rada sa računarom.
Od samih početaka računarstva postavljeno je pitanje: na koji način predstavitikorisniku ono što se zbiva u računaru? Prvobitni i do danas vrlo raširen odgovor naovo pitanje posljedica je čisto praktičnih ograničenja. Prvi računari su kao jediniuređaj za interakciju sa korisnikom imali teleprinter (svojevrsnu električnu pisaćumašinu). Tako je nastao tekstualni ili komandni interfejs – u svojevrsnom dijalogukorisnik unosi tekstualne naredbe koje označavaju određenu operaciju, na što korisnikodgovara takođe verbalno.
Ovakav način interakcije je krajnje nepraktičan jer korisnik mora memorisati svenaredbe i njihovu semantiku, ustvari čitav jedan jezik komunikacije sa računarom, ato traje dugo. Kao što smo vidjeli ranije, learnability je jedan od bitnih faktora priizboru sistema. Mnogi tvrde da, ako uložite vrijeme da naučite naredbe, možete bitivišestruko produktivniji nego korištenjem grafičkog interfejsa. Ipak komandniinterfejsi imaju svoje mjesto, kao napredni administratorski alat ili za osobe saograničenim vidom ili kretanjem.
Grafički interfejs je rođen početkom 70tih godina u Xerox PARC (Palo Alto ReseachCenter) laboratoriji. Tada su postavljeni osnovni koncepti koje nazivamo WIMPmetafora. 1982. godine, na osnovu rezultata rada Xeroxovog tima, nastao je prvikomercijalan računar sa GUIjem, Apple Lisa, a nakon nje i popularni Macintosh.Osnovni elementi grafičkog interfejsa Macintosha su jednostavno prekopirani upopularnom sistemu Microsoft Windows (oko čega se vodio višegodišnji sudskiproces), ali ovaj sistem nije postao popularan prije 1990tih.
Današnji sistemi kao što su Windows XP, Mac OSX ili Linux koriste uglavnom iste
15
ideje kao i prvobitni Xeroxov sistem. Ipak, s vremena na vrijeme se pojavealternativni koncepti kao što su Microsoft Bob, 3dwm ili FSV. NeWIMP grafičkiinterfejsi su takođe rašireni u računarskim igrama, istraživačkim sistemima kojikoriste “virtuelnu realnost” (3D interfejs koji simulira stvarni svijet), te u brojnimspecijalizovanim sistemima kao što su ATM uređaji. Važno je spomenuti dodirniinterfejs (ekran koji se aktivira na dodir). Prema sadašnjim informacijama, izgleda daće WIMP interfejs konačno dobiti nasljednika u 3D interfejsima,3 ipak predstavljeniradni modeli nude vrlo malo suštinskih izmjena u odnosu na tradicionalni pristup.
WIMP je skraćenica koja obuhvata osnovne elemente interfejsa:• Window – prozor• Icon – ikona• Menu – meni• Pointer – pokazivački uređaj, miš.
Kod WIMP koncepta, sve je prozor, i sav sadržaj se nalazi u nekom od prozora.Prozore možete premještati, sakrivati, ili stavljati jedan na drugi. Ikona je grafičkielement koji simbolizuje neku akciju ili funkciju programa, mada je takođe važanelement interfejsa i tekstualno dugme (button). Drugi način prezentiranja mogućnostiprograma je kroz menije. Uobičajen pristup je da se najvažnije i najčešće korištenefunkcije predstave kao ikone, a ostale su sakrivene u menijima koji se otvaraju klikomna određeno dugme ili naslov. Konačno – glavni uređaj pomoću kojeg koristimoWIMP interfejs je njegovo veličanstvo miš, mada striktno govoreći “pointer” možeuključivati i taktilni interfejs (ekran osjetljiv na dodir), elektronsko pero, tablet itd.
Pošto je WIMP preovlađujući koncept danas, u nastavku ću izložiti neke osnovneprobleme u oblasti upotrebljivosti koji se tiču WIMP grafičkih interfejsa. Kao što smovidjeli ranije, problem zadovoljstva korisnika sistemom je jedan od najslabije riješenihu dosadašnjem razvoju inženjeringa upotrebljivosti. Ova oblast je još uvijeknedovoljno razvijena, a posljednjih godina su prezentirani različiti koncepti i ideje.
4.2. Dizajn interakcije
Paralelno sa ranije izloženim konceptom inženjeringa upotrebljivosti, nastavljaju serasprave na temu prikladne klasifikacije discipline kojom se bave pojedini radovi.Tako Cooper i Reimann odbacuju pojam dizajna korisničkog interfejsa (user interfacedesign) jer, prema njihovom mišljenju, dizajnerski problemi zalaze mnogo dublje odonoga što se vidi na ekranu. Termini kao što su informaciona arhitektura (information
3 Microsoft je najavio da će iduća verzija Windows operativnog sistema, pod kodnim imenomLonghorn, između ostalog sadržavati i Avalon – trodimenzionalni sistem navigacije saodgovarajućim APIjem. Slično se najavljuje i za sljedeću verziju MacOS operativnog sistema podkodnim imenom Tiger (najvjerovatnije će nositi komercijalnu oznaku 10.3). Informatički gigantSun je predstavio radnu verziju 3D okruženja pod nazivom Looking Glass koje će biti objavljenopod opensource licencom, a ciljna platforma je Sunova Linux distribucija pod nazivom JavaDesktop.
16
architecture) i dizajn iskustva (experience design) takođe su neprikladni. IA je ostalavezana uz web i njegove specifičnosti. Pojam dizajna iskustva se mnogo promovira uposljednje vrijeme, ali da li mi zaista možemo dizajnirati korisničko iskustvo?
Termin za koji su se Cooper i Reimann na kraju opredijelili je dizajn interakcije(interaction design), čiji je glavni cilj da se poboljša korisnikovo iskustvo pri radu saračunarom. Dizajn interakcije se bavi definisanjem i dizajnom ponašanja (behavior)artefaktâ, okruženjâ i sistemâ, kao i formalnih elemenata koji prenose informaciju otom ponašanju.
Naime, oni posmatraju dizajn u tri dimenzije: forma, značenje i ponašanje.Tradicionalno dizajn se bavio samo formom i značenjem, dok je ponašanjezanemareno. Interaktivni proizvodi moraju u svakoj od ovih dimenzija imati određenumjeru; npr. softverske aplikacije stavljaju naglasak na formu i ponašanje, dok se pridizajnu Web sajtova ističe značaj forme i sadržaja dok se ponašanje manje razmatrajer je ono dobro definisano.
Konkretno, dizajn interakcije je disciplina koja se bavi:• Definisanjem forme proizvoda i njihovog odnosa u smislu upotrebe i ponašanja.• Predviđanjem kako će upotreba proizvoda uticati na odnos čovjeka prema sistemu i
razumjevanje sistema.• Istraživanjem dijaloga između proizvoda, čovjeka i konteksta (fizičkih, kulturnih,
historijskih).
Dizajn interakcije pristupa dizajnu proizvoda iz ciljemvođene perspektive, dakledizajner:• polazi od razumjevanja kako i zašto ljudi žele koristiti te proizvode;• zagovornik je korisnika i njegovih ciljeva;• proizvod posmatra kao cjelovit paket, ne samo skup mogućnosti i atributa;• gleda u budućnost, posmatra stvari onakvim kakve bi mogle biti, a ne nužno kakve
jesu trenutno.
Dizajneri interakcije moraju, prije svega, razumjeti ciljeve, motivaciju i očekivanjaljudi za koje žele dizajnirati (prave se tzv. mentalni modeli). Mentalni modeli se mogunajbolje razumjeti kao opisi logičkog (ili emotivnog) razvoja događaja kroz vrijeme.Dizajnirani interfejs mora izražavati vlastiti tok događaja koji se uspješno poklapa satokom koji daje korisnik. Time stvaramo svojevrstan “neverbalni prirodni jezik”kojim korisnik komunicira sa dizajniranim predmetom.
4.3. Uticaj dizajna interakcije na klasične metode razvoja softvera
Ciljemvođene metode dizajna podrazumijevaju šest značajnih izmjena ukonvencionalnim metodama razvoja softvera:• Prvo dizajn, zatim programiranje (dok stari način pretpostavlja: početak
17
programiranja što je prije moguće, a primjena dizajna na kraju ili eventualnoparalelno programiranje i dizajn).
• Odvojena odgovornost za dizajn od programiranja (stari način: programeri sudonosili značajne odluke o interakciji softvera i korisnika, obično za vrijemeprogramiranja, što je očit konflikt interesa).
• Fokus je na zadovoljavanju ciljeva korisnika (stari način: analizirani su pojedinačnizadaci koje korisnik obavlja bez uzimanja u obzir krajnjeg cilja koji korisnik želipostići).
• Definisanje specifičnih arhetipskih korisnika (persone) za proizvod koji se razvija,na osnovu pažljivog posmatranja stvarnih i potencijalnih korisnika (stari način:menadžeri i programeri su govorili o “krajnjem korisniku” bez konkretnihpodataka).
• Definisanje scenarija korištenja, uz korištenje persona kao glavnih karaktera u timscenarijima. Scenariji upotrebe su glavni alat za definisanje funkcije, ponašanja iforme interaktivnih proizvoda (stari način: korištene su marketinške čekliste zadefinisanje funkcije proizvoda, ili je prepušteno programerima da odluče šta bitrebalo uraditi).
• Praćenje principa dizajna ponašanja (stari način: oslanjalo se samo na principeforme, ostale komponente su nagađane; pa su se zatim te loše interakcije ponavljalekroz testiranje na korisnicima; da bi konačno bili zakrpljeni samo najgoriproblemi).
4.4. Problemi – jedno viđenje
U svojoj izuzetno popularnoj knjizi About Face, Cooper i Reimann govore osljedećim čestim problemima koji se susreću pri dizajnu interfejsa:
• Stav softvera (držanje, eng. posture)Kao što ljudi imaju jedno opšte držanje koje odgovara njihovom poslu ili ulozi uživotu, tako i softver treba zauzeti određeni stav. Softver može biti šaren, ozbiljan,dosadan, jednostavan, komplikovan. Ovo nije tek stvar ličnog ukusa, nego je dioprocesa kojim se pokušava uklopiti program u scenario korištenja, odnosno krajnjasvrha i cilj programa približiti krajnjem korisniku i uticati na sveukupan odnosizmeđu korisnika i aplikacije.
• Orkestracija i tokKada se ljudi mogu koncentrirati u potpunosti i isključivo na neku aktivnost, onigube svijest o periferalnim problemima i smetnjama. Ovo stanje duha se naziva tok(eng. flow). Prije svega, treba izbjegavati sve što ometa tok pri korištenjuproizvoda. Zatim možemo razmišljati o vještačkom izazivanju stanja toka, tj.orkestraciji.
• Eliminisanje “nameta” korisnicimaPod “nametima” se podrazumijevaju sve nepotrebne operacije i dodatni rad. Dakleu svim situacijama gdje se može korisniku ponuditi neko razumno default rješenjeto treba uraditi.
18
• Navigacija i inflekcijaU svim aplikacijama, a pogotovo webbaziranim, uobičajen je problem navigacije.Ono što se ovdje mora shvatiti je da je navigacija “namet”, osim možda u igrama.Dakle navigaciju treba eliminisati gdje je moguće, ili maksimalno pojednostaviti.Programi kojima je teško navigirati možda su prekomplikovani i treba eliminisatineke njihove mogućnosti ili ih razbiti u više zasebnih programa?
• Razumijevanje operacije poništavanja (undo)Undo je jedinstvena operacija koju nam nude računarski sistemi. Stoga je izuzetnovažno imati mogućnost vraćanja na prethodno stanje gdje god je to moguće, a da tosamo za sebe ne ometa tok. Pri tome se možemo poslužiti mentalnim modelomgrešaka.
• Osmišljanje datoteka i snimanjaVećina korisnika ima problema da razlikuje internu memoriju od hard diska, stogaovu razliku ne treba nametati korisnicima kroz upozorenja i dijaloške prozore.
4.5. Problemi – drugo viđenje
Autori jednog od pregleda stanja sa upotrebljivošću interfejsa računarskih programasu pak spomenuli sljedeći skup pravila:
Fittov zakon
Ovo je najosnovnije i najpoznatije od pravila dizajna korisničkog interfejsa. Ono kažeda što je objekat na ekranu veći i bliži pokazivaču miša, to je lakše na njega kliknuti.Na prvi pogled tako nam nalaže zdrav razum, pa ipak ovo pravilo je često ignorisanou UI dizajnu. Na primjer, dugme koje se najčešće koristi u aplikaciji može se učinitivećim.
Prividna veličina kontrole može se uvećati stavljanjem te kontrole na rub ekrana.Kada pokazivač miša dođe do ruba ekrana, on se zaustavlja tačno na tom rubu bezobzira na brzinu njegovog kretanja. Ovo znači da za osobu koja koristi miš, objekti naekranu se nastavljaju preko ruba praktično u beskonačnost. Na primjer, metadimenzija 1x1 piksel smještena u gornjem desnom uglu ekrana je trivijalnojednostavna za pogoditi – samo pomjerajte miš prema gore i desno koliko god želite.Iz ovoga možemo vidjeti da se kontrole mogu učiniti lakšim za klikanje ako sepostave na rubnim dijelovima ekrana.
Nepotrebne smetnje
Kada korisnik radi njegova pažnja je usmjerena na rad, tako da svaki put kada imnešto skrene pažnju on izgubi određeno vrijeme da bi vratio koncentraciju. Iz ovograzloga treba minimizirati smetnje koje aplikacija stvara korisniku. Svaka aplikacijaposjeduje grafički element koji je fokus rada – npr. u programu za obradu teksta to je
19
tekst, a u web pregledniku to je web stranica. Ovaj element treba učiniti centralnimelementom interfejsa u kojem se sve događa.
Treba izbjegavati prozore koji “iskaču” za vrijeme rada, a ne doprinose korisniminformacijama. Na primjer, prozor koji iskoči da vas obavijesti da tekst koji ste tražilinije pronađen je potpuno beskoristan; vjerovatno biste željeli da popravite vašupretragu, ali umjesto toga trebate kliknuti na dugme “Ok” da biste zatvorili ovoobavještenje.
Koristiti moć računara
Računari su moćni uređaji, koji većinu vremena ne koriste svoju procesorsku moć niprostor za smještaj. Stoga treba koristiti ovu neiskorištenu snagu da bi se olakšao radkorisniku.
Kada se neki element interfejsa može podesiti, potrebno je pokušati obaviti taj posaoza korisnika. Ukoliko postoje dva ili više elemenata interfejsa koji su vrlo slični,računar treba da uoči tu sličnost i učini ih različitim. Na primjer, ukoliko istovremenoradite sa dvije datoteke vrlo dugačkog i sličnog imena, aplikacija treba prikazati onajdio imena koji se razlikuje.
Takođe, aplikacije moraju pamtiti postavke kao što su izgled i veličina prozora itrenutno odabrane postavke. Prostor na disku je jeftin, a smještaj ovih par podatakatroši njegov neznatan dio. Npr. prilikom gašenja programa za obradu teksta, umjestoiskačućeg upita da li tekst treba snimiti i kako (nepotrebna smetnja!), tekst trebaautomatski zapamtiti pod određenim predefinisanim imenom (npr. “Bezimeni tekst1”) koji će prilikom sljedećeg pokretanja programa biti opet automatski otvoren. Nataj način, ljudi koji se ne žele zamarati rukovanjem datotekama i direktorijima mogukoristiti računar na jednostavniji način.
Elementi trebaju biti lagani za razlikovanje i pronalaženje
Kao što smo već spomenuli, slični elementi interfejsa trebaju se probati učinitirazličitim, što se posebno odnosi na često korištene elemente. Primjer je program zapregledanje weba na kojem je svako od osnovnih dugmadi (Nazad, Naprijed, Stop,Ponovo učitaj) obojeno različitom bojom. Ovo omogućuje korisniku da koristiprogram “naslijepo” tj. da ne troši toliko vremena analizirajući elemente interfejsa ipronalazeći onaj koji želi da koristi.
Još jedan negativan primjer je dugme za pronalaženje teksta i dugme zauvećanje/umanjenje – u oba slučaja u pitanju je povećalo. Ovu dugmad treba učinitirazličitim, kako bojom tako i konceptom.
20
Kada izaberete dio teksta u programu za obradu teksta, vi to radite zato što želite daobratite posebnu pažnju na taj tekst – stoga ovaj tekst treba biti lagan za čitanje saposebno visokim kontrastom. Greška je izbor boja pozadine i teksta koji ne pružajudovoljan kontrast.
5. PRIMJERI
5.1. Interfejs za pretragu dokumenata aplikacije
Pravila objašnjena ranije pokušaćemo demonstrirati na primjerima iz stvarnog svijeta.
Informacioni sistemi preduzeća često su orjentisani na dokumente, tj. rezultatkorištenja sistema je jedan broj dokumenata. Takvih dokumenata se vremenom nakupiviše, pa korisniku postaje teško da pronađe onaj dokument koji mu je u tom trenutkupotreban. Ideja je napraviti kao glavni interfejs za komunikaciju sa sistemom jedanprozor za izbor dokumenta sa kojim se radi.
Ako korisniku samo prezentiramo listu dokumenata, korisnik će morati ručnopretraživati te dokumente, otvarati ih dok ne nađe željeni dokument itd. Daklepotrebno je osmisliti određenu pretragu te liste.
Program koji bi isključivo pretraživao sadržaj datoteka bi donekle mogao zadovoljitipotrebe navedenog sistema. Ipak, ako ta mogućnost postoji, zašto ne definisati iodređeni broj metapodataka? Kvalitetni metapodaci mogu drastično popravitirezultate pretrage, često i napraviti razliku između beskorisne i izuzetno korisneaplikacije. Za potrebe ovog primjera, opredijelio sam se za sljedeće metapodatke:• Predmet• Vrsta dokumenta• Datum• Od (pošiljalac)• Za (primalac)• Ključne riječi
Pri izboru metapodataka za stvarni sistem glavni kriterij je: mogućnost automatskoggenerisanja. Npr. datum kreiranja dokumenta je uvijek dobar metapodatak. U našemslučaju, predmet je obavezan sastavni dio svakog dokumenta, vrsta dokumentaodgovara recimo određenoj komponenti informacionog sistema, polja od/za se moguodrediti iz konteksta, tako da korisnik ručno unosi samo ključne riječi.
Ključne riječi predstavljaju jednu vrstu univerzalnog metapodatka. Ovdje korisnikmože unijeti sve interesantne informacije koje se ne mogu uklopiti u ostale metapodatke. Ipak, pretjerano oslanjanje na ključne riječi za pretragu treba izbjegavati.Pravilno formiranje ključnih riječi je težak zadatak, čak i profesionalcima, za to jepotrebno razumjeti mehanizam pretraživanja što ipak ne možemo očekivati od
21
korisnika. Stoga, ključne riječi trebamo dodati kao metapodatak tek kad su sve drugemogućnosti za metapodatke potrošene.
Pogledajmo sada interfejs za pretragu. Može se uočiti da su polja za unos metapodataka grupisana po određenoj logici. Polje sa rezultatima predstavlja dominantandio ekrana jer je to glavno polje koje korisnik koristi za izbor datoteke. U pojedinimslučajevima korisnik čak može ignorisati ostatak prozora. Dvostrukim klikom nadokument isti se otvara u odgovarajućoj aplikaciji odnosno komponentiinformacionog sistema.
Slika 1. Prozor za pretragu dokumenata kao glavni korisničkiinterfejs nekog informacionog sistema
Primijetimo da nema dugmeta za pretragu. Sva polja su dinamička – kako korisnikunosi slova u neko od tekstualnih polja automatski se primjenjuje filter na rezultatepretrage tako da korisnik odmah vidi samo dokumente koji odgovaraju kriteriju. Timeje iskorištena moć računara: savremeni računari u stanju su vršiti takvo dinamičkofiltriranje. Nije potreban nikakav dodatni klik na dugme za pretragu ili recimo nekidijalog koji nas obavještava da nema rezultata, jer rezultate vidimo direktno ispod.Jedan izuzetno brz i agresivan filter je i polje za vrstu dokumenta.
Korisno je i spomenuti da npr. nije moguće unijeti neispravan datum. Na primjer,kada korisnik izabere godinu 2004. automatski će se popuniti polja za dan i mjesec,tako da će datum biti 1. januar 2004. Tako, sa samo četiri klika mišem, korisnikfiltrira dokumente na one iz recimo 2004. godine.
Konačno, korisnici koji su navikli raditi na taj način mogu koristiti sortiranje pojednom od kriterija klikom na naslov odgovarajuće kolone.
22
5.2. Sistemski program za pretraživanje datoteka
Nastavljajući u istom tonu, daću pregled upotrebljivosti jednog postojećeg programa injegov redizajn, po sistemu prije/poslije. U pitanju je glavni program za pretragudatoteka jednog manje korištenog grafičkog okruženja za Linux operativni sistem.Opredijelio sam se za ovo jer postoji dosta sličnosti, ali i bitnih razlika u odnosu naprethodni primjer.
Slika 2. PRIJE
Prije svega, primjećujemo da, mada je u pitanju samostalan program za pretragu,njegov prozor nije formiran kao zaseban program nego kao dijaloški prozorpostojećeg programa: ne posjeduje meni, koristi tabove (kartice). Mišljenja smo da bizbog značaja programa za pretragu i činjenice da ga mnogi koriste kao svoj glavniinterfejs za izbor dokumenata on ipak trebao oličavati zaseban program.
Osim standardnog dugmeta za gašenje prozora (X) ne postoji mogućnost zatvaranjaovog prozora. Ustvari, prozor se može zatvoriti klikom na dugme Cancel, aliuobičajen naziv za ovu opciju je Quit i ona bi se trebala nalaziti u meniju File, kojegnema. Sve ovo predstavlja nekonzistentnost sa ostatkom sistema. Vrlo je važno danovi programi koriste slične koncepte i ideje kao postojeći, kako bi korisnici svojeznanje mogli iskoristiti pri radu s njima.
23
Prostor sa rezultatima pretrage koji je najvažniji dio interfejsa zauzima minoran dioekrana – manje od četvrtine. Istina, promjenom veličine prozora i ovaj prostor sepovećava, ali to mnogi korisnici neće znati. Opcije pretrage su grupisane u četirikartice, od čega je jedna čisto informativna (About – o programu). Raspored opcija upreostale tri kartice ima niz logičkih problema, do te mjere da korisnik nikad nijesiguran gdje se nalazi neka opcija dok ne pogleda sve tri.
Sami nazivi prve i druge kartice (“Find” i “Filter options”) su redundantni, jer je čitavprogram posvećen “pronalaženju datoteka” i “filtriranju”. Opcije vezane za vrstudatoteke nalaze se i na drugoj i na trećoj kartici (“File type:” i “Do not look intobinary files”). Opcija na trećoj kartici “Output files where no match is found”, osimšto je prilično sumnjive upotrebne vrijednosti, definisana je kao radio dugme, štoznači da se ne može izabrati a da se pri tome ne isključe druga srodna radio dugmad.Opcija “Match anywhere” je nejasna. Generalno, korištena terminologija jenekonzistentna i vrlo profesionalna (“Rights” vs. “Permissions”, “User id” i “Groupid”, “Extended regexp” itd.)
Prozor sa rezultatima pretrage ima više problema, izbor navedenih informacija odatotekama je diskutabilan, na datoteke se ne može dvokliknuti da bi se otvorile.
Ispravke ovih problema, kao i mnogih drugih koje nisam naveo možete vidjeti ispod.
Slika 3. POSLIJE
Pošto je ovo primjena pravila upotrebljivosti po završenom projektu, odnosno nijekorištena metodologija inženjeringa upotrebljivosti pri samom projektovanjuaplikacije, zadržao sam se na reorganizaciji grafičkog interfejsa. Postoji dostasuštinskih tj. konceptualnih stvari koje bi se mogle izmijeniti u programu. Na primjer,rezultati pretrage mogu biti osjetljiviji na tip datoteke, tako da se podaci mogu pronaćiunutar Word i drugih dokumenata, bez obzira na posebne karaktere koje ovi programiubacuju u tekst itd.
24
6. ZAKLJUČAK
Upotrebljivost grafičkih računarskih interfejsa je izuzetno bitna oblast softverskoginženjeringa. Takođe to je i dinamična oblast koja je još uvijek u razvoju. Stavovipojedinih autora su često vrlo različiti, čak i suprotni, a postoji mnogo prostora zaistraživanje i otkrivanje novih činjenica.
Obzirom na slabu zastupljenost studija upotrebljivosti kod nas, postoji mnogoprostora za razvoj ovakvih studija, posebno imajući u vidu razvojne projektezasnovane na softveru otvorenog izvornog koda.
L I T E R A T U R A
1. Xristine Faulkner, Usability Engineering, Macmillan Press Ltd 2000, ISBN 0333773217.
2. Alan Cooper and Robert Reimann, About Face 2.0: The Essentials of InteractionDesign, John Wiley & Sons © 2003, ISBN 0764526413.
3. Jakob Nielsen, Usability Engineering, published by Morgan Kaufmann, SanFrancisco, 1994, ISBN 0125184069.
4. Jakob Nielsen, Designing Web Usability, New Riders Publishing © 2000, ISBN 156205810X.
5. Wilbert O. Galitz, The Essential Guide to User Interface Design, John Wiley &Sons © 2002, ISBN 0471084646.
6. Clayton Lewis and John Rieman, TaskCentered User Interface Design, © ClaytonLewis and John Rieman 1993, 1994.
7. Larry E. Wood, User Interface Design, CRC Press LLC 1997, ISBN 0849331250.8. Fundamentals of Designing User Interaction, © 2000 Microsoft Press.9. Apple Human Interface Guidelines (HIG), Apple Computer Inc 2004.
http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/OSXHIGuidelines.pdf
10.Calum Benson, Adam Elman, Seth Nickell, Colin Z. Robertson, GNOME HumanInterface Guidelines 2.0, The GNOME Usability Project © 2004.http://developer.gnome.org/projects/gup/hig/2.0/
25