
Neseniai besižvalgydamas po interneto platybes, viename tinklaraštyje radau įdomų straipsnį - jo autorius, pasivadinęs Jonoscript, parašė manifestą apie tai, kuo jis tiki programavimo ir vartotojų sąsajų kūrimo pasaulyje. Juk neretai būna ir taip, kad programuotojas pats kuria ir vizualią programos dalį - ar tai būtų Windows programa, ar tinklapis. Ir dažnai mes, kaip kūrėjai, mąstome iš kūrėjų pusės, pamiršdami apie galutinių vartotojų poreikius. Būtent tokiems dalykams priminti skirtas šis manifestas, kurį pabandžiau sutrumpintai išversti į lietuvių kalbą:
1. Kokiam tikslui mes programuojame?
—
Programinė įranga skirta žmonėms, ne kompiuteriams. Programa gera tik tada, kai žmogaus ar įmonės gyvenimą padaro lengvesnį, o ne apsunkina papildomais apmokymais ar kitais dalykais.
—
2. Ko žmonės nori?
—
Dauguma žmonių nenori kompiuterių. Jiems net nereikia programų. Realiai daugumos žmonių naudojimasis kompiuteriu susiveda į būtiniausių programų sąrašą: teksto redaktorius, bendravimo įrankiai, filmų peržiūra, naršymas internete, na ir dar keletas dalykų. Esminė mintis - žmonės nenori praleisti daug laiko prie kompiuterio bandydami perprasti jūsų sukurtą programą, jie nori kad jiems viskas būtų padėta ant lėkštutės.
—
3. Kada sukurtos programos būna sėkmingos?
—
Programuotojai, nebūdami labai socialiai aktyvūs žmonės, turi sunkiai dirbti, kad suvoktų ir įsivaizduotų, kokias socialines pasekmes neš jų sukurta programinė įranga. Be to, jie turi suprasti, ko žmonėms reikia, kaip tai patogiai pateikti, bei kad viskas funkcionuotų. Būna, kad programuotojai mato medžius, kai kiti žmonės mato mišką. Programos sėkmingos ne tik tos, kurios turi unikalių funkcijų (tokių nedaug), o tos, kurios tarp panašaus pobūdžio programų turi aiškesnę ir suprantamesnę sąsają.
—
4. Kodėl nėra tiek daug Linux vartotojų?
—
Kad atviro kodo programos užvaldytų pasaulį, reiki padirbėti su vartotojo sąsajomis daug geriau. Linux atveju gerai tinka posakis: Linux nemokamas tik tada, kai mano papildomas darbo laikas su juo yra nulis. Kitas pavyzdys - Mozilla jau seniai turi galutinių vartotojų integravimą į programinės įrangos kūrimą.
—
5. Ar vartotojai kvaili?
—
Vartotojo sąsajos kūrimo tikslas nėra paaiškinti kažką vargšui kvailam vartotojui. Mes kaip programuotojai galime lengvai diskutuoti ir žiūrėti į įvairiausias vartotojo sąsajas, nes mes pripratę prie bendrų jų principų, ir tuos, kurie jų nesupranta, dažnai laikome kvailiais. Tai neteisinga. Tiesiog vartotojai turi įdomesnių ir naudingesnių užsiėmimų gyvenime, negu įsiminti kiekvieną duomenų pateikimo modelį skirtingose programose.
Jeigu vartotojas daro klaidų, nekaltinkite vartotojo. Paklauskite, kaip programa leido padaryti klaidą ir tada ją ištaisykite.
Vartotojo darbo laikas yra vertingesnis už mūsų darbo laiką.
—
6. Ar vartotojo sąsajos kūrimas yra marketingas?
—
Ne, tai nėra marketingas. Aišku, pirkėjas gali pasirinkti pvz mikrobangų krosnelę su daugiau mygtukų, nes ji atrodo galingesnė. Bet greitai jis sužinos, kad yra kita krosnelė, kuri atlieka tą patį su mažiau mygtukų. Su vartotojo sąsaja galima kvailinti vartotojus, bet to daryti neverta.
—
7. Koks yra vartotojų sąsajos dizainerio tikslas?
—
Tas pats pavyzdys su mikrobangų krosnele. Daugiausiai mygtukų turinti krosnelė gali būti populiariausia, bet ne geriausia. Geriausia mikrobangė iš viso neturi mygtukų. Jai jų nereikia, nes ji jau žino, kiek ir kaip reikia šildyti maistą.
Vartotojai dažniausiai nežino, kokios sąsajos ar kokių funkcijų jiems reikia. Jie žino tik užduotis, kurias reikia atlikti, ir problemas, su kuriomis susiduria. Daugiausiai mes, programuotojai ir dizaineriai, galime sužinoti stebėdami vartotojus, o ne klausinėdami jų. Sąsajos dizainerio tikslas yra pateikti vartotojams tai, ko jiems reikia, o ne tai, ko jie sako, kad jiems reikia.
—
8. Kur čia yra mokslas?
—
Apie vartotojų sąsajos kūrimą galima pabandyti kalbėti moksliškai. Bet dažniausiai tai netinka, nes dizainas neretai būna kūrybinis darbas be kažkokių taisyklių ar dogmų. Vartotojai yra labai ir labai skirtingi. Bet, be abejo, galima turėti omenyje tokius rodiklius, kaip:
* Kokios programos funkcijos dažniausiai ir rečiausiai naudojamos
* Pelės ar klaviatūros paspaudimų skaičius konkrečiai užduočiai atlikti
* Laikas, reikalingas vartotojui perprastį užduoties atlikimą
* Klaidų tikimybė
—
9. Ar sąsajos pakeitimai yra gerai ar blogai?
—
Pakeitimai turi savo kainą. Pakeitimai sugriauna vartotojų įpročius ir priverčia išmokti kažko naujo. Kartais toks pakeitimas atneša naudos, nes nauja sąsaja daug patogesnė, o kartais neatneša. Sunkiausias dalykas čia nuspręsti, ar verta daryti pakeitimus.
—
10. Kokia yra blogos vartotojų sąsajos žala?
—
Nuodėmė yra švaistyti vartotojo laiką, laužyti vartotojų darbo principus ar prarasti vartotojų darbą. Blogos vartotojo sąsajos atlieka visus šiuos tris dalykus. Dažnai vartotojų klaidos išplaukia iš programuotojo ar dizainerio klaidų, kurių galima buvo išvengti.
—
Straipsnio originalas: These Things I Believe




