Взаимодействие человека и компаРефераты >> Программирование и компьютеры >> Взаимодействие человека и компа
Сколько раз вы видели это? И если это произошло по ошибке, не так то просто догадаться что вы сделали не так, и как это исправить. В итоге существует возможность (двигать меню), которая никому не нужна (хорошо, пускай она нужна 0.1% всех людей), но которая мешает практически каждому.
Однажды мне позвонила моя знакомая и попросила помочь ей с проблемой отправки e-mail. Она сказала «Половина моего экрана - серая».
Половина экрана серая?
За пять минут выяснения, что же все-таки произошло : она случайно перетащила панель задач Windows к правому краю экрана, а затем случайно расширила её.
Такие вещи никто не делает специально. И множество пользователей просто не могут с этим справиться. По определению, если вы случайно перенастроили какую-нибудь опцию в программе, вы не знаете, как вернуть ее обратно. Это просто кошмар, как много людей деинсталлируют а затем заново устанавливают программу, когда что-то идет не так, потомучто по крайней мере это они умеют.
Каждый раз, предоставляя пользователю выбор, вы просите его принять решение. Это не обязательно плохо, но все же вы должны всегда пытаться минимизировать количество решений, которые должен принять пользователь.
Это не значит, что надо избавиться от всех случаев выбора. Для пользователя есть достаточно решений, которые он должен принять в любом случае: как будет выглядеть документ, как будет работать веб-сайт, и т.д. В этих случаях, сходите с ума: это здорово давать людям выбор, любыми способами, чем больше, тем веселее. И есть еще одна категория, когда людям нравится выбирать – возможность изменить внешний облик программы, не меняя ее поведения. Все нравятся «скины» в WinAmp, каждый устанавливает себе картинку на рабочий стол. Так как этот выбор оказывает влияние только на внешний вид программы, не меняя ее функциональность, это хорошой способ дать людям выбор.
2.Отрицательная обратная связь.
Когда пользователь видит на экране сообщение об ошибке, он чувствует себя так же, как будто кто-то громким голосом и в снисходительном тоне сказал ему "Это серьезная ошибка, приятель. Что за ерунду ты ввел?". Пользователям это очень не нравится! Программы, работающие таким образом, имеют чрезвычайно плохой интерфейс. Однако, большинство программистов на это просто пожимают плечами, продолжая создавать окна сообщений об ошибках. Они просто не знают, как создавать надежные программы.
Первые компьютеры были маломощными и дорогими. Операторами этих машин были ученые в белых халатах, которые понимали, что нужно процессору, и не обижались, увидев сообщение об ошибке. Они знали, насколько сложна работа компьютера. Они не имели ничего против появления сообщения типа " Abort, Retry, Fail?" или др. Так зародилась традиция отношения программы к человеку, как к процессору. С самого начала развития компьютерной техники программисты уяснили, что самый верный способ взаимодействия программы с пользователем - это требование от него ввода данных и выражение недовольства, когда пользователь не смог достичь уровня совершенства процессора.
Примеры такого силиконового ханжества встречаются везде, где программа вынуждает пользователя действовать так, как это нужно ей, вместо того, чтобы адаптироваться к нуждам человека. Силиконовое ханжество - это цикл отрицательной обратной связи, в котором программа игнорирует пользователя, когда он делает то, что она хочет, и кричит на него при малейшем отклонении.
Силиконовое ханжество необходимо для взаимодействия внутри программы. Каждый хороший программист знает, что если модуль А передал ошибочные данные модулю В, то последний должен сразу же отбросить эти данные, сгенерировав подходящее сообщение об ошибке. Отсутствие такого взаимодействия указывает на серьезную ошибку в проектировании модулей. Но люди - не модули программы. У людей есть эмоции и чувства - у компьютеров их нет. Когда один кусок кода отклоняет ввод другого, последний не хмурится и не страдает. Процессору все равно, даже если вы выключите компьютер. Но у людей-то эмоции есть, и они могут легко выйти из под контроля. Когда вы предлагаете что-то коллеге по работе и он говорит вам "Заткнись, это глупо!", это задевает ваши чувства. Вы начинаете думать, что вас не так поняли. Вы смотритесь в зеркало - все ли у вас в порядке с зубами и т.д. Все эти действия - часть человеческой натуры.
Однако на позитивную обратную связь люди реагируют очень хорошо. Представьте себе, что всякий раз, когда программа смогла понять информацию, введенную пользователем, она показывает некий индикатор успешного завершения процесса. Если программа не может найти смысл во введенной информации, она никак не реагирует, что указывает на ошибку. "Если не можешь сказать ничего хорошего, лучше молчи".
Одна из причин того, почему программы так трудны в обучении - отсутствие позитивной обратной связи. С позитивной обратной связью люди учатся лучше. Люди хотят эффективно использовать свои программы. Они не хотят, чтобы программа била им по рукам в случае ошибки. Человеку нужно вознаграждение, или по крайней мере, уведомление в случае успеха.
Сторонники негативной обратной связи могут привести множество примеров ее эффективности для руководства людьми. Эти примеры верны, но почти всегда негативная обратная связь нужна, чтобы удержать людей от того, что они хотят сделать, но не должны. Но когда дело касается того, что люди хотят сделать, лучше всего связь позитивная. Представьте себе лыжного инструктора, который кричит на вас или официанта в ресторане, который громко объявляет, что ваша кредитная карточка недействительна.
Помните, что мы говорим о недостатках негативной обратной связи от компьютера. Негативная обратная связь от другого человека, хотя и неприятна, может быть оправдана в определенных обстоятельствах. Слышать от программы, что вы сделали ошибку - унизительно. Пользователям не нравится быть униженными. Ничто из того, что происходит в компьютере, не может быть достаточной причиной для оправдания унижения человека. Ничто. Не имеет значения то, насколько важна для вас целостность базы данных, она не стоит того, чтобы оскорблять пользователя. Если целостность данных такая важная вещь для вас, вы должны позаботиться о методах ее поддержания без унижения пользователя.
Вот три основных способа избежать сообщений об ошибках:
- Делайте ошибки невозможными
- Закладывайте позитивную обратную связь
- Проверяйте, не редактируйте
Наилучший способ избежать сообщений об ошибках это сделать так, чтобы пользователь не смог их совершить. Вместо требования ввести данные с клавиатуры, предоставьте пользователю список возможных вариантов выбора. Еще один прекрасный способ избежать сообщений об ошибках - это сделать программу достаточно умной для того, чтобы избежать вопросов к пользователю. Многие сообщения об ошибках говорят что-то вроде "Неверные данные. Пользователь должен ввести ХХХХ". Почему же программа не может, зная, что должен ввести пользователь, ввести ХХХХ сама? Вместо запроса у пользователя имени файла на диске, давая возможность выбрать несуществующий файл, программа может запомнить, с какими файлами велась работа последний раз, и предоставить их список.