Как избежать сообщений об ошибках
Делайте ошибки невозможными. Наилучший способ избежать сообщений об ошибках это сделать так, чтобы пользователь не смог их совершить. Вместо требования ввести данные с клавиатуры, предоставьте пользователю список возможных вариантов выбора.
Еще один прекрасный способ избежать сообщений об ошибках - это сделать программу достаточно умной для того, чтобы избежать вопросов к пользователю. Многие сообщения об ошибках говорят что-то вроде "Неверные данные. Пользователь должен ввести ХХХХ". Почему же программа не может, зная, что должен ввести пользователь, ввести ХХХХ сама? Вместо запроса у пользователя имени файла на диске, давая возможность выбрать несуществующий файл, программа может запомнить, с какими файлами велась работа последний раз, и предоставить их список.
Вот такое диалоговое окно вынуждены наблюдать пользователи, которые захотят перевести файл в PROMT’e. Банальное открытие файла разработчики превратили в увлекательную игру «Отгадай формат». Не понятно, почему программа сама не может определить, какой формат у открываемого файла. Тем более не понятно, зачем при открытии файла указывать «направление перевода», ведь это можно сделать опционально, уже непосредственно в программе. Самое интересное, что у этой истории есть продолжение.
Такое сообщение появляется, если пользователь вводит неправильный формат. При чем вне зависимости от ответа пользователя система не пытается выполнить никаких действий. После этого диалогового окна у пользователя уже не остается никаких сомнений, что программа над ним издевается.
Позитивная обратная связь - хороший способ вознаградить пользователя за правильное пользование программой. Наилучший способ позитивной обратной связи это звук. К несчастью, долгие годы окна с сообщениями об ошибках сопровождались громким и пронзительным гудком, и звук стал ассоциироваться с ошибкой.
В реальной жизни любой объект или система, за исключением компьютерных программ, используют звук для позитивной обратной связи. Закрывая дверь, мы определяем, что она защелкнулась, услышав щелчок, тишина означает, что дверь еще не закрыта.
Когда мы поворачиваем ключ зажигания и ничего не слышим, значит у нас проблемы. Когда мы включаем копир, а он молчит, вместо того, чтобы громко гудеть, мы понимаем, значит что-то не так.
Программы должны давать нам постоянные небольшие звуковые подсказки, похожие на тихие щелчки кнопок клавиатуры. Программы были бы более дружественными и простыми в использовании, если бы они издавали едва заметные, но легко узнаваемые звуки, когда действия пользователя верны. Программа должны выдавать мягкий звук каждый раз, когда пользователь ввел верное значение. Если программа не понимает введенную информацию, она должны молчать. В этом случае пользователь может сразу скорректировать данные безо всякого смущения. Когда пользователь начинает перетаскивать иконку, программа может коротко щелкнуть, а во время движения объекта производить тихое шипение. Когда объект находится над областями, где его нельзя оставить, звук меняется на что-нибудь более неблагозвучное. Когда наконец пользователь отпустит кнопку мыши, он будет вознагражден тихим "Да!", если действие завершено успешно, и тишиной из динамиков, если действие не имеет смысла.
Звуковая обратная связь должна быть очень тихой, не громче чем звук нажатий клавиш на переносном компьютере. Программа должна производить звук каждый раз, когда пользователь работает с программой правильно или каждый раз, когда пользователь вводит информацию, которую программа понимает. Пользователи быстро начнут зависеть от этих звуков, и начнут работать более быстро и эффективно.
Проверяйте – не редактируйте. Еще один метод избежать сообщений об ошибках для программы, когда пользователь вводит неправильные данные, состоит в том, чтобы принять, что они неправильные, потому что программа, а не пользователь, плохо информирована.
Если, например, пользователь вводит счет-фактуру для несуществующего номера клиента, программа может принять эти данные, и сделать себе специальную заметку, которая показывает, что пользователь должен исправить ее. Затем она будет наблюдать, чтобы удостовериться, что пользователь ввел необходимую информацию до конца отчетного периода.Так в действительности работают большинство людей. Они не вводят "неверных" номеров. Просто люди обычно вводят информацию в такой последовательности, которую программа принять не может.
Мы предполагаем, что запись о клиенте должна уже существовать перед выпиской счета-фактуры, но это не догма. Почему программа не может воспринимать счета-фактуры независимо от записей о клиентах, и попросту считать, что недостающая информация будет введена позже? Если человек забывает ввести недостающую информацию до конца месяца, программа может переместить незаконченные документы на неопределенный счет. Программа не должна прерывать работу и останавливаться с сообщением об ошибке.
наверх к оглавлению
Каким должно быть сообщение об ошибке
Существуют ситуации, в которых сообщение об ошибке не избежать. Типичные примеры подобных ситуаций: файл, находящийся на сетевом сервере более не доступен; попытка записи на диск, доступный только для чтения; недостаток нужных для работы программы компонентов, и т.д. Каким должно быть сообщение об ошибке в этом случае? Идеальное сообщение об ошибке должно отвечать всего на три вопроса:
В чем заключается проблема? Как исправить эту проблему сейчас? Как сделать так, чтобы проблема не повторилась?
При этом отвечать на эти вопросы нужно возможно более вежливым и понятным пользователям языком. Например, разберем сообщение о невозможности перезаписать заблокированный файл.
Итак, исходное сообщение об ошибке гласит: «Не удается сохранить файл «D:\Только для чтения.doc». Файл с этим именем уже существует и доступен только для чтения. Сохраните файл под другим именем или в другой папке». Каким образом его можно улучшить?
Сначала надо разобраться, в каких случаях оно появляется: оно может появляться, если пользователь попытался сохранить файл на компакт-диске, или же пытается сохранить файл, незадолго перед этим скопировав этот файл с компакт-диска. Случаи, когда файл заблокирован сознательно, в жизни редки, так что их чаще всего можно не учитывать. Главный враг – компакт-диск.
Тут возможно несколько непротиворечащих друг другу решений. Во-первых, просто можно блокировать возможность что-либо записать на диске, запись на который невозможна. Собственно говоря, запись и так блокируется, но сообщением об ошибке. А можно просто не показывать диски, на которые нельзя записывать, в окне записи, что эффективнее, поскольку делает ошибку невозможной. Во-вторых, можно показывать файлы, защищенные от записи, иначе, чем файлы незащищенные. Это будет работать, но тоже неидеально. Что делать пользователю, который всё-таки хочет перезаписать файл? Сейчас в такой ситуации приходится записывать файл под новым именем, потом стирать старый, а новому давать имя старого. Это и потери времени и ошибочно стертые файлы.
Таким образом, сообщение об ошибке должно стать не только сообщением – оно должно позволять разблокировать файлы, разблокировать которые возможно (т.е. записанные не на компакт-диске).
Также необходимо помнить следующие общие правила:
Никогда не забывайте показывать текст сообщений об ошибке техническому писателю; Всемерно старайтесь делать текст сообщения возможно более коротким. наверх к оглавлению
Пузырь как альтернатива сообщениям об ошибке
В Windows появился элемент управления, значительно лучше предназначенный для показа сообщений: пузырь (balloon).
Пример пузыря
Пузырь, по сравнению с диалоговым окном, имеет существенные достоинства.
он гораздо слабее сбивает фокус внимания, нежели окно; чтобы закрыть пузырь, пользователям не обязательно нажимать на какую-либо кнопку, достаточно щелкнуть мышью в любом месте экрана; он не перекрывает значимую область системы; он показывает, в каком именно элементе управления была допущена ошибка.
К сожалению, пузыри имеют и недостатки:
в них не может быть никаких элементов управления; пузырей пока нет в интернете. наверх к оглавлению
Сообщение об ошибках
<<к предыдущей главе к следующей главе >>
Как избежать сообщений об ошибках Каким должно быть сообщение об ошибке Пузырь как альтернатива сообщениям об ошибке Сообщения о завершении операции
Ни один пользователь не может долго и продуктивно работать с системой, которая его огорчает и обижает. Тем не менее, такие «скандальные» системы являются нормой. Виной тому сообщения об ошибках. Большинство сообщений об ошибках в действительности не являются собственно сообщениями об ошибках. На самом деле они показывают пользователю, что система, которой он пользуется несовершенна, а именно: недостаточно гибка, чтобы приспособиться к его действиям. В действительности множество действий пользователя направлены не на то, чтобы сделать так, а не иначе, а на то, чтобы сделать примерно так, как хочется. Пользователю часто нет дела, можно добиться точного результата или нет. Показывать ему в таких случаях диалог об ошибке глупо, поскольку пользователю не нужно ничего знать. Ему нужен результат. Сообщения о завершении операцииСообщения о завершении операции сходны с сообщениями об ошибках. Они точно также могут вызывать раздражение пользователя, снижать его субъективное удовлетворение от системы и отвлекать от выполнения основной задачи. Тем не менее в отличии от сообщений об ошибках в сообщениях о завершении операции есть необходимость и полностью избавиться от них невозможно. Таким образом, нужно попытаться сделать их как можно менее навязчивыми и «вежливыми». Разрабатывая очередную программу, необходимо учитывать следующие принципы: Необходимо предлагать пользователю обратную связь, не прерывая его. Например, представим, что был произведен поиск по запросу пользователя и теперь должно появится сообщение о результате. Представим, что этот поиск необходим для заполнения одного из полей на форме пользователя, как, например, адрес человека, кому он должны послать ее, полученный из адресной книги. Вместо того, чтобы трубить об успешном результате, необходимо просто заполнить это поле. Если требуется дальнейшая обратная связь, необходимо сделать желтую иконку, мигающую во время поиска. В случае успешного результата необходимо сменить цвет на зеленый, в случае неудачи - на красный. Если форма достаточно большая, пользователь может в это время находиться в другом разделе, поэтому нужно поместить где-нибудь индикатор состояния для всей формы. Индикатор статуса в форме иконки может обозначать следующее: "где-то на этой форме поле помечено красным. Нажмите, чтобы найти его". Когда пользователь закончит заполнять форму и увидит зеленый индикатор, он поймет, что можно идти дальше. Если говорить о перспективах, то уже сейчас есть технологии отслеживающие направление взгляда. Эти технологии можно применять и в случае с сообщениями. Увидев что пользователь прочитал сообщение, в течении нескольких секунд система должна сама закрывать окно. ДНеобходимо думать о сообщениях, как о советах ценного помощника. Делать их вежливыми, полезными и прерывающими пользователя, только если это необходимо. наверх к оглавлению |
|
Дизайн, информационное наполнение - Александр Ширышев |