2009-04-09





Balandis 9th, 2009 3:21 pm
Teisingas straipsnis
Balandis 10th, 2009 7:46 pm
[...] kaip pritaikyti Windows energijos taupymo režimą mažesnėms sąnaudoms. • Aktualu ateičiai: kuriant programas nepamiršti vartotojo. • Apribojimai: kai vartotojams imamas riboti arba apmokestinamas interneto turinys, jie ima [...]
Balandis 11th, 2009 10:38 am
Labai teisingos mintys
Balandis 11th, 2009 1:23 pm
Na programos kūrėjas turi apsispręsti kokiai auditorijai tas produktas yra skirtas.
Jei tai produktas skirtas visiškam neišmanėliui, tai žinoma programa su kuo mažiau mygtukų (funkcijų) ir su kuo daugiau automatizacijų vartotojui žymiai patrauklesnė. Ir čia tiks visi išvardinti straipsnio punktai.
Bet jei programa skiriama profesionaliai rinkai, tai čia virš visko yra funkcionalumas. Programos paprastumas ir patogumas turi būti toks, kad jis nė kiek nekenktų funkcionalumui.
Kaip pavyzdį galėčiau pateikti trimatės grafikos programą Autodesk Maya. Joje labai daug dalykų padaryta ypač nepatogiai ir kad vieną ar kitą funkciją gerai perprasti reikia perskaityti ne vieną knygą ar pažiūrėti mokomąją laidą. Bet kai viską perpranti supranti, koks funkcionalumas ir galimybės ten slypi.
P.S. paties mano nuomone, gera programos sąsaja yra ta, kurią vartotojas gali prisitaikyti prie savo poreikių. Kad ir pavyzdžiui ta pati Firefox, ten galima keisti praktiškai viską: mygtukus, paieškos, įrankių ir kt. juostas, išvaizdą. Papildomos, bet ne esminės funkcijos pasiekiamos kaip įskiepiai ar moduliai. Ir šitokiu būdu paliekama daug laisvės vartotojams.