Попаднах на една картинка на блога на сайта Coding Horror.  Позволявам си да копирам картинката тук, инак пълният адрес, откъдето я взех е www.codinghorror.com/blog/archives/000734.html (там има и интересна дискусия по повод картинката – на английски).

Гъсто запълнен диалогов прозорец с много полета и бутони

На пръв поглед изглежда премрежващо и замайващо. Видно е, че този диалог е структуриран и подреден. Ако се замисли човек още малко, може да се окаже, че това е особено удобен интерфейс* – зависи от целта, която има и хората, които обслужва. Не знам какво прави програмата wGet, нито кой я  ползва, затова не мога да кажа нищо за ползваемостта на въпросния диалог. Мога да кажа обаче, че ползваемост не се определя от това как изглеждат нещата, а от това как те работят за хората, които ги ползват.

В някои случаи интерфейсът се разработва почти случайно. Натрупват се поредица от команди, кутийки, полета и така нататък. В повечето такива случаи резултатът е нещо удобно за човека, който го прави – той добре го познава, върши му работа. Лесно е и за разработване – не се губи време в мислене на интерфейса. Когато такъв интерфейс стигне до потребител, който не познава логиката на изграждане на продукта и не знае как работи той, става опасно.

Има и хора, които отделят специално внимание на интерфейса. Мислят го, тестват го, преправят го… и накрая като стигне до потребителите, пак не се получава. Интерфейсът отразява структурата на програмата. Например имаме списък с имена на абонати за електронното ни издание. С всеки абонат може да се извършат три действия – отваряне, редактиране, триене. Затова слагаме три копчета за всеки обект – Отвори, Редактирай, Изтрий. Но това не са задачите, които потребителите имат. Потребителите вероятно имат задачи от рода – „да видя имейла на някого“ , „да поправя името на някого“. Да, трите команди позволяват да се свършат задачите, но потребителите не винаги знаят това или се досещат.

Няма нищо, което хората да не могат да научат. След 2, 5, 37, 283 или малко повече опита дори и най-сложният диалог може да бъде разбран и научен. След толкова опити сложният диалог е добре познат и вече не е сложен, започва да изглежда лесен. Не всеки има време за толкова опити и за експерименти. Хората искат да си свършат работата бързо и лесно и очакват интерфейсът да е съобразен с тях.

Затова е много важно като се прави интерфейс, той да отразява задачите, които потребителят има да върши, уменията и познанията му в съответната област – за това, разбира се, трябва да се познават и потребителите. С други думи не е достатъчно да се прави само интерфейс, трябва да се изгражда цялото взаимодействие на потребителите с продукта. Не трябва да се мисли за интерфейса като за картинка, по която хората цъкат, а като за динамична система, която води потребителите в нужната посока и им помага по-лесно и по-бързо да си вършат задачите.

Ако сте разработчик, мислете за потребителите. Ако сте потребител, викайте и крещете като видите нещо подобно на картинката горе.

––––

* интерфейс – (от английски, interface) това е онази част от един продукт, чрез която потребителите взаимодействат с продукта. Продуктът може да е софтуерна програма, сайт, уред или нещо друго. В този сайт говорим предимно за графични интерфейси, предназначени за хора. Иначе има и други интерфейси – например, текстови, машинни, програмни. Някои от тях са предназначени за хора, други за програми.