Взаимодействие человека и компаРефераты >> Программирование и компьютеры >> Взаимодействие человека и компа
Одно из больших преимуществ подстраиваемой системы – уменьшение числа ошибок. Допуская существование в системе временных маленьких ошибок и доверяя человеку в том, что он позже исправит их, можно избежать более серьезных ошибок. Однако большинство правил исходящих от компьютерных систем направлены на то, чтобы не допустить этих маленьких ошибок. Эти негибкие правила делают программу и человека соперниками, и поскольку человеку не дают подстраиваться, чтобы избежать больших ошибок, он вскоре перестает заботится о защите программы от более серьезных проблем. Когда такие правила применяются к человеку, страдают обе стороны.
Подстраиваемость – одно из немногих качеств человека, связанных с вежливостью, которое трудно встроить в компьютерную систему. Подстраиваемость требует от интерфейса больших возможностей. Для того, чтобы быть подстраиваемой система должна сделать свой внутренний процесс доступным опытному пользователю. Служащий не сможет переместить документ в начало очереди, пока он не будет четко видеть саму очередь, ее начало и конец, документ и его положение в очереди. Далее ему должны быть доступны инструменты для того чтобы вытащить документ из очереди и поместить его в самое начало. Физическая реализация подстраиваемости требует специальных средств для хранения записей в состоянии неопределенности, но похожие средства требуются для операций отмены (undo). Настоящая проблема в том, что подстраиваемость делает возможным мошенничество и злоупотребление.
Подстройку системы можно расченить как мошенничество. Технически это нарушение правил. В реальном мире на это закрывают глаза, потому что это специальный случай, и подразумевается что тот, кто “подстроил” систему приведет все счета в порядок до конца рабочего для или данной работы. Все подобные примеры должны конечно быть “подчищены” до того, как придет проверка. Если бы процесс временной приостановки правил стал бы широко известен, у людей появилось бы желание злоупотребить этим.
Можно привести множество рациональных и логичных причин не использовать подстраиваемые системы. Но к несчастью, такое идеализированное состояние дел не является точным описанием работы реального мира. Люди использует подстраиваемость “ручных” систем во всех видах бизнеса чтобы удержаться на плаву. Несмотря на все препятствия, наполнение автоматизированных систем подобным качеством является жизненно важным вопросом.
Для предотвращения мошенничества можно воспользоваться возможностями компьютера следить за всеми действиями пользователя и показывать эту информацию специальному наблюдателю. Принцип здесь простой – позволить пользователю делать все что он захочет, но подробно записывать все его действия, так что ответственность остается.
Вежливая программа внушает доверие. Друзья доверяют друг другу, потому что зависят друг от друга, и всегда готовы пожертвовать собой. Когда компьютеры ведут себя совершенно неуправляемо и неохотно выполняют задания пользователей, ни о каком доверии и речи быть не может. Я доверяю банковскому служащему, потому что он улыбается мне, но я всегда пересчитываю свои деньги после банкомата, потому что попросту не доверяю тупой машине.
Программы раздражают нас не из-за недостатка возможностей, а из-за отсутствия вежливости. Как показывает приведенный список характеристик, в большинстве случаев сделать вежливую программу ничуть не труднее, чем невежливую. Просто кто-то должен предусмотреть взаимодействие, имитирующее качества чувствительного и заботливого друга. Ни одна из этих характеристик не отличается от других, более очевидных целей информационного бизнеса. Более человеческое поведение – самая очевидная цель из всех.
Дайте программе память
Если бы вы могли предугадать действия пользователя, смогли бы вы создать лучший интерфейс? Если бы ваша программа могла знать, что именно пользователь выберет в диалоговом окне, разве не могли бы вы избавиться от него? Если бы был простой способ встроить в вашу программу предвидение, разве вы не сделали бы этого?
Вы можете предугадать действия пользователя. Вы можете встроить в вашу программу шестое чувство, которое точно подскажет ей следующее действие пользователя. Все что вам нужно сделать - это дать программе память.
Когда я говорю о памяти, я не имею в виду ОЗУ. Я говорю о памяти, подобной человеческой. Проще говоря, если ваша программа помнит последнее решение пользователя, следующее решение она может сделать сама. Этот простой принцип является одним из самых эффективных инструментов разработчика программ, но в то же время одним из самых малоизвестных.
Вы можете подумать, что возится со всей этой памятью необязательно: программист может быстро создать новое окно диалога, которое спросит у пользователя некую информацию, которая не лежит на поверхности. Программисты не видят в этом ничего плохого, потому что они не знают, что людям не нравится, когда им задают вопросы.
Задавать вопросы - совсем не то же самое, что предлагать выбор. Это разница между разглядыванием витрины и интервью. Кто бы не задавал вопросы, он всегда находится в более высокой позиции, чем тот, кто отвечает. Начальники задают вопросы своим подчиненным, и последние отвечают. Судьи задают подсудимым вопросы, и те должны отвечать. Родители спрашивают детей, и они должны говорить правду.
Программа, которая задает меньшее количество вопросов, кажется пользователям умнее. Может быть, когда кто-то спрашивает вас о чем-то на вечеринке, это вас развлекает и кажется интересным, но ни одна программа не способна вести беседу с человеком. Программа может всего лишь задавать педантичные вопросы, которые на той же вечеринке заставили бы вас быстро покинуть такого собеседника.
Единственную вещь, которая не нравится пользователям больше чем вопросы, это вопросы, которые задаются часто и без всякой необходимости. Вы хотите сохранить этот файл? Вы хотите сохранить этот файл сейчас? Вы действительно хотите сохранить этот файл? Вы уверены, что хотите напечатать это? Вы уверены, что хотите печатать на этом принтере? Вы абсолютно уверены, что хотите печатать? На помощь! Кто-нибудь избавьте меня от тупых вопросов этой глупой программы!
А если пользователь не знает ответа на заданный ему вопрос, вдобавок к раздражению он еще и чувствует себя глупым. Возьмем например такой обычный вопрос: Вы хотите профессиональную установку или установку для новичков? Другими словами, вы хотите то, чего не сможете понять или вам будет не нужно, или же вы просто лопух?
Программа, эффективно использующая свою память, помнит все настройки пользователя от одного запуска до другого. Например, она может запоминать положение окон на экране, так что если я открыл документ на весь экран, при следующем запуске программы он будет открыт точно также. Если я упорядочил окна по вертикали, они могут быть упорядочены в следующий раз без моего вмешательства.
Какие бы изменения в настройках программы я не сделал, они должны оставаться в силе до тех пор, пока я не изменю их сам. Программа не должна сбрасывать их при каждом запуске. Если пользователь игнорирует или отключает какие-либо возможности программы, она не должны предлагать их снова. Пользователь сам найдет их, когда они ему понадобятся.